From 5de59d0c005a069b6fd338ab9ac92dd6aba26772 Mon Sep 17 00:00:00 2001 From: Daniel Freytag Date: Mon, 24 Jun 2024 12:54:08 +0200 Subject: [PATCH 01/14] chore: switch packager to bun --- .github/workflows/ingest-pull.yml | 24 +- .github/workflows/ingest-push.yml | 13 +- Dockerfile | 21 +- README.md | 29 +- bun.lockb | Bin 0 -> 304072 bytes bunfig.toml | 8 + docs/AUTHENTICATION.md | 19 +- docs/NAMING.md | 7 +- docs/QUICKSTART.md | 30 +- docs/SECRETS.md | 20 +- docs/STAGES.md | 5 - docs/TYPES.md | 20 +- docs/USERS.md | 15 +- package.json | 36 +- src/ingest/README.md | 10 +- yarn.lock | 5889 ----------------------------- 16 files changed, 114 insertions(+), 6032 deletions(-) create mode 100755 bun.lockb create mode 100644 bunfig.toml delete mode 100644 yarn.lock diff --git a/.github/workflows/ingest-pull.yml b/.github/workflows/ingest-pull.yml index bf60458f..46899bda 100644 --- a/.github/workflows/ingest-pull.yml +++ b/.github/workflows/ingest-pull.yml @@ -30,11 +30,14 @@ jobs: uses: actions/setup-node@v4 with: node-version: ${{ env.NODE_VERSION }} - cache: 'yarn' - cache-dependency-path: '**/yarn.lock' + + - name: ๐Ÿ›  Setup Bun + uses: oven-sh/setup-bun@v1 + with: + bun-version: latest - name: ๐Ÿ“ฆ Install Dependencies - run: yarn + run: bun install - name: ๐Ÿ”‘ Setup Google Cloud Auth uses: google-github-actions/auth@v2 @@ -43,7 +46,7 @@ jobs: create_credentials_file: true - name: ๐Ÿ“š Lint Code - run: yarn ingest:lint + run: bun ingest:lint - name: ๐Ÿงช Run Ingest Tests env: @@ -56,7 +59,7 @@ jobs: STAGE: ${{ matrix.STAGES }} TEST_USER: ${{ secrets.TEST_USER }} TEST_USER_PW: ${{ secrets.TEST_USER_PW }} - run: yarn ingest:test + run: bun ingest:test license: needs: security @@ -69,11 +72,14 @@ jobs: uses: actions/setup-node@v4 with: node-version: ${{ env.NODE_VERSION }} - cache: 'yarn' - cache-dependency-path: '**/yarn.lock' + + - name: ๐Ÿ›  Setup Bun + uses: oven-sh/setup-bun@v1 + with: + bun-version: latest - name: ๐Ÿ“ฆ Install Dependencies - run: yarn + run: bun install - name: ๐Ÿ“š Run License Check - run: yarn license + run: bun license diff --git a/.github/workflows/ingest-push.yml b/.github/workflows/ingest-push.yml index 6e076e33..27052137 100644 --- a/.github/workflows/ingest-push.yml +++ b/.github/workflows/ingest-push.yml @@ -36,11 +36,14 @@ jobs: uses: actions/setup-node@v4 with: node-version: ${{ env.NODE_VERSION }} - cache: 'yarn' - cache-dependency-path: '**/yarn.lock' + + - name: ๐Ÿ›  Setup Bun + uses: oven-sh/setup-bun@v1 + with: + bun-version: latest - name: ๐Ÿ“ฆ Install Dependencies - run: yarn + run: bun install - name: ๐Ÿ”‘ Setup Google Cloud Auth uses: google-github-actions/auth@v2 @@ -49,7 +52,7 @@ jobs: create_credentials_file: true - name: ๐Ÿ“š Lint Code - run: yarn ingest:lint + run: bun ingest:lint - name: ๐Ÿงช Run Ingest Tests env: @@ -62,7 +65,7 @@ jobs: STAGE: ${{ matrix.STAGES }} TEST_USER: ${{ secrets.TEST_USER }} TEST_USER_PW: ${{ secrets.TEST_USER_PW }} - run: yarn ingest:test + run: bun ingest:test docker: runs-on: ubuntu-latest diff --git a/Dockerfile b/Dockerfile index 8b90b1fe..c8a3d5ff 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ -# Load desired node image -FROM node:18-alpine +# select bun +FROM oven/bun:1 as bun # Create app directory WORKDIR /web/app @@ -7,13 +7,20 @@ WORKDIR /web/app # Copy app source COPY . . -# Install node dependencies with clean slate -# Also download tokens -RUN rm -rf node_modules && \ - yarn +# Install dependencies +RUN bun install + +# Load desired node image +FROM node:18-alpine + +# Create app directory +WORKDIR /web/app + +# Copy compiled app source +COPY --from=bun /web/app /web/app # Expose port EXPOSE 80 # Run app -CMD [ "yarn", "ingest:cloud" ] +CMD [ "npm", "run", "ingest:cloud" ] diff --git a/README.md b/README.md index dc193ee1..549df7b8 100644 --- a/README.md +++ b/README.md @@ -2,17 +2,6 @@ ARD system to distribute real-time (live) metadata for primarily radio broadcasts. -- [ARD-Eventhub](#ard-eventhub) - - [Active Data Suppliers](#active-data-suppliers) - - [Get Started and Documentation](#get-started-and-documentation) - - [Get involved](#get-involved) - - [Modules](#modules) - - [Ingest](#ingest) - - [Changelog](#changelog) - - [License](#license) - - [Third-Party Components](#third-party-components) - - [Authors](#authors) - ## Active Data Suppliers These ARD broadcasters are currently sending live metadata via ARD Eventhub: @@ -54,13 +43,29 @@ This project will include two modules: Ingest and API. The first development ste The Ingest service is responsible for receiving and publishing events and managing subscriptions. You'll find the core code in [`./src/ingest/`](./src/ingest/). +## Local Setup + +This project uses `bun` as package manager and runtime environment. Please note that this only applies to the package manager and CLI commands. JavaScript still uses the 'traditional' `node` runtime. Check the [Bun documentation](https://bun.sh/docs/installation) for installation instructions. + +To install dependencies run: + +```sh +bun install +``` + +To check for minor updates: + +```sh +bun update +``` + ## Changelog See [CHANGELOG](CHANGELOG.md) for latest changes. ## License -This project is licensed under **European Union Public License 1.2** ([`EUPL-1.2`](https://spdx.org/licenses/EUPL-1.2.html)), which can be found in [LICENSE](LICENSE.txt). Detailed information and translations to all 23 official languages of the European Union are available at [joinup.ec.europa.eu](https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12). The usage of this license does not imply any relationship to or endorsement by the European Union, the joinup initiative or other participating parties. +This project is licensed under **European Union Public License 1.2** ([`EUPL-1.2`](https://spdx.org/licenses/EUPL-1.2.html)), which can be found in [LICENSE](LICENSE.txt). Detailed information and translations to all 23 official languages of the European Union are available at [joinup.ec.europa.eu](https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12). The usage of this license does not imply any relationship to or endorsement by the European Union, the joinup initiative or other participating parties. A [compatibility matrix](https://joinup.ec.europa.eu/collection/eupl/matrix-eupl-compatible-open-source-licences) is also available and describes the relationships between EUPL-1.2 in upstream and downstream projects. This source code is provided under EUPL v1.2, except for the [`spdx-exceptions`](https://www.npmjs.com/package/spdx-exceptions) package, which uses the `CC-BY-3.0` license, without adding any legal or technical restrictions guaranteed by their license. diff --git a/bun.lockb b/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..fb59bd3042b07848b1d7433bf5702e439c8ffd1f GIT binary patch literal 304072 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

N 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

s+oo^gmBep*A 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]@7_H^ZOq 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≴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 > - The user is deleted > - The user is disabled -> - A major account change is detected for the user. This includes events like password or email address updates. +> - A major account change is detected for the user. This includes events like password or email address updates. [Source: Firebase docs](https://firebase.google.com/docs/auth/admin/manage-sessions) ## Reset password -Sometimes you might loose your old password and need to reset it. If this happens, use this endpoint to request a password reset email. This endpoint might be subject to throttling/ rate-limits in the future. +Sometimes you might loose your old password and need to reset it. If this happens, use this endpoint to request a password reset email. This endpoint might be subject to throttling/ rate-limits in the future. **POST `{HOST}/auth/reset`** diff --git a/docs/NAMING.md b/docs/NAMING.md index a8196b4c..0f07ef24 100644 --- a/docs/NAMING.md +++ b/docs/NAMING.md @@ -1,11 +1,6 @@ # ARD-Eventhub / Naming Conventions -Several parts of this service require naming conventions that are followed throughout all parts. - -- [ARD-Eventhub / Naming Conventions](#ard-eventhub--naming-conventions) - - [Google Cloud Pub/Sub](#google-cloud-pubsub) - - [Pub/Sub Topics](#pubsub-topics) - - [Pub/Sub Subscriptions](#pubsub-subscriptions) +Several parts of this service require naming conventions that are followed throughout all parts. ## Google Cloud Pub/Sub diff --git a/docs/QUICKSTART.md b/docs/QUICKSTART.md index 90239d42..d0e2d6b9 100644 --- a/docs/QUICKSTART.md +++ b/docs/QUICKSTART.md @@ -6,14 +6,6 @@ No matter if you are a Publisher or Subscriber, you will need a user account to Once this has been set up, check the Authentication docs to learn more about the login and token exchange process. -- [ARD-Eventhub / Quickstart](#ard-eventhub--quickstart) - - [Publishers](#publishers) - - [Importance of External IDs](#importance-of-external-ids) - - [Workflow Example](#workflow-example) - - [Subscribers](#subscribers) - - [Security](#security) - - [Receiver Example](#receiver-example) - ## Publishers If you are a radio station that wants to start publishing events to ARD-Eventhub, follow these easy steps: @@ -56,19 +48,19 @@ Security Note: Every user account can only publish to `publisherId`s from their ### Importance of External IDs -For the Eventhub to work it needs to be able to uniquely identify a service. This is defined as the so-called `externalId` in ARD's new Core API. You might currently know this as _CRID_, which you are using in the TVA documents. +For the Eventhub to work it needs to be able to uniquely identify a service. This is defined as the so-called `externalId` in ARD's new Core API. You might currently know this as _CRID_, which you are using in the TVA documents. โš ๏ธ Please make sure to use the **exact** `externalId` that you will be using to deliver the metadata of your livestreams to ARD Core (_PermanentLivestream_). When in doubt please reach out to your metadata contacts or to SWR Audio Lab. -> **External ID Requirements and Recommendations** -> The external ID may be provided through the field `externalId` during an entity creation request. +> **External ID Requirements and Recommendations** +> The external ID may be provided through the field `externalId` during an entity creation request. > -> If you do not already deliver content via TVA you are free in your choice of external ID. However, your choice **must** meet the following criteria: +> If you do not already deliver content via TVA you are free in your choice of external ID. However, your choice **must** meet the following criteria: > -> (a) The external ID of a single entity does not change over time -> (b) The external ID is referring to the local entity you want to import -> (c) The external ID is unique in your own local context -> (d) The external ID is unique in the whole ARD context +> (a) The external ID of a single entity does not change over time +> (b) The external ID is referring to the local entity you want to import +> (c) The external ID is unique in your own local context +> (d) The external ID is unique in the whole ARD context [Source: developer.ard.de](https://developer.ard.de/core-api-v2-delivering-content#ExternalIDRequirementsRecommendations) @@ -144,12 +136,12 @@ Start receiving events with these steps: - Check the Google Cloud page ["Receiving messages using Push"](https://cloud.google.com/pubsub/docs/push#receiving_messages) to learn more about the format that you will be receiving those events in - Use GET `/subcriptions` to verify your new or existing subscriptions -Security Note: When a user is registered, it is linked to a specific institution (_Landesrundfunkanstalt_ or _GSEA_). Users can manage all subscriptions within this institution, so be careful not to delete your colleagues' (production) entries. +Security Note: When a user is registered, it is linked to a specific institution (_Landesrundfunkanstalt_ or _GSEA_). Users can manage all subscriptions within this institution, so be careful not to delete your colleagues' (production) entries. With this method you will still have access to all subscriptions, even if a person leaves your institution or their account is deactivated. ### Security -Generally it is recommended to keep your endpoints hidden from public indexes. To be absolutely sure that an event is actually being received from Eventhub, you can make use of the provided JWT token and service account. +Generally it is recommended to keep your endpoints hidden from public indexes. To be absolutely sure that an event is actually being received from Eventhub, you can make use of the provided JWT token and service account. For every subscription that you create, the response will (amongst other metadata) also include a field about the used service account: ```js @@ -164,7 +156,7 @@ Please note that for now the service account usually contains the same response. ### Receiver Example -In a simplified way, your receiver might look something like this (example for NodeJS with Express). The Google Cloud section ["Authentication and authorization by the push endpoint"](https://cloud.google.com/pubsub/docs/push#authentication_and_authorization_by_the_push_endpoint) also holds more information about this process. +In a simplified way, your receiver might look something like this (example for NodeJS with Express). The Google Cloud section ["Authentication and authorization by the push endpoint"](https://cloud.google.com/pubsub/docs/push#authentication_and_authorization_by_the_push_endpoint) also holds more information about this process. ```js // load node packages diff --git a/docs/SECRETS.md b/docs/SECRETS.md index ad9d3c28..0e34ff38 100644 --- a/docs/SECRETS.md +++ b/docs/SECRETS.md @@ -1,18 +1,12 @@ # ARD-Eventhub / Secrets -This repository obviously needs a number of secrets and configuration files that are kept in various places. This page documents what goes where. -Since this project is designed to be kept public to allow a collaborative development process, the full configuration around secrets and their deployment process is not described to the fullest extend here. There are other places, which include more about the internal maintenance structure. - -- [ARD-Eventhub / Secrets](#ard-eventhub--secrets) - - [Code](#code) - - [Github](#github) - - [Google Cloud](#google-cloud) - - [Docker Image](#docker-image) +This repository obviously needs a number of secrets and configuration files that are kept in various places. This page documents what goes where. +Since this project is designed to be kept public to allow a collaborative development process, the full configuration around secrets and their deployment process is not described to the fullest extend here. There are other places, which include more about the internal maintenance structure. ## Code -Different modules might need varying sets of variables. Check the README of each provided module to see more about those. -Usually it only requires few API keys to external services. Access to Google Cloud services is given by a [service account](https://cloud.google.com/iam/docs/service-accounts) (SA), with only the minimum set of permissions needed. This SA is added using an environment variable. +Different modules might need varying sets of variables. Check the README of each provided module to see more about those. +Usually it only requires few API keys to external services. Access to Google Cloud services is given by a [service account](https://cloud.google.com/iam/docs/service-accounts) (SA), with only the minimum set of permissions needed. This SA is added using an environment variable. ## Github @@ -37,9 +31,9 @@ Secrets in Github are write-only by default for users. Admins can change them in ## Google Cloud -When this project is deployed to Google Cloud for example, it also needs environment variables and keys. Those are usually provided by the runtime and its deployment configuration. The location of all Kubernetes deployments files is explicitly not mentioned here, but if have access to said environment, you should know where to start searching. +When this project is deployed to Google Cloud for example, it also needs environment variables and keys. Those are usually provided by the runtime and its deployment configuration. The location of all Kubernetes deployments files is explicitly not mentioned here, but if have access to said environment, you should know where to start searching. ### Docker Image -Kubernetes needs to pull the image from some specified registry. Usually there's one central place for these images. For eventhub we are not using this place to avoid adding their key to this repository. Instead we are storing containers in our eventhub project and are giving access to their SA. -To do this, open the console, navigate to the eventhub project, go to storage, select the artifact bucket. In the info panel, add their SA email address with the permission "_Storage Object Viewer_". +Kubernetes needs to pull the image from some specified registry. Usually there's one central place for these images. For eventhub we are not using this place to avoid adding their key to this repository. Instead we are storing containers in our eventhub project and are giving access to their SA. +To do this, open the console, navigate to the eventhub project, go to storage, select the artifact bucket. In the info panel, add their SA email address with the permission "_Storage Object Viewer_". diff --git a/docs/STAGES.md b/docs/STAGES.md index 51ddb0df..d584bd00 100644 --- a/docs/STAGES.md +++ b/docs/STAGES.md @@ -2,11 +2,6 @@ The Eventhub differentiates between stages given to the service via env `STAGE` and different runtime environments or deployments, such as beta, test, or similar. -- [ARD-Eventhub / Stages](#ard-eventhub--stages) - - [Ingest](#ingest) - - [Ingest Service Stages](#ingest-service-stages) - - [Ingest Deployment Stages](#ingest-deployment-stages) - ## Ingest ### Ingest Service Stages diff --git a/docs/TYPES.md b/docs/TYPES.md index 4b6f4d2c..8b0d9449 100644 --- a/docs/TYPES.md +++ b/docs/TYPES.md @@ -2,16 +2,6 @@ Each triggered `track` can and must be of a certain type, to be properly displayed by receiving subscribers. -- [ARD-Eventhub / Types](#ard-eventhub--types) - - [`music`](#music) - - [`live`](#live) - - [`news`](#news) - - [`weather`](#weather) - - [`traffic`](#traffic) - - [`audio`](#audio) - - [`commercial`](#commercial) - - [`jingle`](#jingle) - ## `music` A song or commercially produced piece of music. It is highly recommended and expected to set both `title` and `artist`. Full details about participating artists inside `contributors` is a bonus. This type should ideally also include references to its source element, like `confId` from ARD's HFDB, `isrc` and `upc`. @@ -48,7 +38,7 @@ A song or commercially produced piece of music. It is highly recommended and exp "attribution": "Photographer XYZ" } ], - โ€ฆ + โ€ฆ } ``` @@ -63,7 +53,7 @@ If a live element is starting. This can be an moderation by an anchor, interview "start": "2020-01-19T06:20:00+01:00", "length": 240, "title": "Moderation", - โ€ฆ + โ€ฆ } ``` @@ -100,7 +90,7 @@ This indicates the beginning of the news in general or a new news item. Get as d "url": "https://www.deutschlandfunkkultur.de/kommerzielle-us-raumfahrt-die-neue-weltraumoekonomie-100.html" } ] - โ€ฆ + โ€ฆ } ``` @@ -115,7 +105,7 @@ Similar to `news` it marks the beginning of a weather segment. "start": "2020-01-19T06:03:00+01:00", "length": 30, "title": "Wetter", - โ€ฆ + โ€ฆ } ``` @@ -130,7 +120,7 @@ Similar to `news` and `weather` it can mark the beginning of a traffic announcem "start": "2020-01-19T06:03:30+01:00", "length": 10, "title": "Verkehr", - โ€ฆ + โ€ฆ } ``` diff --git a/docs/USERS.md b/docs/USERS.md index 4673c58d..26b601aa 100644 --- a/docs/USERS.md +++ b/docs/USERS.md @@ -1,11 +1,6 @@ # ARD-Eventhub / Users -To authenticate and work with Eventhub API you will need a valid user. For now these user logins are kept separate from the ARD Core API, but are using a similar login method. This page covers the process of administrating users. - -- [ARD-Eventhub / Users](#ard-eventhub--users) - - [Authentication](#authentication) - - [Registering new users](#registering-new-users) - - [Removing users](#removing-users) +To authenticate and work with Eventhub API you will need a valid user. For now these user logins are kept separate from the ARD Core API, but are using a similar login method. This page covers the process of administrating users. ## Authentication @@ -13,17 +8,17 @@ Please see the [Authentication document](AUTHENTICATION.md) to learn more about ## Registering new users -New users cannot sign up themselves, but need to go through the ARD Online team to receive access to this service. The following step-by-step guide is targeted at admins, that want to add a new account for a user. +New users cannot sign up themselves, but need to go through the ARD Online team to receive access to this service. The following step-by-step guide is targeted at admins, that want to add a new account for a user. - Open Datastore in the GCP Eventhub project, go to the appropriate namespace (usually `prod`) and kind `users` - Check that the user really hasn't been registered, then add a new entity - The entity key needs to be '_Custom Name_', with the user's email address (**in lowercase**) - Set `active` to `true` - - In the field `institutionId`, you will need to add a string with the same ID that is being used in ARD Core in this format: `urn:ard:institution:hex` -- Now that the user is entered in Datastore with its profile, you can register it in Firebase. Therefore go to the [Firebase Console](https://console.firebase.google.com/) in the section _Build_ -> _Authentication_. + - In the field `institutionId`, you will need to add a string with the same ID that is being used in ARD Core in this format: `urn:ard:institution:hex` +- Now that the user is entered in Datastore with its profile, you can register it in Firebase. Therefore go to the [Firebase Console](https://console.firebase.google.com/) in the section _Build_ -> _Authentication_. - On this page, click on _Add user_ and enter the same email address (again in lowercase). The password can be something random, that will never be seen. - Once the user has been added, click on the dropdown menu and select _Reset password_ and confirm the pop-up. -- The user will now receive an email to set their password, that they can then use to interact with the API. +- The user will now receive an email to set their password, that they can then use to interact with the API. ## Removing users diff --git a/package.json b/package.json index d4098810..e55c7543 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "ARD system to distribute real-time (live) metadata for primarily radio broadcasts.", "main": "./src/ingest/index.js", "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" }, "scripts": { "docs:serve": "docsify serve . --port 3000", @@ -21,28 +21,24 @@ "test": "mocha test/example.test.js", "reinstall": "rm -rf node_modules && rm yarn.lock && yarn" }, - "keywords": [ - "ard", - "metadata", - "pubsub" - ], + "keywords": ["ard", "metadata", "pubsub"], "author": "SWR Audio Lab ", "license": "EUPL-1.2", "dependencies": { - "@google-cloud/datastore": "8.7.0", - "@google-cloud/pubsub": "4.3.3", - "@google-cloud/secret-manager": "5.3.0", - "@swrlab/utils": "1.2.1", + "@google-cloud/datastore": "9.0.0", + "@google-cloud/pubsub": "4.5.0", + "@google-cloud/secret-manager": "5.6.0", + "@swrlab/utils": "1.3.0", "compression": "1.7.4", - "dd-trace": "5.11.0", + "dd-trace": "5.17.0", "express": "4.19.2", - "express-openapi-validator": "5.1.6", - "firebase-admin": "12.0.0", - "google-auth-library": "9.8.0", + "express-openapi-validator": "5.2.0", + "firebase-admin": "12.2.0", + "google-auth-library": "9.11.0", "jsonwebtoken": "9.0.2", "luxon": "3.4.4", - "slug": "9.0.0", - "swagger-ui-express": "5.0.0", + "slug": "9.1.0", + "swagger-ui-express": "5.0.1", "winston": "3.13.0" }, "devDependencies": { @@ -54,11 +50,11 @@ "dotenv": "16.4.5", "eslint": "^8.57.0", "eslint-plugin-chai-friendly": "^0.7.4", - "license-compliance": "^3.0.0", + "license-compliance": "^3.0.1", "mocha": "^10.4.0", - "nodemon": "^3.1.0", - "prettier": "^3.2.5", - "typescript": "^5.4.5" + "nodemon": "^3.1.4", + "prettier": "^3.3.2", + "typescript": "^5.5.2" }, "resolutions": { "ansi-regex": "^5.0.1", diff --git a/src/ingest/README.md b/src/ingest/README.md index f39d3c46..7eedcb7b 100644 --- a/src/ingest/README.md +++ b/src/ingest/README.md @@ -2,14 +2,6 @@ The Ingest service is used to accept incoming events, distribute them via Pub/Sub and provide methods for users to manage their own subscriptions (self-service). -- [ARD-Eventhub Ingest](#ard-eventhub-ingest) - - [Environments](#environments) - - [Stages](#stages) - - [DEV](#dev) - - [PROD](#prod) - - [Setup](#setup) - - [Deployment](#deployment) - ## Environments Designated host is Kubernetes but the Docker container will also be used in other environments such as Google Cloud Run for testing purposes. @@ -56,7 +48,7 @@ To run this project locally in your development environment you'll need these pr 5. Run the project ```sh -yarn ingest:local +bun ingest:local ``` 6. Open [localhost:8080/openapi](http://localhost:8080/openapi/) diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index 782fab99..00000000 --- a/yarn.lock +++ /dev/null @@ -1,5889 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@aashutoshrathi/word-wrap@^1.2.3": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" - integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== - -"@apidevtools/json-schema-ref-parser@^9.1.2": - version "9.1.2" - resolved "https://registry.yarnpkg.com/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-9.1.2.tgz#8ff5386b365d4c9faa7c8b566ff16a46a577d9b8" - integrity sha512-r1w81DpR+KyRWd3f+rk6TNqMgedmAxZP5v5KWlXQWlgMUUtyEJch0DKEci1SorPMiSeM8XPl7MZ3miJ60JIpQg== - dependencies: - "@jsdevtools/ono" "^7.1.3" - "@types/json-schema" "^7.0.6" - call-me-maybe "^1.0.1" - js-yaml "^4.1.0" - -"@babel/code-frame@^7.0.0": - version "7.22.13" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e" - integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w== - dependencies: - "@babel/highlight" "^7.22.13" - chalk "^2.4.2" - -"@babel/helper-validator-identifier@^7.22.20", "@babel/helper-validator-identifier@^7.22.5": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" - integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== - -"@babel/highlight@^7.22.13": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54" - integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg== - dependencies: - "@babel/helper-validator-identifier" "^7.22.20" - chalk "^2.4.2" - js-tokens "^4.0.0" - -"@colors/colors@1.6.0", "@colors/colors@^1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.6.0.tgz#ec6cd237440700bc23ca23087f513c75508958b0" - integrity sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA== - -"@dabh/diagnostics@^2.0.2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@dabh/diagnostics/-/diagnostics-2.0.3.tgz#7f7e97ee9a725dffc7808d93668cc984e1dc477a" - integrity sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA== - dependencies: - colorspace "1.1.x" - enabled "2.0.x" - kuler "^2.0.0" - -"@datadog/native-appsec@7.1.1": - version "7.1.1" - resolved "https://registry.yarnpkg.com/@datadog/native-appsec/-/native-appsec-7.1.1.tgz#eee96ae4c309e5b811611e968668f6744452c584" - integrity sha512-1XVrCY4g1ArN79SQANMtiIkaxKSPfgdAGv0VAM4Pz+NQuxKfl+2xQPXjQPm87LI1KQIO6MU6qzv3sUUSesb9lA== - dependencies: - node-gyp-build "^3.9.0" - -"@datadog/native-iast-rewriter@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@datadog/native-iast-rewriter/-/native-iast-rewriter-2.3.0.tgz#67abddc698504ad76736c0d49681bcf9e330e1bd" - integrity sha512-78ivSaaSXOaHn3VumF9kcSI443nbPfVAWsnDTH9X1ZbqXjHpSlHHTZgK9z/TNbkvuJarS/X1GBioPMcgea1Ejg== - dependencies: - lru-cache "^7.14.0" - node-gyp-build "^4.5.0" - -"@datadog/native-iast-taint-tracking@1.7.0": - version "1.7.0" - resolved "https://registry.yarnpkg.com/@datadog/native-iast-taint-tracking/-/native-iast-taint-tracking-1.7.0.tgz#0bcd4f287c25403d2a965939b33c35ae8544b363" - integrity sha512-p3qnYJrUr9TQ38tuOFoutDAQWOobLdaaWpTl0SHu126JH3ANBxWL/QirtJy6czfzLpm5eXwYHwHidD1Y0mNPdg== - dependencies: - node-gyp-build "^3.9.0" - -"@datadog/native-metrics@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@datadog/native-metrics/-/native-metrics-2.0.0.tgz#65bf03313ee419956361e097551db36173e85712" - integrity sha512-YklGVwUtmKGYqFf1MNZuOHvTYdKuR4+Af1XkWcMD8BwOAjxmd9Z+97328rCOY8TFUJzlGUPaXzB8j2qgG/BMwA== - dependencies: - node-addon-api "^6.1.0" - node-gyp-build "^3.9.0" - -"@datadog/pprof@5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@datadog/pprof/-/pprof-5.2.0.tgz#a6c2779335b4f0fd51754e4de193e98591de387e" - integrity sha512-pSwLARpNLAIV1JttxXOBRKTn/NQYXDy1PJaV458YFDdAYxnBqpsYTat3/nX+8V5GoN4SfdHDci3zqXM+Ym66gQ== - dependencies: - delay "^5.0.0" - node-gyp-build "<4.0" - p-limit "^3.1.0" - pprof-format "^2.1.0" - source-map "^0.7.4" - -"@datadog/sketches-js@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@datadog/sketches-js/-/sketches-js-2.1.0.tgz#8c7e8028a5fc22ad102fa542b0a446c956830455" - integrity sha512-smLocSfrt3s53H/XSVP3/1kP42oqvrkjUPtyaFd1F79ux24oE31BKt+q0c6lsa6hOYrFzsIwyc5GXAI5JmfOew== - -"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" - integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== - dependencies: - eslint-visitor-keys "^3.3.0" - -"@eslint-community/regexpp@^4.6.1": - version "4.10.0" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" - integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== - -"@eslint/eslintrc@^2.1.4": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" - integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.6.0" - globals "^13.19.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - -"@eslint/js@8.57.0": - version "8.57.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.0.tgz#a5417ae8427873f1dd08b70b3574b453e67b5f7f" - integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== - -"@fastify/busboy@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-1.2.1.tgz#9c6db24a55f8b803b5222753b24fe3aea2ba9ca3" - integrity sha512-7PQA7EH43S0CxcOa9OeAnaeA0oQ+e/DHNPZwSQM9CQHW76jle5+OvLdibRp/Aafs9KXbLhxyjOTkRjWUbQEd3Q== - dependencies: - text-decoding "^1.0.0" - -"@fastify/busboy@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.0.0.tgz#f22824caff3ae506b18207bad4126dbc6ccdb6b8" - integrity sha512-JUFJad5lv7jxj926GPgymrWQxxjPYuJNiNjNMzqT+HiuP6Vl3dk5xzG+8sTX96np0ZAluvaMzPsjhHZ5rNuNQQ== - -"@firebase/app-check-interop-types@0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@firebase/app-check-interop-types/-/app-check-interop-types-0.3.0.tgz#b27ea1397cb80427f729e4bbf3a562f2052955c4" - integrity sha512-xAxHPZPIgFXnI+vb4sbBjZcde7ZluzPPaSK7Lx3/nmuVk4TjZvnL8ONnkd4ERQKL8WePQySU+pRcWkh8rDf5Sg== - -"@firebase/app-types@0.9.0": - version "0.9.0" - resolved "https://registry.yarnpkg.com/@firebase/app-types/-/app-types-0.9.0.tgz#35b5c568341e9e263b29b3d2ba0e9cfc9ec7f01e" - integrity sha512-AeweANOIo0Mb8GiYm3xhTEBVCmPwTYAu9Hcd2qSkLuga/6+j9b1Jskl5bpiSQWy9eJ/j5pavxj6eYogmnuzm+Q== - -"@firebase/auth-interop-types@0.2.1": - version "0.2.1" - resolved "https://registry.yarnpkg.com/@firebase/auth-interop-types/-/auth-interop-types-0.2.1.tgz#78884f24fa539e34a06c03612c75f222fcc33742" - integrity sha512-VOaGzKp65MY6P5FI84TfYKBXEPi6LmOCSMMzys6o2BN2LOsqy7pCuZCup7NYnfbk5OkkQKzvIfHOzTm0UDpkyg== - -"@firebase/component@0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@firebase/component/-/component-0.6.5.tgz#8cc7334f2081d700f2769caaa8dae3ac4c1fe37e" - integrity sha512-2tVDk1ixi12sbDmmfITK8lxSjmcb73BMF6Qwc3U44hN/J1Fi1QY/Hnnb6klFlbB9/G16a3J3d4nXykye2EADTw== - dependencies: - "@firebase/util" "1.9.4" - tslib "^2.1.0" - -"@firebase/database-compat@^1.0.2": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@firebase/database-compat/-/database-compat-1.0.3.tgz#f7a255af6208d2d4d7af10ec2c9ecd9af4ff52d5" - integrity sha512-7tHEOcMbK5jJzHWyphPux4osogH/adWwncxdMxdBpB9g1DNIyY4dcz1oJdlkXGM/i/AjUBesZsd5CuwTRTBNTw== - dependencies: - "@firebase/component" "0.6.5" - "@firebase/database" "1.0.3" - "@firebase/database-types" "1.0.1" - "@firebase/logger" "0.4.0" - "@firebase/util" "1.9.4" - tslib "^2.1.0" - -"@firebase/database-types@1.0.1", "@firebase/database-types@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@firebase/database-types/-/database-types-1.0.1.tgz#1e7cd9fec03f6ca772c019d839cc72d9b2eda63c" - integrity sha512-Tmcmx5XgiI7UVF/4oGg2P3AOTfq3WKEPsm2yf+uXtN7uG/a4WTWhVMrXGYRY2ZUL1xPxv9V33wQRJ+CcrUhVXw== - dependencies: - "@firebase/app-types" "0.9.0" - "@firebase/util" "1.9.4" - -"@firebase/database@1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@firebase/database/-/database-1.0.3.tgz#88caee93188d28aca355236e9ad69f373f628804" - integrity sha512-9fjqLt9JzL46gw9+NRqsgQEMjgRwfd8XtzcKqG+UYyhVeFCdVRQ0Wp6Dw/dvYHnbH5vNEKzNv36dcB4p+PIAAA== - dependencies: - "@firebase/app-check-interop-types" "0.3.0" - "@firebase/auth-interop-types" "0.2.1" - "@firebase/component" "0.6.5" - "@firebase/logger" "0.4.0" - "@firebase/util" "1.9.4" - faye-websocket "0.11.4" - tslib "^2.1.0" - -"@firebase/logger@0.4.0": - version "0.4.0" - resolved "https://registry.yarnpkg.com/@firebase/logger/-/logger-0.4.0.tgz#15ecc03c452525f9d47318ad9491b81d1810f113" - integrity sha512-eRKSeykumZ5+cJPdxxJRgAC3G5NknY2GwEbKfymdnXtnT0Ucm4pspfR6GT4MUQEDuJwRVbVcSx85kgJulMoFFA== - dependencies: - tslib "^2.1.0" - -"@firebase/util@1.9.4": - version "1.9.4" - resolved "https://registry.yarnpkg.com/@firebase/util/-/util-1.9.4.tgz#68eee380ab7e7828ec0d8684c46a1abed2d7e334" - integrity sha512-WLonYmS1FGHT97TsUmRN3qnTh5TeeoJp1Gg5fithzuAgdZOUtsYECfy7/noQ3llaguios8r5BuXSEiK82+UrxQ== - dependencies: - tslib "^2.1.0" - -"@google-cloud/datastore@8.7.0": - version "8.7.0" - resolved "https://registry.yarnpkg.com/@google-cloud/datastore/-/datastore-8.7.0.tgz#30ae8353d59a4290f3cacb6eea0fdecbcdbc48ed" - integrity sha512-MuO2i3YiOJeqHLctthLWLKuXKk3pdyYtD6Dgu48RBuFo6bqPrz4+b2qMkqDLYHeOivtL2ZfmJerTimDEnXcCrQ== - dependencies: - "@google-cloud/promisify" "^4.0.0" - arrify "^2.0.1" - async-mutex "^0.5.0" - concat-stream "^2.0.0" - extend "^3.0.2" - google-gax "^4.0.5" - is "^3.3.0" - split-array-stream "^2.0.0" - stream-events "^1.0.5" - -"@google-cloud/firestore@^7.1.0": - version "7.3.0" - resolved "https://registry.yarnpkg.com/@google-cloud/firestore/-/firestore-7.3.0.tgz#cd635424105aae1d1e62a9d40aa6019cd7f74d6f" - integrity sha512-2IftQLAbCuVp0nTd3neeu+d3OYIegJpV/V9R4USQj51LzJcXPe8h8jZ7j3+svSNhJVGy6JsN0T1QqlJdMDhTwg== - dependencies: - fast-deep-equal "^3.1.1" - functional-red-black-tree "^1.0.1" - google-gax "^4.0.4" - protobufjs "^7.2.5" - -"@google-cloud/paginator@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@google-cloud/paginator/-/paginator-5.0.0.tgz#b8cc62f151685095d11467402cbf417c41bf14e6" - integrity sha512-87aeg6QQcEPxGCOthnpUjvw4xAZ57G7pL8FS0C4e/81fr3FjkpUpibf1s2v5XGyGhUVGF4Jfg7yEcxqn2iUw1w== - dependencies: - arrify "^2.0.0" - extend "^3.0.2" - -"@google-cloud/precise-date@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@google-cloud/precise-date/-/precise-date-4.0.0.tgz#e179893a3ad628b17a6fabdfcc9d468753aac11a" - integrity sha512-1TUx3KdaU3cN7nfCdNf+UVqA/PSX29Cjcox3fZZBtINlRrXVTmUkQnCKv2MbBUbCopbK4olAT1IHl76uZyCiVA== - -"@google-cloud/projectify@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@google-cloud/projectify/-/projectify-4.0.0.tgz#d600e0433daf51b88c1fa95ac7f02e38e80a07be" - integrity sha512-MmaX6HeSvyPbWGwFq7mXdo0uQZLGBYCwziiLIGq5JVX+/bdI3SAq6bP98trV5eTWfLuvsMcIC1YJOF2vfteLFA== - -"@google-cloud/promisify@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@google-cloud/promisify/-/promisify-4.0.0.tgz#a906e533ebdd0f754dca2509933334ce58b8c8b1" - integrity sha512-Orxzlfb9c67A15cq2JQEyVc7wEsmFBmHjZWZYQMUyJ1qivXyMwdyNOs9odi79hze+2zqdTtu1E19IM/FtqZ10g== - -"@google-cloud/pubsub@4.3.3": - version "4.3.3" - resolved "https://registry.yarnpkg.com/@google-cloud/pubsub/-/pubsub-4.3.3.tgz#3d3f947ae8fca1694388592f22f77fdc3008ee8d" - integrity sha512-vJKh9L4dHf1XGSDKS1SB0IpqP/sUajQh4/QwhYasuq/NjzfHSxqSt+CuhrFGb5/gioTWE4gce0sn7h1SW7qESg== - dependencies: - "@google-cloud/paginator" "^5.0.0" - "@google-cloud/precise-date" "^4.0.0" - "@google-cloud/projectify" "^4.0.0" - "@google-cloud/promisify" "^4.0.0" - "@opentelemetry/api" "^1.6.0" - "@opentelemetry/semantic-conventions" "~1.21.0" - "@types/duplexify" "^3.6.0" - "@types/long" "^4.0.0" - arrify "^2.0.0" - extend "^3.0.2" - google-auth-library "^9.3.0" - google-gax "^4.3.1" - heap-js "^2.2.0" - is-stream-ended "^0.1.4" - lodash.snakecase "^4.1.1" - p-defer "^3.0.0" - -"@google-cloud/secret-manager@5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@google-cloud/secret-manager/-/secret-manager-5.3.0.tgz#20ead4b17599c872703b0e92b8bbfa550e4b82cd" - integrity sha512-ps/1Q3igDTehJoQdvx/H+3VzDE/v9jnteGWmGfj7lW3maSaF8hKKszEyp8FnSDvUIgBj+0126x5EKcFgFskWpQ== - dependencies: - google-gax "^4.0.3" - -"@google-cloud/storage@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@google-cloud/storage/-/storage-7.7.0.tgz#d942ebea018386d276256bad93ceec9bdb955333" - integrity sha512-EMCEY+6JiIkx7Dt8NXVGGjy1vRdSGdHkoqZoqjJw7cEBkT7ZkX0c7puedfn1MamnzW5SX4xoa2jVq5u7OWBmkQ== - dependencies: - "@google-cloud/paginator" "^5.0.0" - "@google-cloud/projectify" "^4.0.0" - "@google-cloud/promisify" "^4.0.0" - abort-controller "^3.0.0" - async-retry "^1.3.3" - compressible "^2.0.12" - duplexify "^4.0.0" - ent "^2.2.0" - fast-xml-parser "^4.3.0" - gaxios "^6.0.2" - google-auth-library "^9.0.0" - mime "^3.0.0" - mime-types "^2.0.8" - p-limit "^3.0.1" - retry-request "^7.0.0" - teeny-request "^9.0.0" - uuid "^8.0.0" - -"@grpc/grpc-js@~1.10.0": - version "1.10.0" - resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.10.0.tgz#23b5defd6a021a20924b4baca2dd1b3a3ecc3716" - integrity sha512-tx+eoEsqkMkLCHR4OOplwNIaJ7SVZWzeVKzEMBz8VR+TbssgBYOP4a0P+KQiQ6LaTG4SGaIEu7YTS8xOmkOWLA== - dependencies: - "@grpc/proto-loader" "^0.7.8" - "@types/node" ">=12.12.47" - -"@grpc/grpc-js@~1.9.6": - version "1.9.7" - resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.9.7.tgz#7d0e29bc162287bee2523901c9bc9320d8402397" - integrity sha512-yMaA/cIsRhGzW3ymCNpdlPcInXcovztlgu/rirThj2b87u3RzWUszliOqZ/pldy7yhmJPS8uwog+kZSTa4A0PQ== - dependencies: - "@grpc/proto-loader" "^0.7.8" - "@types/node" ">=12.12.47" - -"@grpc/proto-loader@^0.7.0", "@grpc/proto-loader@^0.7.8": - version "0.7.10" - resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.7.10.tgz#6bf26742b1b54d0a473067743da5d3189d06d720" - integrity sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ== - dependencies: - lodash.camelcase "^4.3.0" - long "^5.0.0" - protobufjs "^7.2.4" - yargs "^17.7.2" - -"@hapi/hoek@^9.0.0", "@hapi/hoek@^9.3.0": - version "9.3.0" - resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb" - integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ== - -"@hapi/topo@^5.1.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.1.0.tgz#dc448e332c6c6e37a4dc02fd84ba8d44b9afb012" - integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg== - dependencies: - "@hapi/hoek" "^9.0.0" - -"@humanwhocodes/config-array@^0.11.14": - version "0.11.14" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" - integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== - dependencies: - "@humanwhocodes/object-schema" "^2.0.2" - debug "^4.3.1" - minimatch "^3.0.5" - -"@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== - -"@humanwhocodes/object-schema@^2.0.2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3" - integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== - -"@jsdevtools/ono@7.1.3", "@jsdevtools/ono@^7.1.3": - version "7.1.3" - resolved "https://registry.yarnpkg.com/@jsdevtools/ono/-/ono-7.1.3.tgz#9df03bbd7c696a5c58885c34aa06da41c8543796" - integrity sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg== - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@opentelemetry/api@^1.0.0", "@opentelemetry/api@^1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.6.0.tgz#de2c6823203d6f319511898bb5de7e70f5267e19" - integrity sha512-OWlrQAnWn9577PhVgqjUvMr1pg57Bc4jv0iL4w0PRuOSRvq67rvHW9Ie/dZVMvCzhSCB+UxhcY/PmCmFj33Q+g== - -"@opentelemetry/core@^1.14.0": - version "1.17.1" - resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.17.1.tgz#10c5e09c63aeb1836b34d80baf7113760fb19d96" - integrity sha512-I6LrZvl1FF97FQXPR0iieWQmKnGxYtMbWA1GrAXnLUR+B1Hn2m8KqQNEIlZAucyv00GBgpWkpllmULmZfG8P3g== - dependencies: - "@opentelemetry/semantic-conventions" "1.17.1" - -"@opentelemetry/semantic-conventions@1.17.1": - version "1.17.1" - resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.17.1.tgz#93d219935e967fbb9aa0592cc96b2c0ec817a56f" - integrity sha512-xbR2U+2YjauIuo42qmE8XyJK6dYeRMLJuOlUP5SO4auET4VtOHOzgkRVOq+Ik18N+Xf3YPcqJs9dZMiDddz1eQ== - -"@opentelemetry/semantic-conventions@~1.21.0": - version "1.21.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.21.0.tgz#83f7479c524ab523ac2df702ade30b9724476c72" - integrity sha512-lkC8kZYntxVKr7b8xmjCVUgE0a8xgDakPyDo9uSWavXPyYqLgYYGdEd2j8NxihRyb6UwpX3G/hFUF4/9q2V+/g== - -"@pkgr/utils@^2.3.1": - version "2.4.2" - resolved "https://registry.yarnpkg.com/@pkgr/utils/-/utils-2.4.2.tgz#9e638bbe9a6a6f165580dc943f138fd3309a2cbc" - integrity sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw== - dependencies: - cross-spawn "^7.0.3" - fast-glob "^3.3.0" - is-glob "^4.0.3" - open "^9.1.0" - picocolors "^1.0.0" - tslib "^2.6.0" - -"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" - integrity sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== - -"@protobufjs/base64@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" - integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== - -"@protobufjs/codegen@^2.0.4": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" - integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== - -"@protobufjs/eventemitter@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" - integrity sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== - -"@protobufjs/fetch@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" - integrity sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== - dependencies: - "@protobufjs/aspromise" "^1.1.1" - "@protobufjs/inquire" "^1.1.0" - -"@protobufjs/float@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" - integrity sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== - -"@protobufjs/inquire@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" - integrity sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== - -"@protobufjs/path@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" - integrity sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== - -"@protobufjs/pool@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" - integrity sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== - -"@protobufjs/utf8@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" - integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== - -"@sideway/address@^4.1.5": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.5.tgz#4bc149a0076623ced99ca8208ba780d65a99b9d5" - integrity sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q== - dependencies: - "@hapi/hoek" "^9.0.0" - -"@sideway/formula@^3.0.1": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@sideway/formula/-/formula-3.0.1.tgz#80fcbcbaf7ce031e0ef2dd29b1bfc7c3f583611f" - integrity sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg== - -"@sideway/pinpoint@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df" - integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== - -"@sindresorhus/is@^4.0.0": - version "4.6.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" - integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== - -"@swrlab/eslint-plugin-swr@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@swrlab/eslint-plugin-swr/-/eslint-plugin-swr-0.3.0.tgz#17e85e24ed84265a42433d99154b5fe98efa19d0" - integrity sha512-SD1hKJeh+fsvwFM3IyPloqwpJWzivQm4pFqBpQ3jI8xrSMeq89waHxwtuYmqVM96Zmr91cUnJWAvvNB1juV7PA== - dependencies: - eslint-config-airbnb-base "^15.0.0" - eslint-config-prettier "^9.0.0" - eslint-plugin-import "^2.28.0" - eslint-plugin-json "^3.1.0" - eslint-plugin-prettier "^5.0.0" - eslint-plugin-security "^1.7.1" - eslint-plugin-sonarjs "^0.20.0" - eslint-plugin-unicorn "^48.0.1" - eslint-plugin-vue "^9.17.0" - -"@swrlab/swr-prettier-config@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@swrlab/swr-prettier-config/-/swr-prettier-config-0.3.0.tgz#c11632bbf89832f982e10080ab649481a99a2c60" - integrity sha512-GfSezIhegohzPLsJMdv2YK7ekzXMMA2kZh45DBCU69KM8Eo3Kp8Atc6KptM+U+ZjQt8aZsEAseAh4g0bYkZP6A== - -"@swrlab/utils@1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@swrlab/utils/-/utils-1.2.1.tgz#7603e8dbc12c6e275ec75c90cb311dc565fd0788" - integrity sha512-z09y6ne5IAi9Ce4DTz7iwJKp1N1JywqxYukYNydZrEHofTzGC/zmp1PtadLT4bqvJt9Nu8hkM/INouS3nqtuPA== - dependencies: - "@google-cloud/storage" "^7.7.0" - abort-controller "^3.0.0" - aws-sdk "2.1525.0" - luxon "3.4.4" - node-crc swrlab/node-crc#v2.1.0 - undici "6.2.1" - -"@szmarczak/http-timer@^4.0.5": - version "4.0.6" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807" - integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== - dependencies: - defer-to-connect "^2.0.0" - -"@tootallnate/once@2": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" - integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== - -"@types/body-parser@*": - version "1.19.4" - resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.4.tgz#78ad68f1f79eb851aa3634db0c7f57f6f601b462" - integrity sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA== - dependencies: - "@types/connect" "*" - "@types/node" "*" - -"@types/cacheable-request@^6.0.1": - version "6.0.3" - resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.3.tgz#a430b3260466ca7b5ca5bfd735693b36e7a9d183" - integrity sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw== - dependencies: - "@types/http-cache-semantics" "*" - "@types/keyv" "^3.1.4" - "@types/node" "*" - "@types/responselike" "^1.0.0" - -"@types/caseless@*": - version "0.12.4" - resolved "https://registry.yarnpkg.com/@types/caseless/-/caseless-0.12.4.tgz#1326429a519cc077028150343fd502b04686bd6f" - integrity sha512-2in/lrHRNmDvHPgyormtEralhPcN3An1gLjJzj2Bw145VBxkQ75JEXW6CTdMAwShiHQcYsl2d10IjQSdJSJz4g== - -"@types/chai@4": - version "4.3.9" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.9.tgz#144d762491967db8c6dea38e03d2206c2623feec" - integrity sha512-69TtiDzu0bcmKQv3yg1Zx409/Kd7r0b5F1PfpYJfSHzLGtB53547V4u+9iqKYsTu/O2ai6KTb0TInNpvuQ3qmg== - -"@types/connect@*": - version "3.4.37" - resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.37.tgz#c66a96689fd3127c8772eb3e9e5c6028ec1a9af5" - integrity sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q== - dependencies: - "@types/node" "*" - -"@types/cookiejar@*": - version "2.1.3" - resolved "https://registry.yarnpkg.com/@types/cookiejar/-/cookiejar-2.1.3.tgz#c54976fb8f3a32ea8da844f59f0374dd39656e13" - integrity sha512-LZ8SD3LpNmLMDLkG2oCBjZg+ETnx6XdCjydUE0HwojDmnDfDUnhMKKbtth1TZh+hzcqb03azrYWoXLS8sMXdqg== - -"@types/duplexify@^3.6.0": - version "3.6.3" - resolved "https://registry.yarnpkg.com/@types/duplexify/-/duplexify-3.6.3.tgz#42b1716c5d52a42ba9072696c0d33ca0a9bffd6d" - integrity sha512-KE0Yb3JraglJMB53+A/RMXbd9w//pQfiSqkrsoAxKcNOEIe1EHfEgbvoi2lkk2AvhhJtplugJSB2Mptc3DZMNA== - dependencies: - "@types/node" "*" - -"@types/express-serve-static-core@^4.17.33": - version "4.17.39" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.39.tgz#2107afc0a4b035e6cb00accac3bdf2d76ae408c8" - integrity sha512-BiEUfAiGCOllomsRAZOiMFP7LAnrifHpt56pc4Z7l9K6ACyN06Ns1JLMBxwkfLOjJRlSf06NwWsT7yzfpaVpyQ== - dependencies: - "@types/node" "*" - "@types/qs" "*" - "@types/range-parser" "*" - "@types/send" "*" - -"@types/express@*", "@types/express@^4.17.17": - version "4.17.20" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.20.tgz#e7c9b40276d29e38a4e3564d7a3d65911e2aa433" - integrity sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw== - dependencies: - "@types/body-parser" "*" - "@types/express-serve-static-core" "^4.17.33" - "@types/qs" "*" - "@types/serve-static" "*" - -"@types/http-cache-semantics@*": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz#a3ff232bf7d5c55f38e4e45693eda2ebb545794d" - integrity sha512-V46MYLFp08Wf2mmaBhvgjStM3tPa+2GAdy/iqoX+noX1//zje2x4XmrIU0cAwyClATsTmahbtoQ2EwP7I5WSiA== - -"@types/http-errors@*": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.3.tgz#c54e61f79b3947d040f150abd58f71efb422ff62" - integrity sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA== - -"@types/json-schema@^7.0.6": - version "7.0.14" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.14.tgz#74a97a5573980802f32c8e47b663530ab3b6b7d1" - integrity sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw== - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== - -"@types/jsonwebtoken@^9.0.2": - version "9.0.4" - resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-9.0.4.tgz#8b74bbe87bde81a3469d4b32a80609bec62c23ec" - integrity sha512-8UYapdmR0QlxgvJmyE8lP7guxD0UGVMfknsdtCFZh4ovShdBl3iOI4zdvqBHrB/IS+xUj3PSx73Qkey1fhWz+g== - dependencies: - "@types/node" "*" - -"@types/keyv@^3.1.4": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.4.tgz#3ccdb1c6751b0c7e52300bcdacd5bcbf8faa75b6" - integrity sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg== - dependencies: - "@types/node" "*" - -"@types/long@^4.0.0": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.2.tgz#b74129719fc8d11c01868010082d483b7545591a" - integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== - -"@types/mime@*": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.3.tgz#886674659ce55fe7c6c06ec5ca7c0eb276a08f91" - integrity sha512-i8MBln35l856k5iOhKk2XJ4SeAWg75mLIpZB4v6imOagKL6twsukBZGDMNhdOVk7yRFTMPpfILocMos59Q1otQ== - -"@types/mime@^1": - version "1.3.4" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.4.tgz#a4ed836e069491414bab92c31fdea9e557aca0d9" - integrity sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw== - -"@types/multer@^1.4.7": - version "1.4.9" - resolved "https://registry.yarnpkg.com/@types/multer/-/multer-1.4.9.tgz#74e803d3a9b62f41d191ce48012c2151f62c2ed7" - integrity sha512-9NSvPJ2E8bNTc8XtJq1Cimx2Wrn2Ah48F15B2Du/hM8a8CHLhVbJMlF3ZCqhvMdht7Sa+YdP0aKP7N4fxDcrrg== - dependencies: - "@types/express" "*" - -"@types/node@*", "@types/node@>=12.12.47", "@types/node@>=13.7.0": - version "20.8.9" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.9.tgz#646390b4fab269abce59c308fc286dcd818a2b08" - integrity sha512-UzykFsT3FhHb1h7yD4CA4YhBHq545JC0YnEz41xkipN88eKQtL6rSgocL5tbAP6Ola9Izm/Aw4Ora8He4x0BHg== - dependencies: - undici-types "~5.26.4" - -"@types/node@^18.11.17": - version "18.18.7" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.18.7.tgz#bb3a7068dc4ba421b6968f2a259298b3a4e129e8" - integrity sha512-bw+lEsxis6eqJYW8Ql6+yTqkE6RuFtsQPSe5JxXbqYRFQEER5aJA9a5UH9igqDWm3X4iLHIKOHlnAXLM4mi7uQ== - dependencies: - undici-types "~5.26.4" - -"@types/node@^20.10.3": - version "20.11.17" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.17.tgz#cdd642d0e62ef3a861f88ddbc2b61e32578a9292" - integrity sha512-QmgQZGWu1Yw9TDyAP9ZzpFJKynYNeOvwMJmaxABfieQoVoiVOS6MN1WSpqpRcbeA5+RW82kraAVxCCJg+780Qw== - dependencies: - undici-types "~5.26.4" - -"@types/normalize-package-data@^2.4.0": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.3.tgz#291c243e4b94dbfbc0c0ee26b7666f1d5c030e2c" - integrity sha512-ehPtgRgaULsFG8x0NeYJvmyH1hmlfsNLujHe9dQEia/7MAJYdzMSi19JtchUHjmBA6XC/75dK55mzZH+RyieSg== - -"@types/qs@*": - version "6.9.9" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.9.tgz#66f7b26288f6799d279edf13da7ccd40d2fa9197" - integrity sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg== - -"@types/range-parser@*": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.6.tgz#7cb33992049fd7340d5b10c0098e104184dfcd2a" - integrity sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA== - -"@types/request@^2.48.8": - version "2.48.11" - resolved "https://registry.yarnpkg.com/@types/request/-/request-2.48.11.tgz#04b597ea308418422f7901c9a52b24967a2c4ed2" - integrity sha512-HuihY1+Vss5RS9ZHzRyTGIzwPTdrJBkCm/mAeLRYrOQu/MGqyezKXWOK1VhCnR+SDbp9G2mRUP+OVEqCrzpcfA== - dependencies: - "@types/caseless" "*" - "@types/node" "*" - "@types/tough-cookie" "*" - form-data "^2.5.0" - -"@types/responselike@^1.0.0": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.2.tgz#8de1b0477fd7c12df77e50832fa51701a8414bd6" - integrity sha512-/4YQT5Kp6HxUDb4yhRkm0bJ7TbjvTddqX7PZ5hz6qV3pxSo72f/6YPRo+Mu2DU307tm9IioO69l7uAwn5XNcFA== - dependencies: - "@types/node" "*" - -"@types/send@*": - version "0.17.3" - resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.3.tgz#81b2ea5a3a18aad357405af2d643ccbe5a09020b" - integrity sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug== - dependencies: - "@types/mime" "^1" - "@types/node" "*" - -"@types/serve-static@*": - version "1.15.4" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.4.tgz#44b5895a68ca637f06c229119e1c774ca88f81b2" - integrity sha512-aqqNfs1XTF0HDrFdlY//+SGUxmdSUbjeRXb5iaZc3x0/vMbYmdw9qvOgHWOyyLFxSSRnUuP5+724zBgfw8/WAw== - dependencies: - "@types/http-errors" "*" - "@types/mime" "*" - "@types/node" "*" - -"@types/superagent@4.1.13": - version "4.1.13" - resolved "https://registry.yarnpkg.com/@types/superagent/-/superagent-4.1.13.tgz#0aaa3f4ff9404b94932d1dcdfb7f3d39d23997a0" - integrity sha512-YIGelp3ZyMiH0/A09PMAORO0EBGlF5xIKfDpK74wdYvWUs2o96b5CItJcWPdH409b7SAXIIG6p8NdU/4U2Maww== - dependencies: - "@types/cookiejar" "*" - "@types/node" "*" - -"@types/tough-cookie@*": - version "4.0.4" - resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.4.tgz#cf2f0c7c51b985b6afecea73eb2cd65421ecb717" - integrity sha512-95Sfz4nvMAb0Nl9DTxN3j64adfwfbBPEYq14VN7zT5J5O2M9V6iZMIIQU1U+pJyl9agHYHNCqhCXgyEtIRRa5A== - -"@types/triple-beam@^1.3.2": - version "1.3.4" - resolved "https://registry.yarnpkg.com/@types/triple-beam/-/triple-beam-1.3.4.tgz#a1d5f480245db86e2f4777000065d4fe7467a012" - integrity sha512-HlJjF3wxV4R2VQkFpKe0YqJLilYNgtRtsqqZtby7RkVsSs+i+vbyzjtUwpFEdUCKcrGzCiEJE7F/0mKjh0sunA== - -"@ungap/structured-clone@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" - integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== - -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - -abort-controller@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" - integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== - dependencies: - event-target-shim "^5.0.0" - -accepts@~1.3.5, accepts@~1.3.8: - version "1.3.8" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" - integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== - dependencies: - mime-types "~2.1.34" - negotiator "0.6.3" - -acorn-import-assertions@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" - integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn@^8.8.2, acorn@^8.9.0: - version "8.11.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.1.tgz#29c6f12c3002d884b6f8baa37089e1917425cd3d" - integrity sha512-IJTNCJMRHfRfb8un89z1QtS0x890C2QUrUxFMK8zy+RizcId6mfnqOf68Bu9YkDgpLYuvCm6aYbwDatXVZPjMQ== - -agent-base@6: - version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - -agent-base@^7.0.2: - version "7.1.0" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.0.tgz#536802b76bc0b34aa50195eb2442276d613e3434" - integrity sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg== - dependencies: - debug "^4.3.4" - -ajv-draft-04@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz#3b64761b268ba0b9e668f0b41ba53fce0ad77fc8" - integrity sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw== - -ajv-formats@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" - integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== - dependencies: - ajv "^8.0.0" - -ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^8.0.0, ajv@^8.11.2: - version "8.12.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" - integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ansi-align@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" - integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== - dependencies: - string-width "^4.1.0" - -ansi-colors@4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - -ansi-colors@^4.1.1: - version "4.1.3" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" - integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== - -ansi-regex@^2.0.0, ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - integrity sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -append-field@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/append-field/-/append-field-1.0.0.tgz#1e3440e915f0b1203d23748e78edd7b9b5b43e56" - integrity sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw== - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -array-buffer-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" - integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== - dependencies: - call-bind "^1.0.2" - is-array-buffer "^3.0.1" - -array-find-index@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" - integrity sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw== - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== - -array-includes@^3.1.7: - version "3.1.7" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.7.tgz#8cd2e01b26f7a3086cbc87271593fe921c62abda" - integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - is-string "^1.0.7" - -array.prototype.findlastindex@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz#b37598438f97b579166940814e2c0493a4f50207" - integrity sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - get-intrinsic "^1.2.1" - -array.prototype.flat@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" - integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - -array.prototype.flatmap@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" - integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - -arraybuffer.prototype.slice@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz#98bd561953e3e74bb34938e77647179dfe6e9f12" - integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== - dependencies: - array-buffer-byte-length "^1.0.0" - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - is-array-buffer "^3.0.2" - is-shared-array-buffer "^1.0.2" - -arrify@^2.0.0, arrify@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" - integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== - -asap@^2.0.0: - version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== - -assertion-error@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" - integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== - -async-mutex@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.5.0.tgz#353c69a0b9e75250971a64ac203b0ebfddd75482" - integrity sha512-1A94B18jkJ3DYq284ohPxoXbfTA5HsQ7/Mf4DEhcyLx3Bz27Rh59iScbB6EPiP+B+joue6YCxcMXSbFC1tZKwA== - dependencies: - tslib "^2.4.0" - -async-retry@^1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/async-retry/-/async-retry-1.3.3.tgz#0e7f36c04d8478e7a58bdbed80cedf977785f280" - integrity sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw== - dependencies: - retry "0.13.1" - -async@^3.2.3: - version "3.2.4" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" - integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== - -aws-sdk@2.1525.0: - version "2.1525.0" - resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1525.0.tgz#2d55fa7bbc110c96bb2e10a30af6b0d64a7d422b" - integrity sha512-M6wNOrq9HliJoWgmgHeRzMHHrgK6UY20RL2tUhNqq45ETZnj1ihrqG5vSt5ywLrV9WUyI/lUQAVmCP/2PYjpQw== - dependencies: - buffer "4.9.2" - events "1.1.1" - ieee754 "1.1.13" - jmespath "0.16.0" - querystring "0.2.0" - sax "1.2.1" - url "0.10.3" - util "^0.12.4" - uuid "8.0.0" - xml2js "0.5.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base64-js@^1.0.2, base64-js@^1.3.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -big-integer@^1.6.44: - version "1.6.51" - resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686" - integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== - -bignumber.js@^9.0.0: - version "9.1.2" - resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.2.tgz#b7c4242259c008903b13707983b5f4bbd31eda0c" - integrity sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug== - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -body-parser@1.20.2: - version "1.20.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd" - integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== - dependencies: - bytes "3.1.2" - content-type "~1.0.5" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.11.0" - raw-body "2.5.2" - type-is "~1.6.18" - unpipe "1.0.0" - -boolbase@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== - -boxen@^5.0.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50" - integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ== - dependencies: - ansi-align "^3.0.0" - camelcase "^6.2.0" - chalk "^4.1.0" - cli-boxes "^2.2.1" - string-width "^4.2.2" - type-fest "^0.20.2" - widest-line "^3.1.0" - wrap-ansi "^7.0.0" - -bplist-parser@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.2.0.tgz#43a9d183e5bf9d545200ceac3e712f79ebbe8d0e" - integrity sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw== - dependencies: - big-integer "^1.6.44" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browser-stdout@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" - integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== - -buffer-equal-constant-time@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" - integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer@4.9.2: - version "4.9.2" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" - integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -builtin-modules@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" - integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== - -bundle-name@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/bundle-name/-/bundle-name-3.0.0.tgz#ba59bcc9ac785fb67ccdbf104a2bf60c099f0e1a" - integrity sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw== - dependencies: - run-applescript "^5.0.0" - -busboy@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893" - integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== - dependencies: - streamsearch "^1.1.0" - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== - -bytes@3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" - integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== - -cacheable-lookup@^5.0.3: - version "5.0.4" - resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" - integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== - -cacheable-request@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.4.tgz#7a33ebf08613178b403635be7b899d3e69bbe817" - integrity sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg== - dependencies: - clone-response "^1.0.2" - get-stream "^5.1.0" - http-cache-semantics "^4.0.0" - keyv "^4.0.0" - lowercase-keys "^2.0.0" - normalize-url "^6.0.1" - responselike "^2.0.0" - -call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513" - integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== - dependencies: - function-bind "^1.1.2" - get-intrinsic "^1.2.1" - set-function-length "^1.1.1" - -call-me-maybe@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.2.tgz#03f964f19522ba643b1b0693acb9152fe2074baa" - integrity sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ== - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase@^5.0.0: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.0.0, camelcase@^6.2.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -chai-http@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/chai-http/-/chai-http-4.4.0.tgz#bb8c346caa25b3c76118c68f7a7cecc0493669b8" - integrity sha512-uswN3rZpawlRaa5NiDUHcDZ3v2dw5QgLyAwnQ2tnVNuP7CwIsOFuYJ0xR1WiR7ymD4roBnJIzOUep7w9jQMFJA== - dependencies: - "@types/chai" "4" - "@types/superagent" "4.1.13" - charset "^1.0.1" - cookiejar "^2.1.4" - is-ip "^2.0.0" - methods "^1.1.2" - qs "^6.11.2" - superagent "^8.0.9" - -chai@^4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/chai/-/chai-4.4.1.tgz#3603fa6eba35425b0f2ac91a009fe924106e50d1" - integrity sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g== - dependencies: - assertion-error "^1.1.0" - check-error "^1.0.3" - deep-eql "^4.1.3" - get-func-name "^2.0.2" - loupe "^2.3.6" - pathval "^1.1.1" - type-detect "^4.0.8" - -chalk@4.1.2, chalk@^4.0.0, chalk@^4.1.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - integrity sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A== - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -charset@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/charset/-/charset-1.0.1.tgz#8d59546c355be61049a8fa9164747793319852bd" - integrity sha512-6dVyOOYjpfFcL1Y4qChrAoQLRHvj2ziyhcm0QJlhOcAhykL/k1kTUPbeo+87MNRTRdk2OIIsIXbuF3x2wi5EXg== - -check-error@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.3.tgz#a6502e4312a7ee969f646e83bb3ddd56281bd694" - integrity sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== - dependencies: - get-func-name "^2.0.2" - -chokidar@3.5.3, chokidar@^3.5.0, chokidar@^3.5.2: - version "3.5.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -ci-info@^3.8.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" - integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== - -cjs-module-lexer@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107" - integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== - -clean-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clean-regexp/-/clean-regexp-1.0.0.tgz#8df7c7aae51fd36874e8f8d05b9180bc11a3fed7" - integrity sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw== - dependencies: - escape-string-regexp "^1.0.5" - -cli-boxes@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" - integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== - -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -cliui@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" - integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - -clone-response@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.3.tgz#af2032aa47816399cf5f0a1d0db902f517abb8c3" - integrity sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA== - dependencies: - mimic-response "^1.0.0" - -color-convert@^1.9.0, color-convert@^1.9.3: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -color-name@^1.0.0, color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -color-string@^1.6.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4" - integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== - dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" - -color@^3.1.3: - version "3.2.1" - resolved "https://registry.yarnpkg.com/color/-/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164" - integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA== - dependencies: - color-convert "^1.9.3" - color-string "^1.6.0" - -colorspace@1.1.x: - version "1.1.4" - resolved "https://registry.yarnpkg.com/colorspace/-/colorspace-1.1.4.tgz#8d442d1186152f60453bf8070cd66eb364e59243" - integrity sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w== - dependencies: - color "^3.1.3" - text-hex "1.0.x" - -combined-stream@^1.0.6, combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@12.0.0: - version "12.0.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-12.0.0.tgz#b929db6df8546080adfd004ab215ed48cf6f2592" - integrity sha512-MwVNWlYjDTtOjX5PiD7o5pK0UrFU/OYgcJfjjK4RaHZETNtjJqrZa9Y9ds88+A+f+d5lv+561eZ+yCKoS3gbAA== - -component-emitter@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -compressible@^2.0.12, compressible@~2.0.16: - version "2.0.18" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" - integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== - dependencies: - mime-db ">= 1.43.0 < 2" - -compression@1.7.4: - version "1.7.4" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" - integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== - dependencies: - accepts "~1.3.5" - bytes "3.0.0" - compressible "~2.0.16" - debug "2.6.9" - on-headers "~1.0.2" - safe-buffer "5.1.2" - vary "~1.1.2" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -concat-stream@^1.5.2: - version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -concat-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1" - integrity sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.0.2" - typedarray "^0.0.6" - -configstore@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" - integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== - dependencies: - dot-prop "^5.2.0" - graceful-fs "^4.1.2" - make-dir "^3.0.0" - unique-string "^2.0.0" - write-file-atomic "^3.0.0" - xdg-basedir "^4.0.0" - -confusing-browser-globals@^1.0.10: - version "1.0.11" - resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81" - integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== - -connect-history-api-fallback@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" - integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== - -connect-livereload@^0.6.0: - version "0.6.1" - resolved "https://registry.yarnpkg.com/connect-livereload/-/connect-livereload-0.6.1.tgz#1ac0c8bb9d9cfd5b28b629987a56a9239db9baaa" - integrity sha512-3R0kMOdL7CjJpU66fzAkCe6HNtd3AavCS4m+uW4KtJjrdGPT0SQEZieAYd+cm+lJoBznNQ4lqipYWkhBMgk00g== - -connect@^3.6.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/connect/-/connect-3.7.0.tgz#5d49348910caa5e07a01800b030d0c35f20484f8" - integrity sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ== - dependencies: - debug "2.6.9" - finalhandler "1.1.2" - parseurl "~1.3.3" - utils-merge "1.0.1" - -content-disposition@0.5.4: - version "0.5.4" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" - integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== - dependencies: - safe-buffer "5.2.1" - -content-type@^1.0.5, content-type@~1.0.4, content-type@~1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" - integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== - -cookie@0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.6.0.tgz#2798b04b071b0ecbff0dbb62a505a8efa4e19051" - integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw== - -cookiejar@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.4.tgz#ee669c1fea2cf42dc31585469d193fef0d65771b" - integrity sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw== - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -cosmiconfig@9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-9.0.0.tgz#34c3fc58287b915f3ae905ab6dc3de258b55ad9d" - integrity sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg== - dependencies: - env-paths "^2.2.1" - import-fresh "^3.3.0" - js-yaml "^4.1.0" - parse-json "^5.2.0" - -cp-file@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/cp-file/-/cp-file-7.0.0.tgz#b9454cfd07fe3b974ab9ea0e5f29655791a9b8cd" - integrity sha512-0Cbj7gyvFVApzpK/uhCtQ/9kE9UnYpxMzaq5nQQC/Dh4iaj5fxp7iEFIullrYwzj8nf0qnsI1Qsx34hAeAebvw== - dependencies: - graceful-fs "^4.1.2" - make-dir "^3.0.0" - nested-error-stacks "^2.0.0" - p-event "^4.1.0" - -cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -crypto-random-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" - integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== - -crypto-randomuuid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/crypto-randomuuid/-/crypto-randomuuid-1.0.0.tgz#acf583e5e085e867ae23e107ff70279024f9e9e7" - integrity sha512-/RC5F4l1SCqD/jazwUF6+t34Cd8zTSAGZ7rvvZu1whZUhD2a5MOGKjSGowoGcpj/cbVZk1ZODIooJEQQq3nNAA== - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -dc-polyfill@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/dc-polyfill/-/dc-polyfill-0.1.4.tgz#4118cec81a8fab9a5729c41c285c715ffa42495a" - integrity sha512-8iwEduR2jR9wWYggeaYtYZWRiUe3XZPyAQtMTL1otv8X3kfR8xUIVb4l5awHEeyDrH6Je7N324lKzMKlMMN6Yw== - -dd-trace@5.10.0: - version "5.10.0" - resolved "https://registry.yarnpkg.com/dd-trace/-/dd-trace-5.10.0.tgz#719673ff14e552767beda01ce12879616e62ba0a" - integrity sha512-+JyAf8DKGlCGPxhVhIHcG2+oD5h9/oGFbNj35Jlsl+EEMD/hqOWihgzZ2UzWNCVmOtVGQip3bdRGE4uqkRY+/g== - dependencies: - "@datadog/native-appsec" "7.1.1" - "@datadog/native-iast-rewriter" "2.3.0" - "@datadog/native-iast-taint-tracking" "1.7.0" - "@datadog/native-metrics" "^2.0.0" - "@datadog/pprof" "5.2.0" - "@datadog/sketches-js" "^2.1.0" - "@opentelemetry/api" "^1.0.0" - "@opentelemetry/core" "^1.14.0" - crypto-randomuuid "^1.0.0" - dc-polyfill "^0.1.4" - ignore "^5.2.4" - import-in-the-middle "^1.7.3" - int64-buffer "^0.1.9" - ipaddr.js "^2.1.0" - istanbul-lib-coverage "3.2.0" - jest-docblock "^29.7.0" - koalas "^1.0.2" - limiter "1.1.5" - lodash.sortby "^4.7.0" - lru-cache "^7.14.0" - methods "^1.1.2" - module-details-from-path "^1.0.3" - msgpack-lite "^0.1.26" - node-abort-controller "^3.1.1" - opentracing ">=0.12.1" - path-to-regexp "^0.1.2" - pprof-format "^2.1.0" - protobufjs "^7.2.5" - retry "^0.13.1" - semver "^7.5.4" - shell-quote "^1.8.1" - tlhunter-sorted-set "^0.1.0" - -debug@2.6.9: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@4, debug@4.3.4, debug@^4, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -debug@^3.2.7: - version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== - -decamelize@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" - integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== - -decompress-response@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" - integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== - dependencies: - mimic-response "^3.1.0" - -deep-eql@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.3.tgz#7c7775513092f7df98d8df9996dd085eb668cc6d" - integrity sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw== - dependencies: - type-detect "^4.0.0" - -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - -deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -default-browser-id@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/default-browser-id/-/default-browser-id-3.0.0.tgz#bee7bbbef1f4e75d31f98f4d3f1556a14cea790c" - integrity sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA== - dependencies: - bplist-parser "^0.2.0" - untildify "^4.0.0" - -default-browser@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/default-browser/-/default-browser-4.0.0.tgz#53c9894f8810bf86696de117a6ce9085a3cbc7da" - integrity sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA== - dependencies: - bundle-name "^3.0.0" - default-browser-id "^3.0.0" - execa "^7.1.1" - titleize "^3.0.0" - -defer-to-connect@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" - integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== - -define-data-property@^1.0.1, define-data-property@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3" - integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== - dependencies: - get-intrinsic "^1.2.1" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" - -define-lazy-prop@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz#dbb19adfb746d7fc6d734a06b72f4a00d021255f" - integrity sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg== - -define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" - integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== - dependencies: - define-data-property "^1.0.1" - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -delay@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d" - integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw== - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -depd@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - -destroy@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" - integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== - -detect-libc@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.2.tgz#8ccf2ba9315350e1241b88d0ac3b0e1fbd99605d" - integrity sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw== - -detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - -dezalgo@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.4.tgz#751235260469084c132157dfa857f386d4c33d81" - integrity sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig== - dependencies: - asap "^2.0.0" - wrappy "1" - -diff@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" - integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== - -docsify-cli@^4.4.4: - version "4.4.4" - resolved "https://registry.yarnpkg.com/docsify-cli/-/docsify-cli-4.4.4.tgz#a9016d59545ec100b46955a72b127e78a888e55d" - integrity sha512-NAZgg6b0BsDuq/Pe+P19Qb2J1d+ZVbS0eGkeCNxyu4F9/CQSsRqZqAvPJ9/0I+BCHn4sgftA2jluqhQVzKzrSA== - dependencies: - chalk "^2.4.2" - connect "^3.6.0" - connect-history-api-fallback "^1.6.0" - connect-livereload "^0.6.0" - cp-file "^7.0.0" - docsify "^4.12.2" - docsify-server-renderer ">=4.10.0" - enquirer "^2.3.6" - fs-extra "^8.1.0" - get-port "^5.0.0" - livereload "^0.9.2" - lru-cache "^5.1.1" - open "^6.4.0" - serve-static "^1.12.1" - update-notifier "^4.1.0" - yargonaut "^1.1.2" - yargs "^15.3.0" - -docsify-server-renderer@>=4.10.0: - version "4.13.1" - resolved "https://registry.yarnpkg.com/docsify-server-renderer/-/docsify-server-renderer-4.13.1.tgz#c643e946780d459b2b26304db7d7289a7700a7f2" - integrity sha512-XNJeCK3zp+mVO7JZFn0bH4hNBAMMC1MbuCU7CBsjLHYn4NHrjIgCBGmylzEan3/4Qm6kbSzQx8XzUK5T7GQxHw== - dependencies: - debug "^4.3.3" - docsify "^4.12.4" - node-fetch "^2.6.6" - resolve-pathname "^3.0.0" - -docsify@^4.12.2, docsify@^4.12.4: - version "4.13.1" - resolved "https://registry.yarnpkg.com/docsify/-/docsify-4.13.1.tgz#5ad89d3c0529d336bd1d1c20a664db129afd607a" - integrity sha512-BsDypTBhw0mfslw9kZgAspCMZSM+sUIIDg5K/t1hNLkvbem9h64ZQc71e1IpY+iWsi/KdeqfazDfg52y2Lmm0A== - dependencies: - marked "^1.2.9" - medium-zoom "^1.0.6" - opencollective-postinstall "^2.0.2" - prismjs "^1.27.0" - strip-indent "^3.0.0" - tinydate "^1.3.0" - tweezer.js "^1.4.0" - -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -dot-prop@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" - integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== - dependencies: - is-obj "^2.0.0" - -dotenv@16.4.5: - version "16.4.5" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f" - integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== - -duplexify@^4.0.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-4.1.2.tgz#18b4f8d28289132fa0b9573c898d9f903f81c7b0" - integrity sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw== - dependencies: - end-of-stream "^1.4.1" - inherits "^2.0.3" - readable-stream "^3.1.1" - stream-shift "^1.0.0" - -ecdsa-sig-formatter@1.0.11, ecdsa-sig-formatter@^1.0.11: - version "1.0.11" - resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" - integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== - dependencies: - safe-buffer "^5.0.1" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -enabled@2.0.x: - version "2.0.0" - resolved "https://registry.yarnpkg.com/enabled/-/enabled-2.0.0.tgz#f9dd92ec2d6f4bbc0d5d1e64e21d61cd4665e7c2" - integrity sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ== - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== - -end-of-stream@^1.1.0, end-of-stream@^1.4.1: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -enquirer@^2.3.6: - version "2.4.1" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56" - integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== - dependencies: - ansi-colors "^4.1.1" - strip-ansi "^6.0.1" - -ent@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d" - integrity sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA== - -env-paths@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" - integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es-abstract@^1.22.1: - version "1.22.3" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.3.tgz#48e79f5573198de6dee3589195727f4f74bc4f32" - integrity sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA== - dependencies: - array-buffer-byte-length "^1.0.0" - arraybuffer.prototype.slice "^1.0.2" - available-typed-arrays "^1.0.5" - call-bind "^1.0.5" - es-set-tostringtag "^2.0.1" - es-to-primitive "^1.2.1" - function.prototype.name "^1.1.6" - get-intrinsic "^1.2.2" - get-symbol-description "^1.0.0" - globalthis "^1.0.3" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - internal-slot "^1.0.5" - is-array-buffer "^3.0.2" - is-callable "^1.2.7" - is-negative-zero "^2.0.2" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - is-string "^1.0.7" - is-typed-array "^1.1.12" - is-weakref "^1.0.2" - object-inspect "^1.13.1" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.5.1" - safe-array-concat "^1.0.1" - safe-regex-test "^1.0.0" - string.prototype.trim "^1.2.8" - string.prototype.trimend "^1.0.7" - string.prototype.trimstart "^1.0.7" - typed-array-buffer "^1.0.0" - typed-array-byte-length "^1.0.0" - typed-array-byte-offset "^1.0.0" - typed-array-length "^1.0.4" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.13" - -es-set-tostringtag@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz#11f7cc9f63376930a5f20be4915834f4bc74f9c9" - integrity sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q== - dependencies: - get-intrinsic "^1.2.2" - has-tostringtag "^1.0.0" - hasown "^2.0.0" - -es-shim-unscopables@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" - integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== - dependencies: - hasown "^2.0.0" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-goat@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" - integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== - -escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -eslint-config-airbnb-base@^15.0.0: - version "15.0.0" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz#6b09add90ac79c2f8d723a2580e07f3925afd236" - integrity sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig== - dependencies: - confusing-browser-globals "^1.0.10" - object.assign "^4.1.2" - object.entries "^1.1.5" - semver "^6.3.0" - -eslint-config-prettier@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz#eb25485946dd0c66cd216a46232dc05451518d1f" - integrity sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw== - -eslint-import-resolver-node@^0.3.9: - version "0.3.9" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" - integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== - dependencies: - debug "^3.2.7" - is-core-module "^2.13.0" - resolve "^1.22.4" - -eslint-module-utils@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49" - integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== - dependencies: - debug "^3.2.7" - -eslint-plugin-chai-friendly@^0.7.4: - version "0.7.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-chai-friendly/-/eslint-plugin-chai-friendly-0.7.4.tgz#eaf222b848673ef8a00b8e507f7c6fd83d036bf2" - integrity sha512-PGPjJ8diYgX1mjLxGJqRop2rrGwZRKImoEOwUOgoIhg0p80MkTaqvmFLe5TF7/iagZHggasvIfQlUyHIhK/PYg== - -eslint-plugin-import@^2.28.0: - version "2.29.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.29.0.tgz#8133232e4329ee344f2f612885ac3073b0b7e155" - integrity sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg== - dependencies: - array-includes "^3.1.7" - array.prototype.findlastindex "^1.2.3" - array.prototype.flat "^1.3.2" - array.prototype.flatmap "^1.3.2" - debug "^3.2.7" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.9" - eslint-module-utils "^2.8.0" - hasown "^2.0.0" - is-core-module "^2.13.1" - is-glob "^4.0.3" - minimatch "^3.1.2" - object.fromentries "^2.0.7" - object.groupby "^1.0.1" - object.values "^1.1.7" - semver "^6.3.1" - tsconfig-paths "^3.14.2" - -eslint-plugin-json@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-json/-/eslint-plugin-json-3.1.0.tgz#251108ba1681c332e0a442ef9513bd293619de67" - integrity sha512-MrlG2ynFEHe7wDGwbUuFPsaT2b1uhuEFhJ+W1f1u+1C2EkXmTYJp4B1aAdQQ8M+CC3t//N/oRKiIVw14L2HR1g== - dependencies: - lodash "^4.17.21" - vscode-json-languageservice "^4.1.6" - -eslint-plugin-prettier@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.0.1.tgz#a3b399f04378f79f066379f544e42d6b73f11515" - integrity sha512-m3u5RnR56asrwV/lDC4GHorlW75DsFfmUcjfCYylTUs85dBRnB7VM6xG8eCMJdeDRnppzmxZVf1GEPJvl1JmNg== - dependencies: - prettier-linter-helpers "^1.0.0" - synckit "^0.8.5" - -eslint-plugin-security@^1.7.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-security/-/eslint-plugin-security-1.7.1.tgz#0e9c4a471f6e4d3ca16413c7a4a51f3966ba16e4" - integrity sha512-sMStceig8AFglhhT2LqlU5r+/fn9OwsA72O5bBuQVTssPCdQAOQzL+oMn/ZcpeUY6KcNfLJArgcrsSULNjYYdQ== - dependencies: - safe-regex "^2.1.1" - -eslint-plugin-sonarjs@^0.20.0: - version "0.20.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.20.0.tgz#215529e6e89c5c9b5cb6af9e7ef9a1ce45c53bb0" - integrity sha512-BRhZ7BY/oTr6DDaxvx58ReTg7R+J8T+Y2ZVGgShgpml25IHBTIG7EudUtHuJD1zhtMgUEt59x3VNvUQRo2LV6w== - -eslint-plugin-unicorn@^48.0.1: - version "48.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-unicorn/-/eslint-plugin-unicorn-48.0.1.tgz#a6573bc1687ae8db7121fdd8f92394b6549a6959" - integrity sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw== - dependencies: - "@babel/helper-validator-identifier" "^7.22.5" - "@eslint-community/eslint-utils" "^4.4.0" - ci-info "^3.8.0" - clean-regexp "^1.0.0" - esquery "^1.5.0" - indent-string "^4.0.0" - is-builtin-module "^3.2.1" - jsesc "^3.0.2" - lodash "^4.17.21" - pluralize "^8.0.0" - read-pkg-up "^7.0.1" - regexp-tree "^0.1.27" - regjsparser "^0.10.0" - semver "^7.5.4" - strip-indent "^3.0.0" - -eslint-plugin-vue@^9.17.0: - version "9.18.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-9.18.0.tgz#2a2dbb3c67317e8c11ab56cafaa15a3a7eac6282" - integrity sha512-yUM8a2OD/7Qs0PiugkRaxgz5KBRvzMvWShity2UvVFAN0yk8029mGpTdg/TNARPiYzp335mEwDHwcAR8tQNe4g== - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - natural-compare "^1.4.0" - nth-check "^2.1.1" - postcss-selector-parser "^6.0.13" - semver "^7.5.4" - vue-eslint-parser "^9.3.1" - xml-name-validator "^4.0.0" - -eslint-scope@^7.1.1, eslint-scope@^7.2.2: - version "7.2.2" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" - integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: - version "3.4.3" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" - integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== - -eslint@^8.57.0: - version "8.57.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.0.tgz#c786a6fd0e0b68941aaf624596fb987089195668" - integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.6.1" - "@eslint/eslintrc" "^2.1.4" - "@eslint/js" "8.57.0" - "@humanwhocodes/config-array" "^0.11.14" - "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - "@ungap/structured-clone" "^1.2.0" - ajv "^6.12.4" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.3.2" - doctrine "^3.0.0" - escape-string-regexp "^4.0.0" - eslint-scope "^7.2.2" - eslint-visitor-keys "^3.4.3" - espree "^9.6.1" - esquery "^1.4.2" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - find-up "^5.0.0" - glob-parent "^6.0.2" - globals "^13.19.0" - graphemer "^1.4.0" - ignore "^5.2.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - is-path-inside "^3.0.3" - js-yaml "^4.1.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.3" - strip-ansi "^6.0.1" - text-table "^0.2.0" - -espree@^9.3.1, espree@^9.6.0, espree@^9.6.1: - version "9.6.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" - integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== - dependencies: - acorn "^8.9.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.4.1" - -esquery@^1.4.0, esquery@^1.4.2, esquery@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" - integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== - -event-lite@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/event-lite/-/event-lite-0.1.3.tgz#3dfe01144e808ac46448f0c19b4ab68e403a901d" - integrity sha512-8qz9nOz5VeD2z96elrEKD2U433+L3DWdUdDkOINLGOJvx1GsMBbMn0aCeu28y8/e85A6mCigBiFlYMnTBEGlSw== - -event-target-shim@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" - integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== - -events@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" - integrity sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw== - -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -execa@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-7.2.0.tgz#657e75ba984f42a70f38928cedc87d6f2d4fe4e9" - integrity sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.1" - human-signals "^4.3.0" - is-stream "^3.0.0" - merge-stream "^2.0.0" - npm-run-path "^5.1.0" - onetime "^6.0.0" - signal-exit "^3.0.7" - strip-final-newline "^3.0.0" - -express-openapi-validator@5.1.6: - version "5.1.6" - resolved "https://registry.yarnpkg.com/express-openapi-validator/-/express-openapi-validator-5.1.6.tgz#31becc3eb41f0f4242df169b23cb67826f716b6a" - integrity sha512-CF24Pef5uThjdsCbjo1UP2mYx2YCkQl1HFoikCFFafFpZBCZ0YErD/RbqlcnKbKM9tMwXZsjAuuO84b2hmdF4g== - dependencies: - "@apidevtools/json-schema-ref-parser" "^9.1.2" - "@types/multer" "^1.4.7" - ajv "^8.11.2" - ajv-draft-04 "^1.0.0" - ajv-formats "^2.1.1" - content-type "^1.0.5" - json-schema-traverse "^1.0.0" - lodash.clonedeep "^4.5.0" - lodash.get "^4.4.2" - media-typer "^1.1.0" - multer "^1.4.5-lts.1" - ono "^7.1.3" - path-to-regexp "^6.2.0" - -express@4.19.2: - version "4.19.2" - resolved "https://registry.yarnpkg.com/express/-/express-4.19.2.tgz#e25437827a3aa7f2a827bc8171bbbb664a356465" - integrity sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q== - dependencies: - accepts "~1.3.8" - array-flatten "1.1.1" - body-parser "1.20.2" - content-disposition "0.5.4" - content-type "~1.0.4" - cookie "0.6.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "2.0.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "1.2.0" - fresh "0.5.2" - http-errors "2.0.0" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "2.4.1" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.7" - qs "6.11.0" - range-parser "~1.2.1" - safe-buffer "5.2.1" - send "0.18.0" - serve-static "1.15.0" - setprototypeof "1.2.0" - statuses "2.0.1" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -extend@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-diff@^1.1.2: - version "1.3.0" - resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" - integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== - -fast-glob@^3.3.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.1.tgz#784b4e897340f3dbbef17413b3f11acf03c874c4" - integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fast-safe-stringify@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" - integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== - -fast-xml-parser@^4.3.0: - version "4.3.4" - resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.3.4.tgz#385cc256ad7bbc57b91515a38a22502a9e1fca0d" - integrity sha512-utnwm92SyozgA3hhH2I8qldf2lBqm6qHOICawRNRFu1qMe3+oqr+GcXjGqTmXTMGE5T4eC03kr/rlh5C1IRdZA== - dependencies: - strnum "^1.0.5" - -fastq@^1.6.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" - integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== - dependencies: - reusify "^1.0.4" - -faye-websocket@0.11.4: - version "0.11.4" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" - integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== - dependencies: - websocket-driver ">=0.5.1" - -fecha@^4.2.0: - version "4.2.3" - resolved "https://registry.yarnpkg.com/fecha/-/fecha-4.2.3.tgz#4d9ccdbc61e8629b259fdca67e65891448d569fd" - integrity sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw== - -figlet@^1.1.1: - version "1.7.0" - resolved "https://registry.yarnpkg.com/figlet/-/figlet-1.7.0.tgz#46903a04603fd19c3e380358418bb2703587a72e" - integrity sha512-gO8l3wvqo0V7wEFLXPbkX83b7MVjRrk1oRLfYlZXol8nEpb/ON9pcKLI4qpBv5YtOTfrINtqb7b40iYY2FTWFg== - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -finalhandler@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" - integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "~2.3.0" - parseurl "~1.3.3" - statuses "~1.5.0" - unpipe "~1.0.0" - -finalhandler@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" - integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "2.4.1" - parseurl "~1.3.3" - statuses "2.0.1" - unpipe "~1.0.0" - -find-up@5.0.0, find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -firebase-admin@12.0.0: - version "12.0.0" - resolved "https://registry.yarnpkg.com/firebase-admin/-/firebase-admin-12.0.0.tgz#42bc649f5551880eb013ed7251087f387d8a5c65" - integrity sha512-wBrrSSsKV++/+O8E7O/C7/wL0nbG/x4Xv4yatz/+sohaZ+LsnWtYUcrd3gZutO86hLpDex7xgyrkKbgulmtVyQ== - dependencies: - "@fastify/busboy" "^1.2.1" - "@firebase/database-compat" "^1.0.2" - "@firebase/database-types" "^1.0.0" - "@types/node" "^20.10.3" - jsonwebtoken "^9.0.0" - jwks-rsa "^3.0.1" - node-forge "^1.3.1" - uuid "^9.0.0" - optionalDependencies: - "@google-cloud/firestore" "^7.1.0" - "@google-cloud/storage" "^7.7.0" - -flat-cache@^3.0.4: - version "3.1.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.1.1.tgz#a02a15fdec25a8f844ff7cc658f03dd99eb4609b" - integrity sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q== - dependencies: - flatted "^3.2.9" - keyv "^4.5.3" - rimraf "^3.0.2" - -flat@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" - integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== - -flatted@^3.2.9: - version "3.2.9" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf" - integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== - -fn.name@1.x.x: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fn.name/-/fn.name-1.1.0.tgz#26cad8017967aea8731bc42961d04a3d5988accc" - integrity sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw== - -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - -form-data@^2.5.0: - version "2.5.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.1.tgz#f2cbec57b5e59e23716e128fe44d4e5dd23895f4" - integrity sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -form-data@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" - integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -formidable@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/formidable/-/formidable-2.1.2.tgz#fa973a2bec150e4ce7cac15589d7a25fc30ebd89" - integrity sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g== - dependencies: - dezalgo "^1.0.4" - hexoid "^1.0.0" - once "^1.4.0" - qs "^6.11.0" - -forwarded@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" - integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== - -fs-extra@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - -function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - -function.prototype.name@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" - integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - functions-have-names "^1.2.3" - -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== - -functions-have-names@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== - -gaxios@^6.0.0: - version "6.1.1" - resolved "https://registry.yarnpkg.com/gaxios/-/gaxios-6.1.1.tgz#549629f86a13e756b900f9ff7c94624670102938" - integrity sha512-bw8smrX+XlAoo9o1JAksBwX+hi/RG15J+NTSxmNPIclKC3ZVK6C2afwY8OSdRvOK0+ZLecUJYtj2MmjOt3Dm0w== - dependencies: - extend "^3.0.2" - https-proxy-agent "^7.0.1" - is-stream "^2.0.0" - node-fetch "^2.6.9" - -gaxios@^6.0.2, gaxios@^6.1.1: - version "6.2.0" - resolved "https://registry.yarnpkg.com/gaxios/-/gaxios-6.2.0.tgz#4698976664ef63e47dbf3f61ec9320885fcc1ba1" - integrity sha512-H6+bHeoEAU5D6XNc6mPKeN5dLZqEDs9Gpk6I+SZBEzK5So58JVrHPmevNi35fRl1J9Y5TaeLW0kYx3pCJ1U2mQ== - dependencies: - extend "^3.0.2" - https-proxy-agent "^7.0.1" - is-stream "^2.0.0" - node-fetch "^2.6.9" - -gcp-metadata@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/gcp-metadata/-/gcp-metadata-6.0.0.tgz#2ae12008bef8caa8726cba31fd0a641ebad5fb56" - integrity sha512-Ozxyi23/1Ar51wjUT2RDklK+3HxqDr8TLBNK8rBBFQ7T85iIGnXnVusauj06QyqCXRFZig8LZC+TUddWbndlpQ== - dependencies: - gaxios "^6.0.0" - json-bigint "^1.0.0" - -gcp-metadata@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/gcp-metadata/-/gcp-metadata-6.1.0.tgz#9b0dd2b2445258e7597f2024332d20611cbd6b8c" - integrity sha512-Jh/AIwwgaxan+7ZUUmRLCjtchyDiqh4KjBJ5tW3plBZb5iL/BPcso8A5DlzeD9qlw0duCamnNdpFjxwaT0KyKg== - dependencies: - gaxios "^6.0.0" - json-bigint "^1.0.0" - -get-caller-file@^2.0.1, get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-func-name@^2.0.1, get-func-name@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" - integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b" - integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== - dependencies: - function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - -get-port@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193" - integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ== - -get-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -get-stream@^6.0.0, get-stream@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob@8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" - integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^5.0.1" - once "^1.3.0" - -glob@^7.1.3: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -global-dirs@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.1.tgz#0c488971f066baceda21447aecb1a8b911d22485" - integrity sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA== - dependencies: - ini "2.0.0" - -globals@^13.19.0: - version "13.23.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.23.0.tgz#ef31673c926a0976e1f61dab4dca57e0c0a8af02" - integrity sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA== - dependencies: - type-fest "^0.20.2" - -globalthis@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" - integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== - dependencies: - define-properties "^1.1.3" - -google-auth-library@9.8.0: - version "9.8.0" - resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-9.8.0.tgz#43ae0f72dd72f49fd6a4a46d8eeffe2236691b20" - integrity sha512-TJJXFzMlVGRlIH27gYZ6XXyPf5Y3OItsKFfefsDAafNNywYRTkei83nEO29IrYj8GtdHWU78YnW+YZdaZaXIJA== - dependencies: - base64-js "^1.3.0" - ecdsa-sig-formatter "^1.0.11" - gaxios "^6.1.1" - gcp-metadata "^6.1.0" - gtoken "^7.0.0" - jws "^4.0.0" - -google-auth-library@^9.0.0: - version "9.2.0" - resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-9.2.0.tgz#16c14a775b3a9a1be53b7428ddbd9d2c3599836b" - integrity sha512-1oV3p0JhNEhVbj26eF3FAJcv9MXXQt4S0wcvKZaDbl4oHq5V3UJoSbsGZGQNcjoCdhW4kDSwOs11wLlHog3fgQ== - dependencies: - base64-js "^1.3.0" - ecdsa-sig-formatter "^1.0.11" - gaxios "^6.0.0" - gcp-metadata "^6.0.0" - gtoken "^7.0.0" - jws "^4.0.0" - -google-auth-library@^9.3.0: - version "9.6.3" - resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-9.6.3.tgz#add8935bc5b842a8e80f84fef2b5ed9febb41d48" - integrity sha512-4CacM29MLC2eT9Cey5GDVK4Q8t+MMp8+OEdOaqD9MG6b0dOyLORaaeJMPQ7EESVgm/+z5EKYyFLxgzBJlJgyHQ== - dependencies: - base64-js "^1.3.0" - ecdsa-sig-formatter "^1.0.11" - gaxios "^6.1.1" - gcp-metadata "^6.1.0" - gtoken "^7.0.0" - jws "^4.0.0" - -google-gax@^4.0.3, google-gax@^4.0.4, google-gax@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/google-gax/-/google-gax-4.0.5.tgz#e30a2f2fad3716e8b23996f1bbe941e16abf0889" - integrity sha512-yLoYtp4zE+8OQA74oBEbNkbzI6c95W01JSL7RqC8XERKpRvj3ytZp1dgnbA6G9aRsc8pZB25xWYBcCmrbYOEhA== - dependencies: - "@grpc/grpc-js" "~1.9.6" - "@grpc/proto-loader" "^0.7.0" - "@types/long" "^4.0.0" - abort-controller "^3.0.0" - duplexify "^4.0.0" - google-auth-library "^9.0.0" - node-fetch "^2.6.1" - object-hash "^3.0.0" - proto3-json-serializer "^2.0.0" - protobufjs "7.2.5" - retry-request "^7.0.0" - -google-gax@^4.3.1: - version "4.3.2" - resolved "https://registry.yarnpkg.com/google-gax/-/google-gax-4.3.2.tgz#417cbee97f2e68d78f641af19c0f15234c0dbd9c" - integrity sha512-2mw7qgei2LPdtGrmd1zvxQviOcduTnsvAWYzCxhOWXK4IQKmQztHnDQwD0ApB690fBQJemFKSU7DnceAy3RLzw== - dependencies: - "@grpc/grpc-js" "~1.10.0" - "@grpc/proto-loader" "^0.7.0" - "@types/long" "^4.0.0" - abort-controller "^3.0.0" - duplexify "^4.0.0" - google-auth-library "^9.3.0" - node-fetch "^2.6.1" - object-hash "^3.0.0" - proto3-json-serializer "^2.0.0" - protobufjs "7.2.6" - retry-request "^7.0.0" - uuid "^9.0.1" - -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - -got@^11.8.6, got@^9.6.0: - version "11.8.6" - resolved "https://registry.yarnpkg.com/got/-/got-11.8.6.tgz#276e827ead8772eddbcfc97170590b841823233a" - integrity sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g== - dependencies: - "@sindresorhus/is" "^4.0.0" - "@szmarczak/http-timer" "^4.0.5" - "@types/cacheable-request" "^6.0.1" - "@types/responselike" "^1.0.0" - cacheable-lookup "^5.0.3" - cacheable-request "^7.0.2" - decompress-response "^6.0.0" - http2-wrapper "^1.0.0-beta.5.2" - lowercase-keys "^2.0.0" - p-cancelable "^2.0.0" - responselike "^2.0.0" - -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -graphemer@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" - integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== - -gtoken@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/gtoken/-/gtoken-7.0.1.tgz#b64bd01d88268ea3a3572c9076a85d1c48f1a455" - integrity sha512-KcFVtoP1CVFtQu0aSk3AyAt2og66PFhZAlkUOuWKwzMLoulHXG5W5wE5xAnHb+yl3/wEFoqGW7/cDGMU8igDZQ== - dependencies: - gaxios "^6.0.0" - jws "^4.0.0" - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - integrity sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg== - dependencies: - ansi-regex "^2.0.0" - -has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-property-descriptors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340" - integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== - dependencies: - get-intrinsic "^1.2.2" - -has-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" - integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== - -has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -has-yarn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" - integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== - -hasown@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" - integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== - dependencies: - function-bind "^1.1.2" - -he@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -heap-js@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/heap-js/-/heap-js-2.3.0.tgz#8eed2cede31ec312aa696eef1d4df0565841f183" - integrity sha512-E5303mzwQ+4j/n2J0rDvEPBN7GKjhis10oHiYOgjxsmxYgqG++hz9NyLLOXttzH8as/DyiBHYpUrJTZWYaMo8Q== - -hexoid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/hexoid/-/hexoid-1.0.0.tgz#ad10c6573fb907de23d9ec63a711267d9dc9bc18" - integrity sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g== - -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== - -http-cache-semantics@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" - integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== - -http-errors@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" - integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== - dependencies: - depd "2.0.0" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses "2.0.1" - toidentifier "1.0.1" - -http-parser-js@>=0.5.1: - version "0.5.8" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3" - integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== - -http-proxy-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" - integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== - dependencies: - "@tootallnate/once" "2" - agent-base "6" - debug "4" - -http2-wrapper@^1.0.0-beta.5.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" - integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== - dependencies: - quick-lru "^5.1.1" - resolve-alpn "^1.0.0" - -https-proxy-agent@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" - integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== - dependencies: - agent-base "6" - debug "4" - -https-proxy-agent@^7.0.1: - version "7.0.2" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz#e2645b846b90e96c6e6f347fb5b2e41f1590b09b" - integrity sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA== - dependencies: - agent-base "^7.0.2" - debug "4" - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -human-signals@^4.3.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-4.3.1.tgz#ab7f811e851fca97ffbd2c1fe9a958964de321b2" - integrity sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ== - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -ieee754@1.1.13: - version "1.1.13" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" - integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== - -ieee754@^1.1.4, ieee754@^1.1.8: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -ignore-by-default@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" - integrity sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA== - -ignore@^5.2.0, ignore@^5.2.4: - version "5.2.4" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" - integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== - -import-fresh@^3.2.1, import-fresh@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-in-the-middle@^1.7.3: - version "1.7.3" - resolved "https://registry.yarnpkg.com/import-in-the-middle/-/import-in-the-middle-1.7.3.tgz#ffa784cdd57a47d2b68d2e7dd33070ff06baee43" - integrity sha512-R2I11NRi0lI3jD2+qjqyVlVEahsejw7LDnYEbGb47QEFjczE3bZYsmWheCTQA+LFs2DzOQxR7Pms7naHW1V4bQ== - dependencies: - acorn "^8.8.2" - acorn-import-assertions "^1.9.0" - cjs-module-lexer "^1.2.2" - module-details-from-path "^1.0.3" - -import-lazy@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" - integrity sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A== - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ini@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" - integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== - -ini@~1.3.0: - version "1.3.8" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - -int64-buffer@^0.1.9: - version "0.1.10" - resolved "https://registry.yarnpkg.com/int64-buffer/-/int64-buffer-0.1.10.tgz#277b228a87d95ad777d07c13832022406a473423" - integrity sha512-v7cSY1J8ydZ0GyjUHqF+1bshJ6cnEVLo9EnjB8p+4HDRPZc9N5jjmvUV7NvEsqQOKyH0pmIBFWXVQbiS0+OBbA== - -internal-slot@^1.0.5: - version "1.0.6" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.6.tgz#37e756098c4911c5e912b8edbf71ed3aa116f930" - integrity sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg== - dependencies: - get-intrinsic "^1.2.2" - hasown "^2.0.0" - side-channel "^1.0.4" - -ip-regex@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw== - -ipaddr.js@1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -ipaddr.js@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.1.0.tgz#2119bc447ff8c257753b196fc5f1ce08a4cdf39f" - integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== - -is-arguments@^1.0.4: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" - integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.0" - is-typed-array "^1.1.10" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-arrayish@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" - integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-builtin-module@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.1.tgz#f03271717d8654cfcaf07ab0463faa3571581169" - integrity sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A== - dependencies: - builtin-modules "^3.3.0" - -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - -is-core-module@^2.13.0, is-core-module@^2.13.1: - version "2.13.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" - integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== - dependencies: - hasown "^2.0.0" - -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - -is-docker@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - -is-docker@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-3.0.0.tgz#90093aa3106277d8a77a5910dbae71747e15a200" - integrity sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ== - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-generator-function@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" - integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== - dependencies: - has-tostringtag "^1.0.0" - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-inside-container@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-inside-container/-/is-inside-container-1.0.0.tgz#e81fba699662eb31dbdaf26766a61d4814717ea4" - integrity sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA== - dependencies: - is-docker "^3.0.0" - -is-installed-globally@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" - integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== - dependencies: - global-dirs "^3.0.0" - is-path-inside "^3.0.2" - -is-ip@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ip/-/is-ip-2.0.0.tgz#68eea07e8a0a0a94c2d080dd674c731ab2a461ab" - integrity sha512-9MTn0dteHETtyUx8pxqMwg5hMBi3pvlyglJ+b79KOCca0po23337LbVV2Hl4xmMvfw++ljnO0/+5G6G+0Szh6g== - dependencies: - ip-regex "^2.0.0" - -is-negative-zero@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - -is-npm@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz#43e8d65cc56e1b67f8d47262cf667099193f45a8" - integrity sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA== - -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== - dependencies: - has-tostringtag "^1.0.0" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" - integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== - -is-path-inside@^3.0.2, is-path-inside@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - -is-plain-obj@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" - integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== - -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== - dependencies: - call-bind "^1.0.2" - -is-stream-ended@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-stream-ended/-/is-stream-ended-0.1.4.tgz#f50224e95e06bce0e356d440a4827cd35b267eda" - integrity sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw== - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" - integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.3, is-typed-array@^1.1.9: - version "1.1.12" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a" - integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== - dependencies: - which-typed-array "^1.1.11" - -is-typedarray@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== - -is-unicode-supported@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" - integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== - -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - integrity sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw== - -is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -is-yarn-global@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" - integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== - -is@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/is/-/is-3.3.0.tgz#61cff6dd3c4193db94a3d62582072b44e5645d79" - integrity sha512-nW24QBoPcFGGHJGUwnfpI7Yc5CdqWNdsyHQszVE/z2pKHXzh7FZ5GWhJqSyaQ9wMkQnsTx+kAI8bHlCX4tKdbg== - -isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -istanbul-lib-coverage@3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" - integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== - -jest-docblock@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.7.0.tgz#8fddb6adc3cdc955c93e2a87f61cfd350d5d119a" - integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== - dependencies: - detect-newline "^3.0.0" - -jmespath@0.16.0: - version "0.16.0" - resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.16.0.tgz#b15b0a85dfd4d930d43e69ed605943c802785076" - integrity sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw== - -joi@17.12.3: - version "17.12.3" - resolved "https://registry.yarnpkg.com/joi/-/joi-17.12.3.tgz#944646979cd3b460178547b12ba37aca8482f63d" - integrity sha512-2RRziagf555owrm9IRVtdKynOBeITiDpuZqIpgwqXShPncPKNiRQoiGsl/T8SQdq+8ugRzH2LqY67irr2y/d+g== - dependencies: - "@hapi/hoek" "^9.3.0" - "@hapi/topo" "^5.1.0" - "@sideway/address" "^4.1.5" - "@sideway/formula" "^3.0.1" - "@sideway/pinpoint" "^2.0.0" - -jose@^4.14.6: - version "4.15.4" - resolved "https://registry.yarnpkg.com/jose/-/jose-4.15.4.tgz#02a9a763803e3872cf55f29ecef0dfdcc218cc03" - integrity sha512-W+oqK4H+r5sITxfxpSU+MMdr/YSWGvgZMQDIsNoBDGGy4i7GBPTtvFKibQzW06n3U3TqHjhvBJsirShsEJ6eeQ== - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@4.1.0, js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -jsesc@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" - integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== - -json-bigint@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-bigint/-/json-bigint-1.0.0.tgz#ae547823ac0cad8398667f8cd9ef4730f5b01ff1" - integrity sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ== - dependencies: - bignumber.js "^9.0.0" - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== - -json5@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" - integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== - dependencies: - minimist "^1.2.0" - -jsonc-parser@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" - integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== - optionalDependencies: - graceful-fs "^4.1.6" - -jsonwebtoken@9.0.2, jsonwebtoken@^9.0.0: - version "9.0.2" - resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz#65ff91f4abef1784697d40952bb1998c504caaf3" - integrity sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ== - dependencies: - jws "^3.2.2" - lodash.includes "^4.3.0" - lodash.isboolean "^3.0.3" - lodash.isinteger "^4.0.4" - lodash.isnumber "^3.0.3" - lodash.isplainobject "^4.0.6" - lodash.isstring "^4.0.1" - lodash.once "^4.0.0" - ms "^2.1.1" - semver "^7.5.4" - -jwa@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" - integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== - dependencies: - buffer-equal-constant-time "1.0.1" - ecdsa-sig-formatter "1.0.11" - safe-buffer "^5.0.1" - -jwa@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/jwa/-/jwa-2.0.0.tgz#a7e9c3f29dae94027ebcaf49975c9345593410fc" - integrity sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA== - dependencies: - buffer-equal-constant-time "1.0.1" - ecdsa-sig-formatter "1.0.11" - safe-buffer "^5.0.1" - -jwks-rsa@^3.0.1: - version "3.1.0" - resolved "https://registry.yarnpkg.com/jwks-rsa/-/jwks-rsa-3.1.0.tgz#50406f23e38c9b2682cd437f824d7d61aa983171" - integrity sha512-v7nqlfezb9YfHHzYII3ef2a2j1XnGeSE/bK3WfumaYCqONAIstJbrEGapz4kadScZzEt7zYCN7bucj8C0Mv/Rg== - dependencies: - "@types/express" "^4.17.17" - "@types/jsonwebtoken" "^9.0.2" - debug "^4.3.4" - jose "^4.14.6" - limiter "^1.1.5" - lru-memoizer "^2.2.0" - -jws@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" - integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== - dependencies: - jwa "^1.4.1" - safe-buffer "^5.0.1" - -jws@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jws/-/jws-4.0.0.tgz#2d4e8cf6a318ffaa12615e9dec7e86e6c97310f4" - integrity sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg== - dependencies: - jwa "^2.0.0" - safe-buffer "^5.0.1" - -keyv@^4.0.0, keyv@^4.5.3: - version "4.5.4" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" - integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== - dependencies: - json-buffer "3.0.1" - -koalas@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/koalas/-/koalas-1.0.2.tgz#318433f074235db78fae5661a02a8ca53ee295cd" - integrity sha512-RYhBbYaTTTHId3l6fnMZc3eGQNW6FVCqMG6AMwA5I1Mafr6AflaXeoi6x3xQuATRotGYRLk6+1ELZH4dstFNOA== - -kuler@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/kuler/-/kuler-2.0.0.tgz#e2c570a3800388fb44407e851531c1d670b061b3" - integrity sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A== - -latest-version@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" - integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== - dependencies: - package-json "^6.3.0" - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -license-compliance@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/license-compliance/-/license-compliance-3.0.0.tgz#dffb99dec5bf1f329905adcf7e988e4348ae9b55" - integrity sha512-0kXEr7JSdP+jPSTSEnAiyGvpOoFnkiVXqmTFhXx22+tCay7shTN1mVM7Z+p2F3YNeIhx0tmADglrp5ddWGyHnQ== - dependencies: - chalk "4.1.2" - commander "12.0.0" - cosmiconfig "9.0.0" - debug "4.3.4" - joi "17.12.3" - spdx-expression-parse "4.0.0" - spdx-satisfies "5.0.1" - tslib "2.6.2" - xmlbuilder "15.1.1" - -limiter@1.1.5, limiter@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/limiter/-/limiter-1.1.5.tgz#8f92a25b3b16c6131293a0cc834b4a838a2aa7c2" - integrity sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA== - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -livereload-js@^3.3.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/livereload-js/-/livereload-js-3.4.1.tgz#ba90fbc708ed1b9a024bb89c4ee12c96ea03d66f" - integrity sha512-5MP0uUeVCec89ZbNOT/i97Mc+q3SxXmiUGhRFOTmhrGPn//uWVQdCvcLJDy64MSBR5MidFdOR7B9viumoavy6g== - -livereload@^0.9.2: - version "0.9.3" - resolved "https://registry.yarnpkg.com/livereload/-/livereload-0.9.3.tgz#a714816375ed52471408bede8b49b2ee6a0c55b1" - integrity sha512-q7Z71n3i4X0R9xthAryBdNGVGAO2R5X+/xXpmKeuPMrteg+W2U8VusTKV3YiJbXZwKsOlFlHe+go6uSNjfxrZw== - dependencies: - chokidar "^3.5.0" - livereload-js "^3.3.1" - opts ">= 1.2.0" - ws "^7.4.3" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.camelcase@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" - integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== - -lodash.clonedeep@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - integrity sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ== - -lodash.get@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" - integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== - -lodash.includes@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" - integrity sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w== - -lodash.isboolean@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" - integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg== - -lodash.isinteger@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" - integrity sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA== - -lodash.isnumber@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" - integrity sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw== - -lodash.isplainobject@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" - integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== - -lodash.isstring@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" - integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash.once@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" - integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== - -lodash.snakecase@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz#39d714a35357147837aefd64b5dcbb16becd8f8d" - integrity sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw== - -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== - -lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -log-symbols@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" - integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== - dependencies: - chalk "^4.1.0" - is-unicode-supported "^0.1.0" - -logform@^2.3.2, logform@^2.4.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/logform/-/logform-2.6.0.tgz#8c82a983f05d6eaeb2d75e3decae7a768b2bf9b5" - integrity sha512-1ulHeNPp6k/LD8H91o7VYFBng5i1BDE7HoKxVbZiGFidS1Rj65qcywLxX+pVfAPoQJEjRdvKcusKwOupHCVOVQ== - dependencies: - "@colors/colors" "1.6.0" - "@types/triple-beam" "^1.3.2" - fecha "^4.2.0" - ms "^2.1.1" - safe-stable-stringify "^2.3.1" - triple-beam "^1.3.0" - -long@^5.0.0: - version "5.2.3" - resolved "https://registry.yarnpkg.com/long/-/long-5.2.3.tgz#a3ba97f3877cf1d778eccbcb048525ebb77499e1" - integrity sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q== - -loupe@^2.3.6: - version "2.3.7" - resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.7.tgz#6e69b7d4db7d3ab436328013d37d1c8c3540c697" - integrity sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== - dependencies: - get-func-name "^2.0.1" - -lowercase-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" - integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -lru-cache@^7.14.0: - version "7.18.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" - integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== - -lru-cache@~4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e" - integrity sha512-uQw9OqphAGiZhkuPlpFGmdTU2tEuhxTourM/19qGJrxBPHAr/f8BT1a0i/lOclESnGatdJG/UCkP9kZB/Lh1iw== - dependencies: - pseudomap "^1.0.1" - yallist "^2.0.0" - -lru-memoizer@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/lru-memoizer/-/lru-memoizer-2.2.0.tgz#b9d90c91637b4b1a423ef76f3156566691293df8" - integrity sha512-QfOZ6jNkxCcM/BkIPnFsqDhtrazLRsghi9mBwFAzol5GCvj4EkFT899Za3+QwikCg5sRX8JstioBDwOxEyzaNw== - dependencies: - lodash.clonedeep "^4.5.0" - lru-cache "~4.0.0" - -luxon@3.4.4: - version "3.4.4" - resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.4.4.tgz#cf20dc27dc532ba41a169c43fdcc0063601577af" - integrity sha512-zobTr7akeGHnv7eBOXcRgMeCP6+uyYsczwmeRCauvpvaAltgNyTbLH/+VaEAPUeWBT+1GuNmz4wC/6jtQzbbVA== - -make-dir@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -marked@^1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/marked/-/marked-1.2.9.tgz#53786f8b05d4c01a2a5a76b7d1ec9943d29d72dc" - integrity sha512-H8lIX2SvyitGX+TRdtS06m1jHMijKN/XjfH6Ooii9fvxMlh8QdqBfBDkGUpMWH2kQNrtixjzYUa3SH8ROTgRRw== - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== - -media-typer@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-1.1.0.tgz#6ab74b8f2d3320f2064b2a87a38e7931ff3a5561" - integrity sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw== - -medium-zoom@^1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/medium-zoom/-/medium-zoom-1.0.8.tgz#2bd1fbcf2961fa7b0e318fe284462aa9b8608ed2" - integrity sha512-CjFVuFq/IfrdqesAXfg+hzlDKu6A2n80ZIq0Kl9kWjoHh9j1N9Uvk5X0/MmN0hOfm5F9YBswlClhcwnmtwz7gA== - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -methods@^1.1.2, methods@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== - -micromatch@^4.0.4: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.0.8, mime-types@^2.1.12, mime-types@~2.1.24, mime-types@~2.1.34: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mime@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mime@2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" - integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== - -mime@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7" - integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A== - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -mimic-fn@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" - integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== - -mimic-response@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" - integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== - -mimic-response@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" - integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== - -min-indent@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" - integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== - -minimatch@5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" - integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g== - dependencies: - brace-expansion "^2.0.1" - -minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^5.0.1: - version "5.1.6" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" - integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.2.0, minimist@^1.2.6: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -mkdirp@^0.5.4: - version "0.5.6" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - -mocha@^10.4.0: - version "10.4.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.4.0.tgz#ed03db96ee9cfc6d20c56f8e2af07b961dbae261" - integrity sha512-eqhGB8JKapEYcC4ytX/xrzKforgEc3j1pGlAXVy3eRwrtAy5/nIfT1SvgGzfN0XZZxeLq0aQWkOUAmqIJiv+bA== - dependencies: - ansi-colors "4.1.1" - browser-stdout "1.3.1" - chokidar "3.5.3" - debug "4.3.4" - diff "5.0.0" - escape-string-regexp "4.0.0" - find-up "5.0.0" - glob "8.1.0" - he "1.2.0" - js-yaml "4.1.0" - log-symbols "4.1.0" - minimatch "5.0.1" - ms "2.1.3" - serialize-javascript "6.0.0" - strip-json-comments "3.1.1" - supports-color "8.1.1" - workerpool "6.2.1" - yargs "16.2.0" - yargs-parser "20.2.4" - yargs-unparser "2.0.0" - -module-details-from-path@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.3.tgz#114c949673e2a8a35e9d35788527aa37b679da2b" - integrity sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.1.3, ms@^2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -msgpack-lite@^0.1.26: - version "0.1.26" - resolved "https://registry.yarnpkg.com/msgpack-lite/-/msgpack-lite-0.1.26.tgz#dd3c50b26f059f25e7edee3644418358e2a9ad89" - integrity sha512-SZ2IxeqZ1oRFGo0xFGbvBJWMp3yLIY9rlIJyxy8CGrwZn1f0ZK4r6jV/AM1r0FZMDUkWkglOk/eeKIL9g77Nxw== - dependencies: - event-lite "^0.1.1" - ieee754 "^1.1.8" - int64-buffer "^0.1.9" - isarray "^1.0.0" - -multer@^1.4.5-lts.1: - version "1.4.5-lts.1" - resolved "https://registry.yarnpkg.com/multer/-/multer-1.4.5-lts.1.tgz#803e24ad1984f58edffbc79f56e305aec5cfd1ac" - integrity sha512-ywPWvcDMeH+z9gQq5qYHCCy+ethsk4goepZ45GLD63fOu0YcNecQxi64nDs3qluZB+murG3/D4dJ7+dGctcCQQ== - dependencies: - append-field "^1.0.0" - busboy "^1.0.0" - concat-stream "^1.5.2" - mkdirp "^0.5.4" - object-assign "^4.1.1" - type-is "^1.6.4" - xtend "^4.0.0" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -negotiator@0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== - -nested-error-stacks@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-2.1.1.tgz#26c8a3cee6cc05fbcf1e333cd2fc3e003326c0b5" - integrity sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw== - -node-abort-controller@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz#a94377e964a9a37ac3976d848cb5c765833b8548" - integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ== - -node-addon-api@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-6.1.0.tgz#ac8470034e58e67d0c6f1204a18ae6995d9c0d76" - integrity sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA== - -node-crc@swrlab/node-crc#v2.1.0: - version "2.1.0" - resolved "https://codeload.github.com/swrlab/node-crc/tar.gz/25f12cdce8b7463a0829593a09224d53c08341aa" - dependencies: - "@types/node" "^18.11.17" - detect-libc "^2.0.1" - -node-fetch@^2.6.1, node-fetch@^2.6.6, node-fetch@^2.6.9: - version "2.7.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" - integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== - dependencies: - whatwg-url "^5.0.0" - -node-forge@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" - integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== - -node-gyp-build@<4.0, node-gyp-build@^3.9.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-3.9.0.tgz#53a350187dd4d5276750da21605d1cb681d09e25" - integrity sha512-zLcTg6P4AbcHPq465ZMFNXx7XpKKJh+7kkN699NiQWisR2uWYOWNWqRHAmbnmKiL4e9aLSlmy5U7rEMUXV59+A== - -node-gyp-build@^4.5.0: - version "4.6.1" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.1.tgz#24b6d075e5e391b8d5539d98c7fc5c210cac8a3e" - integrity sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ== - -nodemon@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-3.1.0.tgz#ff7394f2450eb6a5e96fe4180acd5176b29799c9" - integrity sha512-xqlktYlDMCepBJd43ZQhjWwMw2obW/JRvkrLxq5RCNcuDDX1DbcPT+qT1IlIIdf+DhnWs90JpTMe+Y5KxOchvA== - dependencies: - chokidar "^3.5.2" - debug "^4" - ignore-by-default "^1.0.1" - minimatch "^3.1.2" - pstree.remy "^1.1.8" - semver "^7.5.3" - simple-update-notifier "^2.0.0" - supports-color "^5.5.0" - touch "^3.1.0" - undefsafe "^2.0.5" - -nopt@~1.0.10: - version "1.0.10" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" - integrity sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg== - dependencies: - abbrev "1" - -normalize-package-data@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -normalize-url@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" - integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -npm-run-path@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.1.0.tgz#bc62f7f3f6952d9894bd08944ba011a6ee7b7e00" - integrity sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== - dependencies: - path-key "^4.0.0" - -nth-check@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" - integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== - dependencies: - boolbase "^1.0.0" - -object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -object-hash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" - integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== - -object-inspect@^1.13.1, object-inspect@^1.9.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" - integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.assign@^4.1.2, object.assign@^4.1.4: - version "4.1.4" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" - integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - has-symbols "^1.0.3" - object-keys "^1.1.1" - -object.entries@^1.1.5: - version "1.1.7" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.7.tgz#2b47760e2a2e3a752f39dd874655c61a7f03c131" - integrity sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -object.fromentries@^2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.7.tgz#71e95f441e9a0ea6baf682ecaaf37fa2a8d7e616" - integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -object.groupby@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.1.tgz#d41d9f3c8d6c778d9cbac86b4ee9f5af103152ee" - integrity sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - -object.values@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.7.tgz#617ed13272e7e1071b43973aa1655d9291b8442a" - integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -on-finished@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" - integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== - dependencies: - ee-first "1.1.1" - -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww== - dependencies: - ee-first "1.1.1" - -on-headers@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" - integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -one-time@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/one-time/-/one-time-1.0.0.tgz#e06bc174aed214ed58edede573b433bbf827cb45" - integrity sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g== - dependencies: - fn.name "1.x.x" - -onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -onetime@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" - integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== - dependencies: - mimic-fn "^4.0.0" - -ono@^7.1.3: - version "7.1.3" - resolved "https://registry.yarnpkg.com/ono/-/ono-7.1.3.tgz#a054e96a388f566a6c4c95e1e92b9b253722d286" - integrity sha512-9jnfVriq7uJM4o5ganUY54ntUm+5EK21EGaQ5NWnkWg3zz5ywbbonlBguRcnmF1/HDiIe3zxNxXcO1YPBmPcQQ== - dependencies: - "@jsdevtools/ono" "7.1.3" - -open@^6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/open/-/open-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9" - integrity sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg== - dependencies: - is-wsl "^1.1.0" - -open@^9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/open/-/open-9.1.0.tgz#684934359c90ad25742f5a26151970ff8c6c80b6" - integrity sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg== - dependencies: - default-browser "^4.0.0" - define-lazy-prop "^3.0.0" - is-inside-container "^1.0.0" - is-wsl "^2.2.0" - -opencollective-postinstall@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" - integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== - -opentracing@>=0.12.1: - version "0.14.7" - resolved "https://registry.yarnpkg.com/opentracing/-/opentracing-0.14.7.tgz#25d472bd0296dc0b64d7b94cbc995219031428f5" - integrity sha512-vz9iS7MJ5+Bp1URw8Khvdyw1H/hGvzHWlKQ7eRrQojSCDL1/SrWfrY9QebLw97n2deyRtzHRC3MkQfVNUCo91Q== - -optionator@^0.9.3: - version "0.9.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" - integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== - dependencies: - "@aashutoshrathi/word-wrap" "^1.2.3" - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - -"opts@>= 1.2.0": - version "2.0.2" - resolved "https://registry.yarnpkg.com/opts/-/opts-2.0.2.tgz#a17e189fbbfee171da559edd8a42423bc5993ce1" - integrity sha512-k41FwbcLnlgnFh69f4qdUfvDQ+5vaSDnVPFI/y5XuhKRq97EnVVneO9F1ESVCdiVu4fCS2L8usX3mU331hB7pg== - -p-cancelable@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" - integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== - -p-defer@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-3.0.0.tgz#d1dceb4ee9b2b604b1d94ffec83760175d4e6f83" - integrity sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw== - -p-event@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/p-event/-/p-event-4.2.0.tgz#af4b049c8acd91ae81083ebd1e6f5cae2044c1b5" - integrity sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ== - dependencies: - p-timeout "^3.1.0" - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== - -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.1, p-limit@^3.0.2, p-limit@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -p-timeout@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" - integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== - dependencies: - p-finally "^1.0.0" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -package-json@^6.3.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" - integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== - dependencies: - got "^9.6.0" - registry-auth-token "^4.0.0" - registry-url "^5.0.0" - semver "^6.2.0" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parent-require@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parent-require/-/parent-require-1.0.0.tgz#746a167638083a860b0eef6732cb27ed46c32977" - integrity sha512-2MXDNZC4aXdkkap+rBBMv0lUsfJqvX5/2FiYYnfCnorZt3Pk06/IOR5KeaoghgS2w07MLWgjbsnyaq6PdHn2LQ== - -parse-json@^5.0.0, parse-json@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-key@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" - integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-to-regexp@0.1.7, path-to-regexp@^0.1.2: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== - -path-to-regexp@^6.2.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-6.2.1.tgz#d54934d6798eb9e5ef14e7af7962c945906918e5" - integrity sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw== - -pathval@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" - integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pluralize@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" - integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== - -postcss-selector-parser@^6.0.13: - version "6.0.13" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz#d05d8d76b1e8e173257ef9d60b706a8e5e99bf1b" - integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -pprof-format@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/pprof-format/-/pprof-format-2.1.0.tgz#acc8d7773bcf4faf0a3d3df11bceefba7ac06664" - integrity sha512-0+G5bHH0RNr8E5hoZo/zJYsL92MhkZjwrHp3O2IxmY8RJL9ooKeuZ8Tm0ZNBw5sGZ9TiM71sthTjWoR2Vf5/xw== - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prettier-linter-helpers@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" - integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== - dependencies: - fast-diff "^1.1.2" - -prettier@^3.2.5: - version "3.2.5" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.5.tgz#e52bc3090586e824964a8813b09aba6233b28368" - integrity sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A== - -prismjs@^1.27.0: - version "1.29.0" - resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.29.0.tgz#f113555a8fa9b57c35e637bba27509dcf802dd12" - integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q== - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -proto3-json-serializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/proto3-json-serializer/-/proto3-json-serializer-2.0.0.tgz#1d5354e28a0ee985a771f8502d2b4db962d19d1e" - integrity sha512-FB/YaNrpiPkyQNSNPilpn8qn0KdEfkgmJ9JP93PQyF/U4bAiXY5BiUdDhiDO4S48uSQ6AesklgVlrKiqZPzegw== - dependencies: - protobufjs "^7.0.0" - -protobufjs@7.2.5, protobufjs@^7.0.0, protobufjs@^7.2.4, protobufjs@^7.2.5: - version "7.2.5" - resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.2.5.tgz#45d5c57387a6d29a17aab6846dcc283f9b8e7f2d" - integrity sha512-gGXRSXvxQ7UiPgfw8gevrfRWcTlSbOFg+p/N+JVJEK5VhueL2miT6qTymqAmjr1Q5WbOCyJbyrk6JfWKwlFn6A== - dependencies: - "@protobufjs/aspromise" "^1.1.2" - "@protobufjs/base64" "^1.1.2" - "@protobufjs/codegen" "^2.0.4" - "@protobufjs/eventemitter" "^1.1.0" - "@protobufjs/fetch" "^1.1.0" - "@protobufjs/float" "^1.0.2" - "@protobufjs/inquire" "^1.1.0" - "@protobufjs/path" "^1.1.2" - "@protobufjs/pool" "^1.1.0" - "@protobufjs/utf8" "^1.1.0" - "@types/node" ">=13.7.0" - long "^5.0.0" - -protobufjs@7.2.6: - version "7.2.6" - resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.2.6.tgz#4a0ccd79eb292717aacf07530a07e0ed20278215" - integrity sha512-dgJaEDDL6x8ASUZ1YqWciTRrdOuYNzoOf27oHNfdyvKqHr5i0FV7FSLU+aIeFjyFgVxrpTOtQUi0BLLBymZaBw== - dependencies: - "@protobufjs/aspromise" "^1.1.2" - "@protobufjs/base64" "^1.1.2" - "@protobufjs/codegen" "^2.0.4" - "@protobufjs/eventemitter" "^1.1.0" - "@protobufjs/fetch" "^1.1.0" - "@protobufjs/float" "^1.0.2" - "@protobufjs/inquire" "^1.1.0" - "@protobufjs/path" "^1.1.2" - "@protobufjs/pool" "^1.1.0" - "@protobufjs/utf8" "^1.1.0" - "@types/node" ">=13.7.0" - long "^5.0.0" - -proxy-addr@~2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" - integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== - dependencies: - forwarded "0.2.0" - ipaddr.js "1.9.1" - -pseudomap@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== - -pstree.remy@^1.1.8: - version "1.1.8" - resolved "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.8.tgz#c242224f4a67c21f686839bbdb4ac282b8373d3a" - integrity sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w== - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - integrity sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw== - -punycode@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" - integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== - -pupa@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62" - integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A== - dependencies: - escape-goat "^2.0.0" - -qs@6.11.0: - version "6.11.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" - integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== - dependencies: - side-channel "^1.0.4" - -qs@^6.11.0, qs@^6.11.2: - version "6.11.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.2.tgz#64bea51f12c1f5da1bc01496f48ffcff7c69d7d9" - integrity sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA== - dependencies: - side-channel "^1.0.4" - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -quick-lru@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" - integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== - -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" - integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== - dependencies: - bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" - unpipe "1.0.0" - -rc@1.2.8, rc@^1.2.8: - version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" - integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== - dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" - -read-pkg@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== - dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" - -readable-stream@^2.2.2: - version "2.3.8" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" - integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@^3.0.2, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: - version "3.6.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -regexp-tree@^0.1.27, regexp-tree@~0.1.1: - version "0.1.27" - resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.27.tgz#2198f0ef54518ffa743fe74d983b56ffd631b6cd" - integrity sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA== - -regexp.prototype.flags@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz#90ce989138db209f81492edd734183ce99f9677e" - integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - set-function-name "^2.0.0" - -registry-auth-token@^4.0.0: - version "4.2.2" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.2.tgz#f02d49c3668884612ca031419491a13539e21fac" - integrity sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg== - dependencies: - rc "1.2.8" - -registry-url@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" - integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== - dependencies: - rc "^1.2.8" - -regjsparser@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.10.0.tgz#b1ed26051736b436f22fdec1c8f72635f9f44892" - integrity sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA== - dependencies: - jsesc "~0.5.0" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -resolve-alpn@^1.0.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" - integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-pathname@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" - integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== - -resolve@^1.10.0, resolve@^1.22.4: - version "1.22.8" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -responselike@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.1.tgz#9a0bc8fdc252f3fb1cca68b016591059ba1422bc" - integrity sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw== - dependencies: - lowercase-keys "^2.0.0" - -retry-request@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/retry-request/-/retry-request-7.0.1.tgz#b0163aeb934bd3fa2de76902d683b09b8ce364ba" - integrity sha512-ZI6vJp9rfB71mrZpw+n9p/B6HCsd7QJlSEQftZ+xfJzr3cQ9EPGKw1FF0BnViJ0fYREX6FhymBD2CARpmsFciQ== - dependencies: - "@types/request" "^2.48.8" - debug "^4.1.1" - extend "^3.0.2" - teeny-request "^9.0.0" - -retry@0.13.1, retry@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" - integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -run-applescript@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/run-applescript/-/run-applescript-5.0.0.tgz#e11e1c932e055d5c6b40d98374e0268d9b11899c" - integrity sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg== - dependencies: - execa "^5.0.0" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -safe-array-concat@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.1.tgz#91686a63ce3adbea14d61b14c99572a8ff84754c" - integrity sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - has-symbols "^1.0.3" - isarray "^2.0.5" - -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-regex-test@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" - integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" - is-regex "^1.1.4" - -safe-regex@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-2.1.1.tgz#f7128f00d056e2fe5c11e81a1324dd974aadced2" - integrity sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A== - dependencies: - regexp-tree "~0.1.1" - -safe-stable-stringify@^2.3.1: - version "2.4.3" - resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz#138c84b6f6edb3db5f8ef3ef7115b8f55ccbf886" - integrity sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g== - -"safer-buffer@>= 2.1.2 < 3": - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sax@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" - integrity sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA== - -sax@>=0.6.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0" - integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== - -semver-diff@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" - integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== - dependencies: - semver "^6.3.0" - -"semver@2 || 3 || 4 || 5": - version "5.7.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" - integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== - -semver@^6.0.0, semver@^6.2.0, semver@^6.3.0, semver@^6.3.1: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.3.4, semver@^7.3.6, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4: - version "7.5.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" - -send@0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" - integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== - dependencies: - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "2.0.0" - mime "1.6.0" - ms "2.1.3" - on-finished "2.4.1" - range-parser "~1.2.1" - statuses "2.0.1" - -serialize-javascript@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" - integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== - dependencies: - randombytes "^2.1.0" - -serve-static@1.15.0, serve-static@^1.12.1: - version "1.15.0" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.18.0" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== - -set-function-length@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.1.1.tgz#4bc39fafb0307224a33e106a7d35ca1218d659ed" - integrity sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ== - dependencies: - define-data-property "^1.1.1" - get-intrinsic "^1.2.1" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" - -set-function-name@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.1.tgz#12ce38b7954310b9f61faa12701620a0c882793a" - integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== - dependencies: - define-data-property "^1.0.1" - functions-have-names "^1.2.3" - has-property-descriptors "^1.0.0" - -setprototypeof@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shell-quote@^1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" - integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -simple-swizzle@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" - integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== - dependencies: - is-arrayish "^0.3.1" - -simple-update-notifier@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz#d70b92bdab7d6d90dfd73931195a30b6e3d7cebb" - integrity sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w== - dependencies: - semver "^7.5.3" - -slug@9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/slug/-/slug-9.0.0.tgz#68f968a79ce5156c6606b7b2e233ed0ffab94bdf" - integrity sha512-ixytnHlpHPWM56heaGgYe/M8tDAcpJcsg/zBuyElbFDOORzMGOeP3Te6iJBRVYu3WQEiWLQPb70Gh9ig/sZgGQ== - -source-map@^0.7.4: - version "0.7.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" - integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== - -spdx-compare@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/spdx-compare/-/spdx-compare-1.0.0.tgz#2c55f117362078d7409e6d7b08ce70a857cd3ed7" - integrity sha512-C1mDZOX0hnu0ep9dfmuoi03+eOdDoz2yvK79RxbcrVEG1NO1Ph35yW102DHWKN4pk80nwCgeMmSY5L25VE4D9A== - dependencies: - array-find-index "^1.0.2" - spdx-expression-parse "^3.0.0" - spdx-ranges "^2.0.0" - -spdx-correct@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" - integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-4.0.0.tgz#a23af9f3132115465dac215c099303e4ceac5794" - integrity sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.16" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz#a14f64e0954f6e25cc6587bd4f392522db0d998f" - integrity sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw== - -spdx-ranges@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/spdx-ranges/-/spdx-ranges-2.1.1.tgz#87573927ba51e92b3f4550ab60bfc83dd07bac20" - integrity sha512-mcdpQFV7UDAgLpXEE/jOMqvK4LBoO0uTQg0uvXUewmEFhpiZx5yJSZITHB8w1ZahKdhfZqP5GPEOKLyEq5p8XA== - -spdx-satisfies@5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/spdx-satisfies/-/spdx-satisfies-5.0.1.tgz#9feeb2524686c08e5f7933c16248d4fdf07ed6a6" - integrity sha512-Nwor6W6gzFp8XX4neaKQ7ChV4wmpSh2sSDemMFSzHxpTw460jxFYeOn+jq4ybnSSw/5sc3pjka9MQPouksQNpw== - dependencies: - spdx-compare "^1.0.0" - spdx-expression-parse "^3.0.0" - spdx-ranges "^2.0.0" - -split-array-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/split-array-stream/-/split-array-stream-2.0.0.tgz#85a4f8bfe14421d7bca7f33a6d176d0c076a53b1" - integrity sha512-hmMswlVY91WvGMxs0k8MRgq8zb2mSen4FmDNc5AFiTWtrBpdZN6nwD6kROVe4vNL+ywrvbCKsWVCnEd4riELIg== - dependencies: - is-stream-ended "^0.1.4" - -stack-trace@0.0.x: - version "0.0.10" - resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" - integrity sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg== - -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - -statuses@~1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== - -stream-events@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/stream-events/-/stream-events-1.0.5.tgz#bbc898ec4df33a4902d892333d47da9bf1c406d5" - integrity sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg== - dependencies: - stubs "^3.0.0" - -stream-shift@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" - integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== - -streamsearch@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" - integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== - -string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string.prototype.trim@^1.2.8: - version "1.2.8" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz#f9ac6f8af4bd55ddfa8895e6aea92a96395393bd" - integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -string.prototype.trimend@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz#1bb3afc5008661d73e2dc015cd4853732d6c471e" - integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -string.prototype.trimstart@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz#d4cdb44b83a4737ffbac2d406e405d43d0184298" - integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^3.0.0, strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-final-newline@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" - integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== - -strip-indent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" - integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== - dependencies: - min-indent "^1.0.0" - -strip-json-comments@3.1.1, strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== - -strnum@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/strnum/-/strnum-1.0.5.tgz#5c4e829fe15ad4ff0d20c3db5ac97b73c9b072db" - integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== - -stubs@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/stubs/-/stubs-3.0.0.tgz#e8d2ba1fa9c90570303c030b6900f7d5f89abe5b" - integrity sha512-PdHt7hHUJKxvTCgbKX9C1V/ftOcjJQgz8BZwNfV5c4B6dcGqlpelTbJ999jBGZ2jYiPAwcX5dP6oBwVlBlUbxw== - -superagent@^8.0.9: - version "8.1.2" - resolved "https://registry.yarnpkg.com/superagent/-/superagent-8.1.2.tgz#03cb7da3ec8b32472c9d20f6c2a57c7f3765f30b" - integrity sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA== - dependencies: - component-emitter "^1.3.0" - cookiejar "^2.1.4" - debug "^4.3.4" - fast-safe-stringify "^2.1.1" - form-data "^4.0.0" - formidable "^2.1.2" - methods "^1.1.2" - mime "2.6.0" - qs "^6.11.0" - semver "^7.3.8" - -supports-color@8.1.1: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - integrity sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g== - -supports-color@^5.3.0, supports-color@^5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -swagger-ui-dist@>=5.0.0: - version "5.9.1" - resolved "https://registry.yarnpkg.com/swagger-ui-dist/-/swagger-ui-dist-5.9.1.tgz#d0bcd614e3752da02df141846348f84468ae815e" - integrity sha512-5zAx+hUwJb9T3EAntc7TqYkV716CMqG6sZpNlAAMOMWkNXRYxGkN8ADIvD55dQZ10LxN90ZM/TQmN7y1gpICnw== - -swagger-ui-express@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/swagger-ui-express/-/swagger-ui-express-5.0.0.tgz#7a00a18dd909574cb0d628574a299b9ba53d4d49" - integrity sha512-tsU9tODVvhyfkNSvf03E6FAk+z+5cU3lXAzMy6Pv4av2Gt2xA0++fogwC4qo19XuFf6hdxevPuVCSKFuMHJhFA== - dependencies: - swagger-ui-dist ">=5.0.0" - -synckit@^0.8.5: - version "0.8.5" - resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.5.tgz#b7f4358f9bb559437f9f167eb6bc46b3c9818fa3" - integrity sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q== - dependencies: - "@pkgr/utils" "^2.3.1" - tslib "^2.5.0" - -teeny-request@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/teeny-request/-/teeny-request-9.0.0.tgz#18140de2eb6595771b1b02203312dfad79a4716d" - integrity sha512-resvxdc6Mgb7YEThw6G6bExlXKkv6+YbuzGg9xuXxSgxJF7Ozs+o8Y9+2R3sArdWdW8nOokoQb1yrpFB0pQK2g== - dependencies: - http-proxy-agent "^5.0.0" - https-proxy-agent "^5.0.0" - node-fetch "^2.6.9" - stream-events "^1.0.5" - uuid "^9.0.0" - -text-decoding@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/text-decoding/-/text-decoding-1.0.0.tgz#38a5692d23b5c2b12942d6e245599cb58b1bc52f" - integrity sha512-/0TJD42KDnVwKmDK6jj3xP7E2MG7SHAOG4tyTgyUCRPdHwvkquYNLEQltmdMa3owq3TkddCVcTsoctJI8VQNKA== - -text-hex@1.0.x: - version "1.0.0" - resolved "https://registry.yarnpkg.com/text-hex/-/text-hex-1.0.0.tgz#69dc9c1b17446ee79a92bf5b884bb4b9127506f5" - integrity sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg== - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -tinydate@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/tinydate/-/tinydate-1.3.0.tgz#e6ca8e5a22b51bb4ea1c3a2a4fd1352dbd4c57fb" - integrity sha512-7cR8rLy2QhYHpsBDBVYnnWXm8uRTr38RoZakFSW7Bs7PzfMPNZthuMLkwqZv7MTu8lhQ91cOFYS5a7iFj2oR3w== - -titleize@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/titleize/-/titleize-3.0.0.tgz#71c12eb7fdd2558aa8a44b0be83b8a76694acd53" - integrity sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ== - -tlhunter-sorted-set@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/tlhunter-sorted-set/-/tlhunter-sorted-set-0.1.0.tgz#1c3eae28c0fa4dff97e9501d2e3c204b86406f4b" - integrity sha512-eGYW4bjf1DtrHzUYxYfAcSytpOkA44zsr7G2n3PV7yOUR23vmkGe3LL4R+1jL9OsXtbsFOwe8XtbCrabeaEFnw== - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -toidentifier@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== - -touch@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.0.tgz#fe365f5f75ec9ed4e56825e0bb76d24ab74af83b" - integrity sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA== - dependencies: - nopt "~1.0.10" - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== - -triple-beam@^1.3.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/triple-beam/-/triple-beam-1.4.1.tgz#6fde70271dc6e5d73ca0c3b24e2d92afb7441984" - integrity sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg== - -tsconfig-paths@^3.14.2: - version "3.14.2" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz#6e32f1f79412decd261f92d633a9dc1cfa99f088" - integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.2" - minimist "^1.2.6" - strip-bom "^3.0.0" - -tslib@2.6.2, tslib@^2.1.0, tslib@^2.4.0, tslib@^2.5.0, tslib@^2.6.0: - version "2.6.2" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== - -tweezer.js@^1.4.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/tweezer.js/-/tweezer.js-1.5.0.tgz#ca50ac5215022203fd3be4d28617e8e2305f5c0c" - integrity sha512-aSiJz7rGWNAQq7hjMK9ZYDuEawXupcCWgl3woQQSoDP2Oh8O4srWb/uO1PzzHIsrPEOqrjJ2sUb9FERfzuBabQ== - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-detect@^4.0.0, type-detect@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - -type-is@^1.6.4, type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -typed-array-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz#18de3e7ed7974b0a729d3feecb94338d1472cd60" - integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - is-typed-array "^1.1.10" - -typed-array-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz#d787a24a995711611fb2b87a4052799517b230d0" - integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== - dependencies: - call-bind "^1.0.2" - for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" - -typed-array-byte-offset@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz#cbbe89b51fdef9cd6aaf07ad4707340abbc4ea0b" - integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" - -typed-array-length@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" - integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== - dependencies: - call-bind "^1.0.2" - for-each "^0.3.3" - is-typed-array "^1.1.9" - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== - -typescript@^5.4.5: - version "5.4.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.5.tgz#42ccef2c571fdbd0f6718b1d1f5e6e5ef006f611" - integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== - -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== - dependencies: - call-bind "^1.0.2" - has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" - -undefsafe@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.5.tgz#38733b9327bdcd226db889fb723a6efd162e6e2c" - integrity sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA== - -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== - -undici@6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/undici/-/undici-6.2.1.tgz#554293044619e065d986c37a4c92185c3bc02121" - integrity sha512-7Wa9thEM6/LMnnKtxJHlc8SrTlDmxqJecgz1iy8KlsN0/iskQXOQCuPkrZLXbElPaSw5slFFyKIKXyJ3UtbApw== - dependencies: - "@fastify/busboy" "^2.0.0" - -unique-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" - integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== - dependencies: - crypto-random-string "^2.0.0" - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== - -untildify@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" - integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== - -update-notifier@^4.1.0, update-notifier@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-5.1.0.tgz#4ab0d7c7f36a231dd7316cf7729313f0214d9ad9" - integrity sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw== - dependencies: - boxen "^5.0.0" - chalk "^4.1.0" - configstore "^5.0.1" - has-yarn "^2.1.0" - import-lazy "^2.1.0" - is-ci "^2.0.0" - is-installed-globally "^0.4.0" - is-npm "^5.0.0" - is-yarn-global "^0.3.0" - latest-version "^5.1.0" - pupa "^2.1.1" - semver "^7.3.4" - semver-diff "^3.1.1" - xdg-basedir "^4.0.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -url@0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64" - integrity sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ== - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -util@^0.12.4: - version "0.12.5" - resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" - integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== - dependencies: - inherits "^2.0.3" - is-arguments "^1.0.4" - is-generator-function "^1.0.7" - is-typed-array "^1.1.3" - which-typed-array "^1.1.2" - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== - -uuid@8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.0.0.tgz#bc6ccf91b5ff0ac07bbcdbf1c7c4e150db4dbb6c" - integrity sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw== - -uuid@^8.0.0: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -uuid@^9.0.0, uuid@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" - integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -vary@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== - -vscode-json-languageservice@^4.1.6: - version "4.2.1" - resolved "https://registry.yarnpkg.com/vscode-json-languageservice/-/vscode-json-languageservice-4.2.1.tgz#94b6f471ece193bf4a1ef37f6ab5cce86d50a8b4" - integrity sha512-xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA== - dependencies: - jsonc-parser "^3.0.0" - vscode-languageserver-textdocument "^1.0.3" - vscode-languageserver-types "^3.16.0" - vscode-nls "^5.0.0" - vscode-uri "^3.0.3" - -vscode-languageserver-textdocument@^1.0.3: - version "1.0.11" - resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz#0822a000e7d4dc083312580d7575fe9e3ba2e2bf" - integrity sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA== - -vscode-languageserver-types@^3.16.0: - version "3.17.5" - resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz#3273676f0cf2eab40b3f44d085acbb7f08a39d8a" - integrity sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg== - -vscode-nls@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/vscode-nls/-/vscode-nls-5.2.0.tgz#3cb6893dd9bd695244d8a024bdf746eea665cc3f" - integrity sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng== - -vscode-uri@^3.0.3: - version "3.0.8" - resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-3.0.8.tgz#1770938d3e72588659a172d0fd4642780083ff9f" - integrity sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw== - -vue-eslint-parser@^9.3.1: - version "9.3.2" - resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-9.3.2.tgz#6f9638e55703f1c77875a19026347548d93fd499" - integrity sha512-q7tWyCVaV9f8iQyIA5Mkj/S6AoJ9KBN8IeUSf3XEmBrOtxOZnfTg5s4KClbZBCK3GtnT/+RyCLZyDHuZwTuBjg== - dependencies: - debug "^4.3.4" - eslint-scope "^7.1.1" - eslint-visitor-keys "^3.3.0" - espree "^9.3.1" - esquery "^1.4.0" - lodash "^4.17.21" - semver "^7.3.6" - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== - -websocket-driver@>=0.5.1: - version "0.7.4" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" - integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== - dependencies: - http-parser-js ">=0.5.1" - safe-buffer ">=5.1.0" - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - version "0.1.4" - resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" - integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which-module@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" - integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== - -which-typed-array@^1.1.11, which-typed-array@^1.1.13, which-typed-array@^1.1.2: - version "1.1.13" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.13.tgz#870cd5be06ddb616f504e7b039c4c24898184d36" - integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.4" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -widest-line@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" - integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== - dependencies: - string-width "^4.0.0" - -winston-transport@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/winston-transport/-/winston-transport-4.7.0.tgz#e302e6889e6ccb7f383b926df6936a5b781bd1f0" - integrity sha512-ajBj65K5I7denzer2IYW6+2bNIVqLGDHqDw3Ow8Ohh+vdW+rv4MZ6eiDvHoKhfJFZ2auyN8byXieDDJ96ViONg== - dependencies: - logform "^2.3.2" - readable-stream "^3.6.0" - triple-beam "^1.3.0" - -winston@3.13.0: - version "3.13.0" - resolved "https://registry.yarnpkg.com/winston/-/winston-3.13.0.tgz#e76c0d722f78e04838158c61adc1287201de7ce3" - integrity sha512-rwidmA1w3SE4j0E5MuIufFhyJPBDG7Nu71RkZor1p2+qHvJSZ9GYDA81AyleQcZbh/+V6HjeBdfnTZJm9rSeQQ== - dependencies: - "@colors/colors" "^1.6.0" - "@dabh/diagnostics" "^2.0.2" - async "^3.2.3" - is-stream "^2.0.0" - logform "^2.4.0" - one-time "^1.0.0" - readable-stream "^3.4.0" - safe-stable-stringify "^2.3.1" - stack-trace "0.0.x" - triple-beam "^1.3.0" - winston-transport "^4.7.0" - -workerpool@6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343" - integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw== - -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -ws@^7.4.3: - version "7.5.9" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" - integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== - -xdg-basedir@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" - integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== - -xml-name-validator@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835" - integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw== - -xml2js@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.5.0.tgz#d9440631fbb2ed800203fad106f2724f62c493b7" - integrity sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA== - dependencies: - sax ">=0.6.0" - xmlbuilder "~11.0.0" - -xmlbuilder@15.1.1: - version "15.1.1" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-15.1.1.tgz#9dcdce49eea66d8d10b42cae94a79c3c8d0c2ec5" - integrity sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg== - -xmlbuilder@~11.0.0: - version "11.0.1" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" - integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== - -xtend@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -y18n@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" - integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - integrity sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yargonaut@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/yargonaut/-/yargonaut-1.1.4.tgz#c64f56432c7465271221f53f5cc517890c3d6e0c" - integrity sha512-rHgFmbgXAAzl+1nngqOcwEljqHGG9uUZoPjsdZEs1w5JW9RXYzrSvH/u70C1JE5qFi0qjsdhnUX/dJRpWqitSA== - dependencies: - chalk "^1.1.1" - figlet "^1.1.1" - parent-require "^1.0.0" - -yargs-parser@20.2.4: - version "20.2.4" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" - integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== - -yargs-parser@^18.1.2: - version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^20.2.2: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs-parser@^21.1.1: - version "21.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" - integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== - -yargs-unparser@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" - integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== - dependencies: - camelcase "^6.0.0" - decamelize "^4.0.0" - flat "^5.0.2" - is-plain-obj "^2.1.0" - -yargs@16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - -yargs@^15.3.0: - version "15.4.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" - integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== - dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.2" - -yargs@^17.7.2: - version "17.7.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" - integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.1.1" - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From a27d343826fbb507931ec56a4acdf5f321d5b8c0 Mon Sep 17 00:00:00 2001 From: Daniel Freytag Date: Mon, 24 Jun 2024 13:16:45 +0200 Subject: [PATCH 02/14] chore: update testing folders --- .eslintrc.json | 21 --- .github/workflows/ingest-pull.yml | 2 +- .github/workflows/ingest-push.yml | 2 +- CHANGELOG.md | 6 + Dockerfile | 2 +- README.md | 2 + test/README.md => TESTING.md | 8 +- bun.lockb | Bin 304072 -> 236832 bytes openapi.json | 2 +- openapi.yaml | 230 ++++++++++++++-------------- package.json | 18 +-- {test => src/ingest}/ingest.test.js | 11 +- test/example.test.js | 22 --- 13 files changed, 142 insertions(+), 184 deletions(-) delete mode 100644 .eslintrc.json rename test/README.md => TESTING.md (89%) rename {test => src/ingest}/ingest.test.js (97%) delete mode 100644 test/example.test.js diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index 23deaa49..00000000 --- a/.eslintrc.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "parserOptions": { - "ecmaVersion": 2020 - }, - "root": true, - "plugins": ["@swrlab/eslint-plugin-swr", "chai-friendly"], - "extends": ["plugin:@swrlab/eslint-plugin-swr/recommended", "plugin:chai-friendly/recommended"], - "ignorePatterns": ["docs/_SIDEBAR.md"], - "rules": { - "radix": 0, - "no-unused-vars": [ - "error", - { - "argsIgnorePattern": "next", - "varsIgnorePattern": "should" - } - ], - "no-param-reassign": [2, { "props": false }], - "no-restricted-syntax": 0 - } -} diff --git a/.github/workflows/ingest-pull.yml b/.github/workflows/ingest-pull.yml index 46899bda..77fb8757 100644 --- a/.github/workflows/ingest-pull.yml +++ b/.github/workflows/ingest-pull.yml @@ -5,7 +5,7 @@ on: types: [labeled] env: - NODE_VERSION: 18 + NODE_VERSION: 20 jobs: security: diff --git a/.github/workflows/ingest-push.yml b/.github/workflows/ingest-push.yml index 27052137..ddcabac9 100644 --- a/.github/workflows/ingest-push.yml +++ b/.github/workflows/ingest-push.yml @@ -9,7 +9,7 @@ on: types: [closed] env: - NODE_VERSION: 18 + NODE_VERSION: 20 IMAGE_NAME: ard-eventhub-europe-west3/ingest REGISTRY_DOMAIN: europe-west3-docker.pkg.dev diff --git a/CHANGELOG.md b/CHANGELOG.md index b7bde713..a018a7ab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.8.0] - 2024-06-26 + +- chore: upgrade to Node.js 20 +- chore: swap yarn for bun (package manager only) +- chore: remove table of contents from docs + ## [1.7.3] - 2024-04-23 - chore: updated lots of dependencies diff --git a/Dockerfile b/Dockerfile index c8a3d5ff..af5b19f4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,7 +11,7 @@ COPY . . RUN bun install # Load desired node image -FROM node:18-alpine +FROM node:20-alpine # Create app directory WORKDIR /web/app diff --git a/README.md b/README.md index 549df7b8..dedeb408 100644 --- a/README.md +++ b/README.md @@ -111,3 +111,5 @@ This project was realized by - [Daniel Freytag](https://github.com/frytg) - [Rafael Mรคuer](https://github.com/rafaelmaeuer) - [Christian Hufnagel](https://github.com/chhufnagel) + +at [SWR Audio Lab](https://www.swr.de/audiolab) diff --git a/test/README.md b/TESTING.md similarity index 89% rename from test/README.md rename to TESTING.md index 644f3467..91b10af9 100644 --- a/test/README.md +++ b/TESTING.md @@ -2,7 +2,7 @@ ## API-Tests -API unit tests are designed to check and verify existing and new implementations with the ARD-Eventhub. +API unit tests are designed to check and verify existing and new implementations with the ARD-Eventhub. As test-environment [Mocha](https://mochajs.org/) is used in combination with [Chai](https://www.chaijs.com/) for a readable chaining of test-arguments. ### Environments @@ -17,6 +17,6 @@ In addition to the [ingest-env](../src/ingest/README.md#Environments), following Follow the [ingest-setup](../src/ingest/README.md) first, then run tests with - ```sh - yarn ingest:test - ``` +```sh +yarn ingest:test +``` diff --git a/bun.lockb b/bun.lockb index fb59bd3042b07848b1d7433bf5702e439c8ffd1f..9b1792aa0f59293299e3a7050fd301e162401a25 100755 GIT binary patch delta 40728 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 H_Tc{k-2O)x delta 82195 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 hGR(gIAnt`- ARD system to distribute real-time (live) metadata for primarily radio broadcasts. - termsOfService: "https://www.ard.de" + termsOfService: 'https://www.ard.de' contact: email: lab@swr.de license: name: European Union Public License 1.2 - url: "https://spdx.org/licenses/EUPL-1.2.html" - version: 1.6.0 + url: 'https://spdx.org/licenses/EUPL-1.2.html' + version: 1.8.0 externalDocs: description: ARD-Eventhub Documentation - url: "https://swrlab.github.io/ard-eventhub/" + url: 'https://swrlab.github.io/ard-eventhub/' servers: - url: / description: Local (domain-relative) environment @@ -47,24 +47,24 @@ paths: type: string example: my-password responses: - "200": + '200': description: Authentication successful content: application/json: schema: - $ref: "#/components/schemas/authResponse" - "400": + $ref: '#/components/schemas/authResponse' + '400': description: Bad Request (invalid input) content: application/json: schema: - $ref: "#/components/schemas/errorBadRequest" - "500": + $ref: '#/components/schemas/errorBadRequest' + '500': description: Internal server error content: application/json: schema: - $ref: "#/components/schemas/errorInternalServerError" + $ref: '#/components/schemas/errorInternalServerError' /auth/refresh: post: tags: @@ -82,24 +82,24 @@ paths: type: string example: abcXYZ... responses: - "200": + '200': description: Authentication successful content: application/json: schema: - $ref: "#/components/schemas/authResponse" - "400": + $ref: '#/components/schemas/authResponse' + '400': description: Bad Request (invalid input) content: application/json: schema: - $ref: "#/components/schemas/errorBadRequest" - "500": + $ref: '#/components/schemas/errorBadRequest' + '500': description: Internal server error content: application/json: schema: - $ref: "#/components/schemas/errorInternalServerError" + $ref: '#/components/schemas/errorInternalServerError' /auth/reset: post: tags: @@ -116,22 +116,22 @@ paths: type: string example: my-email@example.com responses: - "200": + '200': description: Request successful content: {} - "400": + '400': description: Bad Request (invalid input) content: application/json: schema: - $ref: "#/components/schemas/errorBadRequest" - "500": + $ref: '#/components/schemas/errorBadRequest' + '500': description: Internal server error content: application/json: schema: - $ref: "#/components/schemas/errorInternalServerError" - "/events/de.ard.eventhub.v1.radio.track.next": + $ref: '#/components/schemas/errorInternalServerError' + '/events/de.ard.eventhub.v1.radio.track.next': post: tags: - events @@ -140,35 +140,35 @@ paths: security: - bearerAuth: [] requestBody: - $ref: "#/components/requestBodies/eventV1RadioTrack" + $ref: '#/components/requestBodies/eventV1RadioTrack' responses: - "201": - $ref: "#/components/responses/eventV1RadioTrack" - "400": + '201': + $ref: '#/components/responses/eventV1RadioTrack' + '400': description: Bad Request (invalid input) content: application/json: schema: - $ref: "#/components/schemas/errorBadRequest" - "401": + $ref: '#/components/schemas/errorBadRequest' + '401': description: Missing authentication content: application/json: schema: - $ref: "#/components/schemas/errorUnauthorized" - "403": + $ref: '#/components/schemas/errorUnauthorized' + '403': description: Invalid authorization content: application/json: schema: - $ref: "#/components/schemas/errorForbidden" - "500": + $ref: '#/components/schemas/errorForbidden' + '500': description: Internal server error content: application/json: schema: - $ref: "#/components/schemas/errorInternalServerError" - "/events/de.ard.eventhub.v1.radio.track.playing": + $ref: '#/components/schemas/errorInternalServerError' + '/events/de.ard.eventhub.v1.radio.track.playing': post: tags: - events @@ -177,34 +177,34 @@ paths: security: - bearerAuth: [] requestBody: - $ref: "#/components/requestBodies/eventV1RadioTrack" + $ref: '#/components/requestBodies/eventV1RadioTrack' responses: - "201": - $ref: "#/components/responses/eventV1RadioTrack" - "400": + '201': + $ref: '#/components/responses/eventV1RadioTrack' + '400': description: Bad Request (invalid input) content: application/json: schema: - $ref: "#/components/schemas/errorBadRequest" - "401": + $ref: '#/components/schemas/errorBadRequest' + '401': description: Missing authentication content: application/json: schema: - $ref: "#/components/schemas/errorUnauthorized" - "403": + $ref: '#/components/schemas/errorUnauthorized' + '403': description: Invalid authorization content: application/json: schema: - $ref: "#/components/schemas/errorForbidden" - "500": + $ref: '#/components/schemas/errorForbidden' + '500': description: Internal server error content: application/json: schema: - $ref: "#/components/schemas/errorInternalServerError" + $ref: '#/components/schemas/errorInternalServerError' /subscriptions: get: tags: @@ -214,30 +214,30 @@ paths: security: - bearerAuth: [] responses: - "200": + '200': description: Subscriptions found content: application/json: schema: - $ref: "#/components/schemas/subscriptionsList" - "401": + $ref: '#/components/schemas/subscriptionsList' + '401': description: Missing authentication content: application/json: schema: - $ref: "#/components/schemas/errorUnauthorized" - "403": + $ref: '#/components/schemas/errorUnauthorized' + '403': description: Invalid authorization content: application/json: schema: - $ref: "#/components/schemas/errorForbidden" - "500": + $ref: '#/components/schemas/errorForbidden' + '500': description: Internal server error content: application/json: schema: - $ref: "#/components/schemas/errorInternalServerError" + $ref: '#/components/schemas/errorInternalServerError' post: tags: - subscriptions @@ -250,46 +250,46 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/subscriptionPost" + $ref: '#/components/schemas/subscriptionPost' required: true responses: - "201": + '201': description: Subscription created content: application/json: schema: - $ref: "#/components/schemas/subscriptionResponse" - "400": + $ref: '#/components/schemas/subscriptionResponse' + '400': description: Bad Request (invalid input) content: application/json: schema: - $ref: "#/components/schemas/errorBadRequest" - "401": + $ref: '#/components/schemas/errorBadRequest' + '401': description: Missing authentication content: application/json: schema: - $ref: "#/components/schemas/errorUnauthorized" - "403": + $ref: '#/components/schemas/errorUnauthorized' + '403': description: Invalid authorization content: application/json: schema: - $ref: "#/components/schemas/errorForbidden" - "404": + $ref: '#/components/schemas/errorForbidden' + '404': description: Topic for subscription not found content: application/json: schema: - $ref: "#/components/schemas/errorNotFound" - "500": + $ref: '#/components/schemas/errorNotFound' + '500': description: Internal server error content: application/json: schema: - $ref: "#/components/schemas/errorInternalServerError" - "/subscriptions/{name}": + $ref: '#/components/schemas/errorInternalServerError' + '/subscriptions/{name}': get: tags: - subscriptions @@ -300,45 +300,45 @@ paths: parameters: - name: name in: path - description: "`name` of the desired subscription" + description: '`name` of the desired subscription' required: true style: simple explode: false schema: type: string responses: - "200": + '200': description: Subscription found content: application/json: schema: type: array items: - $ref: "#/components/schemas/subscriptionResponse" - "401": + $ref: '#/components/schemas/subscriptionResponse' + '401': description: Missing authentication content: application/json: schema: - $ref: "#/components/schemas/errorUnauthorized" - "403": + $ref: '#/components/schemas/errorUnauthorized' + '403': description: Invalid authorization content: application/json: schema: - $ref: "#/components/schemas/errorForbidden" - "404": + $ref: '#/components/schemas/errorForbidden' + '404': description: Subscription not found content: application/json: schema: - $ref: "#/components/schemas/errorNotFound" - "500": + $ref: '#/components/schemas/errorNotFound' + '500': description: Internal server error content: application/json: schema: - $ref: "#/components/schemas/errorInternalServerError" + $ref: '#/components/schemas/errorInternalServerError' delete: tags: - subscriptions @@ -349,43 +349,43 @@ paths: parameters: - name: name in: path - description: "`name` of the desired subscription" + description: '`name` of the desired subscription' required: true style: simple explode: false schema: type: string responses: - "200": + '200': description: Subscription deleted content: application/json: schema: - $ref: "#/components/schemas/subscriptionDeleted" - "401": + $ref: '#/components/schemas/subscriptionDeleted' + '401': description: Missing authentication content: application/json: schema: - $ref: "#/components/schemas/errorUnauthorized" - "403": + $ref: '#/components/schemas/errorUnauthorized' + '403': description: Invalid authorization content: application/json: schema: - $ref: "#/components/schemas/errorForbidden" - "404": + $ref: '#/components/schemas/errorForbidden' + '404': description: Subscription not found content: application/json: schema: - $ref: "#/components/schemas/errorNotFound" - "500": + $ref: '#/components/schemas/errorNotFound' + '500': description: Internal server error content: application/json: schema: - $ref: "#/components/schemas/errorInternalServerError" + $ref: '#/components/schemas/errorInternalServerError' /topics: get: tags: @@ -395,18 +395,18 @@ paths: security: - bearerAuth: [] responses: - "200": + '200': description: Topics found content: application/json: schema: - $ref: "#/components/schemas/topicResponse" - "500": + $ref: '#/components/schemas/topicResponse' + '500': description: Internal server error content: application/json: schema: - $ref: "#/components/schemas/errorInternalServerError" + $ref: '#/components/schemas/errorInternalServerError' components: requestBodies: eventV1RadioTrack: @@ -442,7 +442,7 @@ components: content: application/json: schema: - $ref: "#/components/schemas/eventV1PostBody" + $ref: '#/components/schemas/eventV1PostBody' required: true responses: eventV1RadioTrack: @@ -470,7 +470,7 @@ components: content: application/json: schema: - $ref: "#/components/schemas/eventV1ResBody" + $ref: '#/components/schemas/eventV1ResBody' securitySchemes: bearerAuth: type: http @@ -488,7 +488,7 @@ components: type: string description: ISO8601 compliant timestamp for the token expiry format: iso8601-timestamp - example: "2020-01-19T06:00:00+01:00" + example: '2020-01-19T06:00:00+01:00' token: type: string description: ready to use token for API queries @@ -603,23 +603,23 @@ components: properties: type: type: string - example: "PermanentLivestream" + example: 'PermanentLivestream' enum: - - "EventLivestream" - - "PermanentLivestream" + - 'EventLivestream' + - 'PermanentLivestream' externalId: type: string - example: "crid://swr.de/123450" + example: 'crid://swr.de/123450' publisherId: type: string description: | External ID or globally unique identifier (Core ID) for the associated publisher. When no Core ID is provided, the External ID will be converted by Eventhub. - example: "248000" + example: '248000' id: type: string description: Globally unique identifier, created by Eventhub - example: "urn:ard:permanent-livestream:49267f7d67be180d" + example: 'urn:ard:permanent-livestream:49267f7d67be180d' reference: type: object @@ -696,7 +696,7 @@ components: type: string description: ISO8601 compliant timestamp format: iso8601-timestamp - example: "2020-01-19T06:00:00+01:00" + example: '2020-01-19T06:00:00+01:00' length: type: number format: float @@ -743,7 +743,7 @@ components: example: Person id: type: string - example: "1641010" + example: '1641010' isni: type: string description: ISNI ID if available @@ -764,7 +764,7 @@ components: items: minItems: 1 allOf: - - $ref: "#/components/schemas/services" + - $ref: '#/components/schemas/services' references: type: array description: related external entities @@ -772,7 +772,7 @@ components: items: minItems: 0 allOf: - - $ref: "#/components/schemas/reference" + - $ref: '#/components/schemas/reference' playlistItemId: type: string description: >- @@ -830,10 +830,10 @@ components: example: cover url: type: string - example: "https://example.com/cover.jpg" + example: 'https://example.com/cover.jpg' templateUrl: type: string - example: "https://example.com/cover.jpg?width={width}" + example: 'https://example.com/cover.jpg?width={width}' nullable: true description: type: string @@ -860,7 +860,7 @@ components: ID gets inserted by Eventhub as string-formatted number, but might be a true string in the future, do not expect this string to remain numbers only! - example: "1234567890" + example: '1234567890' eventV1ResBody: type: object @@ -878,7 +878,7 @@ components: type: integer example: 0 event: - $ref: "#/components/schemas/eventV1PostBody" + $ref: '#/components/schemas/eventV1PostBody' trace: type: string example: null @@ -905,7 +905,7 @@ components: url: type: string description: Publicly accessible URL that should receive the events - example: "https://example.com/my/webhook/for/this/subscription" + example: 'https://example.com/my/webhook/for/this/subscription' contact: type: string description: >- @@ -921,7 +921,7 @@ components: type: array items: allOf: - - $ref: "#/components/schemas/subscriptionResponse" + - $ref: '#/components/schemas/subscriptionResponse' subscriptionResponse: type: object @@ -969,7 +969,7 @@ components: url: type: string description: Publicly accessible URL that should receive the events - example: "https://example.com/my/webhook/for/this/subscription" + example: 'https://example.com/my/webhook/for/this/subscription' contact: type: string description: >- @@ -1015,7 +1015,7 @@ components: properties: id: type: string - example: "1234567890" + example: '1234567890' creator-slug: type: string example: ard-eventhub-swr @@ -1027,7 +1027,7 @@ components: example: prod created: type: string - example: "2021-03-25" + example: '2021-03-25' institution-slug: type: string example: sudwestrundfunk diff --git a/package.json b/package.json index e55c7543..5c180b6a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ard-eventhub", - "version": "1.7.3", + "version": "1.8.0", "description": "ARD system to distribute real-time (live) metadata for primarily radio broadcasts.", "main": "./src/ingest/index.js", "engines": { @@ -11,15 +11,14 @@ "coreId": "node ./src/coreId/index.js", "ingest:local": "nodemon -r dotenv/config ./src/ingest/index.js", "ingest:cloud": "node ./src/ingest/index.js", - "ingest:test": "mocha test/ingest.test.js --timeout 15000 --exit -r dotenv/config", + "ingest:test": "mocha --recursive './src/**/*.test.js' --timeout 15000 --exit -r dotenv/config", "ingest:lint": "eslint src", "docker:build": "docker build . -t swr/ard-eventhub", "docker:run": "docker run --env-file .env -p 8080:8080 --name ard-eventhub swr/ard-eventhub", - "docker:scan": "yarn docker:build && docker scout quickview", + "docker:scan": "bun docker:build && docker scout quickview", "docker:clean": "docker rm ard-eventhub", - "license": "yarn run license-compliance", - "test": "mocha test/example.test.js", - "reinstall": "rm -rf node_modules && rm yarn.lock && yarn" + "license": "bunx license-compliance", + "reinstall": "rm -rf node_modules && rm bun.lockb && bun install" }, "keywords": ["ard", "metadata", "pubsub"], "author": "SWR Audio Lab ", @@ -42,19 +41,16 @@ "winston": "3.13.0" }, "devDependencies": { - "@swrlab/eslint-plugin-swr": "^0.3.0", + "@biomejs/biome": "^1.8.2", "@swrlab/swr-prettier-config": "^0.3.0", "chai": "^4.4.1", "chai-http": "^4.4.0", "docsify-cli": "^4.4.4", "dotenv": "16.4.5", - "eslint": "^8.57.0", - "eslint-plugin-chai-friendly": "^0.7.4", "license-compliance": "^3.0.1", "mocha": "^10.4.0", "nodemon": "^3.1.4", - "prettier": "^3.3.2", - "typescript": "^5.5.2" + "prettier": "^3.3.2" }, "resolutions": { "ansi-regex": "^5.0.1", diff --git a/test/ingest.test.js b/src/ingest/ingest.test.js similarity index 97% rename from test/ingest.test.js rename to src/ingest/ingest.test.js index c1eb8071..d7fcecb4 100644 --- a/test/ingest.test.js +++ b/src/ingest/ingest.test.js @@ -7,17 +7,13 @@ */ -// Add eslint exceptions -/* eslint-disable object-shorthand */ -/* global describe it before */ - // Require dependencies const chai = require('chai') const chaiHttp = require('chai-http') const { DateTime } = require('luxon') -const server = require('../src/ingest/index') -const logger = require('../src/utils/logger') +const server = require('./index') +const logger = require('../utils/logger') // Init chai functions const { expect } = chai @@ -62,7 +58,8 @@ function testFailedAuth(res) { */ const loginPath = '/auth/login' -let accessToken, refreshToken +let accessToken = null +let refreshToken = null function testAuthKeys(body) { body.should.be.a('object') diff --git a/test/example.test.js b/test/example.test.js deleted file mode 100644 index b3a6d51a..00000000 --- a/test/example.test.js +++ /dev/null @@ -1,22 +0,0 @@ -/* - - ard-eventhub - by SWR Audio Lab - - simple tests with mocha and chai - -*/ - -// Add eslint exceptions for chai -/* global describe it */ - -const { expect } = require('chai') - -describe('Simple Math Test', () => { - it('1 + 1 = 2', () => { - expect(1 + 1).to.equal(2) - }) - it('3 * 3 = 9', () => { - expect(3 * 3).to.equal(9) - }) -}) From f6e81a40cf70d527c3c76dc81150972172ca5de9 Mon Sep 17 00:00:00 2001 From: Daniel Freytag Date: Mon, 24 Jun 2024 13:22:55 +0200 Subject: [PATCH 03/14] fix: biome vs. eslint issues --- package.json | 2 +- src/ingest/auth/login/post.js | 2 +- src/ingest/auth/refresh/post.js | 2 +- src/ingest/index.js | 6 +++--- src/ingest/subscriptions/delete.js | 4 ++-- src/ingest/subscriptions/get.js | 2 +- src/ingest/subscriptions/post.js | 2 +- src/utils/datastore/load.js | 2 +- src/utils/datastore/save.js | 2 +- src/utils/logger/index.js | 2 +- src/utils/plugins/dts/event.js | 4 ++-- src/utils/pubsub/mapSubscription.js | 2 +- 12 files changed, 16 insertions(+), 16 deletions(-) diff --git a/package.json b/package.json index 5c180b6a..e8b2a530 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "ingest:local": "nodemon -r dotenv/config ./src/ingest/index.js", "ingest:cloud": "node ./src/ingest/index.js", "ingest:test": "mocha --recursive './src/**/*.test.js' --timeout 15000 --exit -r dotenv/config", - "ingest:lint": "eslint src", + "ingest:lint": "biome lint src", "docker:build": "docker build . -t swr/ard-eventhub", "docker:run": "docker run --env-file .env -p 8080:8080 --name ard-eventhub swr/ard-eventhub", "docker:scan": "bun docker:build && docker scout quickview", diff --git a/src/ingest/auth/login/post.js b/src/ingest/auth/login/post.js index 575818a8..537c6ebb 100644 --- a/src/ingest/auth/login/post.js +++ b/src/ingest/auth/login/post.js @@ -27,7 +27,7 @@ module.exports = async (req, res) => { } // return ok - const expiresIn = parseInt(login.login.expiresIn) + const expiresIn = Number.parseInt(login.login.expiresIn) return response.ok(req, res, { expiresIn, expires: DateTime.now().plus({ seconds: expiresIn }).toISO(), diff --git a/src/ingest/auth/refresh/post.js b/src/ingest/auth/refresh/post.js index 177773cc..eade97dc 100644 --- a/src/ingest/auth/refresh/post.js +++ b/src/ingest/auth/refresh/post.js @@ -27,7 +27,7 @@ module.exports = async (req, res) => { } // return ok - const expiresIn = parseInt(login.login.expires_in) + const expiresIn = Number.parseInt(login.login.expires_in) return response.ok(req, res, { expiresIn, expires: DateTime.now().plus({ seconds: expiresIn }).toISO(), diff --git a/src/ingest/index.js b/src/ingest/index.js index 5465ba92..5ac25bde 100644 --- a/src/ingest/index.js +++ b/src/ingest/index.js @@ -1,7 +1,7 @@ /* - ard-eventhub - by SWR Audio Lab + ard-eventhub + by SWR Audio Lab */ @@ -34,7 +34,7 @@ server.use((req, res, next) => { } logger.log({ level: 'debug', - message: `middleware logging`, + message: 'middleware logging', source: 'DEV', data: { logHeaders, path: req.path }, }) diff --git a/src/ingest/subscriptions/delete.js b/src/ingest/subscriptions/delete.js index 9dcd344c..a3206fe2 100644 --- a/src/ingest/subscriptions/delete.js +++ b/src/ingest/subscriptions/delete.js @@ -54,7 +54,7 @@ module.exports = async (req, res) => { // return 400 error return response.badRequest(req, res, { status: 400, - message: `Mismatch of user and subscription institution`, + message: 'Mismatch of user and subscription institution', errors: `Subscription of this institution cannot be deleted by user of institution '${userInstitution}'`, }) } @@ -63,7 +63,7 @@ module.exports = async (req, res) => { await pubsub.deleteSubscription(subscriptionName) // also delete from datastore - const subscriptionId = parseInt(subscription.labels.id) + const subscriptionId = Number.parseInt(subscription.labels.id) await datastore.delete('subscriptions', subscriptionId) // log progress diff --git a/src/ingest/subscriptions/get.js b/src/ingest/subscriptions/get.js index a04429b1..b818ac8e 100644 --- a/src/ingest/subscriptions/get.js +++ b/src/ingest/subscriptions/get.js @@ -36,7 +36,7 @@ module.exports = async (req, res) => { // return 400 error return response.badRequest(req, res, { status: 400, - message: `Mismatch of user and subscription institution`, + message: 'Mismatch of user and subscription institution', errors: `Subscription of this institution is not visible for user of institution '${userInstitution}'`, }) } diff --git a/src/ingest/subscriptions/post.js b/src/ingest/subscriptions/post.js index c8147b1b..c80e2e61 100644 --- a/src/ingest/subscriptions/post.js +++ b/src/ingest/subscriptions/post.js @@ -7,7 +7,7 @@ // load node utils const { DateTime } = require('luxon') -const { randomUUID } = require('crypto') +const { randomUUID } = require('node:crypto') // load eventhub utils const datastore = require('../../utils/datastore') diff --git a/src/utils/datastore/load.js b/src/utils/datastore/load.js index 8fd1d66d..5273edfb 100644 --- a/src/utils/datastore/load.js +++ b/src/utils/datastore/load.js @@ -21,7 +21,7 @@ module.exports = async (kind, id) => { // insert key if (data && key.id) { - data.id = parseInt(key.id) + data.id = Number.parseInt(key.id) } else if (data && key.name) { data.id = key.name } diff --git a/src/utils/datastore/save.js b/src/utils/datastore/save.js index 0783e5e3..a5efc99d 100644 --- a/src/utils/datastore/save.js +++ b/src/utils/datastore/save.js @@ -27,7 +27,7 @@ module.exports = async (data, kind, id) => { // insert key if (key.id) { - thisData.id = parseInt(key.id) + thisData.id = Number.parseInt(key.id) } else if (key.name) { thisData.id = key.name } diff --git a/src/utils/logger/index.js b/src/utils/logger/index.js index 9cb98e7f..9e769304 100644 --- a/src/utils/logger/index.js +++ b/src/utils/logger/index.js @@ -6,7 +6,7 @@ */ // load node utils -const os = require('os') +const os = require('node:os') const { createLogger, config, format, transports } = require('winston') // get version diff --git a/src/utils/plugins/dts/event.js b/src/utils/plugins/dts/event.js index 6b93675d..0a3825e5 100644 --- a/src/utils/plugins/dts/event.js +++ b/src/utils/plugins/dts/event.js @@ -78,7 +78,7 @@ module.exports = async (job) => { title: event.title, isrc: event.isrc, email: plugin?.email, - duration: parseInt(event.length), + duration: Number.parseInt(event.length), delay: plugin?.delay || 0, album: plugin?.album || null, @@ -117,7 +117,7 @@ module.exports = async (job) => { if (!LIVERADIO_URL || !liveradioToken) { logger.log({ level: 'error', - message: `failed loading DTS user for liveradio API`, + message: 'failed loading DTS user for liveradio API', source, data: { job, ids: { coreIds } }, }) diff --git a/src/utils/pubsub/mapSubscription.js b/src/utils/pubsub/mapSubscription.js index aa0ec2f4..8f7918f3 100644 --- a/src/utils/pubsub/mapSubscription.js +++ b/src/utils/pubsub/mapSubscription.js @@ -21,7 +21,7 @@ module.exports = async (subscription) => { // preset vars const lookup = subscription.metadata?.labels?.id - ? await datastore.load('subscriptions', parseInt(subscription.metadata.labels.id)) + ? await datastore.load('subscriptions', Number.parseInt(subscription.metadata.labels.id)) : null // remap values From 7f283df1e945697c6be2d165c38da5779090e325 Mon Sep 17 00:00:00 2001 From: Daniel Freytag Date: Mon, 24 Jun 2024 13:30:56 +0200 Subject: [PATCH 04/14] chore: remove dash from `ARD Eventhub` --- .gitignore | 5 ----- CHANGELOG.md | 2 +- README.md | 2 +- TESTING.md | 6 +++--- config/swaggerUI.js | 2 +- docs/AUTHENTICATION.md | 4 ++-- docs/EVENTS.md | 8 ++++---- docs/NAMING.md | 2 +- docs/OPENAPI.md | 4 ++-- docs/PLUGINS.md | 1 + docs/QUICKSTART.md | 6 +++--- docs/SECRETS.md | 2 +- docs/STAGES.md | 2 +- docs/TYPES.md | 2 +- docs/USERS.md | 2 +- docs/_SIDEBAR.md | 2 +- index.html | 4 ++-- openapi.json | 4 ++-- openapi.yaml | 4 ++-- src/ingest/README.md | 8 ++++---- 20 files changed, 34 insertions(+), 38 deletions(-) create mode 100644 docs/PLUGINS.md diff --git a/.gitignore b/.gitignore index 7e941486..1250342f 100644 --- a/.gitignore +++ b/.gitignore @@ -2,8 +2,6 @@ logs *.log npm-debug.log* -yarn-debug.log* -yarn-error.log* .DS_STORE # keys @@ -23,8 +21,5 @@ lib-cov # Optional eslint cache .eslintcache -# Yarn Integrity file -.yarn-integrity - # IntelliJ Idea .idea/ diff --git a/CHANGELOG.md b/CHANGELOG.md index a018a7ab..4b9a6a67 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# ARD-Eventhub / Changelog +# ARD Eventhub / Changelog All notable changes to this project will be documented in this file. diff --git a/README.md b/README.md index dedeb408..9e9c1452 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# ARD-Eventhub +# ARD Eventhub ARD system to distribute real-time (live) metadata for primarily radio broadcasts. diff --git a/TESTING.md b/TESTING.md index 91b10af9..87ac014b 100644 --- a/TESTING.md +++ b/TESTING.md @@ -1,8 +1,8 @@ -# ARD-Eventhub - Unit Tests +# ARD Eventhub - Unit Tests ## API-Tests -API unit tests are designed to check and verify existing and new implementations with the ARD-Eventhub. +API unit tests are designed to check and verify existing and new implementations with the ARD Eventhub. As test-environment [Mocha](https://mochajs.org/) is used in combination with [Chai](https://www.chaijs.com/) for a readable chaining of test-arguments. ### Environments @@ -18,5 +18,5 @@ In addition to the [ingest-env](../src/ingest/README.md#Environments), following Follow the [ingest-setup](../src/ingest/README.md) first, then run tests with ```sh -yarn ingest:test +bun ingest:test ``` diff --git a/config/swaggerUI.js b/config/swaggerUI.js index dbcccf12..21fe20a1 100644 --- a/config/swaggerUI.js +++ b/config/swaggerUI.js @@ -8,7 +8,7 @@ module.exports = { explorer: true, customCss: '.topbar {display: none;}', - customSiteTitle: 'ARD-Eventhub API Documentation', + customSiteTitle: 'ARD Eventhub API Documentation', swaggerOptions: { url: '/openapi/openapi.json', }, diff --git a/docs/AUTHENTICATION.md b/docs/AUTHENTICATION.md index b7c5d1b9..fa5fe82e 100644 --- a/docs/AUTHENTICATION.md +++ b/docs/AUTHENTICATION.md @@ -1,4 +1,4 @@ -# ARD-Eventhub / Authentication +# ARD Eventhub / Authentication To authenticate and work with Eventhub API you will need a valid user. For now these user logins are kept separate from the ARD Core API, but are using a similar login method. This page covers the authentication process. @@ -6,7 +6,7 @@ To authenticate and work with Eventhub API you will need a valid user. For now t The app uses an authentication workflow, that is kept very similar to the new ARD Core API, so once it goes live there, it can be easily migrated (variations may apply). You can find their documentation for ARD in the [developer portal](https://developer.ard.de/core-api-v2-roles-and-access-control). -This page explicitly covers the login methods for the ARD-Eventhub API. Compared to the ARD Core API the token exchange for ARD-Eventhub is handled in this service directly, not externally so it does not need to expose the `API_KEY` to clients. +This page explicitly covers the login methods for the ARD Eventhub API. Compared to the ARD Core API the token exchange for ARD Eventhub is handled in this service directly, not externally so it does not need to expose the `API_KEY` to clients. ## Exchange Credentials for Tokens diff --git a/docs/EVENTS.md b/docs/EVENTS.md index 9600a355..491fb916 100644 --- a/docs/EVENTS.md +++ b/docs/EVENTS.md @@ -1,12 +1,12 @@ -# ARD-Eventhub / Events +# ARD Eventhub / Events -In its first version ARD-Eventhub expects the `event` value to be one of the following: +In its first version ARD Eventhub expects the `event` value to be one of the following: ## `de.ard.eventhub.v1.radio.track.playing` -This event marks the beginning of a new playing element/ track for the providing radio station. It should have the `start` time information of the source information, to provide an as detailed as possible start time and avoid misalignments during network latencies. +This event marks the beginning of a new playing element/ track for the providing radio station. It should have the `start` time information of the source information, to provide an as detailed as possible start time and avoid misalignments during network latencies. ## `de.ard.eventhub.v1.radio.track.next` -The `next` event is similar to `playing` but only signalizes the next scheduled upcoming track. The next element can be replaced by a new next element before a playing element to signalize a new scheduled track. +The `next` event is similar to `playing` but only signalizes the next scheduled upcoming track. The next element can be replaced by a new next element before a playing element to signalize a new scheduled track. A pair of next and playing events should have a reference between each other (`playlistId`), so subscribers can link these two incoming events. diff --git a/docs/NAMING.md b/docs/NAMING.md index 0f07ef24..59fa4b70 100644 --- a/docs/NAMING.md +++ b/docs/NAMING.md @@ -1,4 +1,4 @@ -# ARD-Eventhub / Naming Conventions +# ARD Eventhub / Naming Conventions Several parts of this service require naming conventions that are followed throughout all parts. diff --git a/docs/OPENAPI.md b/docs/OPENAPI.md index 2ad965c6..6666070d 100644 --- a/docs/OPENAPI.md +++ b/docs/OPENAPI.md @@ -1,6 +1,6 @@ -# ARD-Eventhub / OpenAPI +# ARD Eventhub / OpenAPI -The ARD-Eventhub APIs are documented with [OpenAPI](https://swagger.io/specification/) specification (a standard, language-agnostic interface to RESTful APIs). With [Swagger-UI](https://swagger.io/tools/swagger-ui/) a testable interface is provided at `{service-endpoint}/openapi/`. +The ARD Eventhub APIs are documented with [OpenAPI](https://swagger.io/specification/) specification (a standard, language-agnostic interface to RESTful APIs). With [Swagger-UI](https://swagger.io/tools/swagger-ui/) a testable interface is provided at `{service-endpoint}/openapi/`. All changes in the API should be documented in [openapi.yaml](https://eventhub-ingest.ard.de/openapi/openapi.yaml) which must be converted to a JSON format afterwards. diff --git a/docs/PLUGINS.md b/docs/PLUGINS.md new file mode 100644 index 00000000..43339659 --- /dev/null +++ b/docs/PLUGINS.md @@ -0,0 +1 @@ +# ARD Eventhub / Plugins diff --git a/docs/QUICKSTART.md b/docs/QUICKSTART.md index d0e2d6b9..405edcb5 100644 --- a/docs/QUICKSTART.md +++ b/docs/QUICKSTART.md @@ -1,6 +1,6 @@ -# ARD-Eventhub / Quickstart +# ARD Eventhub / Quickstart -This guide will help you get started with ARD-Eventhub. +This guide will help you get started with ARD Eventhub. No matter if you are a Publisher or Subscriber, you will need a user account to interact with the API. Request one through your contacts at SWR Audio Lab or ARD Online. Admins can reference the Users docs for account registrations. @@ -8,7 +8,7 @@ Once this has been set up, check the Authentication docs to learn more about the ## Publishers -If you are a radio station that wants to start publishing events to ARD-Eventhub, follow these easy steps: +If you are a radio station that wants to start publishing events to ARD Eventhub, follow these easy steps: - Set up your account and understand the authentication process - Use the POST `/events/{eventName}` endpoint to add your events diff --git a/docs/SECRETS.md b/docs/SECRETS.md index 0e34ff38..206dadba 100644 --- a/docs/SECRETS.md +++ b/docs/SECRETS.md @@ -1,4 +1,4 @@ -# ARD-Eventhub / Secrets +# ARD Eventhub / Secrets This repository obviously needs a number of secrets and configuration files that are kept in various places. This page documents what goes where. Since this project is designed to be kept public to allow a collaborative development process, the full configuration around secrets and their deployment process is not described to the fullest extend here. There are other places, which include more about the internal maintenance structure. diff --git a/docs/STAGES.md b/docs/STAGES.md index d584bd00..6d3015d2 100644 --- a/docs/STAGES.md +++ b/docs/STAGES.md @@ -1,4 +1,4 @@ -# ARD-Eventhub / Stages +# ARD Eventhub / Stages The Eventhub differentiates between stages given to the service via env `STAGE` and different runtime environments or deployments, such as beta, test, or similar. diff --git a/docs/TYPES.md b/docs/TYPES.md index 8b0d9449..d54035cb 100644 --- a/docs/TYPES.md +++ b/docs/TYPES.md @@ -1,4 +1,4 @@ -# ARD-Eventhub / Types +# ARD Eventhub / Types Each triggered `track` can and must be of a certain type, to be properly displayed by receiving subscribers. diff --git a/docs/USERS.md b/docs/USERS.md index 26b601aa..4de7425b 100644 --- a/docs/USERS.md +++ b/docs/USERS.md @@ -1,4 +1,4 @@ -# ARD-Eventhub / Users +# ARD Eventhub / Users To authenticate and work with Eventhub API you will need a valid user. For now these user logins are kept separate from the ARD Core API, but are using a similar login method. This page covers the process of administrating users. diff --git a/docs/_SIDEBAR.md b/docs/_SIDEBAR.md index b0f38ee7..9bdda8d1 100644 --- a/docs/_SIDEBAR.md +++ b/docs/_SIDEBAR.md @@ -1,4 +1,4 @@ -- [ARD-Eventhub Overview](/ 'ARD-Eventhub') +- [ARD Eventhub Overview](/ 'ARD Eventhub') - [Quickstart](/docs/QUICKSTART.md) - [Authentication](/docs/AUTHENTICATION.md) - [Events](/docs/EVENTS.md) diff --git a/index.html b/index.html index f3c977a2..1f42b8c0 100644 --- a/index.html +++ b/index.html @@ -1,4 +1,4 @@ - + @@ -10,7 +10,7 @@