From 96ba53fecc7b9d269f0d974051ab62836b0102bc Mon Sep 17 00:00:00 2001 From: Gauthier Date: Wed, 26 Jun 2024 16:33:46 +0200 Subject: [PATCH 01/51] fix: resize episode preview image (#842) --- src/components/TvDetails/Season/index.tsx | 14 ++++++++------ tailwind.config.js | 21 +++++++++++++++++++++ 2 files changed, 29 insertions(+), 6 deletions(-) diff --git a/src/components/TvDetails/Season/index.tsx b/src/components/TvDetails/Season/index.tsx index 75c56b01..09b2b639 100644 --- a/src/components/TvDetails/Season/index.tsx +++ b/src/components/TvDetails/Season/index.tsx @@ -56,12 +56,14 @@ const Season = ({ seasonNumber, tvId }: SeasonProps) => { {episode.overview &&

{episode.overview}

} {episode.stillPath && ( - +
+ +
)} ); diff --git a/tailwind.config.js b/tailwind.config.js index b8b70fd5..f5b97ab5 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -63,6 +63,27 @@ module.exports = { }, }), }, + aspectRatio: { + auto: 'auto', + square: '1 / 1', + video: '16 / 9', + 1: '1', + 2: '2', + 3: '3', + 4: '4', + 5: '5', + 6: '6', + 7: '7', + 8: '8', + 9: '9', + 10: '10', + 11: '11', + 12: '12', + 13: '13', + 14: '14', + 15: '15', + 16: '16', + }, }, plugins: [ require('@tailwindcss/forms'), From bdee34053080c8975a88ba16a9e8f402e10fe7e1 Mon Sep 17 00:00:00 2001 From: Fallenbagel <98979876+Fallenbagel@users.noreply.github.com> Date: Sat, 29 Jun 2024 19:10:43 +0500 Subject: [PATCH 02/51] fix: abort availability sync job if auth token invalid/connection lost (#845) This fix aborts the media availability sync job if the following conditions are met: a) auth token has expired b) connection to jellyfin/emby has been lost Previously, the sync job will continue even if auth token was invalid or connection was lost, thereby, resulting in removal of series/movies that were never removed on jellyfin/emby/sonarr/radarr. This also removed the requests. With the current fix, the sync job should refuse to run unless the auth token is valid. --- server/lib/availabilitySync.ts | 65 ++++++++++++++++++++++------------ 1 file changed, 43 insertions(+), 22 deletions(-) diff --git a/server/lib/availabilitySync.ts b/server/lib/availabilitySync.ts index 1aa37cf9..4ecd9107 100644 --- a/server/lib/availabilitySync.ts +++ b/server/lib/availabilitySync.ts @@ -73,29 +73,50 @@ class AvailabilitySync { }); } - if (mediaServerType === MediaServerType.PLEX) { - if (admin && admin.plexToken) { - this.plexClient = new PlexAPI({ plexToken: admin.plexToken }); - } else { - logger.error('Plex admin is not configured.'); - } - } else if ( - mediaServerType === MediaServerType.JELLYFIN || - mediaServerType === MediaServerType.EMBY - ) { - if (admin) { - this.jellyfinClient = new JellyfinAPI( - getHostname(), - admin.jellyfinAuthToken, - admin.jellyfinDeviceId - ); + switch (mediaServerType) { + case MediaServerType.PLEX: + if (admin && admin.plexToken) { + this.plexClient = new PlexAPI({ plexToken: admin.plexToken }); + } else { + logger.error('Plex admin is not configured.'); + } + break; + case MediaServerType.JELLYFIN: + case MediaServerType.EMBY: + if (admin) { + this.jellyfinClient = new JellyfinAPI( + getHostname(), + admin.jellyfinAuthToken, + admin.jellyfinDeviceId + ); - this.jellyfinClient.setUserId(admin.jellyfinUserId ?? ''); - } else { - logger.error('Jellyfin admin is not configured.'); - } - } else { - logger.error('An admin is not configured.'); + this.jellyfinClient.setUserId(admin.jellyfinUserId ?? ''); + + try { + await this.jellyfinClient.getSystemInfo(); + } catch (e) { + logger.error('Sync interrupted.', { + label: 'AvailabilitySync', + status: e.statusCode, + error: e.name, + errorMessage: e.errorCode, + }); + + this.running = false; + return; + } + } else { + logger.error('Jellyfin admin is not configured.'); + + this.running = false; + return; + } + break; + default: + logger.error('An admin is not configured.'); + + this.running = false; + return; } for await (const media of this.loadAvailableMediaPaginated(pageSize)) { From ce02f61c0d3bd4ac16e2e31c0d23b7c3eb18beff Mon Sep 17 00:00:00 2001 From: Fallenbagel <98979876+Fallenbagel@users.noreply.github.com> Date: Sun, 30 Jun 2024 03:37:56 +0500 Subject: [PATCH 03/51] docs: setup docusaurus for documentation (#848) * docs: setup docusaurus for documentation * docs: setup tailwind content for docusaurus * chore: ensure tailwindcss is installed so pages deploy works * docs: add cname to point to docs * ci: override format checking for pnpm-lock in gen-docs folder * docs(gen-docs): readme for docusaurus * chore(gen-docs): remove unnecessary image files * docs: remove installation instructions (moved to docs) * ci: rename docusaurus workflows to a more explicit name * style(gen-docs): custom color for links * docs: add more doc pages * style: gradient menu link bg, proper jellyseerr font & footer bg color * docs: fix proper link to relative pages * style: tab-items also now uses the proper jellyseerr colors * style: use prismTheme shadesOfPurple for codeblock/syntax highlighting * docs: fix broken links * docs: fix broken links * docs: fix broken anchors * chore(gen-docs): local search bar * style(gen-docs): tab colors * docs: reverse-proxy documentation * style(gen-docs): jellyseerr-like cards * docs: rename baremetal to build from source * docs: nixpkg version check component * docs: conditionally render override package derivation block and admonitions * docs: users section of the documentation --- .github/workflows/docs-deploy.yml | 82 + .github/workflows/test-docs-deploy.yml | 51 + .prettierrc.js | 8 + README.md | 209 +- docs/README.md | 23 +- docs/SUMMARY.md | 34 - docs/extending-jellyseerr/_category_.json | 9 + .../reverse-proxy.mdx} | 202 +- docs/extending-overseerr/fail2ban.md | 14 - docs/extending-overseerr/third-party.md | 15 - docs/getting-started/_category_.json | 4 + docs/getting-started/aur.mdx | 39 + docs/getting-started/buildfromsource.mdx | 381 + docs/getting-started/docker.mdx | 189 + docs/getting-started/index.mdx | 10 + docs/getting-started/installation.md | 256 - docs/getting-started/nixpkg.mdx | 225 + docs/support/faq.md | 133 - docs/support/need-help.md | 45 - docs/using-jellyseerr/_category_.json | 9 + .../notifications/discord.md | 10 +- .../notifications/email.md | 23 +- docs/using-jellyseerr/notifications/index.mdx | 25 + .../using-jellyseerr/notifications/webpush.md | 23 + .../using-jellyseerr/settings/_category_.json | 9 + docs/using-jellyseerr/settings/general.md | 75 + docs/using-jellyseerr/settings/jobs&cache.md | 12 + .../using-jellyseerr/settings/mediaserver.mdx | 241 + .../settings/notifications.mdx | 9 + docs/using-jellyseerr/settings/services.md | 75 + docs/using-jellyseerr/settings/users.md | 37 + docs/using-jellyseerr/users/_category_.json | 9 + docs/using-jellyseerr/users/adding-users.mdx | 64 + docs/using-jellyseerr/users/deleting-users.md | 9 + docs/using-jellyseerr/users/editing-users.md | 62 + docs/using-jellyseerr/users/owner.md | 17 + docs/using-overseerr/notifications/README.md | 26 - docs/using-overseerr/notifications/gotify.md | 15 - docs/using-overseerr/notifications/lunasea.md | 17 - .../notifications/pushbullet.md | 17 - .../using-overseerr/notifications/pushover.md | 21 - docs/using-overseerr/notifications/slack.md | 11 - .../using-overseerr/notifications/telegram.md | 33 - .../using-overseerr/notifications/webhooks.md | 132 - docs/using-overseerr/notifications/webpush.md | 17 - docs/using-overseerr/settings/README.md | 221 - docs/using-overseerr/users/README.md | 79 - gen-docs/.gitignore | 20 + gen-docs/README.md | 25 + gen-docs/babel.config.js | 3 + gen-docs/docusaurus.config.ts | 115 + gen-docs/package.json | 52 + gen-docs/pnpm-lock.yaml | 10964 ++++++++++++++++ gen-docs/sidebars.ts | 31 + .../components/JellyseerrVersion/index.tsx | 67 + gen-docs/src/css/custom.css | 106 + gen-docs/static/.nojekyll | 0 gen-docs/static/CNAME | 1 + gen-docs/static/img/favicon.ico | Bin 0 -> 15406 bytes gen-docs/static/img/logo.svg | 185 + gen-docs/tailwind.config.js | 7 + gen-docs/tsconfig.json | 7 + 62 files changed, 13421 insertions(+), 1389 deletions(-) create mode 100644 .github/workflows/docs-deploy.yml create mode 100644 .github/workflows/test-docs-deploy.yml delete mode 100644 docs/SUMMARY.md create mode 100644 docs/extending-jellyseerr/_category_.json rename docs/{extending-overseerr/reverse-proxy.md => extending-jellyseerr/reverse-proxy.mdx} (62%) delete mode 100644 docs/extending-overseerr/fail2ban.md delete mode 100644 docs/extending-overseerr/third-party.md create mode 100644 docs/getting-started/_category_.json create mode 100644 docs/getting-started/aur.mdx create mode 100644 docs/getting-started/buildfromsource.mdx create mode 100644 docs/getting-started/docker.mdx create mode 100644 docs/getting-started/index.mdx delete mode 100644 docs/getting-started/installation.md create mode 100644 docs/getting-started/nixpkg.mdx delete mode 100644 docs/support/faq.md delete mode 100644 docs/support/need-help.md create mode 100644 docs/using-jellyseerr/_category_.json rename docs/{using-overseerr => using-jellyseerr}/notifications/discord.md (88%) rename docs/{using-overseerr => using-jellyseerr}/notifications/email.md (71%) create mode 100644 docs/using-jellyseerr/notifications/index.mdx create mode 100644 docs/using-jellyseerr/notifications/webpush.md create mode 100644 docs/using-jellyseerr/settings/_category_.json create mode 100644 docs/using-jellyseerr/settings/general.md create mode 100644 docs/using-jellyseerr/settings/jobs&cache.md create mode 100644 docs/using-jellyseerr/settings/mediaserver.mdx create mode 100644 docs/using-jellyseerr/settings/notifications.mdx create mode 100644 docs/using-jellyseerr/settings/services.md create mode 100644 docs/using-jellyseerr/settings/users.md create mode 100644 docs/using-jellyseerr/users/_category_.json create mode 100644 docs/using-jellyseerr/users/adding-users.mdx create mode 100644 docs/using-jellyseerr/users/deleting-users.md create mode 100644 docs/using-jellyseerr/users/editing-users.md create mode 100644 docs/using-jellyseerr/users/owner.md delete mode 100644 docs/using-overseerr/notifications/README.md delete mode 100644 docs/using-overseerr/notifications/gotify.md delete mode 100644 docs/using-overseerr/notifications/lunasea.md delete mode 100644 docs/using-overseerr/notifications/pushbullet.md delete mode 100644 docs/using-overseerr/notifications/pushover.md delete mode 100644 docs/using-overseerr/notifications/slack.md delete mode 100644 docs/using-overseerr/notifications/telegram.md delete mode 100644 docs/using-overseerr/notifications/webhooks.md delete mode 100644 docs/using-overseerr/notifications/webpush.md delete mode 100644 docs/using-overseerr/settings/README.md delete mode 100644 docs/using-overseerr/users/README.md create mode 100644 gen-docs/.gitignore create mode 100644 gen-docs/README.md create mode 100644 gen-docs/babel.config.js create mode 100644 gen-docs/docusaurus.config.ts create mode 100644 gen-docs/package.json create mode 100644 gen-docs/pnpm-lock.yaml create mode 100644 gen-docs/sidebars.ts create mode 100644 gen-docs/src/components/JellyseerrVersion/index.tsx create mode 100644 gen-docs/src/css/custom.css create mode 100644 gen-docs/static/.nojekyll create mode 100644 gen-docs/static/CNAME create mode 100644 gen-docs/static/img/favicon.ico create mode 100644 gen-docs/static/img/logo.svg create mode 100644 gen-docs/tailwind.config.js create mode 100644 gen-docs/tsconfig.json diff --git a/.github/workflows/docs-deploy.yml b/.github/workflows/docs-deploy.yml new file mode 100644 index 00000000..ed4438be --- /dev/null +++ b/.github/workflows/docs-deploy.yml @@ -0,0 +1,82 @@ +name: Deploy to GitHub Pages + +on: + push: + branches: + - develop + paths: + - 'docs/**' + - 'gen-docs/**' + +jobs: + build: + name: Build Docusaurus + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + + - name: Pnpm Setup + uses: pnpm/action-setup@v4 + with: + version: 9 + + - name: Get pnpm store directory + shell: sh + run: | + echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV + + - name: Setup pnpm cache + uses: actions/cache@v4 + with: + path: ${{ env.STORE_PATH }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm-store- + + - name: Install dependencies + run: | + cd gen-docs + pnpm install --frozen-lockfile + + - name: Build website + run: | + cd gen-docs + pnpm build + + - name: Upload Build Artifact + uses: actions/upload-pages-artifact@v3 + with: + path: gen-docs/build + + deploy: + name: Deploy to GitHub Pages + needs: build + + # Grant GITHUB_TOKEN the permissions required to make a Pages deployment + permissions: + pages: write # to deploy to Pages + id-token: write # to verify the deployment originates from an appropriate source + + # Deploy to the github-pages environment + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + runs-on: ubuntu-latest + steps: + - name: Download Build Artifact + uses: actions/download-artifact@v2 + with: + name: docusaurus-build + path: gen-docs/build + + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/.github/workflows/test-docs-deploy.yml b/.github/workflows/test-docs-deploy.yml new file mode 100644 index 00000000..bba30545 --- /dev/null +++ b/.github/workflows/test-docs-deploy.yml @@ -0,0 +1,51 @@ +name: Test Docs deployment + +on: + pull_request: + branches: + - develop + path: + - 'docs/**' + - 'gen-docs/**' + +jobs: + test-deploy: + name: Test deployment + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + + - name: Pnpm Setup + uses: pnpm/action-setup@v4 + with: + version: 9 + + - name: Get pnpm store directory + shell: sh + run: | + echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV + + - name: Setup pnpm cache + uses: actions/cache@v4 + with: + path: ${{ env.STORE_PATH }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm-store- + + - name: Install dependencies + run: | + cd gen-docs + pnpm install --frozen-lockfile + + - name: Build website + run: | + cd gen-docs + pnpm build diff --git a/.prettierrc.js b/.prettierrc.js index c735fffa..9cd04520 100644 --- a/.prettierrc.js +++ b/.prettierrc.js @@ -2,4 +2,12 @@ module.exports = { plugins: [require('./merged-prettier-plugin.js')], singleQuote: true, trailingComma: 'es5', + overrides: [ + { + files: 'gen-docs/pnpm-lock.yaml', + options: { + rangeEnd: 0, // default: Infinity + }, + }, + ], }; diff --git a/README.md b/README.md index 6a7bff7b..1bf63bb1 100644 --- a/README.md +++ b/README.md @@ -17,12 +17,8 @@ **Jellyseerr** is a free and open source software application for managing requests for your media library. It is a fork of [Overseerr](https://github.com/sct/overseerr) built to bring support for [Jellyfin](https://github.com/jellyfin/jellyfin) & [Emby](https://github.com/MediaBrowser/Emby) media servers! -_The original Overseerr team have been busy and Jellyfin/Emby support aren't on their roadmap, so we started this project as we wanted to bring the Overseerr experience to the Jellyfin/Emby Community!_ - ## Current Features - - - Full Jellyfin/Emby/Plex integration including authentication with user import & management - Supports Movies, Shows and Mixed Libraries - Ability to change email addresses for smtp purposes @@ -40,209 +36,15 @@ With more features on the way! Check out our [issue tracker](https://github.com/ ## Getting Started -### Launching Jellyseerr using Docker (Recommended) - -Check out our docker hub for instructions on how to install and run Jellyseerr: -https://hub.docker.com/r/fallenbagel/jellyseerr - -### Building latest version from source (ADVANCED): - -#### Windows - -Pre-requisites: - -- Nodejs [v18](https://nodejs.org/download/release/v18.18.2) -- [Yarn](https://classic.yarnpkg.com/lang/en/docs/install) -- Download/git clone the source code from the github (Either develop branch or main for stable) - -```cmd -npm i -g win-node-env -set CYPRESS_INSTALL_BINARY=0 -yarn install --frozen-lockfile --network-timeout 1000000 -yarn run build -yarn start -``` - -(You can use task scheduler to run a bat script with `@echo off` and `yarn start` to run jellyseerr in the background) -(You can also use nssm to run jellyseerr as a service, see [nssm](https://nssm.cc/usage) for more information) - -_To set env variables such as `JELLYFIN_TYPE=emby` create a file called `.env` in the root directory of jellyseerr_ - -#### Linux - -**Pre-requisites:** - -- Nodejs [v18](https://nodejs.org/en/download/package-manager) -- [Yarn](https://classic.yarnpkg.com/lang/en/docs/install) (on Debian based distros, the package manager provided `yarn` is different and is a package called cmdlet. You can remove that using `apt-remove cmdlet` then install yarn using `npm install -g yarn`) -- Git - -**Steps:** - -1. Assuming you want the root folder for the jellyseerr source code to be cloned to `/opt` - -```bash -cd /opt -``` - -2. Then execute the following commands to clone and checkout to the stable version - -```bash -git clone https://github.com/Fallenbagel/jellyseerr.git && cd jellyseerr -git checkout main -``` - -3. Then install the dependencies and build the dist - -```bash -CYPRESS_INSTALL_BINARY=0 yarn install --frozen-lockfile --network-timeout 1000000 -yarn run build -``` - -4. Now you can start jellyseerr using `yarn start` and opening http://localhost:5055 in your browser. - -5. If you want to run jellyseerr as a _Systemd-service:_ - -- assuming jellyseerr was cloned to `/opt/` -- first create the environment file at `/etc/jellyseerr/jellyseerr.conf` - -Environment file: - -``` -# Jellyseerr's default port is 5055, if you want to use both, change this. -# specify on which port to listen -PORT=5055 - -# specify on which interface to listen, by default jellyseerr listens on all interfaces -#HOST=127.0.0.1 - -# Uncomment if your media server is emby instead of jellyfin. -# JELLYFIN_TYPE=emby -``` - -- Then run the command `which node` to find your node path (assuming it's at `/usr/bin/node`) -- Then create the service file using `sudo systemctl edit jellyseerr.service` or creating and editing a file at `/etc/systemd/system/jellyseerr.service` - -Service file contents: - -``` -[Unit] -Description=Jellyseerr Service -Wants=network-online.target -After=network-online.target - -[Service] -EnvironmentFile=/etc/jellyseerr/jellyseerr.conf -Environment=NODE_ENV=production -Type=exec -Restart=on-failure -WorkingDirectory=/opt/jellyseerr -ExecStart=/usr/bin/node dist/index.js - -[Install] -WantedBy=multi-user.target -``` - -### Building develop branch from source (ADVANCED): - -#### Windows - -Pre-requisites: - -- Nodejs [v20](https://nodejs.org/en/download) -- Pnpm [v9](https://pnpm.io/installation) -- Download/git clone the source code from the github (Either develop branch or main for stable) - -```cmd -npm i -g win-node-env -set CYPRESS_INSTALL_BINARY=0 -pnpm install --frozen-lockfile -pnpm run build -pnpm start -``` - -(You can use task scheduler to run a bat script with `@echo off` and `pnpm start` to run jellyseerr in the background) -(You can also use nssm to run jellyseerr as a service, see [nssm](https://nssm.cc/usage) for more information) - -_To set env variables such as `JELLYFIN_TYPE=emby` create a file called `.env` in the root directory of jellyseerr_ - -#### Linux - -**Pre-requisites:** - -- Nodejs [v20](https://nodejs.org/en/download) -- Pnpm [v9](https://pnpm.io/installation) -- Git - -**Steps:** - -1. Assuming you want the root folder for the jellyseerr source code to be cloned to `/opt` - -```bash -cd /opt -``` - -2. Then execute the following commands to clone and checkout to the stable version - -```bash -git clone https://github.com/Fallenbagel/jellyseerr.git && cd jellyseerr -git checkout main -``` - -3. Then install the dependencies and build the dist - -```bash -CYPRESS_INSTALL_BINARY=0 pnpm install --frozen-lockfile -pnpm build -``` - -4. Now you can start jellyseerr using `pnpm start` and opening http://localhost:5055 in your browser. - -5. If you want to run jellyseerr as a _Systemd-service:_ - -- assuming jellyseerr was cloned to `/opt/` -- first create the environment file at `/etc/jellyseerr/jellyseerr.conf` - -Environment file: - -``` -# Jellyseerr's default port is 5055, if you want to use both, change this. -# specify on which port to listen -PORT=5055 - -# specify on which interface to listen, by default jellyseerr listens on all interfaces -#HOST=127.0.0.1 - -# Uncomment if your media server is emby instead of jellyfin. -# JELLYFIN_TYPE=emby -``` - -- Then run the command `which node` to find your node path (assuming it's at `/usr/bin/node`) -- Then create the service file using `sudo systemctl edit jellyseerr.service` or creating and editing a file at `/etc/systemd/system/jellyseerr.service` - -Service file contents: - -``` -[Unit] -Description=Jellyseerr Service -Wants=network-online.target -After=network-online.target - -[Service] -EnvironmentFile=/etc/jellyseerr/jellyseerr.conf -Environment=NODE_ENV=production -Type=exec -Restart=on-failure -WorkingDirectory=/opt/jellyseerr -ExecStart=/usr/bin/node dist/index.js - -[Install] -WantedBy=multi-user.target -``` +Check out our documentation for instructions on how to install and run Jellyseerr: +https://docs.jellyseerr.dev/getting-started/ ### Packages: Archlinux: [AUR](https://aur.archlinux.org/packages/jellyseerr) -Nixpkg: [Nixpkg](https://search.nixos.org/packages?channel=unstable&show=jellyseerr) + +Nix: [Nixpkg](https://search.nixos.org/packages?channel=unstable&show=jellyseerr) + ~Snap: [Snap](https://snapcraft.io/jellyseerr)~(Deprecated) ## Preview @@ -251,6 +53,7 @@ Nixpkg: [Nixpkg](https://search.nixos.org/packages?channel=unstable&show=jellyse ## Support +- Check out the [Jellyseerr Documentation](https://docs.jellyseerr.dev) before asking for help. Your question might already be in the docs! - You can get support on [Discord](https://discord.gg/ckbvBtDJgC). - You can ask questions in the Help category of our [GitHub Discussions](https://github.com/fallenbagel/jellyseerr/discussions). - Bug reports and feature requests can be submitted via [GitHub Issues](https://github.com/fallenbagel/jellyseerr/issues). diff --git a/docs/README.md b/docs/README.md index 4a2c846a..a441434d 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,24 +1,37 @@ +--- +slug: / +sidebar_position: 1 +--- + # Introduction -Welcome to the Overseerr Documentation. +Welcome to the Jellyseerr Documentation. ## Features -- **Full Plex integration**. Login and manage user access with Plex. -- **Syncs to your Plex library** to show what titles you already have. +- **Full Jellyfin/Emby/Plex integration**. Login and manage user access with Jellyfin/Emby/Plex. +- **Syncs to your Jellyfin/Emby/Plex library** to show what titles you already have. - **Integrates with Sonarr and Radarr**. With more services to come in the future. - **Easy to use request system** allowing users to request individual seasons or movies in a friendly, clean UI. - **Simple request management UI**. Don't dig through the app to approve recent requests. - **Mobile-friendly design**, for when you need to approve requests on the go. - Granular permission system. - Localization into other languages. +- More features to come! ## Motivation -The primary motivation for starting this project was to have an incredibly performant and easy to use application. There is a heavy focus on the user experience for both the server owner and the users. We feel requesting should be **effortless for the user**. Find the media you want, click request, and branch off efficiently into other titles that interest you, all in one seamless flow. For the server owner, Overseerr takes all the hassle out of approving your users' requests. +The primary motivation for starting this project was to add support for Jellyfin and Emby to Overseerr. As Overseerr is an incredibly performant and easy-to-use application, we wanted to bring that same experience to Jellyfin and Emby users. Thus, **Jellyseerr** was born. + +This application is designed to be a **one-stop-shop** for all your media requests. It is designed to be a **simple, easy-to-use** application that allows users to request media to be added to your Jellyfin/Emby/Plex server. ## We need your help! -Overseerr is an ambitious project. We have already poured a lot of work into this, and have a lot more to do. We need your valuable feedback and help to find and fix bugs. Also, with Overseerr being an open-source project, anyone is welcome to contribute. Contribution includes building new features, patching bugs, translating the application, or even just writing documentation. +[Jellyseerr](https://github.com/Fallenbagel/jellyseerr) is a fork of Overseerr, with a heavy focus on Jellyfin and Emby integration. +[Overseerr](https://github.com/sct/overseerr) is an ambitious project where the original developers/contributors have already poured a lot of work into, and we wanted to build on top of that. + +We also have poured a lot of work into this project, and we have a lot more to do as well. We need your valuable feedback and help to find and fix bugs. Also, with Jellyseerr being an open-source project, anyone is welcome to contribute. We also encourage you to contribute to Overseerr as well. + +Contribution includes building new features, patching bugs, translating the application, or even just writing documentation. If you would like to contribute, please be sure to review our [contribution guidelines](https://github.com/fallenbagel/jellyseerr/blob/develop/CONTRIBUTING.md). diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md deleted file mode 100644 index a10d7e71..00000000 --- a/docs/SUMMARY.md +++ /dev/null @@ -1,34 +0,0 @@ -# Table of Contents - -- [Introduction](README.md) - -## Getting Started - -- [Installation](getting-started/installation.md) - -## Using Overseerr - -- [Settings](using-overseerr/settings/README.md) -- [Users](using-overseerr/users/README.md) -- [Notifications](using-overseerr/notifications/README.md) - - [Email](using-overseerr/notifications/email.md) - - [Web Push](using-overseerr/notifications/webpush.md) - - [Discord](using-overseerr/notifications/discord.md) - - [Gotify](using-overseerr/notifications/gotify.md) - - [LunaSea](using-overseerr/notifications/lunasea.md) - - [Pushbullet](using-overseerr/notifications/pushbullet.md) - - [Pushover](using-overseerr/notifications/pushover.md) - - [Slack](using-overseerr/notifications/slack.md) - - [Telegram](using-overseerr/notifications/telegram.md) - - [Webhook](using-overseerr/notifications/webhooks.md) - -## Support - -- [Frequently Asked Questions (FAQ)](support/faq.md) -- [Need Help?](support/need-help.md) - -## Extending Overseerr - -- [Reverse Proxy](extending-overseerr/reverse-proxy.md) -- [Fail2ban](extending-overseerr/fail2ban.md) -- [Third-Party Integrations](extending-overseerr/third-party.md) diff --git a/docs/extending-jellyseerr/_category_.json b/docs/extending-jellyseerr/_category_.json new file mode 100644 index 00000000..b09b118e --- /dev/null +++ b/docs/extending-jellyseerr/_category_.json @@ -0,0 +1,9 @@ +{ + "label": "Extending Jellyseerr", + "position": 3, + "link": { + "type": "generated-index", + "title": "Extending Jellyseerr", + "description": "Extend Jellyseerr to your liking" + } +} diff --git a/docs/extending-overseerr/reverse-proxy.md b/docs/extending-jellyseerr/reverse-proxy.mdx similarity index 62% rename from docs/extending-overseerr/reverse-proxy.md rename to docs/extending-jellyseerr/reverse-proxy.mdx index 84752f7c..bdb84a7d 100644 --- a/docs/extending-overseerr/reverse-proxy.md +++ b/docs/extending-jellyseerr/reverse-proxy.mdx @@ -1,87 +1,39 @@ +--- +title: Reverse Proxy +description: Configure a reverse proxy for Jellyseerr. +sidebar_position: 1 +--- + # Reverse Proxy -{% hint style="warning" %} -Base URLs cannot be configured in Overseerr. With this limitation, only subdomain configurations are supported. +:::warning +Base URLs cannot be configured in Jellyseerr. With this limitation, only subdomain configurations are supported. A Nginx subfolder workaround configuration is provided below, but it is not officially supported. -{% endhint %} +::: ## Nginx -{% tabs %} -{% tab title="SWAG" %} +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; -A sample proxy configuration is included in [SWAG (Secure Web Application Gateway)](https://github.com/linuxserver/docker-swag). - -However, this page is still the only source of truth, so the SWAG sample configuration is not guaranteed to be up-to-date. If you find an inconsistency, please [report it to the LinuxServer team](https://github.com/linuxserver/reverse-proxy-confs/issues/new) or [submit a pull request to update it](https://github.com/linuxserver/reverse-proxy-confs/pulls). - -To use the bundled configuration file, simply rename `overseerr.subdomain.conf.sample` in the `proxy-confs` folder to `overseerr.subdomain.conf`. - -Alternatively, you can create a new file `overseerr.subdomain.conf` in `proxy-confs` with the following configuration: - -```nginx -server { - listen 443 ssl http2; - listen [::]:443 ssl http2; - - server_name overseerr.*; - - include /config/nginx/ssl.conf; - - client_max_body_size 0; - - location / { - include /config/nginx/proxy.conf; - resolver 127.0.0.11 valid=30s; - set $upstream_app overseerr; - set $upstream_port 5055; - set $upstream_proto http; - proxy_pass $upstream_proto://$upstream_app:$upstream_port; - } - -} -``` - -{% endtab %} - -{% tab title="Nginx Proxy Manager" %} - -Add a new proxy host with the following settings: - -### Details - -- **Domain Names:** Your desired external Overseerr hostname; e.g., `overseerr.example.com` -- **Scheme:** `http` -- **Forward Hostname / IP:** Internal Overseerr hostname or IP -- **Forward Port:** `5055` -- **Cache Assets:** yes -- **Block Common Exploits:** yes - -### SSL - -- **SSL Certificate:** Select one of the options; if you are not sure, pick “Request a new SSL Certificate” -- **Force SSL:** yes -- **HTTP/2 Support:** yes - -{% endtab %} - -{% tab title="Subdomain" %} - -Add the following configuration to a new file `/etc/nginx/sites-available/overseerr.example.com.conf`: + + +Add the following configuration to a new file `/etc/nginx/sites-available/jellyseerr.example.com.conf`: ```nginx server { listen 80; - server_name overseerr.example.com; + server_name jellyseerr.example.com; return 301 https://$server_name$request_uri; } server { listen 443 ssl http2; - server_name overseerr.example.com; + server_name jellyseerr.example.com; - ssl_certificate /etc/letsencrypt/live/overseerr.example.com/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/overseerr.example.com/privkey.pem; + ssl_certificate /etc/letsencrypt/live/jellyseerr.example.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/jellyseerr.example.com/privkey.pem; proxy_set_header Referer $http_referer; proxy_set_header Host $host; @@ -103,27 +55,27 @@ server { Then, create a symlink to `/etc/nginx/sites-enabled`: ```bash -sudo ln -s /etc/nginx/sites-available/overseerr.example.com.conf /etc/nginx/sites-enabled/overseerr.example.com.conf +sudo ln -s /etc/nginx/sites-available/jellyseerr.example.com.conf /etc/nginx/sites-enabled/jellyseerr.example.com.conf ``` -{% endtab %} + -{% tab title="Subfolder" %} + -{% hint style="warning" %} +:::warning This Nginx subfolder reverse proxy is an unsupported workaround, and only provided as an example. The filters may stop working when Overseerr is updated. If you encounter any issues with Overseerr while using this workaround, we may ask you to try to reproduce the problem without the Nginx proxy. -{% endhint %} +::: Add the following location block to your existing `nginx.conf` file. ```nginx -location ^~ /overseerr { - set $app 'overseerr'; +location ^~ /jellyseerr { + set $app 'jellyseerr'; - # Remove /overseerr path to pass to the app - rewrite ^/overseerr/?(.*)$ /$1 break; + # Remove /jellyseerr path to pass to the app + rewrite ^/jellyseerr/?(.*)$ /$1 break; proxy_pass http://127.0.0.1:5055; # NO TRAILING SLASH # Redirect location headers @@ -151,23 +103,105 @@ location ^~ /overseerr { } ``` -{% endtab %} -{% endtabs %} + + + + +A sample proxy configuration is included in [SWAG (Secure Web Application Gateway)](https://github.com/linuxserver/docker-swag). + +However, this page is still the only source of truth, so the SWAG sample configuration is not guaranteed to be up-to-date. If you find an inconsistency, please [report it to the LinuxServer team](https://github.com/linuxserver/reverse-proxy-confs/issues/new) or [submit a pull request to update it](https://github.com/linuxserver/reverse-proxy-confs/pulls). + +To use the bundled configuration file, simply rename `jellyseerr.subdomain.conf.sample` in the `proxy-confs` folder to `jellyseerr.subdomain.conf`. + +Alternatively, you can create a new file `jellyseerr.subdomain.conf` in `proxy-confs` with the following configuration: + +```nginx +server { + listen 443 ssl http2; + listen [::]:443 ssl http2; + + server_name jellyseerr.*; + + include /config/nginx/ssl.conf; + + client_max_body_size 0; + + location / { + include /config/nginx/proxy.conf; + resolver 127.0.0.11 valid=30s; + set $upstream_app jellyseerr; + set $upstream_port 5055; + set $upstream_proto http; + proxy_pass $upstream_proto://$upstream_app:$upstream_port; + } + +} +``` + + + + + +Add a new proxy host with the following settings: + +### Details + +- **Domain Names:** Your desired external Overseerr hostname; e.g., `overseerr.example.com` +- **Scheme:** `http` +- **Forward Hostname / IP:** Internal Overseerr hostname or IP +- **Forward Port:** `5055` +- **Cache Assets:** yes +- **Block Common Exploits:** yes + +### SSL + +- **SSL Certificate:** Select one of the options; if you are not sure, pick “Request a new SSL Certificate” +- **Force SSL:** yes +- **HTTP/2 Support:** yes + +Then, click “Save” and “Apply Changes”. + + + + + +## Caddy (v2) + +Create a Caddyfile with the following content: + +```caddyfile +jellyseerr.example.com { + reverse_proxy http://127.0.0.1:5055 +} +``` + +Deploy the Caddyfile by running: + +```bash + +sudo caddy run --config /path/to/Caddyfile +``` + +Verify by visiting https://jellyseerr.example.com in your browser. + +:::note +Caddy will automatically obtain and renew SSL certificates for your domain. +::: ## Traefik (v2) Add the following labels to the Overseerr service in your `docker-compose.yml` file: -```text +```yaml labels: - - "traefik.enable=true" + - 'traefik.enable=true' ## HTTP Routers - - "traefik.http.routers.overseerr-rtr.entrypoints=https" - - "traefik.http.routers.overseerr-rtr.rule=Host(`overseerr.domain.com`)" - - "traefik.http.routers.overseerr-rtr.tls=true" + - 'traefik.http.routers.overseerr-rtr.entrypoints=https' + - 'traefik.http.routers.overseerr-rtr.rule=Host(`overseerr.domain.com`)' + - 'traefik.http.routers.overseerr-rtr.tls=true' ## HTTP Services - - "traefik.http.routers.overseerr-rtr.service=overseerr-svc" - - "traefik.http.services.overseerr-svc.loadbalancer.server.port=5055" + - 'traefik.http.routers.overseerr-rtr.service=overseerr-svc' + - 'traefik.http.services.overseerr-svc.loadbalancer.server.port=5055' ``` For more information, please refer to the [Traefik documentation](https://doc.traefik.io/traefik/user-guides/docker-compose/basic-example/). diff --git a/docs/extending-overseerr/fail2ban.md b/docs/extending-overseerr/fail2ban.md deleted file mode 100644 index 4f2b1c59..00000000 --- a/docs/extending-overseerr/fail2ban.md +++ /dev/null @@ -1,14 +0,0 @@ -# Fail2ban Filter - -{% hint style="warning" %} -If you are running Overseerr behind a reverse proxy, make sure that the **Enable Proxy Support** setting is **enabled**. -{% endhint %} - -To use Fail2ban with Overseerr, create a new file named `overseerr.local` in your Fail2ban `filter.d` directory with the following filter definition: - -``` -[Definition] -failregex = .*\[warn\]\[API\]\: Failed sign-in attempt.*"ip":"" -``` - -You can then add a jail using this filter in `jail.local`. Please see the [Fail2ban documentation](https://www.fail2ban.org/wiki/index.php/MANUAL_0_8#Jails) for details on how to configure the jail. diff --git a/docs/extending-overseerr/third-party.md b/docs/extending-overseerr/third-party.md deleted file mode 100644 index e1bacfc6..00000000 --- a/docs/extending-overseerr/third-party.md +++ /dev/null @@ -1,15 +0,0 @@ -# Third-Party Integrations - -{% hint style="warning" %} -**We do not officially support these third-party integrations.** If you run into any issues, please seek help on the appropriate support channels for the integration itself! -{% endhint %} - -- [Organizr](https://organizr.app/), a HTPC/homelab services organizer -- [Heimdall](https://github.com/linuxserver/Heimdall), an application dashboard and launcher -- [LunaSea](https://docs.lunasea.app/modules/overseerr), a self-hosted controller for mobile and macOS -- [Requestrr](https://github.com/darkalfx/requestrr/wiki/Configuring-Overseerr), a Discord chatbot -- [Doplarr](https://github.com/kiranshila/Doplarr), a Discord request bot -- [Overseerr Assistant](https://github.com/RemiRigal/Overseerr-Assistant), a browser extension for requesting directly from TMDB and IMDb -- [ha-overseerr](https://github.com/vaparr/ha-overseerr), a custom Home Assistant component -- [OverCLIrr](https://github.com/WillFantom/OverCLIrr), a command-line tool -- [Overseerr Exporter](https://github.com/WillFantom/overseerr-exporter), a Prometheus exporter diff --git a/docs/getting-started/_category_.json b/docs/getting-started/_category_.json new file mode 100644 index 00000000..877a378f --- /dev/null +++ b/docs/getting-started/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Getting Started", + "position": 2 +} diff --git a/docs/getting-started/aur.mdx b/docs/getting-started/aur.mdx new file mode 100644 index 00000000..1ee49eb0 --- /dev/null +++ b/docs/getting-started/aur.mdx @@ -0,0 +1,39 @@ +--- +title: AUR (Arch User Repository) +description: Install Jellyseerr using the Arch User Repository +sidebar_position: 4 +--- + +# AUR (Arch User Repository) + +:::info +This method is not recommended for most users. It is intended for advanced users who are using Arch Linux or an Arch-based distribution. +::: + +## Installation + +To install Jellyseerr from the AUR, you can use an AUR helper like `yay` or `paru`: + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + + + ```bash + yay -S jellyseerr + ``` + + + ```bash + paru -S jellyseerr + ``` + + + +:::info +After installing Jellyseerr, configure it by visiting the web UI at `http://[address]:5055` and completing the setup steps. +::: + +:::tip +You can find the environment file at `/etc/conf.d/jellyseerr` and the service file at `/etc/systemd/system/jellyseerr.service`. +::: diff --git a/docs/getting-started/buildfromsource.mdx b/docs/getting-started/buildfromsource.mdx new file mode 100644 index 00000000..d0d470b0 --- /dev/null +++ b/docs/getting-started/buildfromsource.mdx @@ -0,0 +1,381 @@ +--- +title: Build From Source (Advanced) +description: Install Jellyseerr by building from source +sidebar_position: 2 +--- +# Build from Source (Advanced) +:::warning +This method is not recommended for most users. It is intended for advanced users who are familiar with managing their own server infrastructure. +::: + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +### Prerequisites + + + - [Node.js 18.x](https://nodejs.org/en/download/) + - [Yarn 1.x](https://classic.yarnpkg.com/lang/en/docs/install) + - [Git](https://git-scm.com/downloads) + + + + - [Node.js 20.x](https://nodejs.org/en/download/) + - [Pnpm 9.x](https://pnpm.io/installation) + - [Git](https://git-scm.com/downloads) + + + + +## Unix (Linux, macOS) +### Installation + + +1. Assuming you want the working directory to be `/opt/jellyseerr`, create the directory and navigate to it: +```bash +sudo mkdir -p /opt/jellyseerr && cd /opt/jellyseerr +``` +2. Clone the Jellyseerr repository and checkout the latest release: +```bash +git clone https://github.com/Fallenbagel/jellyseerr.git +cd jellyseerr +git checkout main +``` +3. Install the dependencies: +```bash +CYPRESS_INSTALL_BINARY=0 yarn install --frozen-lockfile --network-timeout 1000000 +``` +4. Build the project: +```bash +yarn build +``` +5. Start Jellyseerr: +```bash +yarn start +``` + + +1. Assuming you want the working directory to be `/opt/jellyseerr`, create the directory and navigate to it: +```bash +sudo mkdir -p /opt/jellyseerr && cd /opt/jellyseerr +``` +2. Clone the Jellyseerr repository and checkout the develop branch: +```bash +git clone https://github.com/Fallenbagel/jellyseerr.git +cd jellyseerr +git checkout develop # by default, you are on the develop branch so this step is not necessary +``` +3. Install the dependencies: +```bash +CYPRESS_INSTALL_BINARY=0 pnpm install --frozen-lockfile +``` +4. Build the project: +```bash +pnpm build +``` +5. Start Jellyseerr: +```bash +pnpm start +``` + + + +:::info +You can now access Jellyseerr by visiting `http://localhost:5055` in your web browser. +::: + +#### Extending the installation + + +To run jellyseerr as a systemd service: +1. create the environment file at `/etc/jellyseerr/jellyseerr.conf`: +```bash +## Jellyseerr's default port is 5055, if you want to use both, change this. +## specify on which port to listen +PORT=5055 + +## specify on which interface to listen, by default jellyseerr listens on all interfaces +#HOST=127.0.0.1 + +## Uncomment if your media server is emby instead of jellyfin. +# JELLYFIN_TYPE=emby +``` +2. Then run the following commands: +```bash +which node +``` +Copy the path to node, it should be something like `/usr/bin/node`. + +3. Create the systemd service file at `/etc/systemd/system/jellyseerr.service`, using either `sudo systemctl edit jellyseerr` or `sudo nano /etc/systemd/system/jellyseerr.service`: +```bash +[Unit] +Description=Jellyseerr Service +Wants=network-online.target +After=network-online.target + +[Service] +EnvironmentFile=/etc/jellyseerr/jellyseerr.conf +Environment=NODE_ENV=production +Type=exec +Restart=on-failure +WorkingDirectory=/opt/jellyseerr +ExecStart=/usr/bin/node dist/index.js + +[Install] +WantedBy=multi-user.target +``` +:::note +If you are using a different path to node, replace `/usr/bin/node` with the path to node. +::: + +4. Enable and start the service: +```bash +sudo systemctl enable jellyseerr +sudo systemctl start jellyseerr +``` + + +To run jellyseerr as a launchd service: +1. Find the path to node: +```bash +which node +``` +Copy the path to node, it should be something like `/usr/local/bin/node`. + +2. Create a launchd plist file at `~/Library/LaunchAgents/com.jellyseerr.plist`: +```xml + + + + + Label + com.jellyseerr + ProgramArguments + + /usr/local/bin/node + /opt/jellyseerr/dist/index.js + + WorkingDirectory + /opt/jellyseerr + EnvironmentVariables + + NODE_ENV + production + PORT + 5055 + + RunAtLoad + + KeepAlive + + + +``` +:::note +If you are using a different path to node, replace `/usr/local/bin/node` with the path to node. +::: +3. Load the service: +```bash +sudo launchctl load ~/Library/LaunchAgents/com.jellyseerr.plist +``` +3. Start the service: +```bash +sudo launchctl start com.jellyseerr +``` +4. To ensure the service starts on boot, run the following command: +```bash +sudo lauchctl load +``` + + +To run jellyseerr as a PM2 service: +1. Install PM2: +```bash +npm install -g pm2 +``` +2. Start jellyseerr with PM2: +```bash +pm2 start dist/index.js --name jellyseerr --node-args="--NODE_ENV=production" +``` +3. Save the process list: +```bash +pm2 save +``` +4. Ensure PM2 starts on boot: +```bash +pm2 startup +``` +**Managing the service** +- To start the service: +```powershell +pm2 start jellyseerr +``` +- To stop the service: +```powershell +pm2 stop jellyseerr +``` +- To restart the service: +```powershell +pm2 restart jellyseerr +``` +- To view the logs: +```powershell +pm2 logs jellyseerr +``` +- To view the status: +```powershell +pm2 status jellyseerr +``` + + + +## Windows +### Installation + + +1. Assuming you want the working directory to be `C:\jellyseerr`, create the directory and navigate to it: +```powershell +mkdir C:\jellyseerr +cd C:\jellyseerr +``` +2. Clone the Jellyseerr repository and checkout the latest release: +```powershell +git clone https://github.com/Fallenbagel/jellyseerr.git . +git checkout main +``` +3. Install the dependencies: +```powershell +set CYPRESS_INSTALL_BINARY=0 && yarn install --frozen-lockfile --network-timeout 1000000 +``` +4. Build the project: +```powershell +yarn build +``` +5. Start Jellyseerr: +```powershell +yarn start +``` + + +1. Assuming you want the working directory to be `C:\jellyseerr`, create the directory and navigate to it: +```powershell +mkdir C:\jellyseerr +cd C:\jellyseerr +``` +2. Clone the Jellyseerr repository and checkout the develop branch: +```powershell +git clone https://github.com/Fallenbagel/jellyseerr.git . +git checkout develop # by default, you are on the develop branch so this step is not necessary +``` +3. Install the dependencies: +```powershell +set CYPRESS_INSTALL_BINARY=0 && pnpm install --frozen-lockfile +``` +4. Build the project: +```powershell +pnpm build +``` +5. Start Jellyseerr: +```powershell +pnpm start +``` + + + +:::tip +You can add the environment variables to a `.env` file in the Jellyseerr directory. +::: + +:::info +You can now access Jellyseerr by visiting `http://localhost:5055` in your web browser. +::: + +#### Extending the installation + + +To run jellyseerr as a bat script: +1. Create a file named `start-jellyseerr.bat` in the jellyseerr directory: +```bat +@echo off +set PORT=5055 +set NODE_ENV=production +node dist/index.js +``` +2. Create a task in Task Scheduler: +- Open Task Scheduler +- Click on "Create Basic Task" +- Name the task "Jellyseerr" +- Set the trigger to "When the computer starts" +- Set the action to "Start a program" +- Set the program/script to the path of the `start-jellyseerr.bat` file +- Click "Finish" + +Now, Jellyseerr will start when the computer boots up in the background. + + + +To run jellyseerr as a service: +1. Download the [Non-Sucking Service Manager](https://nssm.cc/download) +2. Install NSSM: +```powershell +nssm install Jellyseerr "C:\Program Files\nodejs\node.exe" ["C:\jellyseerr\dist\index.js"] +nssm set Jellyseerr AppEnvironmentExtra NODE_ENV=production +``` +3. Start the service: +```powershell +nssm start Jellyseerr +``` +4. To ensure the service starts on boot, run the following command: +```powershell +nssm set Jellyseerr Start SERVICE_AUTO_START +``` + + +To run jellyseerr as a PM2 service: +1. Install PM2: +```powershell +npm install -g pm2 +``` +2. Start jellyseerr with PM2: +```powershell +pm2 start dist/index.js --name jellyseerr --node-args="--NODE_ENV=production" +``` +3. Save the process list: +```powershell +pm2 save +``` +4. Ensure PM2 starts on boot: +```powershell +pm2 startup +``` +##### Managing the service +- To start the service: +```powershell +pm2 start jellyseerr +``` +- To stop the service: +```powershell +pm2 stop jellyseerr +``` +- To restart the service: +```powershell +pm2 restart jellyseerr +``` +- To view the logs: +```powershell +pm2 logs jellyseerr +``` +- To view the status: +```powershell +pm2 status jellyseerr +``` + + + +### Updating +To update Jellyseerr, navigate to the Jellyseerr directory and run the following commands: +```bash +git pull +``` +Then, follow the steps in the installation section to rebuild and restart Jellyseerr. + diff --git a/docs/getting-started/docker.mdx b/docs/getting-started/docker.mdx new file mode 100644 index 00000000..79481625 --- /dev/null +++ b/docs/getting-started/docker.mdx @@ -0,0 +1,189 @@ +--- +title: Docker (Recommended) +description: Install Jellyseerr using Docker +sidebar_position: 1 +--- +# Docker +:::info +This is the recommended method for most users. +Details on how to install Docker can be found on the [official Docker website](https://docs.docker.com/get-docker/). +::: + +## Unix (Linux, macOS) +:::warning +Be sure to replace `/path/to/appdata/config` in the below examples with a valid host directory path. If this volume mount is not configured correctly, your Jellyseerr settings/data will not be persisted when the container is recreated (e.g., when updating the image or rebooting your machine). + + The `TZ` environment variable value should also be set to the [TZ database name](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) of your time zone! + +::: + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + + +For details on the Docker CLI, please [review the official `docker run` documentation](https://docs.docker.com/engine/reference/run/). + +#### Installation: + +```bash +docker run -d \ + --name jellyseerr \ + -e LOG_LEVEL=debug \ + -e TZ=Asia/Tashkent \ + -e PORT=5055 `#optional` \ + -p 5055:5055 \ + -v /path/to/appdata/config:/app/config \ + --restart unless-stopped \ + fallenbagel/jellyseerr +``` + +To run the container as a specific user/group, you may optionally add `--user=[ user | user:group | uid | uid:gid | user:gid | uid:group ]` to the above command. + +#### Updating: + +Stop and remove the existing container: +```bash +docker stop jellyseerr && docker rm Jellyseerr +``` +Pull the latest image: +```bash +docker pull fallenbagel/jellyseerr +``` +Finally, run the container with the same parameters originally used to create the container: +```bash +docker run -d ... +``` + +:::tip +You may alternatively use a third-party updating mechanism, such as [Watchtower](https://github.com/containrrr/watchtower) or [Ouroboros](https://github.com/pyouroboros/ouroboros), to keep Jellyseerr up-to-date automatically. + +You could also use [diun](https://github.com/crazy-max/diun) to receive notifications when a new image is available. +::: + + + +For details on how to use Docker Compose, please [review the official Compose documentation](https://docs.docker.com/compose/reference/). + +#### Installation: +Define the `jellyseerr` service in your `docker-compose.yml` as follows: +```yaml +--- +services: + jellyseerr: + image: fallenbagel/jellyseerr:latest + container_name: jellyseerr + environment: + - LOG_LEVEL=debug + - TZ=Asia/Tashkent + - PORT=5055 #optional + ports: + - 5055:5055 + volumes: + - /path/to/appdata/config:/app/config + restart: unless-stopped +``` +Then, start all services defined in the Compose file: +```bash +docker-compose up -d +``` + +#### Updating: +Pull the latest image: +```bash +docker-compose pull jellyseerr +``` +Then, restart all services defined in the Compose file: +```bash +docker-compose up -d +``` + +:::tip +You may alternatively use a third-party mechanism like [dockge](https://github.com/louislam/dockge) to manage your docker compose files. +::: + + + + +## Unraid + +1. Ensure you have the **Community Applications** plugin installed. +2. Inside the **Community Applications** app store, search for **Jellyseerr**. +3. Click the **Install Button**. +4. On the following **Add Container** screen, make changes to the **Host Port** and **Host Path 1** \(Appdata\) as needed. +5. If you want to use emby, make sure to set the `JELLYFIN_TYPE` environment variable to `emby`. Otherwise, remove the variable. +6. Click apply and access "Jellyseerr" at your `` in a web browser. + +## Windows + +Please refer to the [Docker Desktop for Windows user manual](https://docs.docker.com/docker-for-windows/) for details on how to install Docker on Windows. There is no need to install a Linux distro if using named volumes like in the example below. +:::warning +**WSL2 will need to be installed to prevent DB corruption!** Please see the [Docker Desktop WSL 2 backend documentation](https://docs.docker.com/docker-for-windows/wsl/) for instructions on how to enable WSL2. The commands below will only work with WSL2 installed! +::: + +First, create a volume to store the configuration data for Jellyseerr using using either the Docker CLI: +```bash +docker volume create jellyseerr-data +``` + +or the Docker Desktop app: +1. Open the Docker Desktop app +2. Head to the Volumes tab +3. Click on the "New Volume" button near the top right +4. Enter a name for the volume (example: `jellyseerr-data`) and hit "Create" + +Then, create and start the Jellyseerr container: + + +```bash +docker run -d --name jellyseerr -e LOG_LEVEL=debug -e TZ=Asia/Tashkent -p 5055:5055 -v "jellyseerr-data:/app/config" --restart unless-stopped fallenbagel/jellyseerr:latest +``` + + + +```yaml +--- +services: + jellyseerr: + image: fallenbagel/jellyseerr:latest + container_name: jellyseerr + environment: + - LOG_LEVEL=debug + - TZ=Asia/Tashkent + ports: + - 5055:5055 + volumes: + - jellyseerr-data:/app/config + restart: unless-stopped + +volumes: + jellyseerr-data: + external: true +``` + + + +1. Open the Docker Desktop app +2. Head to the Containers/Apps tab +3. Click on the "Add Container/App" button near the top right +4. Fill in the container details: + - **Name**: `jellyseerr` + - **Image**: `fallenbagel/jellyseerr:latest` + - **Port**: `5055:5055` + - **Volume**: `jellyseerr-data:/app/config` + - **Environment Variables**: + - **LOG_LEVEL**: `debug` + - **TZ**: `Asia/Tashkent` + - **Restart Policy**: `unless-stopped` +5. Click on the "Run" button + + + +To access the files inside the volume created above, navigate to `\\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes\jellyseerr-data\_data` using File Explorer. + +:::info +Docker on Windows works differently than it does on Linux; it runs Docker inside of a stripped-down Linux VM. Volume mounts are exposed to Docker inside this VM via SMB mounts. While this is fine for media, it is unacceptable for the `/app/config` directory because SMB does not support file locking. This will eventually corrupt your database, which can lead to slow behavior and crashes. + +**If you must run Docker on Windows, you should put the `/app/config` directory mount inside the VM and not on the Windows host.** (This also applies to other containers with SQLite databases.) + +Named volumes, like in the example commands above, are automatically mounted inside the VM. Therefore the warning on the setup about the `/app/config` folder being incorrectly mounted page should be ignored. diff --git a/docs/getting-started/index.mdx b/docs/getting-started/index.mdx new file mode 100644 index 00000000..f31ddf69 --- /dev/null +++ b/docs/getting-started/index.mdx @@ -0,0 +1,10 @@ +--- +title: Getting Started +--- +import DocCardList from '@theme/DocCardList'; + +:::info +After running Jellyseerr for the first time, configure it by visiting the web UI at `http://[address]:5055` and completing the setup steps. +::: + + \ No newline at end of file diff --git a/docs/getting-started/installation.md b/docs/getting-started/installation.md deleted file mode 100644 index 2b2ba343..00000000 --- a/docs/getting-started/installation.md +++ /dev/null @@ -1,256 +0,0 @@ -# Installation - -{% hint style="danger" %} -**Overseerr is currently in BETA.** If you would like to help test the bleeding edge, please use the image **`fallenbagel/jellyseerr:develop`**! -{% endhint %} - -{% hint style="info" %} -After running Overseerr for the first time, configure it by visiting the web UI at `http://[address]:5055` and completing the setup steps. -{% endhint %} - -## Docker - -{% hint style="warning" %} -Be sure to replace `/path/to/appdata/config` in the below examples with a valid host directory path. If this volume mount is not configured correctly, your Overseerr settings/data will not be persisted when the container is recreated (e.g., when updating the image or rebooting your machine). - -The `TZ` environment variable value should also be set to the [TZ database name](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) of your time zone! -{% endhint %} - -{% tabs %} -{% tab title="Docker CLI" %} - -For details on the Docker CLI, please [review the official `docker run` documentation](https://docs.docker.com/engine/reference/run/). - -**Installation:** - -```bash -docker run -d \ - --name overseerr \ - -e LOG_LEVEL=debug \ - -e TZ=Asia/Tokyo \ - -e PORT=5055 `#optional` \ - -p 5055:5055 \ - -v /path/to/appdata/config:/app/config \ - --restart unless-stopped \ - fallenbagel/jellyseerr -``` - -To run the container as a specific user/group, you may optionally add `--user=[ user | user:group | uid | uid:gid | user:gid | uid:group ]` to the above command. - -**Updating:** - -Stop and remove the existing container: - -```bash -docker stop overseerr && docker rm overseerr -``` - -Pull the latest image: - -```bash -docker pull fallenbagel/jellyseerr -``` - -Finally, run the container with the same parameters originally used to create the container: - -```bash -docker run -d ... -``` - -{% hint style="info" %} -You may alternatively use a third-party updating mechanism, such as [Watchtower](https://github.com/containrrr/watchtower) or [Ouroboros](https://github.com/pyouroboros/ouroboros), to keep Overseerr up-to-date automatically. -{% endhint %} - -{% endtab %} - -{% tab title="Docker Compose" %} - -For details on how to use Docker Compose, please [review the official Compose documentation](https://docs.docker.com/compose/reference/). - -**Installation:** - -Define the `overseerr` service in your `docker-compose.yml` as follows: - -```yaml ---- -version: '3' - -services: - overseerr: - image: fallenbagel/jellyseerr:latest - container_name: overseerr - environment: - - LOG_LEVEL=debug - - TZ=Asia/Tokyo - - PORT=5055 #optional - ports: - - 5055:5055 - volumes: - - /path/to/appdata/config:/app/config - restart: unless-stopped -``` - -Then, start all services defined in the Compose file: - -```bash -docker-compose up -d -``` - -**Updating:** - -Pull the latest image: - -```bash -docker-compose pull overseerr -``` - -Then, restart all services defined in the Compose file: - -```bash -docker-compose up -d -``` - -{% endtab %} -{% endtabs %} - -## Unraid - -1. Ensure you have the **Community Applications** plugin installed. -2. Inside the **Community Applications** app store, search for **Overseerr**. -3. Click the **Install Button**. -4. On the following **Add Container** screen, make changes to the **Host Port** and **Host Path 1**\(Appdata\) as needed. -5. Click apply and access "Overseerr" at your `` in a web browser. - -## Windows - -Please refer to the [Docker Desktop for Windows user manual](https://docs.docker.com/docker-for-windows/) for details on how to install Docker on Windows. There is no need to install a Linux distro if using named volumes like in the example below. - -{% hint style="danger" %} -**WSL2 will need to be installed to prevent DB corruption!** Please see the [Docker Desktop WSL 2 backend documentation](https://docs.docker.com/docker-for-windows/wsl/) for instructions on how to enable WSL2. The commands below will only work with WSL2 installed! -{% endhint %} - -First, create a volume to store the configuration data for Overseerr using using either the Docker CLI: - -```bash -docker volume create overseerr-data -``` - -or the Docker Desktop app: - -1. Open the Docker Desktop app -2. Head to the Volumes tab -3. Click on the "New Volume" button near the top right -4. Enter a name for the volume (example: `overseerr-data`) and hit "Create" - -Then, create and start the Overseerr container: - -```bash -docker run -d --name overseerr -e LOG_LEVEL=debug -e TZ=Asia/Tokyo -p 5055:5055 -v "overseerr-data:/app/config" --restart unless-stopped fallenbagel/jellyseerr:latest -``` - -To access the files inside the volume created above, navigate to `\\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes\overseerr-data\_data` using File Explorer. - -{% hint style="info" %} -Docker on Windows works differently than it does on Linux; it runs Docker inside of a stripped-down Linux VM. Volume mounts are exposed to Docker inside this VM via SMB mounts. While this is fine for media, it is unacceptable for the `/app/config` directory because SMB does not support file locking. This will eventually corrupt your database, which can lead to slow behavior and crashes. - -**If you must run Docker on Windows, you should put the `/app/config` directory mount inside the VM and not on the Windows host.** (This also applies to other containers with SQLite databases.) - -Named volumes, like in the example commands above, are automatically mounted inside the VM. Therefore the warning on the setup about the `/app/config` folder being incorrectly mounted page should be ignored. -{% endhint %} - -## Linux - -{% hint style="info" %} -The [Overseerr snap](https://snapcraft.io/overseerr) is the only officially supported Linux install method aside from [Docker](#docker). - -Currently, the listening port cannot be changed, so port `5055` will need to be available on your host. To install `snapd`, please refer to the [Snapcraft documentation](https://snapcraft.io/docs/installing-snapd). -{% endhint %} - -**Installation:** - -``` -sudo snap install overseerr -``` - -{% hint style="danger" %} -To install the development build, add the `--edge` argument to the above command (i.e., `sudo snap install overseerr --edge`). However, note that this version can break any moment. Be prepared to troubleshoot any issues that arise! -{% endhint %} - -**Updating:** - -Snap will keep Overseerr up-to-date automatically. You can force a refresh by using the following command. - -```bash -sudo snap refresh -``` - -## Third-Party - -{% tabs %} - -{% tab title="Gentoo" %} -Portage overlay [GitHub Repository](https://github.com/chriscpritchard/overseerr-overlay). - -This is now included in the list of [Gentoo repositories](https://overlays.gentoo.org/), so can be easily enabled with `eselect repository` - -Efforts will be made to keep up-to-date with the latest releases; however, this cannot be guaranteed. - -**To enable:** -To enable using `eselect repository`, run: - -```bash -eselect repository enable overseerr-overlay -``` - -**To install:** -Once complete, you can just run: - -```bash -emerge www-apps/overseerr -``` - -**To install the development build:** -A live ebuild (`=www-apps/overseerr-9999`) is also available. To use this, you will need to modify accept_keywords for this package: - -```bash -emerge --autounmask --autounmask-write "=www-apps/overseerr-9999" -``` - -Once installed, you will not be notified of updates, so you can update with: - -```bash -emerge @live-rebuild -``` - -or use `app-portage/smart-live-rebuild` - -{% hint style="danger" %} -This version can break any moment. Be prepared to troubleshoot any issues that arise! -{% endhint %} - -{% endtab %} - -{% tab title="Swizzin" %} - -{% hint style="danger" %} -This implementation is not yet merged to master due to missing functionality. You can beta test the limited implementation or follow the status on [the pull request](https://github.com/swizzin/swizzin/pull/567). -{% endhint %} - -The installation is not implemented via Docker, but barebones. The latest release version of Overseerr will be used. -Please see the [swizzin documentation](https://swizzin.ltd/applications/overseerr) for more information. - -To install, run the following: - -```bash -box install overseerr -``` - -To upgrade, run the following: - -```bash -box upgrade overseerr -``` - -{% endtab %} - -{% endtabs %} diff --git a/docs/getting-started/nixpkg.mdx b/docs/getting-started/nixpkg.mdx new file mode 100644 index 00000000..b7d955e9 --- /dev/null +++ b/docs/getting-started/nixpkg.mdx @@ -0,0 +1,225 @@ +--- +title: Nix Package Manager (Advanced) +description: Install Jellyseerr using Nix +sidebar_position: 3 +--- + +import { JellyseerrVersion, NixpkgVersion } from '@site/src/components/JellyseerrVersion'; +import Admonition from '@theme/Admonition'; + +# Nix Package Manager (Advanced) +:::info +This method is not recommended for most users. It is intended for advanced users who are using Nix as their package manager. +::: + +export const VersionMismatchWarning = () => { + const jellyseerrVersion = JellyseerrVersion(); + const nixpkgVersion = NixpkgVersion(); + + const isUpToDate = jellyseerrVersion === nixpkgVersion; + + return ( + <> + {!isUpToDate ? ( + + The upstream Jellyseerr Nix Package (v{nixpkgVersion}) is not up-to-date. If you want to use Jellyseerr v{jellyseerrVersion}, you will need to override the package derivation. + + ) : ( + + The upstream Jellyseerr Nix Package (v{nixpkgVersion}) is up-to-date with Jellyseerr v{jellyseerrVersion}. + + )} + + ); +}; + + + +## Installation +To get up and running with jellyseerr using Nix, you can add the following to your `configuration.nix`: + +```nix +{ config, pkgs, ... }: + +{ + services.jellyseerr.enable = true; +} +``` + +If you want more advanced configuration options, you can use the following: + +```nix +{ config, pkgs, ... }: + +{ + services.jellyseerr = { + enable = true; + port = 5055; + openFirewall = true; + }; +} +``` + +After adding the configuration to your `configuration.nix`, you can run the following command to install jellyseerr: + +```bash +nixos-rebuild switch +``` +After rebuild is complete jellyseerr should be running, verify that it is with the following command. +```bash +systemctl status jellyseerr +``` + +:::info +You can now access Jellyseerr by visiting `http://localhost:5055` in your web browser. +::: + + + +import CodeBlock from '@theme/CodeBlock'; + +## Overriding the package derivation +export const VersionMatch = () => { + const jellyseerrVersion = JellyseerrVersion(); + const nixpkgVersion = NixpkgVersion(); + + const code = `{ config, pkgs, ... }: +{ + nixpkgs.config.packageOverrides = pkgs: { + jellyseerr = pkgs.jellyseerr.overrideAttrs (oldAttrs: rec { + version = "${jellyseerrVersion}"; + + src = pkgs.fetchFromGitHub { + rev = "v\${version}"; + sha256 = pkgs.lib.fakeSha256; + }; + + offlineCache = pkgs.fetchYarnDeps { + sha256 = pkgs.lib.fakeSha256; + }; + }); + }; +}`; + + const module = `{ config, pkgs, lib, ... }: + +with lib; +let + cfg = config.services.jellyseerr; +in +{ + meta.maintainers = [ maintainers.camillemndn ]; + + disabledModules = [ "services/misc/jellyseerr.nix" ]; + + options.services.jellyseerr = { + enable = mkEnableOption (mdDoc ''Jellyseerr, a requests manager for Jellyfin''); + + openFirewall = mkOption { + type = types.bool; + default = false; + description = mdDoc ''Open port in the firewall for the Jellyseerr web interface.''; + }; + + port = mkOption { + type = types.port; + default = 5055; + description = mdDoc ''The port which the Jellyseerr web UI should listen to.''; + }; + + package = mkOption { + type = types.package; + default = pkgs.jellyseerr; + defaultText = literalExpression "pkgs.jellyseerr"; + description = lib.mdDoc '' + Jellyseerr package to use. + ''; + }; + }; + + config = mkIf cfg.enable { + systemd.services.jellyseerr = { + description = "Jellyseerr, a requests manager for Jellyfin"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + environment.PORT = toString cfg.port; + serviceConfig = { + Type = "exec"; + StateDirectory = "jellyseerr"; + WorkingDirectory = "\${cfg.package}/libexec/jellyseerr/deps/jellyseerr"; + DynamicUser = true; + ExecStart = "\${cfg.package}/bin/jellyseerr"; + BindPaths = [ "/var/lib/jellyseerr/:\${cfg.package}/libexec/jellyseerr/deps/jellyseerr/config/" ]; + Restart = "on-failure"; + ProtectHome = true; + ProtectSystem = "strict"; + PrivateTmp = true; + PrivateDevices = true; + ProtectHostname = true; + ProtectClock = true; + ProtectKernelTunables = true; + ProtectKernelModules = true; + ProtectKernelLogs = true; + ProtectControlGroups = true; + NoNewPrivileges = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + RemoveIPC = true; + PrivateMounts = true; + }; + }; + + networking.firewall = mkIf cfg.openFirewall { + allowedTCPPorts = [ cfg.port ]; + }; + }; +}`; + + const configuration = `{ config, pkgs, ... }: +{ + imports = [ ./jellyseerr-module.nix ] + + services.jellyseerr = { + enable = true; + port = 5055; + openFirewall = true; + package = (pkgs.callPackage (import ../../../pkgs/jellyseerr) { }); + }; +}`; + + const isUpToDate = jellyseerrVersion === nixpkgVersion; + + return ( + <> + {isUpToDate ? ( + <> +

The latest version of Jellyseerr ({jellyseerrVersion}) and the Jellyseerr nixpkg package version ({nixpkgVersion}) is up-to-date.

+

There is no need to override the package derivation.

+ + ) : ( + <> +

The latest version of Jellyseerr ({jellyseerrVersion}) and the Jellyseerr nixpkg version (v{nixpkgVersion}) is out-of-date. + If you want to use Jellyseerr v{jellyseerrVersion}, you will need to override the package derivation.

+

In order to override the package derivation:

+
    +
  1. Grab the latest nixpkg derivation for Jellyseerr
  2. +
  3. Grab the latest package.json for Jellyseerr
  4. +
  5. Add it to the same directory as the nixpkg derivation
  6. +
  7. Update the `src` and `offlineCache` attributes in the nixpkg derivation:
  8. + {code} + You can replace the sha256 with the actual hash that nixos-rebuild outputs when you run the command. +
  9. Grab this module and import it in your `configuration.nix`
  10. + {module} + We are using a custom module because the upstream module does not have a package option. +
  11. Call the new package in your `configuration.nix`
  12. + {configuration} +
+ + )} + + ); + +}; + + + diff --git a/docs/support/faq.md b/docs/support/faq.md deleted file mode 100644 index c638e863..00000000 --- a/docs/support/faq.md +++ /dev/null @@ -1,133 +0,0 @@ -# Frequently Asked Questions (FAQ) - -{% hint style="info" %} -If you can't find the solution to your problem here, please read [Need Help?](./need-help.md) and reach out to us on [Discord](https://discord.gg/ckbvBtDJgC). - -_Please do not post questions or support requests on the GitHub issue tracker!_ -{% endhint %} - -## General - -### How do I keep Overseerr up-to-date? - -Use a third-party update mechanism (such as [Watchtower](https://github.com/containrrr/watchtower), [Ouroboros](https://github.com/pyouroboros/ouroboros), or [Pullio](https://hotio.dev/pullio)) to keep Overseerr up-to-date automatically. - -### How can I access Overseerr outside of my home network? - -The easiest but least secure method is to simply forward an external port (e.g., `5055`) on your router to the internal port used by Overseerr (default is TCP `5055`). Visit [Port Forward](http://portforward.com/) for instructions for your particular router. You would then be able to access Overseerr via `http://EXTERNAL-IP-ADDRESS:5055`. - -A more advanced, user-friendly, and secure (if using SSL) method is to set up a web server and use a reverse proxy to access Overseerr. Please refer to our [reverse proxy examples](../extending-overseerr/reverse-proxy.md) for more information. - -The most secure method (but also the most inconvenient method) is to set up a VPN tunnel to your home server. You would then be able to access Overseerr as if you were on your local network, via `http://LOCAL-IP-ADDRESS:5055`. - -### Are there mobile apps for Overseerr? - -Since Overseerr has an almost native app experience when installed as a Progressive Web App (PWA), there are no plans to develop mobile apps for Overseerr. - -Out of the box, Overseerr already fulfills most of the [PWA install criteria](https://web.dev/install-criteria/). You simply need to make sure that your Overseerr instance is being served over HTTPS (e.g., via a [reverse proxy](../extending-overseerr/reverse-proxy.md)). - -### Overseerr is amazing! But it is not translated in my language yet! Can I help with translations? - -You sure can! We are using [Weblate](https://hosted.weblate.org/engage/overseerr/) for translations. If your language is not listed, please [open a feature request on GitHub](https://github.com/sct/overseerr/issues/new/choose). - -### Where can I find the changelog? - -You can find the changelog for your version (stable/`latest`,s or `develop`) in the **Settings → About** page in your Overseerr instance. - -You can alternatively review the [stable release history](https://github.com/fallenbagel/jellyseerr/releases) and [`develop` branch commit history](https://github.com/fallenbagel/jellyseerr/commits/develop) on GitHub. - -### Some media is missing from Overseerr that I know is in Plex! - -Overseerr currently supports the following agents: - -- New Plex Movie -- Legacy Plex Movie -- New Plex TV -- Legacy Plex TV -- TheTVDB -- TMDB -- [HAMA](https://github.com/ZeroQI/Hama.bundle) - -Please verify that your library is using one of the agents previously listed. - -When changing agents, a full metadata refresh of your Plex library is required. (Caution: This can take a long time depending on the size of your library.) - -#### Troubleshooting Steps - -First, check the Overseerr logs for media items that are missing. The logs will contain an error as to why that item could not be matched. - -1. Verify that you are using one of the agents mentioned above. -2. Refresh the metadata for just that item. -3. Run a full scan in Overseerr to see if that item is now matched properly. -4. If the item is now seen by Overseerr then repeat step 2 for each missing item. If you have a large amount of items missing then a full metadata refresh is recommended for that library. -5. Run a full scan on Overseerr after refreshing all unmatched items. - -You can also perform the following to verify the media item has a GUID Overseerr can match: - -1. Go to the media item in Plex and **"Get info"** and click on **"View XML"**. -2. Verify that the media item's GUID follows one of the below formats: - - 1. TMDB agent `guid="com.plexapp.agents.themoviedb://1705"` - 2. New Plex Movie agent `` - 3. TheTVDB agent `guid="com.plexapp.agents.thetvdb://78874/1/1"` - 4. Legacy Plex Movie agent `guid="com.plexapp.agents.imdb://tt0765446"` - -### Where can I find the log files? - -Please see [these instructions on how to locate and share your logs](./need-help.md#how-can-i-share-my-logs). - -## Users - -### Why can't I see all of my Plex users? - -Please see the [documentation for importing users from Plex](../using-overseerr/users/README.md#importing-users-from-plex). - -### Can I create local users in Overseerr? - -Yes! Please see the [documentation for creating local users](../using-overseerr/users/README.md#creating-local-users). - -### Is is possible to set user roles in Overseerr? - -Permissions can be configured for each user via the **User List** or their **User Settings** page. The list of assignable permissions is still growing, so if you have any suggestions, [submit a feature request](https://github.com/fallenbagel/jellyseerr/issues/new/choose)! - -## Requests - -### I receive 409 or 400 errors when requesting a movie or TV series! - -Verify you are running v3 of both Radarr and Sonarr. Overseerr is not backwards-compatible with previous versions. - -### Can I allow users to submit 4K requests? - -Yes! If you keep both non-4K and 4K content in your media libraries, you can link separate 4K Radarr/Sonarr servers to allow users to submit 4K requests. (You must configure default non-4K **and** default 4K Radarr/Sonarr servers.) - -Please see the [Services documentation](../using-overseerr/settings/README.md#services) for details on how to configure your Radarr and/or Sonarr servers. - -Note that users must also have the **Request 4K**, **Request 4K Movies**, and/or **Request 4K Series** permissions in order to submit requests for 4K content. - -### I approved a requested movie and Radarr didn't search for it! - -Check the minimum availability setting in your Radarr server. If a movie does not meet the minimum availability requirement, no search will be performed. Also verify that Radarr did not perform a search, by checking the Radarr logs. Lastly, verify that the item was not already being monitored by Radarr prior to approving the request. - -### Help! My request still shows "requested" even though it is in Plex! - -See "[Some media is missing from Overseerr that I know is in Plex!](#some-media-is-missing-from-overseerr-that-i-know-is-in-plex)" for troubleshooting steps. - -### Series requests keep failing! - -If you configured a URL base in Sonarr, make sure you have also configured the [URL Base](../using-overseerr/settings/README.md#url-base) setting for your Sonarr server in Overseerr. - -Also, check that you are using Sonarr v3 and that you have configured a default language profile in Overseerr. - -Language profile support for Sonarr was added in [v1.20.0](https://github.com/fallenbagel/jellyseerr/releases/tag/v1.20.0) along with a new, _required_ **Language Profile** setting. If series requests are failing, make sure that you have a default language profile configured for each of your Sonarr servers in **Settings → Services**. - -## Notifications - -### I am getting "Username and Password not accepted" when attempting to send email notifications via Gmail! - -If you have 2-Step Verification enabled on your account, you will need to create an [app password](https://support.google.com/mail/answer/185833). - -### The logo image in email notifications is broken! - -This may be an issue with how you are proxying your Overseerr instance. A good first troubleshooting step is to verify that the [`Content-Security-Policy` HTTP header](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) being set by your proxy (if any) is configured appropriately to allow external embedding of the image. - -For Gmail users, another possible issue is that Google's image URL proxy is being blocked from fetching the image. If using Cloudflare, overzealous firewall rules could be the culprit. diff --git a/docs/support/need-help.md b/docs/support/need-help.md deleted file mode 100644 index a2f77e67..00000000 --- a/docs/support/need-help.md +++ /dev/null @@ -1,45 +0,0 @@ -# Need Help? - -Before seeking assistance, please make sure you have first tried these following: - -- **Updating** Overseerr to the latest version. -- **Stopping and restarting** Overseerr. -- **Restarting** your machine. -- **Clearing** your browser cache. -- **Analyzing** your logs, you just might find the solution yourself! -- **Searching** the [documentation](../README.md), [installation guide](../getting-started/installation.md), and [FAQs](./faq.md). - -If you still have questions after troubleshooting on your own, feel free to ask on [Discord](https://discord.gg/ckbvBtDJgC)! (Please review our [Code of Conduct](https://github.com/fallenbagel/jellyseerr/blob/develop/CODE_OF_CONDUCT.md) before posting.) - -Be sure to also include a link to your logs. (Please see [How can I share my logs?](#how-can-i-share-my-logs) below.) - -## What should I include when requesting support? - -Please try to include as much information as possible. A vague statement like "it doesn't work" provides very little to go on, and makes it difficult for us to help you. - -Try to answer the following questions: - -- What version of Overseerr are you running? (You can find this in Settings → About → Version.) -- How did you install Overseerr? Are you using the official Docker or snap images, or images published by a third-party? -- How are you accessing Overseerr? - - Are you accessing Overseerr through your reverse proxy or via a local IP address? - - What browser are you using? What browser extensions are enabled? -- What were you trying to do, and how did you attempt it? - - What command did you enter? - - What did you click on? - - What settings did you change? - - Did you follow official instructions, or a third-party guide? - - Provide a step-by-step list of what you tried. - - Provide a brief description of your setup. -- What exactly do you see? - - Did something happen? - - Did something not happen? - - Are there any error messages showing? - - Provide screenshots to help us see what you are seeing. - - Share your Overseerr logs, which show exactly what happened and are often critical for identifying issues (see [How can I share my logs?](#how-can-i-share-my-logs) below). - -## How can I share my logs? - -1. Locate the current log file at `/logs/overseerr.log`. -2. Open the log file and **copy its contents** into a [**secret gist** on GitHub](https://gist.github.com/). If you upload your logs elsewhere, we may ask you to share them again via GitHub Gist. -3. **Share the link/URL to your secret gist** in the [`#support` channel in our Discord server](https://discord.gg/ckbvBtDJgC). diff --git a/docs/using-jellyseerr/_category_.json b/docs/using-jellyseerr/_category_.json new file mode 100644 index 00000000..73ef78d0 --- /dev/null +++ b/docs/using-jellyseerr/_category_.json @@ -0,0 +1,9 @@ +{ + "label": "Using Jellyseerr", + "position": 2, + "link": { + "type": "generated-index", + "title": "Using Jellyseerr", + "description": "Learn how to use Jellyseerr" + } +} diff --git a/docs/using-overseerr/notifications/discord.md b/docs/using-jellyseerr/notifications/discord.md similarity index 88% rename from docs/using-overseerr/notifications/discord.md rename to docs/using-jellyseerr/notifications/discord.md index 5112b5c0..016de30e 100644 --- a/docs/using-overseerr/notifications/discord.md +++ b/docs/using-jellyseerr/notifications/discord.md @@ -1,10 +1,16 @@ +--- +title: Discord +description: Configure Discord notifications. +sidebar_position: 3 +--- + # Discord The Discord notification agent enables you to post notifications to a channel in a server you manage. -{% hint style="info" %} +:::info Users can optionally opt-in to being mentioned in Discord notifications by configuring their [Discord user ID](https://support.discord.com/hc/en-us/articles/206346498-Where-can-I-find-my-User-Server-Message-ID-) in their user settings. -{% endhint %} +::: ## Configuration diff --git a/docs/using-overseerr/notifications/email.md b/docs/using-jellyseerr/notifications/email.md similarity index 71% rename from docs/using-overseerr/notifications/email.md rename to docs/using-jellyseerr/notifications/email.md index 89dfbab4..da157fa6 100644 --- a/docs/using-overseerr/notifications/email.md +++ b/docs/using-jellyseerr/notifications/email.md @@ -1,14 +1,20 @@ +--- +title: Email +description: Configure email notifications for your users. +sidebar_position: 1 +--- + # Email ## Configuration -{% hint style="info" %} -If the [Application URL](../settings/README.md#application-url) setting is configured in **Settings → General**, Overseerr will explicitly set the origin server hostname when connecting to the SMTP host. -{% endhint %} +:::info +If the [Application URL](/using-jellyseerr/settings/general#application-title) setting is configured in **Settings → General**, Jellyseerr will explicitly set the origin server hostname when connecting to the SMTP host. +::: ### Sender Name (optional) -Configure a friendly name for the email sender (e.g., "Overseerr"). +Configure a friendly name for the email sender (e.g., "Jellyseerr"). ### Sender Address @@ -18,7 +24,7 @@ Depending on your email provider, this may need to be an address you own. For ex ### SMTP Host -Set this to the hostname or IP address of your SMTP host/server. +Set this to the hostname or IP address of your SMTP server. ### SMTP Port @@ -26,16 +32,15 @@ Set this to a supported port number for your SMTP host. `465` and `587` are comm ### Encryption Method -In most cases, [Use Implicit TLS](https://tools.ietf.org/html/rfc8314) should be selected for port 465, and [Use STARTTLS if available](https://en.wikipedia.org/wiki/Opportunistic_TLS) for port 587. Please refer to your email provider's documentations for details on how to configure this setting. +In most cases, [Use Implicit TLS](https://tools.ietf.org/html/rfc8314) should be selected for port 465, and [Use STARTTLS](https://en.wikipedia.org/wiki/Opportunistic_TLS) if available for port 587. Please refer to your email provider's documentations for details on how to configure this setting. The default value for this setting is **Use STARTTLS if available**. ### SMTP Username & Password -{% hint style="info" %} +:::info If your account has two-factor authentication enabled, you may need to create an application password instead of using your account password. -{% endhint %} - +::: Configure these values as appropriate to authenticate with your SMTP host. ### PGP Private Key & Password (optional) diff --git a/docs/using-jellyseerr/notifications/index.mdx b/docs/using-jellyseerr/notifications/index.mdx new file mode 100644 index 00000000..6fd0b1ce --- /dev/null +++ b/docs/using-jellyseerr/notifications/index.mdx @@ -0,0 +1,25 @@ +--- +title: Notifications +description: Configure notifications for your users. +sidebar_position: 3 +--- + +# Notifications + +## Supported Notification Agents + +Jellyseerr currently supports the following notification agents: + +import DocCardList from '@theme/DocCardList'; + + + +## Setting Up Notifications + +Simply configure your desired notification agents in **Settings -> Notifications** in the Jellyseerr web UI. + +Users can customize their notification preferences in their own user notification settings. + +## Requesting New Notification Agents + +If we do not currently support your preferred notification agent, feel free to [submit a feature request on GitHub](https://github.com/Fallenbagel/jellyseerr/issues). However, please be sure to search first and confirm that there is not already an existing request for the agent! diff --git a/docs/using-jellyseerr/notifications/webpush.md b/docs/using-jellyseerr/notifications/webpush.md new file mode 100644 index 00000000..b754237a --- /dev/null +++ b/docs/using-jellyseerr/notifications/webpush.md @@ -0,0 +1,23 @@ +--- +title: Web Push +description: Configure web push notifications for your users. +sidebar_position: 2 +--- + +# Web Push + +The web push notification agent enables you and your users to receive Jellyseerr notifications in a supported browser. + +This notification agent does not require any configuration, but is not enabled in Jellyseerr by default. + +:::warning +Web push notifications require a secure connection to your Jellyseerr instance. Refer to the [Reverse Proxy](/extending-jellyseerr/reverse-proxy) documentation for more information. +::: + +To set up web push notifications, simply enable the agent in **Settings → Notifications → Web Push**. You and your users will then be prompted to allow notifications in your web browser. + +Users can opt out of these notifications, or customize the notification types they would like to subscribe to, in their user settings. + +:::info +Web push notifications offer a native notification experience without the need to install an app. +::: diff --git a/docs/using-jellyseerr/settings/_category_.json b/docs/using-jellyseerr/settings/_category_.json new file mode 100644 index 00000000..c7190517 --- /dev/null +++ b/docs/using-jellyseerr/settings/_category_.json @@ -0,0 +1,9 @@ +{ + "label": "Settings", + "position": 1, + "link": { + "type": "generated-index", + "title": "Settings", + "description": "Configure Jellyseerr to your liking" + } +} diff --git a/docs/using-jellyseerr/settings/general.md b/docs/using-jellyseerr/settings/general.md new file mode 100644 index 00000000..3caf409a --- /dev/null +++ b/docs/using-jellyseerr/settings/general.md @@ -0,0 +1,75 @@ +--- +title: General +description: Configure global and default settings for Jellyseerr. +sidebar_position: 1 +--- + +# General + +## API Key + +This is your Jellyseerr API key, which can be used to integrate Jellyseerr with third-party applications. Do **not** share this key publicly, as it can be used to gain administrator access! + +If you need to generate a new API key for any reason, simply click the button to the right of the text box. + +## Application Title + +If you aren't a huge fan of the name "Jellyseerr" and would like to display something different to your users, you can customize the application title! + +## Application URL + +Set this to the externally-accessible URL of your Overseerr instance. + +You must configure this setting in order to enable password reset and generation emails. + +## Enable Proxy Support + +If you have Overseerr behind a reverse proxy, enable this setting to allow Overseerr to correctly register client IP addresses. For details, please see the [Express Documentation](https://expressjs.com/en/guide/behind-proxies.html). + +This setting is **disabled** by default. + +## Enable CSRF Protection + +:::warning +**This is an advanced setting.** Please only enable this setting if you are familiar with CSRF protection and how it works. +::: + +CSRF stands for [cross-site request forgery](https://en.wikipedia.org/wiki/Cross-site_request_forgery). When this setting is enabled, all external API access that alters Jellyseerr application data is blocked. + +If you do not use Jellyseerr integrations with third-party applications to add/modify/delete requests or users, you can consider enabling this setting to protect against malicious attacks. + +One caveat, however, is that HTTPS is required, meaning that once this setting is enabled, you will no longer be able to access your Jellyseerr instance over _HTTP_ (including using an IP address and port number). + +If you enable this setting and find yourself unable to access Overseerr, you can disable the setting by modifying `settings.json` in `/app/config`. + +This setting is **disabled** by default. + +## Enable Image Caching + +When enabled, Jellseerr will proxy and cache images from pre-configured sources (such as TMDB). This can use a significant amount of disk space. + +Images are saved in the `config/cache/images` and stale images are cleared out every 24 hours. + +You should enable this if you are having issues with loading images directly from TMDB in your browser. + +## Display Language + +Set the default display language for Jellyseerr. Users can override this setting in their user settings. + +## Discover Region & Discover Language + +These settings filter content shown on the "Discover" home page based on regional availability and original language, respectively. Users can override these global settings by configuring these same options in their user settings. + +## Hide Available Media + +When enabled, media which is already available will not appear on the "Discover" home page, or in the "Recommended" or "Similar" categories or other links on media detail pages. + +Available media will still appear in search results, however, so it is possible to locate and view hidden items by searching for them by title. + +This setting is **disabled** by default. + +## Allow Partial Series Requests + +When enabled, users will be able to submit requests for specific seasons of TV series. If disabled, users will only be able to submit requests for all unavailable seasons. + +This setting is **enabled** by default. diff --git a/docs/using-jellyseerr/settings/jobs&cache.md b/docs/using-jellyseerr/settings/jobs&cache.md new file mode 100644 index 00000000..b68e6d91 --- /dev/null +++ b/docs/using-jellyseerr/settings/jobs&cache.md @@ -0,0 +1,12 @@ +--- +title: Jobs & Cache +description: Configure jobs and cache settings. +--- + +# Jobs & Cache + +Jellyseerr performs certain maintenance tasks as regularly-scheduled jobs, but they can also be manually triggered on this page. + +Jellyseerr also caches requests to external API endpoints to optimize performance and avoid making unnecessary API calls. If necessary, the cache for any particular endpoint can be cleared by clicking the "Flush Cache" button. + +You can also view the current image cache size as well as the total number of cached images. diff --git a/docs/using-jellyseerr/settings/mediaserver.mdx b/docs/using-jellyseerr/settings/mediaserver.mdx new file mode 100644 index 00000000..b7a205d1 --- /dev/null +++ b/docs/using-jellyseerr/settings/mediaserver.mdx @@ -0,0 +1,241 @@ +--- +title: Mediaserver Settings +description: Configure your Jellyfin, Emby, or Plex server settings. +sidebar_position: 3 +--- + +# Media Server + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + + +:::info +To set up Jellyfin, make sure you log in using an account with administrative privileges. + +The email address can be any email address and is only used for notifications, password resets, and local sign-in. +It is **not** tied to your Jellyfin account. +::: + +### Jellyfin Libraries + +In this section, simply select the libraries you would like Jellyseerr to scan. Jellyseerr will periodically check the selected libraries for available content to update the media status that is displayed to users. + +If you do not see your Jellyfin library listed, verify your Jellyfin settings are correct and click the Sync Libraries button. + +### Manual Library Scan + +Jellyseerr will perform a full scan of your Jellyfin libraries once every 24 hours (recently added items are fetched more frequently). If this is your first time configuring Jellyfin, a one-time full manual library scan is recommended! + +### Jellyfin Settings + +This section is where you configure the connection to your Jellyfin server. + + + + +#### Internal URL + +The internal URL is the URL that Jellyseerr will use to communicate with your Jellyfin server. This URL should be accessible from the machine running Jellyseerr. + +In most cases, this will be the hostname or IP address of the machine running Jellyfin, followed by the port number Jellyfin is running on (usually 8096). + +:::note +When running Jellyseerr in a docker container with a bridged network (default), the container's network will be separate from the host network. Therefore, you cannot use `localhost` or `127.0.0.1` as the internal URL as it will resolve to the container itself. +::: +:::tip +If you are running Jellyfin in a docker container, you can put both Jellyseerr and Jellyfin on the same docker network by using a custom [docker network](https://docs.docker.com/reference/cli/docker/network/). This will allow you to use the container name as the internal URL. +::: + +#### External URL + +The external URL is the URL that your users will use to access Jellyfin. This URL is used to generate links in `Play on Jellyfin` buttons, Jellyfin avatars and other places where users need to access Jellyfin directly. + +In most cases, the external URL will be different from the internal URL. This is especially true if you are connecting to Jellyfin using docker container names or local IP addresses. + +#### Forgot Password URL + +The forgot password URL is the URL that users will be directed to when they click the "Forgot Password" button on the login page. This URL should be accessible from the machine running Jellyseerr. + +By default, this field is empty and the "Forgot Password" button on the login page will redirect to the Jellyfin internal URL with the path `/web/index.html#!/forgotpassword`. + +You can customize this URL to point to a custom password reset page if you have one. + + + + +#### Hostname or IP Address + +If you have Jellyseerr installed on the same network as Jellyfin, you can set this to the local IP address of your Jellyfin server. Otherwise, this should be set to a valid hostname (e.g., jellyfin.myawesomeserver.com). + +In most cases, this will be the hostname or IP address of the machine running Jellyfin. + +:::note +When running Jellyseerr in a docker container with a bridged network (default), the container's network will be separate from the host network. Therefore, you cannot use `localhost` or `127.0.0.1` as the internal URL as it will resolve to the container itself. +::: +:::tip +If you are running Jellyfin in a docker container, you can put both Jellyseerr and Jellyfin on the same docker network by using a custom [docker network](https://docs.docker.com/reference/cli/docker/network/). This will allow you to use the container name as the internal URL. +::: + +#### Port + +This value should be set to the port that your Jellyfin server listens on. The default port that Jellyfin uses is 8096, but you may need to set this to 443 or some other value if your Jellyfin server is hosted on a VPS or a different machine and is behind a reverse proxy. + +#### Use SSL + +Enable this setting to connect to Jellyfin via HTTPS rather than HTTP. Note that self-signed certificates are **not** officially supported. + +#### External URL + +The external URL is the URL that your users will use to access Jellyfin. This URL is used to generate links in `Play on Jellyfin` buttons, Jellyfin avatars and other places where users need to access Jellyfin directly. + +In most cases, the external URL will be different from the internal URL. This is especially true if you are connecting to Jellyfin using docker container names or local IP addresses. + +#### Forgot Password URL + +The forgot password URL is the URL that users will be directed to when they click the "Forgot Password" button on the login page. This URL should be accessible from the machine running Jellyseerr. + +By default, this field is empty and the "Forgot Password" button on the login page will redirect to the Jellyfin internal URL with the path `/web/index.html#!/forgotpassword`. + +You can customize this URL to point to a custom password reset page if you have one. + + + + + + +:::info +To set up Emby, make sure you log in using an account with administrative privileges. + +The email address can be any email address and is only used for notifications, password resets, and local sign-in. +It is **not** tied to your Emby account. +::: + +### Emby Libraries + +In this section, simply select the libraries you would like Jellyseerr to scan. Jellyseerr will periodically check the selected libraries for available content to update the media status that is displayed to users. + +If you do not see your Emby library listed, verify your Emby settings are correct and click the Sync Libraries button. + +### Manual Library Scan + +Jellyseerr will perform a full scan of your Emby libraries once every 24 hours (recently added items are fetched more frequently). If this is your first time configuring Emby, a one-time full manual library scan is recommended! + +### Emby Settings + +This section is where you configure the connection to your Emby server. + + + + +#### Internal URL + +The internal URL is the URL that Jellyseerr will use to communicate with your Emby server. This URL should be accessible from the machine running Jellyseerr. + +In most cases, this will be the hostname or IP address of the machine running Emby, followed by the port number Emby is running on (usually 8096). + +:::note +When running Jellyseerr in a docker container with a bridged network (default), the container's network will be separate from the host network. Therefore, you cannot use `localhost` or `127.0.0.1` as the internal URL as it will resolve to the container itself. +::: +:::tip +If you are running Emby in a docker container, you can put both Jellyseerr and Emby on the same docker network by using a custom [docker network](https://docs.docker.com/reference/cli/docker/network/). This will allow you to use the container name as the internal URL. +::: + +#### External URL + +The external URL is the URL that your users will use to access Emby. This URL is used to generate links in `Play on Emby` buttons, Emby avatars and other places where users need to access Emby directly. + +In most cases, the external URL will be different from the internal URL. This is especially true if you are connecting to Emby using docker container names or local IP addresses. + +#### Forgot Password URL + +The forgot password URL is the URL that users will be directed to when they click the "Forgot Password" button on the login page. This URL should be accessible from the machine running Jellyseerr. + +By default, this field is empty and the "Forgot Password" button on the login page will redirect to the Emby internal URL with the path `/web/index.html#!/forgotpassword.html`. + +You can customize this URL to point to a custom password reset page if you have one. + + + + +#### Hostname or IP Address + +If you have Jellyseerr installed on the same network as Emby, you can set this to the local IP address of your Emby server. Otherwise, this should be set to a valid hostname (e.g., jellyfin.myawesomeserver.com). + +In most cases, this will be the hostname or IP address of the machine running Emby. + +:::note +When running Jellyseerr in a docker container with a bridged network (default), the container's network will be separate from the host network. Therefore, you cannot use `localhost` or `127.0.0.1` as the internal URL as it will resolve to the container itself. +::: +:::tip +If you are running Emby in a docker container, you can put both Jellyseerr and Emby on the same docker network by using a custom [docker network](https://docs.docker.com/reference/cli/docker/network/). This will allow you to use the container name as the internal URL. +::: + +#### Port + +This value should be set to the port that your Emby server listens on. The default port that Emby uses is 8096, but you may need to set this to 443 or some other value if your Emby server is hosted on a VPS or a different machine and is behind a reverse proxy. + +#### Use SSL + +Enable this setting to connect to Emby via HTTPS rather than HTTP. Note that self-signed certificates are **not** officially supported. + +#### External URL + +The external URL is the URL that your users will use to access Emby. This URL is used to generate links in `Play on Emby` buttons, Emby avatars and other places where users need to access Emby directly. + +In most cases, the external URL will be different from the internal URL. This is especially true if you are connecting to Emby using docker container names or local IP addresses. + +#### Forgot Password URL + +The forgot password URL is the URL that users will be directed to when they click the "Forgot Password" button on the login page. This URL should be accessible from the machine running Jellyseerr. + +By default, this field is empty and the "Forgot Password" button on the login page will redirect to the Emby internal URL with the path `/web/index.html#!/startup/forgotpassword.html`. + +You can customize this URL to point to a custom password reset page if you have one. + + + + + + + +### Plex Settings + +:::info +To set up Plex, you can either enter your details manually or select a server retrieved from [plex.tv](https://plex.tv/). Press the button to the right of the "Server" dropdown to retrieve available servers. + +Depending on your setup/configuration, you may need to enter your Plex server details manually in order to establish a connection from Jellyseerr. +::: + +#### Hostname or IP Address + +If you have Jellyseerr installed on the same network as Plex, you can set this to the local IP address of your Plex server. Otherwise, this should be set to a valid hostname (e.g., `plex.myawesomeserver.com`). + +#### Port + +This value should be set to the port that your Plex server listens on. The default port that Plex uses is `32400`, but you may need to set this to `443` or some other value if your Plex server is hosted on a VPS or cloud provider. + +#### Use SSL + +Enable this setting to connect to Plex via HTTPS rather than HTTP. Note that self-signed certificates are _not_ supported. + +#### Web App URL (optional) + +The **Play on Plex** buttons on media pages link to items on your Plex server. By default, these links use the [Plex Web App](https://support.plex.tv/articles/200288666-opening-plex-web-app/) hosted from plex.tv, but you can provide the URL to the web app on your Plex server and we'll use that instead! + +Note that you will need to enter the full path to the web app (e.g., `https://plex.myawesomeserver.com/web`). + +### Plex Libraries + +In this section, simply select the libraries you would like Jellyseerr to scan. Jellyseerr will periodically check the selected libraries for available content to update the media status that is displayed to users. + +If you do not see your Plex libraries listed, verify your Plex settings are correct and click the **Sync Libraries** button. + +### Manual Library Scan + +Jellyseerr will perform a full scan of your Plex libraries once every 24 hours (recently added items are fetched more frequently). If this is your first time configuring Plex, a one-time full manual library scan is recommended! + + + + diff --git a/docs/using-jellyseerr/settings/notifications.mdx b/docs/using-jellyseerr/settings/notifications.mdx new file mode 100644 index 00000000..44973562 --- /dev/null +++ b/docs/using-jellyseerr/settings/notifications.mdx @@ -0,0 +1,9 @@ +--- +title: Notifications +description: Configure notifications for your users. +sidebar_position: 5 +--- + +# Notifications + +Please see the [Notifications](/using-jellyseerr/notifications) page for more information. diff --git a/docs/using-jellyseerr/settings/services.md b/docs/using-jellyseerr/settings/services.md new file mode 100644 index 00000000..23286fd2 --- /dev/null +++ b/docs/using-jellyseerr/settings/services.md @@ -0,0 +1,75 @@ +--- +title: Services +description: Configure your default services. +sidebar_position: 4 +--- + +# Services + +:::info +**If you keep separate copies of non-4K and 4K content in your media libraries, you will need to set up multiple Radarr/Sonarr instances and link each of them to Jellyseerr.** + +Jellyseerr checks these linked servers to determine whether or not media has already been requested or is available, so two servers of each type are required _if you keep separate non-4K and 4K copies of media._ + +**If you only maintain one copy of media, you can instead simply set up one server and set the "Quality Profile" setting on a per-request basis.** +::: + +### Radarr/Sonarr Settings + +:::warning +**Only v3 & V4 Radarr/Sonarr servers are supported!** If your Radarr/Sonarr server is still running v2, you will need to upgrade in order to add it to Jellyseerr. +:::: + +#### Default Server + +At least one server needs to be marked as "Default" in order for requests to be sent successfully to Radarr/Sonarr. + +If you have separate 4K Radarr/Sonarr servers, you need to designate default 4K servers _in addition to_ default non-4K servers. + +#### 4K Server + +Only select this option if you have separate non-4K and 4K servers. If you only have a single Radarr/Sonarr server, do _not_ check this box! + +#### Server Name + +Enter a friendly name for the Radarr/Sonarr server. + +#### Hostname or IP Address + +If you have Jellyseerr installed on the same network as Radarr/Sonarr, you can set this to the local IP address of your Radarr/Sonarr server. Otherwise, this should be set to a valid hostname (e.g., `radarr.myawesomeserver.com`). + +#### Port + +This value should be set to the port that your Radarr/Sonarr server listens on. By default, Radarr uses port `7878` and Sonarr uses port `8989`, but you may need to set this to `443` or some other value if your Radarr/Sonarr server is hosted on a VPS or cloud provider. + +#### Use SSL + +Enable this setting to connect to Radarr/Sonarr via HTTPS rather than HTTP. Note that self-signed certificates are _not_ supported. + +#### API Key + +Enter your Radarr/Sonarr API key here. Do _not_ share these key publicly, as they can be used to gain administrator access to your Radarr/Sonarr servers! + +You can locate the required API keys in Radarr/Sonarr in **Settings → General → Security**. + +#### URL Base + +If you have configured a URL base for your Radarr/Sonarr server, you _must_ enter it here in order for Jellyeerr to connect to those services! + +You can verify whether or not you have a URL base configured in your Radarr/Sonarr server at **Settings → General → Host**. (Note that a restart of your Radarr/Sonarr server is required if you modify this setting!) + +#### Profiles, Root Folder, Minimum Availability + +Select the default settings you would like to use for all new requests. Note that all of these options are required, and that requests will fail if any of these are not configured! + +#### External URL (optional) + +If the hostname or IP address you configured above is not accessible outside your network, you can set a different URL here. This "external" URL is used to add clickable links to your Radarr/Sonarr servers on media detail pages. + +#### Enable Scan (optional) + +Enable this setting if you would like to scan your Radarr/Sonarr server for existing media/request status. It is recommended that you enable this setting, so that users cannot submit requests for media which has already been requested or is already available. + +#### Enable Automatic Search (optional) + +Enable this setting to have Radarr/Sonarr to automatically search for media upon approval of a request. diff --git a/docs/using-jellyseerr/settings/users.md b/docs/using-jellyseerr/settings/users.md new file mode 100644 index 00000000..aa4c3eb1 --- /dev/null +++ b/docs/using-jellyseerr/settings/users.md @@ -0,0 +1,37 @@ +--- +title: User Settings +description: Configure global and default user settings. +sidebar_position: 2 +--- + +# Users + +## Enable Local Sign-In + +When enabled, users who have configured passwords will be allowed to sign in using their email address. + +When disabled, your mediaserver OAuth becomes the only sign-in option, and any "local users" you have created will not be able to sign in to Jellyseerr. + +This setting is **enabled** by default. + +## Enable New Jellyfin/Emby/Plex Sign-In + +When enabled, users with access to your media server will be able to sign in to Overseerr even if they have not yet been imported. Users will be automatically assigned the permissions configured in the [Default Permissions](#default-permissions) setting upon first sign-in. + +This setting is **enabled** by default. + +## Global Movie Request Limit & Global Series Request Limit + +Select the request limits you would like granted to users. + +Unless an override is configured, users are granted these global request limits. + +Note that users with the **Manage Users** permission are exempt from request limits, since that permission also grants the ability to submit requests on behalf of other users. + +## Default Permissions + +Select the permissions you would like assigned to new users to have by default upon account creation. + +If [Enable New Jellyfin/Emby/Plex Sign-In](#enable-new-jellyfinembyplex-sign-in) is enabled, any user with access to your media server will be able to sign in to Jellyseerr, and they will be granted the permissions you select here upon first sign-in. + +This setting only affects new users, and has no impact on existing users. In order to modify permissions for existing users, you will need to edit the users. diff --git a/docs/using-jellyseerr/users/_category_.json b/docs/using-jellyseerr/users/_category_.json new file mode 100644 index 00000000..d89e37d7 --- /dev/null +++ b/docs/using-jellyseerr/users/_category_.json @@ -0,0 +1,9 @@ +{ + "label": "Users", + "position": 2, + "link": { + "type": "generated-index", + "title": "Users", + "description": "Configure your Jellyseerr users" + } +} diff --git a/docs/using-jellyseerr/users/adding-users.mdx b/docs/using-jellyseerr/users/adding-users.mdx new file mode 100644 index 00000000..43324991 --- /dev/null +++ b/docs/using-jellyseerr/users/adding-users.mdx @@ -0,0 +1,64 @@ +--- +title: Adding Users +description: Add users to your Jellyseerr instance. +sidebar_position: 2 +--- + +# Adding Users + +There are currently two methods to add users to Overseerr: importing Plex users and creating "local users." All new users are created with the [default permissions](/using-jellyseerr/settings/users#default-permissions) defined in **Settings → Users**. + +### Importing Mediaserver Users + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + + + Clicking the **Import Jellyfin Users** button on the **User List** page will fetch the list of users with access to the Jellyfin server and add them to Jellyseerr automatically. + + Importing Jellyfin users is not required, however. Any user with access to the Jellyfin server can log in to Jellyseerr even if they have not been imported, and will be assigned the configured [default permissions](/using-jellyseerr/settings/users#default-permissions) upon their first login. + +:::tip +To disable new Jellyfin sign-ins, navigate to **Settings → Users** and uncheck the [**Enable New Jellyfin Sign-In**](/using-jellyseerr/settings/users#enable-new-jellyfinembyplex-sign-in) box. +::: + + + + Clicking the **Import Emby Users** button on the **User List** page will fetch the list of users with access to the Emby server and add them to Overseerr automatically. + + Importing Emby users is not required, however. Any user with access to the Emby server can log in to Overseerr even if they have not been imported, and will be assigned the configured [default permissions](/using-jellyseerr/settings/users#default-permissions) upon their first login. + +:::tip +To disable new Emby sign-ins, navigate to **Settings → Users** and uncheck the [**Enable New Emby Sign-In**](/using-jellyseerr/settings/users#enable-new-jellyfinembyplex-sign-in) box. +::: + + + + + Clicking the **Import Plex Users** button on the **User List** page will fetch the list of users with access to the Plex server from [plex.tv](https://www.plex.tv/), and add them to Overseerr automatically. + + Importing Plex users is not required, however. Any user with access to the Plex server can log in to Overseerr even if they have not been imported, and will be assigned the configured [default permissions](/using-jellyseerr/settings/users#default-permissions) upon their first login. + +:::tip +To disable new Plex sign-ins, navigate to **Settings → Users** and uncheck the [**Enable New Plex Sign-In**](/using-jellyseerr/settings/users#enable-new-jellyfinembyplex-sign-in) box. +::: + + + + +### Creating Local Users + +If you would like to grant Overseerr access to a user who doesn't have their own Plex account and/or access to the Plex server, you can manually add them by clicking the **Create Local User** button. + +#### Email Address + +Enter a valid email address at which the user can receive messages pertaining to their account and other notifications. The email address currently cannot be modified after the account is created. + +#### Automatically Generate Password + +If an [application URL](/using-jellyseerr/settings/general#application-url) is set and [email notifications](/using-jellyseerr/notifications/email) have been configured and enabled, Overseerr can automatically generate a password for the new user. + +#### Password + +If you would prefer to manually configure a password, enter a password here that is a minimum of 8 characters. diff --git a/docs/using-jellyseerr/users/deleting-users.md b/docs/using-jellyseerr/users/deleting-users.md new file mode 100644 index 00000000..0ef47056 --- /dev/null +++ b/docs/using-jellyseerr/users/deleting-users.md @@ -0,0 +1,9 @@ +--- +title: Deleting Users +description: Delete users from Jellyseerr. +sidebar_position: 4 +--- + +# Deleting Users + +When users are deleted, all of their data and request history is also cleared from the database. diff --git a/docs/using-jellyseerr/users/editing-users.md b/docs/using-jellyseerr/users/editing-users.md new file mode 100644 index 00000000..13ddb760 --- /dev/null +++ b/docs/using-jellyseerr/users/editing-users.md @@ -0,0 +1,62 @@ +--- +title: Editing Users +description: Edit user settings and permissions. +sidebar_position: 3 +--- + +# Editing Users + +From the **User List**, you can click the **Edit** button to modify a particular user's settings. + +You can also click the check boxes and click the **Bulk Edit** button to set user permissions for multiple users at once. + +## General + +### Display Name + +You can optionally set a "friendly name" for any user. This name will be used in lieu of their media server (Jellyfin/Emby/Plex) username (for users imported from the media server) or their email address (for manually-created local users). + +### Email + +:::note +This field is read-only for users imported from Plex. +::: +You can optionally set a proper email address for any user. This email address will be used for notifications, local sign-in and password resets. + +By default, users imported from Jellyfin/Emby will use their media server username as their email address. + +:::warning +You cannot leave this field blank. +::: + +### Display Language + +Users can override the [global display language](/using-jellyseerr/settings/general#display-language) to use Jellyseerr in their preferred language. + +### Discover Region & Discover Language + +Users can override the [global filter settings](/using-jellyseerr/settings/general#discover-region-and-discover-language) to suit their own preferences. + +### Movie Request Limit & Series Request Limit + +You can override the default settings and assign different request limits for specific users by checking the **Enable Override** box and selecting the desired request limit and time period. + +Unless an override is configured, users are granted the global request limits. + +Note that users with the **Manage Users** permission are exempt from request limits, since that permission also grants the ability to submit requests on behalf of other users. + +Users are also unable to modify their own request limits. + +## Password + +All "local users" are assigned passwords upon creation, but users imported from Plex can also optionally configure passwords to enable sign-in using their email address. + +Passwords must be a minimum of 8 characters long. + +## Notifications + +Users can configure their personal notification settings here. Please see [Notifications](/using-jellyseerr/notifications/) for details on configuring and enabling notifications. + +## Permissions + +Users cannot modify their own permissions. Users with the **Manage Users** permission can manage permissions of other users, except those of users with the **Admin** permission. diff --git a/docs/using-jellyseerr/users/owner.md b/docs/using-jellyseerr/users/owner.md new file mode 100644 index 00000000..95ace57f --- /dev/null +++ b/docs/using-jellyseerr/users/owner.md @@ -0,0 +1,17 @@ +--- +title: Owner Account +description: Your owner account is the primary account for managing Jellyseerr. +sidebar_position: 1 +--- + +# Owner Account + +The user account created during Jellyseerr setup is the "Owner" account, which cannot be deleted or modified by other users. This account's credentials are used to authenticate with your media server and configure Jellyseerr settings. + +:::note +In case of Jellyfin/Emby, the owner account is also used for API access to your media server. This account should have a valid authentication token for your media server. +::: + +:::tip +If your authentication token is ever invalidated or changed, you can refresh it by re-authenticating with your media server. +::: diff --git a/docs/using-overseerr/notifications/README.md b/docs/using-overseerr/notifications/README.md deleted file mode 100644 index 2bff1388..00000000 --- a/docs/using-overseerr/notifications/README.md +++ /dev/null @@ -1,26 +0,0 @@ -# Notifications - -## Supported Notification Agents - -Overseerr currently supports the following notification agents: - -- [Email](./email.md) -- [Web Push](./webpush.md) -- [Discord](./discord.md) -- [Gotify](./gotify.md) -- [LunaSea](./lunasea.md) -- [Pushbullet](./pushbullet.md) -- [Pushover](./pushover.md) -- [Slack](./slack.md) -- [Telegram](./telegram.md) -- [Webhooks](./webhooks.md) - -## Setting Up Notifications - -Simply configure your desired notification agents in **Settings → Notifications**. - -Users can customize their personal notification preferences in their own user notification settings. - -## Requesting New Notification Agents - -If we do not currently support your preferred notification agent, feel free to [submit a feature request on GitHub](https://github.com/sct/overseerr/issues). However, please be sure to search first and confirm that there is not already an existing request for the agent! diff --git a/docs/using-overseerr/notifications/gotify.md b/docs/using-overseerr/notifications/gotify.md deleted file mode 100644 index 16e7cd59..00000000 --- a/docs/using-overseerr/notifications/gotify.md +++ /dev/null @@ -1,15 +0,0 @@ -# Gotify - -## Configuration - -### Server URL - -Set this to the URL of your Gotify server. - -### Application Token - -Add an application to your Gotify server, and set this field to the generated application token. - -{% hint style="info" %} -Please refer to the [Gotify API documentation](https://gotify.net/docs) for more details on configuring these notifications. -{% endhint %} diff --git a/docs/using-overseerr/notifications/lunasea.md b/docs/using-overseerr/notifications/lunasea.md deleted file mode 100644 index 5271a2c1..00000000 --- a/docs/using-overseerr/notifications/lunasea.md +++ /dev/null @@ -1,17 +0,0 @@ -# LunaSea - -## Configuration - -### Webhook URL - -Copy either a device- or user-based webhook URL from the LunaSea app into this field. - -### Profile Name (optional) - -If not using the `default` profile in the LunaSea app, specify the name of the profile here. - -Note that the entered profile name **_must_** match the name in LunaSea exactly (including any capitalization, punctuation, and/or whitespace). - -{% hint style="info" %} -Please refer to the [LunaSea documentation](https://docs.lunasea.app/lunasea/notifications/overseerr) for more details on configuring these notifications. -{% endhint %} diff --git a/docs/using-overseerr/notifications/pushbullet.md b/docs/using-overseerr/notifications/pushbullet.md deleted file mode 100644 index 6e9be9c2..00000000 --- a/docs/using-overseerr/notifications/pushbullet.md +++ /dev/null @@ -1,17 +0,0 @@ -# Pushbullet - -{% hint style="info" %} -Users can optionally configure personal notifications in their user settings. - -User notifications are separate from system notifications, and the available notification types are dependent on user permissions. -{% endhint %} - -## Configuration - -### Access Token - -[Create an access token](https://www.pushbullet.com/#settings) and set it here to grant Overseerr access to the Pushbullet API. - -### Channel Tag (optional) - -Optionally, [create a channel](https://www.pushbullet.com/my-channel) to allow other users to follow the notification feed using the specified channel tag. diff --git a/docs/using-overseerr/notifications/pushover.md b/docs/using-overseerr/notifications/pushover.md deleted file mode 100644 index 9554dc45..00000000 --- a/docs/using-overseerr/notifications/pushover.md +++ /dev/null @@ -1,21 +0,0 @@ -# Pushover - -{% hint style="info" %} -Users can optionally configure personal notifications in their user settings. - -User notifications are separate from system notifications, and the available notification types are dependent on user permissions. -{% endhint %} - -## Configuration - -### Application/API Token - -[Register an application](https://pushover.net/apps/build) and enter the API token in this field. (You can use one of the [official icons in our GitHub repository](https://github.com/fallenbagel/jellyseerr/tree/develop/public) when configuring the application.) - -For more details on registering applications or the API token, please see the [Pushover API documentation](https://pushover.net/api#registration). - -### User Key - -Set this to the user key for your Pushover account. Alternatively, you can set this to a group key to deliver notifications to multiple users. - -For more details, please see the [Pushover API documentation](https://pushover.net/api#identifiers). diff --git a/docs/using-overseerr/notifications/slack.md b/docs/using-overseerr/notifications/slack.md deleted file mode 100644 index 0d5a9892..00000000 --- a/docs/using-overseerr/notifications/slack.md +++ /dev/null @@ -1,11 +0,0 @@ -# Slack - -## Configuration - -### Webhook URL - -Simply [create a webhook](https://my.slack.com/services/new/incoming-webhook/) and enter the URL in this field. - -{% hint style="info" %} -Please refer to the [Slack API documentation](https://api.slack.com/messaging/webhooks) for more details on configuring these notifications. -{% endhint %} diff --git a/docs/using-overseerr/notifications/telegram.md b/docs/using-overseerr/notifications/telegram.md deleted file mode 100644 index 9bdb96db..00000000 --- a/docs/using-overseerr/notifications/telegram.md +++ /dev/null @@ -1,33 +0,0 @@ -# Telegram - -{% hint style="info" %} -Users can optionally configure personal notifications in their user settings. - -User notifications are separate from system notifications, and the available notification types are dependent on user permissions. -{% endhint %} - -## Configuration - -{% hint style="info" %} -In order to configure Telegram notifications, you first need to [create a bot](https://telegram.me/BotFather). - -Bots **cannot** initiate conversations with users, so users must have your bot added to a conversation in order to receive notifications. -{% endhint %} - -### Bot Username (optional) - -If this value is configured, users will be able to click a link to start a chat with your bot and configure their own personal notifications. - -The bot username should end with `_bot`, and the `@` prefix should be omitted. - -### Bot Authentication Token - -At the end of the bot creation process, [@BotFather](https://telegram.me/botfather) will provide an authentication token. - -### Chat ID - -To obtain your chat ID, simply create a new group chat, add [@get_id_bot](https://telegram.me/get_id_bot), and issue the `/my_id` command. - -### Send Silently (optional) - -Optionally, notifications can be sent silently. Silent notifications send messages without notification sounds. diff --git a/docs/using-overseerr/notifications/webhooks.md b/docs/using-overseerr/notifications/webhooks.md deleted file mode 100644 index cd2ada31..00000000 --- a/docs/using-overseerr/notifications/webhooks.md +++ /dev/null @@ -1,132 +0,0 @@ -# Webhook - -The webhook notification agent enables you to send a custom JSON payload to any endpoint for specific notification events. - -## Configuration - -### Webhook URL - -The URL you would like to post notifications to. Your JSON will be sent as the body of the request. - -### Authorization Header (optional) - -{% hint style="info" %} -This is typically not needed. Please refer to your webhook provider's documentation for details. -{% endhint %} - -This value will be sent as an `Authorization` HTTP header. - -### JSON Payload - -Customize the JSON payload to suit your needs. Overseerr provides several [template variables](#template-variables) for use in the payload, which will be replaced with the relevant data when the notifications are triggered. - -## Template Variables - -### General - -| Variable | Value | -| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | -| `{{notification_type}}` | The type of notification (e.g. `MEDIA_PENDING` or `ISSUE_COMMENT`) | -| `{{event}}` | A friendly description of the notification event | -| `{{subject}}` | The notification subject (typically the media title) | -| `{{message}}` | The notification message body (the media overview/synopsis for request notifications; the issue description for issue notificatons) | -| `{{image}}` | The notification image (typically the media poster) | - -### Notify User - -These variables are for the target recipient of the notification. - -| Variable | Value | -| ---------------------------------------- | ------------------------------------------------------------- | -| `{{notifyuser_username}}` | The target notification recipient's username | -| `{{notifyuser_email}}` | The target notification recipient's email address | -| `{{notifyuser_avatar}}` | The target notification recipient's avatar URL | -| `{{notifyuser_settings_discordId}}` | The target notification recipient's Discord ID (if set) | -| `{{notifyuser_settings_telegramChatId}}` | The target notification recipient's Telegram Chat ID (if set) | - -{% hint style="info" %} -The `notifyuser` variables are not defined for the following request notification types, as they are intended for application administrators rather than end users: - -- Request Pending Approval -- Request Automatically Approved -- Request Processing Failed - -On the other hand, the `notifyuser` variables _will_ be replaced with the requesting user's information for the below notification types: - -- Request Approved -- Request Declined -- Request Available - -If you would like to use the requesting user's information in your webhook, please instead include the relevant variables from the [Request](#request) section below. -{% endhint %} - -### Special - -The following variables must be used as a key in the JSON payload (e.g., `"{{extra}}": []`). - -| Variable | Value | -| ------------- | ------------------------------------------------------------------------------------------------------------------------------ | -| `{{media}}` | The relevant media object | -| `{{request}}` | The relevant request object | -| `{{issue}}` | The relevant issue object | -| `{{comment}}` | The relevant issue comment object | -| `{{extra}}` | The "extra" array of additional data for certain notifications (e.g., season/episode numbers for series-related notifications) | - -#### Media - -The `{{media}}` will be `null` if there is no relevant media object for the notification. - -These following special variables are only included in media-related notifications, such as requests. - -| Variable | Value | -| -------------------- | -------------------------------------------------------------------------------------------------------------- | -| `{{media_type}}` | The media type (`movie` or `tv`) | -| `{{media_tmdbid}}` | The media's TMDB ID | -| `{{media_tvdbid}}` | The media's TheTVDB ID | -| `{{media_status}}` | The media's availability status (`UNKNOWN`, `PENDING`, `PROCESSING`, `PARTIALLY_AVAILABLE`, or `AVAILABLE`) | -| `{{media_status4k}}` | The media's 4K availability status (`UNKNOWN`, `PENDING`, `PROCESSING`, `PARTIALLY_AVAILABLE`, or `AVAILABLE`) | - -#### Request - -The `{{request}}` will be `null` if there is no relevant media object for the notification. - -The following special variables are only included in request-related notifications. - -| Variable | Value | -| ----------------------------------------- | ----------------------------------------------- | -| `{{request_id}}` | The request ID | -| `{{requestedBy_username}}` | The requesting user's username | -| `{{requestedBy_email}}` | The requesting user's email address | -| `{{requestedBy_avatar}}` | The requesting user's avatar URL | -| `{{requestedBy_settings_discordId}}` | The requesting user's Discord ID (if set) | -| `{{requestedBy_settings_telegramChatId}}` | The requesting user's Telegram Chat ID (if set) | - -#### Issue - -The `{{issue}}` will be `null` if there is no relevant media object for the notification. - -The following special variables are only included in issue-related notifications. - -| Variable | Value | -| ---------------------------------------- | ----------------------------------------------- | -| `{{issue_id}}` | The issue ID | -| `{{reportedBy_username}}` | The requesting user's username | -| `{{reportedBy_email}}` | The requesting user's email address | -| `{{reportedBy_avatar}}` | The requesting user's avatar URL | -| `{{reportedBy_settings_discordId}}` | The requesting user's Discord ID (if set) | -| `{{reportedBy_settings_telegramChatId}}` | The requesting user's Telegram Chat ID (if set) | - -#### Comment - -The `{{comment}}` will be `null` if there is no relevant media object for the notification. - -The following special variables are only included in issue comment-related notifications. - -| Variable | Value | -| ----------------------------------------- | ----------------------------------------------- | -| `{{comment_message}}` | The comment message | -| `{{commentedBy_username}}` | The commenting user's username | -| `{{commentedBy_email}}` | The commenting user's email address | -| `{{commentedBy_avatar}}` | The commenting user's avatar URL | -| `{{commentedBy_settings_discordId}}` | The commenting user's Discord ID (if set) | -| `{{commentedBy_settings_telegramChatId}}` | The commenting user's Telegram Chat ID (if set) | diff --git a/docs/using-overseerr/notifications/webpush.md b/docs/using-overseerr/notifications/webpush.md deleted file mode 100644 index 65d914f0..00000000 --- a/docs/using-overseerr/notifications/webpush.md +++ /dev/null @@ -1,17 +0,0 @@ -# Web Push - -The web push notification agent enables you and your users to receive Overseerr notifications in a supported browser. - -This notification agent does not require any configuration, but is not enabled in Overseerr by default. - -{% hint style="warning" %} -**The web push agent only works via HTTPS.** Refer to our [reverse proxy examples](../../extending-overseerr/reverse-proxy.md) for help on proxying Overseerr traffic via HTTPS. -{% endhint %} - -To set up web push notifications, simply enable the agent in **Settings → Notifications → Web Push**. You and your users will then be prompted to allow notifications in your web browser. - -Users can opt out of these notifications, or customize the notification types they would like to subscribe to, in their user settings. - -{% hint style="info" %} -Web push notifications offer a native notification experience without the need to install an app. iOS devices do not have support for these notifications at this time, however. -{% endhint %} diff --git a/docs/using-overseerr/settings/README.md b/docs/using-overseerr/settings/README.md deleted file mode 100644 index 477129fc..00000000 --- a/docs/using-overseerr/settings/README.md +++ /dev/null @@ -1,221 +0,0 @@ -# Settings - -## General - -### API Key - -This is your Overseerr API key, which can be used to integrate Overseerr with third-party applications. Do **not** share this key publicly, as it can be used to gain administrator access! - -If you need to generate a new API key for any reason, simply click the button to the right of the text box. - -### Application Title - -If you aren't a huge fan of the name "Overseerr" and would like to display something different to your users, you can customize the application title! - -### Application URL - -Set this to the externally-accessible URL of your Overseerr instance. - -You must configure this setting in order to enable password reset and [generation](../users/README.md#automatically-generate-password) emails. - -### Enable Proxy Support - -If you have Overseerr behind a [reverse proxy](../../extending-overseerr/reverse-proxy.md), enable this setting to allow Overseerr to correctly register client IP addresses. For details, please see the [Express documentation](http://expressjs.com/en/guide/behind-proxies.html). - -This setting is **disabled** by default. - -### Enable CSRF Protection - -{% hint style="danger" %} -**This is an advanced setting.** We do not recommend enabling it unless you understand the implications of doing so. -{% endhint %} - -CSRF stands for [cross-site request forgery](https://en.wikipedia.org/wiki/Cross-site_request_forgery). When this setting is enabled, all external API access that alters Overseerr application data is blocked. - -If you do not use Overseerr integrations with third-party applications to add/modify/delete requests or users, you can consider enabling this setting to protect against malicious attacks. - -One caveat, however, is that _HTTPS is required_, meaning that once this setting is enabled, you will no longer be able to access your Overseerr instance over HTTP (including using an IP address and port number). - -If you enable this setting and find yourself unable to access Overseerr, you can disable the setting by modifying `settings.json` in `/app/config`. - -This setting is **disabled** by default. - -### Enable Image Caching - -When enabled, Overseerr will proxy and cache images from pre-configured sources (such as TMDB). This can use a significant amount of disk space. - -Images are saved in the `config/cache/images` and stale images are cleared out every 24 hours. - -You should enable this if you are having issues with loading images directly from TMDB in your browser. - -### Display Language - -Set the default display language for Overseerr. Users can override this setting in their user settings. - -### Discover Region & Discover Language - -These settings filter content shown on the "Discover" home page based on regional availability and original language, respectively. Users can override these global settings by configuring these same options in their user settings. - -### Hide Available Media - -When enabled, media which is already available will not appear on the "Discover" home page, or in the "Recommended" or "Similar" categories or other links on media detail pages. - -Available media will still appear in search results, however, so it is possible to locate and view hidden items by searching for them by title. - -This setting is **disabled** by default. - -### Allow Partial Series Requests - -When enabled, users will be able to submit requests for specific seasons of TV series. If disabled, users will only be able to submit requests for all unavailable seasons. - -This setting is **enabled** by default. - -## Users - -### Enable Local Sign-In - -When enabled, users who have configured passwords will be allowed to sign in using their email address. - -When disabled, Plex OAuth becomes the only sign-in option, and any "local users" you have created will not be able to sign in to Overseerr. - -This setting is **enabled** by default. - -### Enable New Plex Sign-In - -When enabled, users with access to your Plex server will be able to sign in to Overseerr even if they have not yet been imported. Users will be automatically assigned the permissions configured in the [Default Permissions](#default-permissions) setting upon first sign-in. - -This setting is **enabled** by default. - -### Global Movie Request Limit & Global Series Request Limit - -Select the request limits you would like granted to users. - -Unless an [override](../users/README.md#movie-request-limit-and-series-request-limit) is configured, users are granted these global request limits. - -Note that users with the **Manage Users** permission are exempt from request limits, since that permission also grants the ability to submit requests on behalf of other users. - -### Default Permissions - -Select the permissions you would like assigned to new users to have by default upon account creation. - -If [Enable New Plex Sign-In](#enable-new-plex-sign-in) is enabled, any user with access to your Plex server will be able to sign in to Overseerr, and they will be granted the permissions you select here upon first sign-in. - -This setting only affects new users, and has no impact on existing users. In order to modify permissions for existing users, you will need to [edit the users](../users/README.md#editing-users). - -## Plex - -### Plex Settings - -{% hint style="info" %} -To set up Plex, you can either enter your details manually or select a server retrieved from [plex.tv](https://plex.tv/). Press the button to the right of the "Server" dropdown to retrieve available servers. - -Depending on your setup/configuration, you may need to enter your Plex server details manually in order to establish a connection from Overseerr. -{% endhint %} - -#### Hostname or IP Address - -If you have Overseerr installed on the same network as Plex, you can set this to the local IP address of your Plex server. Otherwise, this should be set to a valid hostname (e.g., `plex.myawesomeserver.com`). - -#### Port - -This value should be set to the port that your Plex server listens on. The default port that Plex uses is `32400`, but you may need to set this to `443` or some other value if your Plex server is hosted on a VPS or cloud provider. - -#### Use SSL - -Enable this setting to connect to Plex via HTTPS rather than HTTP. Note that self-signed certificates are _not_ supported. - -#### Web App URL (optional) - -The **Play on Plex** buttons on media pages link to items on your Plex server. By default, these links use the [Plex Web App](https://support.plex.tv/articles/200288666-opening-plex-web-app/) hosted from plex.tv, but you can provide the URL to the web app on your Plex server and we'll use that instead! - -Note that you will need to enter the full path to the web app (e.g., `https://plex.myawesomeserver.com/web`). - -### Plex Libraries - -In this section, simply select the libraries you would like Overseerr to scan. Overseerr will periodically check the selected libraries for available content to update the media status that is displayed to users. - -If you do not see your Plex libraries listed, verify your Plex settings are correct and click the **Sync Libraries** button. - -### Manual Library Scan - -Overseerr will perform a full scan of your Plex libraries once every 24 hours (recently added items are fetched more frequently). If this is your first time configuring Plex, a one-time full manual library scan is recommended! - -## Services - -{% hint style="info" %} -**If you keep separate copies of non-4K and 4K content in your media libraries, you will need to set up multiple Radarr/Sonarr instances and link each of them to Overseerr.** - -Overseerr checks these linked servers to determine whether or not media has already been requested or is available, so two servers of each type are required _if you keep separate non-4K and 4K copies of media_. - -**If you only maintain one copy of media, you can instead simply set up one server and set the "Quality Profile" setting on a per-request basis.** -{% endhint %} - -### Radarr/Sonarr Settings - -{% hint style="warning" %} -**Only v3 Radarr/Sonarr servers are supported!** If your Radarr/Sonarr server is still running v2, you will need to upgrade in order to add it to Overseerr. -{% endhint %} - -#### Default Server - -At least one server needs to be marked as "Default" in order for requests to be sent successfully to Radarr/Sonarr. - -If you have separate 4K Radarr/Sonarr servers, you need to designate default 4K servers _in addition to_ default non-4K servers. - -#### 4K Server - -Only select this option if you have separate non-4K and 4K servers. If you only have a single Radarr/Sonarr server, do _not_ check this box! - -#### Server Name - -Enter a friendly name for the Radarr/Sonarr server. - -#### Hostname or IP Address - -If you have Overseerr installed on the same network as Radarr/Sonarr, you can set this to the local IP address of your Radarr/Sonarr server. Otherwise, this should be set to a valid hostname (e.g., `radarr.myawesomeserver.com`). - -#### Port - -This value should be set to the port that your Radarr/Sonarr server listens on. By default, Radarr uses port `7878` and Sonarr uses port `8989`, but you may need to set this to `443` or some other value if your Radarr/Sonarr server is hosted on a VPS or cloud provider. - -#### Use SSL - -Enable this setting to connect to Radarr/Sonarr via HTTPS rather than HTTP. Note that self-signed certificates are _not_ supported. - -#### API Key - -Enter your Radarr/Sonarr API key here. Do _not_ share these key publicly, as they can be used to gain administrator access to your Radarr/Sonarr servers! - -You can locate the required API keys in Radarr/Sonarr in **Settings → General → Security**. - -#### URL Base - -If you have configured a URL base for your Radarr/Sonarr server, you _must_ enter it here in order for Overseerr to connect to those services! - -You can verify whether or not you have a URL base configured in your Radarr/Sonarr server at **Settings → General → Host**. (Note that a restart of your Radarr/Sonarr server is required if you modify this setting!) - -#### Profiles, Root Folder, Minimum Availability - -Select the default settings you would like to use for all new requests. Note that all of these options are required, and that requests will fail if any of these are not configured! - -#### External URL (optional) - -If the hostname or IP address you configured above is not accessible outside your network, you can set a different URL here. This "external" URL is used to add clickable links to your Radarr/Sonarr servers on media detail pages. - -#### Enable Scan (optional) - -Enable this setting if you would like to scan your Radarr/Sonarr server for existing media/request status. It is recommended that you enable this setting, so that users cannot submit requests for media which has already been requested or is already available. - -#### Enable Automatic Search (optional) - -Enable this setting to have Radarr/Sonarr to automatically search for media upon approval of a request. - -## Notifications - -Please see [Notifications](../notifications/README.md) for details on configuring and enabling notifications. - -## Jobs & Cache - -Overseerr performs certain maintenance tasks as regularly-scheduled jobs, but they can also be manually triggered on this page. - -Overseerr also caches requests to external API endpoints to optimize performance and avoid making unnecessary API calls. If necessary, the cache for any particular endpoint can be cleared by clicking the "Flush Cache" button. diff --git a/docs/using-overseerr/users/README.md b/docs/using-overseerr/users/README.md deleted file mode 100644 index 139e935a..00000000 --- a/docs/using-overseerr/users/README.md +++ /dev/null @@ -1,79 +0,0 @@ -# Users - -## Owner Account - -The user account created during Overseerr setup is the "Owner" account, which cannot be deleted or modified by other users. This account's credentials are used to authenticate with Plex. - -## Adding Users - -There are currently two methods to add users to Overseerr: importing Plex users and creating "local users." All new users are created with the [default permissions](../settings/README.md#default-permissions) defined in **Settings → Users**. - -### Importing Plex Users - -Clicking the **Import Plex Users** button on the **User List** page will fetch the list of users with access to the Plex server from [plex.tv](https://www.plex.tv/), and add them to Overseerr automatically. - -Importing Plex users is not required, however. Any user with access to the Plex server can log in to Overseerr even if they have not been imported, and will be assigned the configured [default permissions](../settings/README.md#default-permissions) upon their first login. - -### Creating Local Users - -If you would like to grant Overseerr access to a user who doesn't have their own Plex account and/or access to the Plex server, you can manually add them by clicking the **Create Local User** button. - -#### Email Address - -Enter a valid email address at which the user can receive messages pertaining to their account and other notifications. The email address currently cannot be modified after the account is created. - -#### Automatically Generate Password - -If an [application URL](../settings/README.md#application-url) is set and [email notifications](../notifications/email.md) have been configured and enabled, Overseerr can automatically generate a password for the new user. - -#### Password - -If you would prefer to manually configure a password, enter a password here that is a minimum of 8 characters. - -## Editing Users - -From the **User List**, you can click the **Edit** button to modify a particular user's settings. - -You can also click the check boxes and click the **Bulk Edit** button to set user permissions for multiple users at once. - -### General - -#### Display Name - -You can optionally set a "friendly name" for any user. This name will be used in lieu of their Plex username (for users imported from Plex) or their email address (for manually-created local users). - -#### Display Language - -Users can override the [global display language](../settings/README.md#display-language) to use Overseerr in their preferred language. - -#### Discover Region & Discover Language - -Users can override the [global filter settings](../settings/README.md#discover-region-and-discover-language) to suit their own preferences. - -#### Movie Request Limit & Series Request Limit - -You can override the default settings and assign different request limits for specific users by checking the **Enable Override** box and selecting the desired request limit and time period. - -Unless an override is configured, users are granted the global request limits. - -Note that users with the **Manage Users** permission are exempt from request limits, since that permission also grants the ability to submit requests on behalf of other users. - -Users are also unable to modify their own request limits. - -### Password - -All "local users" are assigned passwords upon creation, but users imported from Plex can also optionally configure passwords to enable sign-in using their email address. - -Passwords must be a minimum of 8 characters long. - -### Notifications - -Users can configure their personal notification settings here. Please see [Notifications](../notifications/README.md) for details on configuring and enabling notifications. - -### Permissions - -Users cannot modify their own permissions. Users with the **Manage Users** permission can manage permissions of other users, except those of users with the **Admin** permission. - -## Deleting Users - -When users are deleted, all of their data and request history is also cleared from the database. diff --git a/gen-docs/.gitignore b/gen-docs/.gitignore new file mode 100644 index 00000000..b2d6de30 --- /dev/null +++ b/gen-docs/.gitignore @@ -0,0 +1,20 @@ +# Dependencies +/node_modules + +# Production +/build + +# Generated files +.docusaurus +.cache-loader + +# Misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/gen-docs/README.md b/gen-docs/README.md new file mode 100644 index 00000000..80ec022d --- /dev/null +++ b/gen-docs/README.md @@ -0,0 +1,25 @@ +# Jellyseerr Documentation + +Jellyseerr docs is built using [Docusaurus](https://docusaurus.io/), a modern static website generator. + +### Installation + +``` +$ pnpm +``` + +### Local Development + +``` +$ pnpm start +``` + +This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. + +### Build + +``` +$ pnpm build +``` + +This command generates static content into the `build` directory and can be served using any static contents hosting service. diff --git a/gen-docs/babel.config.js b/gen-docs/babel.config.js new file mode 100644 index 00000000..e00595da --- /dev/null +++ b/gen-docs/babel.config.js @@ -0,0 +1,3 @@ +module.exports = { + presets: [require.resolve('@docusaurus/core/lib/babel/preset')], +}; diff --git a/gen-docs/docusaurus.config.ts b/gen-docs/docusaurus.config.ts new file mode 100644 index 00000000..e10e6d56 --- /dev/null +++ b/gen-docs/docusaurus.config.ts @@ -0,0 +1,115 @@ +import type * as Preset from '@docusaurus/preset-classic'; +import type { Config } from '@docusaurus/types'; +import { themes as prismThemes } from 'prism-react-renderer'; + +const config: Config = { + title: 'Jellyseerr', + tagline: 'One Stop Solution for all your media request needs', + favicon: 'img/favicon.ico', + + url: 'https://docs.jellyseerr.dev', + baseUrl: '/', + + organizationName: 'Fallenbagel', + projectName: 'Jellyseerr', + deploymentBranch: 'docs', + + onBrokenLinks: 'throw', + onBrokenMarkdownLinks: 'warn', + + i18n: { + defaultLocale: 'en', + locales: ['en'], + }, + + presets: [ + [ + 'classic', + { + docs: { + sidebarPath: './sidebars.ts', + routeBasePath: '/', + path: '../docs', + editUrl: + 'https://github.com/Fallenbagel/jellyseerr/edit/develop/docs/', + }, + blog: false, + pages: false, + theme: { + customCss: './src/css/custom.css', + }, + } satisfies Preset.Options, + ], + ], + + themes: [ + [ + '@easyops-cn/docusaurus-search-local', + /** @type {import("@easyops-cn/docusaurus-search-local").PluginOptions} */ + { + hashed: true, + indexBlog: false, + docsDir: '../docs', + docsRouteBasePath: '/', + explicitSearchResultPath: true, + }, + ], + ], + + themeConfig: { + image: 'img/docusaurus-social-card.jpg', + colorMode: { + defaultMode: 'dark', + disableSwitch: true, + respectPrefersColorScheme: false, + }, + navbar: { + logo: { + alt: 'Jellyseerr', + src: 'img/logo.svg', + }, + items: [ + { + href: 'https://github.com/Fallenbagel/jellyseerr', + label: 'GitHub', + position: 'right', + }, + ], + }, + footer: { + style: 'dark', + links: [ + { + title: 'Docs', + items: [ + { + label: 'Documentation', + to: '/', + }, + ], + }, + { + title: 'Community', + items: [ + { + label: 'Discord', + href: 'https://discord.gg/ckbvBtDJgC', + }, + { + label: 'Github Discussions', + href: 'https://github.com/fallenbagel/jellyseerr/discussions', + }, + ], + }, + ], + copyright: `Copyright © ${new Date().getFullYear()} Jellyseerr. Built with Docusaurus.`, + }, + prism: { + theme: prismThemes.shadesOfPurple, + darkTheme: prismThemes.shadesOfPurple, + additionalLanguages: ['bash', 'powershell', 'yaml', 'nix', 'nginx'], + }, + } satisfies Preset.ThemeConfig, +}; + +export default config; diff --git a/gen-docs/package.json b/gen-docs/package.json new file mode 100644 index 00000000..951dbc18 --- /dev/null +++ b/gen-docs/package.json @@ -0,0 +1,52 @@ +{ + "name": "gen-docs", + "version": "0.0.0", + "private": true, + "scripts": { + "docusaurus": "docusaurus", + "start": "docusaurus start", + "build": "docusaurus build", + "swizzle": "docusaurus swizzle", + "deploy": "docusaurus deploy", + "clear": "docusaurus clear", + "serve": "docusaurus serve", + "write-translations": "docusaurus write-translations", + "write-heading-ids": "docusaurus write-heading-ids", + "typecheck": "tsc" + }, + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/preset-classic": "3.4.0", + "@easyops-cn/docusaurus-search-local": "^0.44.2", + "@mdx-js/react": "^3.0.0", + "clsx": "^2.0.0", + "prism-react-renderer": "^2.3.0", + "react": "^18.0.0", + "react-dom": "^18.0.0", + "tailwindcss": "^3.4.4" + }, + "devDependencies": { + "@docusaurus/module-type-aliases": "3.4.0", + "@docusaurus/tsconfig": "3.4.0", + "@docusaurus/types": "3.4.0", + "typescript": "~5.2.2" + }, + "resolutions": { + "prismjs": "PrismJS/prism" + }, + "browserslist": { + "production": [ + ">0.5%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 3 chrome version", + "last 3 firefox version", + "last 5 safari version" + ] + }, + "engines": { + "node": ">=18.0" + } +} diff --git a/gen-docs/pnpm-lock.yaml b/gen-docs/pnpm-lock.yaml new file mode 100644 index 00000000..8878f95e --- /dev/null +++ b/gen-docs/pnpm-lock.yaml @@ -0,0 +1,10964 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +overrides: + prismjs: PrismJS/prism + +importers: + + .: + dependencies: + '@docusaurus/core': + specifier: 3.4.0 + version: 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/preset-classic': + specifier: 3.4.0 + version: 3.4.0(@algolia/client-search@4.23.3)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)(typescript@5.2.2) + '@easyops-cn/docusaurus-search-local': + specifier: ^0.44.2 + version: 0.44.2(@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2))(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@mdx-js/react': + specifier: ^3.0.0 + version: 3.0.1(@types/react@18.3.3)(react@18.3.1) + clsx: + specifier: ^2.0.0 + version: 2.1.1 + prism-react-renderer: + specifier: ^2.3.0 + version: 2.3.1(react@18.3.1) + react: + specifier: ^18.0.0 + version: 18.3.1 + react-dom: + specifier: ^18.0.0 + version: 18.3.1(react@18.3.1) + tailwindcss: + specifier: ^3.4.4 + version: 3.4.4 + devDependencies: + '@docusaurus/module-type-aliases': + specifier: 3.4.0 + version: 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/tsconfig': + specifier: 3.4.0 + version: 3.4.0 + '@docusaurus/types': + specifier: 3.4.0 + version: 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + typescript: + specifier: ~5.2.2 + version: 5.2.2 + +packages: + + '@algolia/autocomplete-core@1.9.3': + resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==} + + '@algolia/autocomplete-plugin-algolia-insights@1.9.3': + resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==} + peerDependencies: + search-insights: '>= 1 < 3' + + '@algolia/autocomplete-preset-algolia@1.9.3': + resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + + '@algolia/autocomplete-shared@1.9.3': + resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + + '@algolia/cache-browser-local-storage@4.23.3': + resolution: {integrity: sha512-vRHXYCpPlTDE7i6UOy2xE03zHF2C8MEFjPN2v7fRbqVpcOvAUQK81x3Kc21xyb5aSIpYCjWCZbYZuz8Glyzyyg==} + + '@algolia/cache-common@4.23.3': + resolution: {integrity: sha512-h9XcNI6lxYStaw32pHpB1TMm0RuxphF+Ik4o7tcQiodEdpKK+wKufY6QXtba7t3k8eseirEMVB83uFFF3Nu54A==} + + '@algolia/cache-in-memory@4.23.3': + resolution: {integrity: sha512-yvpbuUXg/+0rbcagxNT7un0eo3czx2Uf0y4eiR4z4SD7SiptwYTpbuS0IHxcLHG3lq22ukx1T6Kjtk/rT+mqNg==} + + '@algolia/client-account@4.23.3': + resolution: {integrity: sha512-hpa6S5d7iQmretHHF40QGq6hz0anWEHGlULcTIT9tbUssWUriN9AUXIFQ8Ei4w9azD0hc1rUok9/DeQQobhQMA==} + + '@algolia/client-analytics@4.23.3': + resolution: {integrity: sha512-LBsEARGS9cj8VkTAVEZphjxTjMVCci+zIIiRhpFun9jGDUlS1XmhCW7CTrnaWeIuCQS/2iPyRqSy1nXPjcBLRA==} + + '@algolia/client-common@4.23.3': + resolution: {integrity: sha512-l6EiPxdAlg8CYhroqS5ybfIczsGUIAC47slLPOMDeKSVXYG1n0qGiz4RjAHLw2aD0xzh2EXZ7aRguPfz7UKDKw==} + + '@algolia/client-personalization@4.23.3': + resolution: {integrity: sha512-3E3yF3Ocr1tB/xOZiuC3doHQBQ2zu2MPTYZ0d4lpfWads2WTKG7ZzmGnsHmm63RflvDeLK/UVx7j2b3QuwKQ2g==} + + '@algolia/client-search@4.23.3': + resolution: {integrity: sha512-P4VAKFHqU0wx9O+q29Q8YVuaowaZ5EM77rxfmGnkHUJggh28useXQdopokgwMeYw2XUht49WX5RcTQ40rZIabw==} + + '@algolia/events@4.0.1': + resolution: {integrity: sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==} + + '@algolia/logger-common@4.23.3': + resolution: {integrity: sha512-y9kBtmJwiZ9ZZ+1Ek66P0M68mHQzKRxkW5kAAXYN/rdzgDN0d2COsViEFufxJ0pb45K4FRcfC7+33YB4BLrZ+g==} + + '@algolia/logger-console@4.23.3': + resolution: {integrity: sha512-8xoiseoWDKuCVnWP8jHthgaeobDLolh00KJAdMe9XPrWPuf1by732jSpgy2BlsLTaT9m32pHI8CRfrOqQzHv3A==} + + '@algolia/recommend@4.23.3': + resolution: {integrity: sha512-9fK4nXZF0bFkdcLBRDexsnGzVmu4TSYZqxdpgBW2tEyfuSSY54D4qSRkLmNkrrz4YFvdh2GM1gA8vSsnZPR73w==} + + '@algolia/requester-browser-xhr@4.23.3': + resolution: {integrity: sha512-jDWGIQ96BhXbmONAQsasIpTYWslyjkiGu0Quydjlowe+ciqySpiDUrJHERIRfELE5+wFc7hc1Q5hqjGoV7yghw==} + + '@algolia/requester-common@4.23.3': + resolution: {integrity: sha512-xloIdr/bedtYEGcXCiF2muajyvRhwop4cMZo+K2qzNht0CMzlRkm8YsDdj5IaBhshqfgmBb3rTg4sL4/PpvLYw==} + + '@algolia/requester-node-http@4.23.3': + resolution: {integrity: sha512-zgu++8Uj03IWDEJM3fuNl34s746JnZOWn1Uz5taV1dFyJhVM/kTNw9Ik7YJWiUNHJQXcaD8IXD1eCb0nq/aByA==} + + '@algolia/transporter@4.23.3': + resolution: {integrity: sha512-Wjl5gttqnf/gQKJA+dafnD0Y6Yw97yvfY8R9h0dQltX1GXTgNs1zWgvtWW0tHl1EgMdhAyw189uWiZMnL3QebQ==} + + '@alloc/quick-lru@5.2.0': + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.24.7': + resolution: {integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.24.7': + resolution: {integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.24.7': + resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-annotate-as-pure@7.24.7': + resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-builder-binary-assignment-operator-visitor@7.24.7': + resolution: {integrity: sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.24.7': + resolution: {integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-create-class-features-plugin@7.24.7': + resolution: {integrity: sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-create-regexp-features-plugin@7.24.7': + resolution: {integrity: sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-define-polyfill-provider@0.6.2': + resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + '@babel/helper-environment-visitor@7.24.7': + resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-function-name@7.24.7': + resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-hoist-variables@7.24.7': + resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-member-expression-to-functions@7.24.7': + resolution: {integrity: sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.24.7': + resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.24.7': + resolution: {integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-optimise-call-expression@7.24.7': + resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==} + engines: {node: '>=6.9.0'} + + '@babel/helper-plugin-utils@7.24.7': + resolution: {integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-remap-async-to-generator@7.24.7': + resolution: {integrity: sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-replace-supers@7.24.7': + resolution: {integrity: sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-simple-access@7.24.7': + resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-skip-transparent-expression-wrappers@7.24.7': + resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-split-export-declaration@7.24.7': + resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.24.7': + resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.24.7': + resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-wrap-function@7.24.7': + resolution: {integrity: sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.24.7': + resolution: {integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==} + engines: {node: '>=6.9.0'} + + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.24.7': + resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.7': + resolution: {integrity: sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.7': + resolution: {integrity: sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7': + resolution: {integrity: sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.7': + resolution: {integrity: sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-async-generators@7.8.4': + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-properties@7.12.13': + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-static-block@7.14.5': + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-dynamic-import@7.8.3': + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-export-namespace-from@7.8.3': + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-assertions@7.24.7': + resolution: {integrity: sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-attributes@7.24.7': + resolution: {integrity: sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-meta@7.10.4': + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-json-strings@7.8.3': + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-jsx@7.24.7': + resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4': + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-numeric-separator@7.10.4': + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-object-rest-spread@7.8.3': + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3': + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-chaining@7.8.3': + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-private-property-in-object@7.14.5': + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-top-level-await@7.14.5': + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.24.7': + resolution: {integrity: sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6': + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-arrow-functions@7.24.7': + resolution: {integrity: sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-generator-functions@7.24.7': + resolution: {integrity: sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-to-generator@7.24.7': + resolution: {integrity: sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoped-functions@7.24.7': + resolution: {integrity: sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoping@7.24.7': + resolution: {integrity: sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-properties@7.24.7': + resolution: {integrity: sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-static-block@7.24.7': + resolution: {integrity: sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + + '@babel/plugin-transform-classes@7.24.7': + resolution: {integrity: sha512-CFbbBigp8ln4FU6Bpy6g7sE8B/WmCmzvivzUC6xDAdWVsjYTXijpuuGJmYkAaoWAzcItGKT3IOAbxRItZ5HTjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-computed-properties@7.24.7': + resolution: {integrity: sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-destructuring@7.24.7': + resolution: {integrity: sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-dotall-regex@7.24.7': + resolution: {integrity: sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-keys@7.24.7': + resolution: {integrity: sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-dynamic-import@7.24.7': + resolution: {integrity: sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-exponentiation-operator@7.24.7': + resolution: {integrity: sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-export-namespace-from@7.24.7': + resolution: {integrity: sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-for-of@7.24.7': + resolution: {integrity: sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-function-name@7.24.7': + resolution: {integrity: sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-json-strings@7.24.7': + resolution: {integrity: sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-literals@7.24.7': + resolution: {integrity: sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-logical-assignment-operators@7.24.7': + resolution: {integrity: sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-member-expression-literals@7.24.7': + resolution: {integrity: sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-amd@7.24.7': + resolution: {integrity: sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-commonjs@7.24.7': + resolution: {integrity: sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-systemjs@7.24.7': + resolution: {integrity: sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-umd@7.24.7': + resolution: {integrity: sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-named-capturing-groups-regex@7.24.7': + resolution: {integrity: sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-new-target@7.24.7': + resolution: {integrity: sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-nullish-coalescing-operator@7.24.7': + resolution: {integrity: sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-numeric-separator@7.24.7': + resolution: {integrity: sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-rest-spread@7.24.7': + resolution: {integrity: sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-super@7.24.7': + resolution: {integrity: sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-catch-binding@7.24.7': + resolution: {integrity: sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-chaining@7.24.7': + resolution: {integrity: sha512-tK+0N9yd4j+x/4hxF3F0e0fu/VdcxU18y5SevtyM/PCFlQvXbR0Zmlo2eBrKtVipGNFzpq56o8WsIIKcJFUCRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-parameters@7.24.7': + resolution: {integrity: sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-methods@7.24.7': + resolution: {integrity: sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-property-in-object@7.24.7': + resolution: {integrity: sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-property-literals@7.24.7': + resolution: {integrity: sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-constant-elements@7.24.7': + resolution: {integrity: sha512-7LidzZfUXyfZ8/buRW6qIIHBY8wAZ1OrY9c/wTr8YhZ6vMPo+Uc/CVFLYY1spZrEQlD4w5u8wjqk5NQ3OVqQKA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-display-name@7.24.7': + resolution: {integrity: sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-development@7.24.7': + resolution: {integrity: sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx@7.24.7': + resolution: {integrity: sha512-+Dj06GDZEFRYvclU6k4bme55GKBEWUmByM/eoKuqg4zTNQHiApWRhQph5fxQB2wAEFvRzL1tOEj1RJ19wJrhoA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-pure-annotations@7.24.7': + resolution: {integrity: sha512-PLgBVk3fzbmEjBJ/u8kFzOqS9tUeDjiaWud/rRym/yjCo/M9cASPlnrd2ZmmZpQT40fOOrvR8jh+n8jikrOhNA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regenerator@7.24.7': + resolution: {integrity: sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-reserved-words@7.24.7': + resolution: {integrity: sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-runtime@7.24.7': + resolution: {integrity: sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-shorthand-properties@7.24.7': + resolution: {integrity: sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-spread@7.24.7': + resolution: {integrity: sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-sticky-regex@7.24.7': + resolution: {integrity: sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-template-literals@7.24.7': + resolution: {integrity: sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typeof-symbol@7.24.7': + resolution: {integrity: sha512-VtR8hDy7YLB7+Pet9IarXjg/zgCMSF+1mNS/EQEiEaUPoFXCVsHG64SIxcaaI2zJgRiv+YmgaQESUfWAdbjzgg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typescript@7.24.7': + resolution: {integrity: sha512-iLD3UNkgx2n/HrjBesVbYX6j0yqn/sJktvbtKKgcaLIQ4bTTQ8obAypc1VpyHPD2y4Phh9zHOaAt8e/L14wCpw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-escapes@7.24.7': + resolution: {integrity: sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-property-regex@7.24.7': + resolution: {integrity: sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-regex@7.24.7': + resolution: {integrity: sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-sets-regex@7.24.7': + resolution: {integrity: sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/preset-env@7.24.7': + resolution: {integrity: sha512-1YZNsc+y6cTvWlDHidMBsQZrZfEFjRIo/BZCT906PMdzOyXtSLTgqGdrpcuTDCXyd11Am5uQULtDIcCfnTc8fQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-modules@0.1.6-no-external-plugins': + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + + '@babel/preset-react@7.24.7': + resolution: {integrity: sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-typescript@7.24.7': + resolution: {integrity: sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/regjsgen@0.8.0': + resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} + + '@babel/runtime-corejs3@7.24.7': + resolution: {integrity: sha512-eytSX6JLBY6PVAeQa2bFlDx/7Mmln/gaEpsit5a3WEvjGfiIytEsgAwuIXCPM0xvw0v0cJn3ilq0/TvXrW0kgA==} + engines: {node: '>=6.9.0'} + + '@babel/runtime@7.24.7': + resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.24.7': + resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.24.7': + resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.24.7': + resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} + engines: {node: '>=6.9.0'} + + '@colors/colors@1.5.0': + resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} + engines: {node: '>=0.1.90'} + + '@discoveryjs/json-ext@0.5.7': + resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} + engines: {node: '>=10.0.0'} + + '@docsearch/css@3.6.0': + resolution: {integrity: sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==} + + '@docsearch/react@3.6.0': + resolution: {integrity: sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==} + peerDependencies: + '@types/react': '>= 16.8.0 < 19.0.0' + react: '>= 16.8.0 < 19.0.0' + react-dom: '>= 16.8.0 < 19.0.0' + search-insights: '>= 1 < 3' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + react-dom: + optional: true + search-insights: + optional: true + + '@docusaurus/core@3.4.0': + resolution: {integrity: sha512-g+0wwmN2UJsBqy2fQRQ6fhXruoEa62JDeEa5d8IdTJlMoaDaEDfHh7WjwGRn4opuTQWpjAwP/fbcgyHKlE+64w==} + engines: {node: '>=18.0'} + hasBin: true + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/cssnano-preset@3.4.0': + resolution: {integrity: sha512-qwLFSz6v/pZHy/UP32IrprmH5ORce86BGtN0eBtG75PpzQJAzp9gefspox+s8IEOr0oZKuQ/nhzZ3xwyc3jYJQ==} + engines: {node: '>=18.0'} + + '@docusaurus/logger@3.4.0': + resolution: {integrity: sha512-bZwkX+9SJ8lB9kVRkXw+xvHYSMGG4bpYHKGXeXFvyVc79NMeeBSGgzd4TQLHH+DYeOJoCdl8flrFJVxlZ0wo/Q==} + engines: {node: '>=18.0'} + + '@docusaurus/mdx-loader@3.4.0': + resolution: {integrity: sha512-kSSbrrk4nTjf4d+wtBA9H+FGauf2gCax89kV8SUSJu3qaTdSIKdWERlngsiHaCFgZ7laTJ8a67UFf+xlFPtuTw==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/module-type-aliases@3.4.0': + resolution: {integrity: sha512-A1AyS8WF5Bkjnb8s+guTDuYmUiwJzNrtchebBHpc0gz0PyHJNMaybUlSrmJjHVcGrya0LKI4YcR3lBDQfXRYLw==} + peerDependencies: + react: '*' + react-dom: '*' + + '@docusaurus/plugin-content-blog@3.4.0': + resolution: {integrity: sha512-vv6ZAj78ibR5Jh7XBUT4ndIjmlAxkijM3Sx5MAAzC1gyv0vupDQNhzuFg1USQmQVj3P5I6bquk12etPV3LJ+Xw==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/plugin-content-docs@3.4.0': + resolution: {integrity: sha512-HkUCZffhBo7ocYheD9oZvMcDloRnGhBMOZRyVcAQRFmZPmNqSyISlXA1tQCIxW+r478fty97XXAGjNYzBjpCsg==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/plugin-content-pages@3.4.0': + resolution: {integrity: sha512-h2+VN/0JjpR8fIkDEAoadNjfR3oLzB+v1qSXbIAKjQ46JAHx3X22n9nqS+BWSQnTnp1AjkjSvZyJMekmcwxzxg==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/plugin-debug@3.4.0': + resolution: {integrity: sha512-uV7FDUNXGyDSD3PwUaf5YijX91T5/H9SX4ErEcshzwgzWwBtK37nUWPU3ZLJfeTavX3fycTOqk9TglpOLaWkCg==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/plugin-google-analytics@3.4.0': + resolution: {integrity: sha512-mCArluxEGi3cmYHqsgpGGt3IyLCrFBxPsxNZ56Mpur0xSlInnIHoeLDH7FvVVcPJRPSQ9/MfRqLsainRw+BojA==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/plugin-google-gtag@3.4.0': + resolution: {integrity: sha512-Dsgg6PLAqzZw5wZ4QjUYc8Z2KqJqXxHxq3vIoyoBWiLEEfigIs7wHR+oiWUQy3Zk9MIk6JTYj7tMoQU0Jm3nqA==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/plugin-google-tag-manager@3.4.0': + resolution: {integrity: sha512-O9tX1BTwxIhgXpOLpFDueYA9DWk69WCbDRrjYoMQtFHSkTyE7RhNgyjSPREUWJb9i+YUg3OrsvrBYRl64FCPCQ==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/plugin-sitemap@3.4.0': + resolution: {integrity: sha512-+0VDvx9SmNrFNgwPoeoCha+tRoAjopwT0+pYO1xAbyLcewXSemq+eLxEa46Q1/aoOaJQ0qqHELuQM7iS2gp33Q==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/preset-classic@3.4.0': + resolution: {integrity: sha512-Ohj6KB7siKqZaQhNJVMBBUzT3Nnp6eTKqO+FXO3qu/n1hJl3YLwVKTWBg28LF7MWrKu46UuYavwMRxud0VyqHg==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/react-loadable@6.0.0': + resolution: {integrity: sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==} + peerDependencies: + react: '*' + + '@docusaurus/theme-classic@3.4.0': + resolution: {integrity: sha512-0IPtmxsBYv2adr1GnZRdMkEQt1YW6tpzrUPj02YxNpvJ5+ju4E13J5tB4nfdaen/tfR1hmpSPlTFPvTf4kwy8Q==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/theme-common@3.4.0': + resolution: {integrity: sha512-0A27alXuv7ZdCg28oPE8nH/Iz73/IUejVaCazqu9elS4ypjiLhK3KfzdSQBnL/g7YfHSlymZKdiOHEo8fJ0qMA==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/theme-search-algolia@3.4.0': + resolution: {integrity: sha512-aiHFx7OCw4Wck1z6IoShVdUWIjntC8FHCw9c5dR8r3q4Ynh+zkS8y2eFFunN/DL6RXPzpnvKCg3vhLQYJDmT9Q==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/theme-translations@3.4.0': + resolution: {integrity: sha512-zSxCSpmQCCdQU5Q4CnX/ID8CSUUI3fvmq4hU/GNP/XoAWtXo9SAVnM3TzpU8Gb//H3WCsT8mJcTfyOk3d9ftNg==} + engines: {node: '>=18.0'} + + '@docusaurus/tsconfig@3.4.0': + resolution: {integrity: sha512-0qENiJ+TRaeTzcg4olrnh0BQ7eCxTgbYWBnWUeQDc84UYkt/T3pDNnm3SiQkqPb+YQ1qtYFlC0RriAElclo8Dg==} + + '@docusaurus/types@3.4.0': + resolution: {integrity: sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/utils-common@3.4.0': + resolution: {integrity: sha512-NVx54Wr4rCEKsjOH5QEVvxIqVvm+9kh7q8aYTU5WzUU9/Hctd6aTrcZ3G0Id4zYJ+AeaG5K5qHA4CY5Kcm2iyQ==} + engines: {node: '>=18.0'} + peerDependencies: + '@docusaurus/types': '*' + peerDependenciesMeta: + '@docusaurus/types': + optional: true + + '@docusaurus/utils-validation@3.4.0': + resolution: {integrity: sha512-hYQ9fM+AXYVTWxJOT1EuNaRnrR2WGpRdLDQG07O8UOpsvCPWUVOeo26Rbm0JWY2sGLfzAb+tvJ62yF+8F+TV0g==} + engines: {node: '>=18.0'} + + '@docusaurus/utils@3.4.0': + resolution: {integrity: sha512-fRwnu3L3nnWaXOgs88BVBmG1yGjcQqZNHG+vInhEa2Sz2oQB+ZjbEMO5Rh9ePFpZ0YDiDUhpaVjwmS+AU2F14g==} + engines: {node: '>=18.0'} + peerDependencies: + '@docusaurus/types': '*' + peerDependenciesMeta: + '@docusaurus/types': + optional: true + + '@easyops-cn/autocomplete.js@0.38.1': + resolution: {integrity: sha512-drg76jS6syilOUmVNkyo1c7ZEBPcPuK+aJA7AksM5ZIIbV57DMHCywiCr+uHyv8BE5jUTU98j/H7gVrkHrWW3Q==} + + '@easyops-cn/docusaurus-search-local@0.44.2': + resolution: {integrity: sha512-4tMBU54R1O6ITxkMGwOEifSHNkZLa2fb4ajGc8rd6TYZ0a8+jlu/u/5gYtw1s6sGGMRkwyG+QI6HD0bEnCRa1w==} + engines: {node: '>=12'} + peerDependencies: + '@docusaurus/theme-common': ^2 || ^3 + react: ^16.14.0 || ^17 || ^18 + react-dom: ^16.14.0 || 17 || ^18 + + '@emnapi/core@1.2.0': + resolution: {integrity: sha512-E7Vgw78I93we4ZWdYCb4DGAwRROGkMIXk7/y87UmANR+J6qsWusmC3gLt0H+O0KOt5e6O38U8oJamgbudrES/w==} + + '@emnapi/runtime@1.2.0': + resolution: {integrity: sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ==} + + '@emnapi/wasi-threads@1.0.1': + resolution: {integrity: sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==} + + '@hapi/hoek@9.3.0': + resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} + + '@hapi/topo@5.1.0': + resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jridgewell/gen-mapping@0.3.5': + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.6': + resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} + + '@jridgewell/sourcemap-codec@1.4.15': + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@leichtgewicht/ip-codec@2.0.5': + resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} + + '@mdx-js/mdx@3.0.1': + resolution: {integrity: sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA==} + + '@mdx-js/react@3.0.1': + resolution: {integrity: sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==} + peerDependencies: + '@types/react': '>=16' + react: '>=16' + + '@napi-rs/wasm-runtime@0.2.4': + resolution: {integrity: sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==} + + '@node-rs/jieba-android-arm-eabi@1.10.3': + resolution: {integrity: sha512-fuqVtaYlUKZg3cqagYFxj1DSa7ZHKXLle4iGH2kbQWg7Kw6cf7aCYBHIUZuH5sliK10M/CWccZ+SGRUwcSGfbg==} + engines: {node: '>= 10'} + cpu: [arm] + os: [android] + + '@node-rs/jieba-android-arm64@1.10.3': + resolution: {integrity: sha512-iuZZZq5yD9lT+AgaXpFe19gtAsIecUODRLLaBFbavjgjLk5cumv38ytWjS36s/eqptwI15MQfysSYOlWtMEG5g==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@node-rs/jieba-darwin-arm64@1.10.3': + resolution: {integrity: sha512-dwPhkav1tEARskwPz91UUXL2NXy4h0lJYTuJzpGgwXxm552zBM2JJ41kjah1364j+EOq5At3NQvf5r5rH89phQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@node-rs/jieba-darwin-x64@1.10.3': + resolution: {integrity: sha512-kjxvV6G1baQo/2I3mELv5qGv4Q0rhd5srwXhypSxMWZFtSpNwCDsLcIOR5bvMBci6QVFfZOs6WD6DKiWVz0SlA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@node-rs/jieba-freebsd-x64@1.10.3': + resolution: {integrity: sha512-QYTsn+zlWRil+MuBeLfTK5Md4GluOf2lHnFqjrOZW2oMgNOvxB3qoLV4TUf70S/E2XHeP6PUdjCKItX8C7GQPg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + + '@node-rs/jieba-linux-arm-gnueabihf@1.10.3': + resolution: {integrity: sha512-UFB43kDOvqmbRl99e3GPwaTuwJZaAvgLaMTvBkmxww4MpQH6G1k31RLzMW/S21uSQso2lj6W/Mm59gaJk2FiyA==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@node-rs/jieba-linux-arm64-gnu@1.10.3': + resolution: {integrity: sha512-bu++yWi10wZtnS5uLcwxzxKmHVT77NgQMK8JiQr1TWCl3Y1Th7CnEHQtxfVB489edDK8l644h1/4zSTe5fRnOQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@node-rs/jieba-linux-arm64-musl@1.10.3': + resolution: {integrity: sha512-pJh+SzrK1HaKakhdFM+ew9vXwpZqMxy9u0U7J4GT+3GvOwnAZ+KjeaHebIfgOz7ZHvp/T4YBNf8oWW4zwj3AJw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@node-rs/jieba-linux-x64-gnu@1.10.3': + resolution: {integrity: sha512-GF5cfvu/0wXO2fVX/XV3WYH/xEGWzMBvfqLhGiA1OA1xHIufnA1T7uU3ZXkyoNi5Bzf6dmxnwtE4CJL0nvhwjQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@node-rs/jieba-linux-x64-musl@1.10.3': + resolution: {integrity: sha512-h45HMVU/hgzQ0saXNsK9fKlGdah1i1cXZULpB5vQRlRL2ZIaGp+ULtWTogS7vkoo2K8s2l4tqakWMg9eUjIJ2A==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@node-rs/jieba-wasm32-wasi@1.10.3': + resolution: {integrity: sha512-vuoQ62vVoedNGcBmIi4UWdtNBOZG8B+vDYfjx3FD6rNg6g/RgwbVjYXbOVMOQwX06Ob9CfrutICXdUGHgoxzEQ==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@node-rs/jieba-win32-arm64-msvc@1.10.3': + resolution: {integrity: sha512-B8t4dh56TZnMLBoYWDkopf1ed37Ru/iU1qiIeBkbZWXGmNBChNZUOd//eaPOFjx8m9Sfc8bkj3FBRWt/kTAhmw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@node-rs/jieba-win32-ia32-msvc@1.10.3': + resolution: {integrity: sha512-SKuPGZJ5T+X4jOn1S8LklOSZ6HC7UBiw0hwi2z9uqX6WgElquLjGi/xfZ2gPqffeR/5K/PUu7aqYUUPL1XonVQ==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@node-rs/jieba-win32-x64-msvc@1.10.3': + resolution: {integrity: sha512-j9I4+a/tf2hsLu8Sr0NhcLBVNBBQctO2mzcjemMpRa1SlEeODyic9RIyP8Ljz3YTN6MYqKh1KA9iR1xvxjxYFg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@node-rs/jieba@1.10.3': + resolution: {integrity: sha512-SG0CWHmhIveH6upJURgymDKLertEPYbOc5NSFIpbZWW1W2MpqgumVteQO+5YBlkmpR6jMNDPWNQyQwkB6HoeNg==} + engines: {node: '>= 10'} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@pnpm/config.env-replace@1.1.0': + resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} + engines: {node: '>=12.22.0'} + + '@pnpm/network.ca-file@1.0.2': + resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} + engines: {node: '>=12.22.0'} + + '@pnpm/npm-conf@2.2.2': + resolution: {integrity: sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==} + engines: {node: '>=12'} + + '@polka/url@1.0.0-next.25': + resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} + + '@sideway/address@4.1.5': + resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} + + '@sideway/formula@3.0.1': + resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} + + '@sideway/pinpoint@2.0.0': + resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} + + '@sinclair/typebox@0.27.8': + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + + '@sindresorhus/is@4.6.0': + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} + + '@sindresorhus/is@5.6.0': + resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} + engines: {node: '>=14.16'} + + '@slorber/remark-comment@1.0.0': + resolution: {integrity: sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==} + + '@svgr/babel-plugin-add-jsx-attribute@8.0.0': + resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-remove-jsx-attribute@8.0.0': + resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0': + resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0': + resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-svg-dynamic-title@8.0.0': + resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-svg-em-dimensions@8.0.0': + resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-transform-react-native-svg@8.1.0': + resolution: {integrity: sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-transform-svg-component@8.0.0': + resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==} + engines: {node: '>=12'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-preset@8.1.0': + resolution: {integrity: sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/core@8.1.0': + resolution: {integrity: sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==} + engines: {node: '>=14'} + + '@svgr/hast-util-to-babel-ast@8.0.0': + resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==} + engines: {node: '>=14'} + + '@svgr/plugin-jsx@8.1.0': + resolution: {integrity: sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==} + engines: {node: '>=14'} + peerDependencies: + '@svgr/core': '*' + + '@svgr/plugin-svgo@8.1.0': + resolution: {integrity: sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==} + engines: {node: '>=14'} + peerDependencies: + '@svgr/core': '*' + + '@svgr/webpack@8.1.0': + resolution: {integrity: sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==} + engines: {node: '>=14'} + + '@szmarczak/http-timer@5.0.1': + resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} + engines: {node: '>=14.16'} + + '@trysound/sax@0.2.0': + resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} + engines: {node: '>=10.13.0'} + + '@tybys/wasm-util@0.9.0': + resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==} + + '@types/acorn@4.0.6': + resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} + + '@types/body-parser@1.19.5': + resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} + + '@types/bonjour@3.5.13': + resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} + + '@types/connect-history-api-fallback@1.5.4': + resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} + + '@types/connect@3.4.38': + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + + '@types/debug@4.1.12': + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + + '@types/eslint-scope@3.7.7': + resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} + + '@types/eslint@8.56.10': + resolution: {integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==} + + '@types/estree-jsx@1.0.5': + resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} + + '@types/estree@1.0.5': + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + + '@types/express-serve-static-core@4.19.5': + resolution: {integrity: sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==} + + '@types/express@4.17.21': + resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} + + '@types/gtag.js@0.0.12': + resolution: {integrity: sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==} + + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + + '@types/history@4.7.11': + resolution: {integrity: sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==} + + '@types/html-minifier-terser@6.1.0': + resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} + + '@types/http-cache-semantics@4.0.4': + resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} + + '@types/http-errors@2.0.4': + resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} + + '@types/http-proxy@1.17.14': + resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} + + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + + '@types/mdx@2.0.13': + resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} + + '@types/mime@1.3.5': + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + + '@types/ms@0.7.34': + resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + + '@types/node-forge@1.3.11': + resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} + + '@types/node@17.0.45': + resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} + + '@types/node@20.14.8': + resolution: {integrity: sha512-DO+2/jZinXfROG7j7WKFn/3C6nFwxy2lLpgLjEXJz+0XKphZlTLJ14mo8Vfg8X5BWN6XjyESXq+LcYdT7tR3bA==} + + '@types/parse-json@4.0.2': + resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} + + '@types/prismjs@1.26.4': + resolution: {integrity: sha512-rlAnzkW2sZOjbqZ743IHUhFcvzaGbqijwOu8QZnZCjfQzBqFE3s4lOTJEsxikImav9uzz/42I+O7YUs1mWgMlg==} + + '@types/prop-types@15.7.12': + resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} + + '@types/qs@6.9.15': + resolution: {integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==} + + '@types/range-parser@1.2.7': + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + + '@types/react-router-config@5.0.11': + resolution: {integrity: sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==} + + '@types/react-router-dom@5.3.3': + resolution: {integrity: sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==} + + '@types/react-router@5.1.20': + resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==} + + '@types/react@18.3.3': + resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} + + '@types/retry@0.12.0': + resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} + + '@types/sax@1.2.7': + resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} + + '@types/send@0.17.4': + resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} + + '@types/serve-index@1.9.4': + resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} + + '@types/serve-static@1.15.7': + resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} + + '@types/sockjs@0.3.36': + resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} + + '@types/unist@2.0.10': + resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} + + '@types/unist@3.0.2': + resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} + + '@types/ws@8.5.10': + resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@17.0.32': + resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} + + '@ungap/structured-clone@1.2.0': + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + + '@webassemblyjs/ast@1.12.1': + resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} + + '@webassemblyjs/floating-point-hex-parser@1.11.6': + resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} + + '@webassemblyjs/helper-api-error@1.11.6': + resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} + + '@webassemblyjs/helper-buffer@1.12.1': + resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==} + + '@webassemblyjs/helper-numbers@1.11.6': + resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} + + '@webassemblyjs/helper-wasm-bytecode@1.11.6': + resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} + + '@webassemblyjs/helper-wasm-section@1.12.1': + resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==} + + '@webassemblyjs/ieee754@1.11.6': + resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} + + '@webassemblyjs/leb128@1.11.6': + resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} + + '@webassemblyjs/utf8@1.11.6': + resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} + + '@webassemblyjs/wasm-edit@1.12.1': + resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==} + + '@webassemblyjs/wasm-gen@1.12.1': + resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==} + + '@webassemblyjs/wasm-opt@1.12.1': + resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==} + + '@webassemblyjs/wasm-parser@1.12.1': + resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==} + + '@webassemblyjs/wast-printer@1.12.1': + resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==} + + '@xtuc/ieee754@1.2.0': + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + + '@xtuc/long@4.2.2': + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + + accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + + acorn-import-attributes@1.9.5: + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} + peerDependencies: + acorn: ^8 + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn-walk@8.3.3: + resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==} + engines: {node: '>=0.4.0'} + + acorn@8.12.0: + resolution: {integrity: sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==} + engines: {node: '>=0.4.0'} + hasBin: true + + address@1.2.2: + resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} + engines: {node: '>= 10.0.0'} + + aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + + ajv-formats@2.1.1: + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv-keywords@3.5.2: + resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} + peerDependencies: + ajv: ^6.9.1 + + ajv-keywords@5.1.0: + resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} + peerDependencies: + ajv: ^8.8.2 + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + ajv@8.16.0: + resolution: {integrity: sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==} + + algoliasearch-helper@3.22.1: + resolution: {integrity: sha512-fSxJ4YreH4kOME9CnKazbAn2tK/rvBoV37ETd6nTt4j7QfkcnW+c+F22WfuE9Q/sRpvOMnUwU/BXAVEiwW7p/w==} + peerDependencies: + algoliasearch: '>= 3.1 < 6' + + algoliasearch@4.23.3: + resolution: {integrity: sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg==} + + ansi-align@3.0.1: + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + + ansi-html-community@0.0.8: + resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} + engines: {'0': node >= 0.8.0} + hasBin: true + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + astring@1.8.6: + resolution: {integrity: sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==} + hasBin: true + + at-least-node@1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + + autoprefixer@10.4.19: + resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + + babel-loader@9.1.3: + resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} + engines: {node: '>= 14.15.0'} + peerDependencies: + '@babel/core': ^7.12.0 + webpack: '>=5' + + babel-plugin-dynamic-import-node@2.3.3: + resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} + + babel-plugin-polyfill-corejs2@0.4.11: + resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-corejs3@0.10.4: + resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-regenerator@0.6.2: + resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + batch@0.6.1: + resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} + + big.js@5.2.2: + resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + body-parser@1.20.2: + resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + bonjour-service@1.2.1: + resolution: {integrity: sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==} + + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + + boxen@6.2.1: + resolution: {integrity: sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + boxen@7.1.1: + resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} + engines: {node: '>=14.16'} + + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.23.1: + resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + bytes@3.0.0: + resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} + engines: {node: '>= 0.8'} + + bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + + cacheable-lookup@7.0.0: + resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} + engines: {node: '>=14.16'} + + cacheable-request@10.2.14: + resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==} + engines: {node: '>=14.16'} + + call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camel-case@4.1.2: + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + + camelcase-css@2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + camelcase@7.0.1: + resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} + engines: {node: '>=14.16'} + + caniuse-api@3.0.0: + resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} + + caniuse-lite@1.0.30001636: + resolution: {integrity: sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + + character-reference-invalid@2.0.1: + resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} + + cheerio-select@2.1.0: + resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} + + cheerio@1.0.0-rc.12: + resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} + engines: {node: '>= 6'} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + chrome-trace-event@1.0.4: + resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} + engines: {node: '>=6.0'} + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + clean-css@5.3.3: + resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} + engines: {node: '>= 10.0'} + + clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + + cli-boxes@3.0.0: + resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} + engines: {node: '>=10'} + + cli-table3@0.6.5: + resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} + engines: {node: 10.* || >= 12.*} + + clone-deep@4.0.1: + resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} + engines: {node: '>=6'} + + clsx@1.2.1: + resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} + engines: {node: '>=6'} + + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} + + collapse-white-space@2.1.0: + resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + colord@2.9.3: + resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} + + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + + combine-promises@1.2.0: + resolution: {integrity: sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==} + engines: {node: '>=10'} + + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + + commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + + commander@5.1.0: + resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} + engines: {node: '>= 6'} + + commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + + commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + + common-path-prefix@3.0.0: + resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} + + compressible@2.0.18: + resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} + engines: {node: '>= 0.6'} + + compression@1.7.4: + resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} + engines: {node: '>= 0.8.0'} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + config-chain@1.1.13: + resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} + + configstore@6.0.0: + resolution: {integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==} + engines: {node: '>=12'} + + connect-history-api-fallback@2.0.0: + resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} + engines: {node: '>=0.8'} + + consola@2.15.3: + resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} + + content-disposition@0.5.2: + resolution: {integrity: sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==} + engines: {node: '>= 0.6'} + + content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + cookie-signature@1.0.6: + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + + cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + engines: {node: '>= 0.6'} + + copy-text-to-clipboard@3.2.0: + resolution: {integrity: sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==} + engines: {node: '>=12'} + + copy-webpack-plugin@11.0.0: + resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==} + engines: {node: '>= 14.15.0'} + peerDependencies: + webpack: ^5.1.0 + + core-js-compat@3.37.1: + resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==} + + core-js-pure@3.37.1: + resolution: {integrity: sha512-J/r5JTHSmzTxbiYYrzXg9w1VpqrYt+gexenBE9pugeyhwPZTAEJddyiReJWsLO6uNQ8xJZFbod6XC7KKwatCiA==} + + core-js@3.37.1: + resolution: {integrity: sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw==} + + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + cosmiconfig@6.0.0: + resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==} + engines: {node: '>=8'} + + cosmiconfig@8.3.6: + resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + + cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + + crypto-random-string@4.0.0: + resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} + engines: {node: '>=12'} + + css-declaration-sorter@7.2.0: + resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss: ^8.0.9 + + css-loader@6.11.0: + resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==} + engines: {node: '>= 12.13.0'} + peerDependencies: + '@rspack/core': 0.x || 1.x + webpack: ^5.0.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true + + css-minimizer-webpack-plugin@5.0.1: + resolution: {integrity: sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==} + engines: {node: '>= 14.15.0'} + peerDependencies: + '@parcel/css': '*' + '@swc/css': '*' + clean-css: '*' + csso: '*' + esbuild: '*' + lightningcss: '*' + webpack: ^5.0.0 + peerDependenciesMeta: + '@parcel/css': + optional: true + '@swc/css': + optional: true + clean-css: + optional: true + csso: + optional: true + esbuild: + optional: true + lightningcss: + optional: true + + css-select@4.3.0: + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + + css-select@5.1.0: + resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + + css-tree@2.2.1: + resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + + css-tree@2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + + css-what@6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + cssnano-preset-advanced@6.1.2: + resolution: {integrity: sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + cssnano-preset-default@6.1.2: + resolution: {integrity: sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + cssnano-utils@4.0.2: + resolution: {integrity: sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + cssnano@6.1.2: + resolution: {integrity: sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + csso@5.0.5: + resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + debounce@1.2.1: + resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} + + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.3.5: + resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decode-named-character-reference@1.0.2: + resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + + decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + + deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + default-gateway@6.0.3: + resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} + engines: {node: '>= 10'} + + defer-to-connect@2.0.1: + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + del@6.1.1: + resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==} + engines: {node: '>=10'} + + depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + detect-node@2.1.0: + resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + + detect-port-alt@1.1.6: + resolution: {integrity: sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==} + engines: {node: '>= 4.2.1'} + hasBin: true + + detect-port@1.6.1: + resolution: {integrity: sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==} + engines: {node: '>= 4.0.0'} + hasBin: true + + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + + didyoumean@1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + + dns-packet@5.6.1: + resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} + engines: {node: '>=6'} + + dom-converter@0.2.0: + resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==} + + dom-serializer@1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + + dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + domhandler@4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + + domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + + domutils@2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + + domutils@3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + + dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + + dot-prop@6.0.1: + resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} + engines: {node: '>=10'} + + duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + electron-to-chromium@1.4.810: + resolution: {integrity: sha512-Kaxhu4T7SJGpRQx99tq216gCq2nMxJo+uuT6uzz9l8TVN2stL7M06MIIXAtr9jsrLs2Glflgf2vMQRepxawOdQ==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + emojilib@2.4.0: + resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} + + emojis-list@3.0.0: + resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} + engines: {node: '>= 4'} + + emoticon@4.0.1: + resolution: {integrity: sha512-dqx7eA9YaqyvYtUhJwT4rC1HIp82j5ybS1/vQ42ur+jBe17dJMwZE4+gvL1XadSFfxaPFFGt3Xsw+Y8akThDlw==} + + encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + + enhanced-resolve@5.17.0: + resolution: {integrity: sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==} + engines: {node: '>=10.13.0'} + + entities@2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + + es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-module-lexer@1.5.3: + resolution: {integrity: sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg==} + + escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + + escape-goat@4.0.0: + resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==} + engines: {node: '>=12'} + + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-util-attach-comments@3.0.0: + resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} + + estree-util-build-jsx@3.0.1: + resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==} + + estree-util-is-identifier-name@3.0.0: + resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} + + estree-util-to-js@2.0.0: + resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} + + estree-util-value-to-estree@3.1.2: + resolution: {integrity: sha512-S0gW2+XZkmsx00tU2uJ4L9hUT7IFabbml9pHh2WQqFmAbxit++YGZne0sKJbNwkj9Wvg9E4uqWl4nCIFQMmfag==} + + estree-util-visit@2.0.0: + resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + eta@2.2.0: + resolution: {integrity: sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==} + engines: {node: '>=6.0.0'} + + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + eval@0.1.8: + resolution: {integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==} + engines: {node: '>= 0.8'} + + eventemitter3@4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + express@4.19.2: + resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} + engines: {node: '>= 0.10.0'} + + extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-url-parser@1.1.3: + resolution: {integrity: sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==} + + fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + + fault@2.0.1: + resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} + + faye-websocket@0.11.4: + resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} + engines: {node: '>=0.8.0'} + + feed@4.2.2: + resolution: {integrity: sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==} + engines: {node: '>=0.4.0'} + + file-loader@6.2.0: + resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} + engines: {node: '>= 10.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + + filesize@8.0.7: + resolution: {integrity: sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==} + engines: {node: '>= 0.4.0'} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + finalhandler@1.2.0: + resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} + engines: {node: '>= 0.8'} + + find-cache-dir@4.0.0: + resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==} + engines: {node: '>=14.16'} + + find-up@3.0.0: + resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} + engines: {node: '>=6'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + find-up@6.3.0: + resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + + follow-redirects@1.15.6: + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + foreground-child@3.2.1: + resolution: {integrity: sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==} + engines: {node: '>=14'} + + fork-ts-checker-webpack-plugin@6.5.3: + resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==} + engines: {node: '>=10', yarn: '>=1.0.0'} + peerDependencies: + eslint: '>= 6' + typescript: '>= 2.7' + vue-template-compiler: '*' + webpack: '>= 4' + peerDependenciesMeta: + eslint: + optional: true + vue-template-compiler: + optional: true + + form-data-encoder@2.1.4: + resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} + engines: {node: '>= 14.17'} + + format@0.2.2: + resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} + engines: {node: '>=0.4.x'} + + forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + + fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + + fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + + fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + + fs-extra@11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} + engines: {node: '>=14.14'} + + fs-extra@9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + + fs-monkey@1.0.6: + resolution: {integrity: sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} + + get-own-enumerable-property-symbols@3.0.2: + resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + github-slugger@1.5.0: + resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + + glob@10.4.2: + resolution: {integrity: sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==} + engines: {node: '>=16 || 14 >=14.18'} + hasBin: true + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + + global-dirs@3.0.1: + resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} + engines: {node: '>=10'} + + global-modules@2.0.0: + resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} + engines: {node: '>=6'} + + global-prefix@3.0.0: + resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} + engines: {node: '>=6'} + + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + globby@13.2.2: + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + + got@12.6.1: + resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} + engines: {node: '>=14.16'} + + graceful-fs@4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + gray-matter@4.0.3: + resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} + engines: {node: '>=6.0'} + + gzip-size@6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + + handle-thing@2.0.1: + resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + engines: {node: '>= 0.4'} + + has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + + has-yarn@3.0.0: + resolution: {integrity: sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + hast-util-from-parse5@8.0.1: + resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==} + + hast-util-parse-selector@4.0.0: + resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} + + hast-util-raw@9.0.4: + resolution: {integrity: sha512-LHE65TD2YiNsHD3YuXcKPHXPLuYh/gjp12mOfU8jxSrm1f/yJpsb0F/KKljS6U9LJoP0Ux+tCe8iJ2AsPzTdgA==} + + hast-util-to-estree@3.1.0: + resolution: {integrity: sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==} + + hast-util-to-jsx-runtime@2.3.0: + resolution: {integrity: sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==} + + hast-util-to-parse5@8.0.0: + resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} + + hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + + hastscript@8.0.0: + resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==} + + he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + + history@4.10.1: + resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==} + + hoist-non-react-statics@3.3.2: + resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} + + hpack.js@2.1.6: + resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} + + html-entities@2.5.2: + resolution: {integrity: sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==} + + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + + html-minifier-terser@6.1.0: + resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} + engines: {node: '>=12'} + hasBin: true + + html-minifier-terser@7.2.0: + resolution: {integrity: sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==} + engines: {node: ^14.13.1 || >=16.0.0} + hasBin: true + + html-tags@3.3.1: + resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} + engines: {node: '>=8'} + + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + + html-webpack-plugin@5.6.0: + resolution: {integrity: sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==} + engines: {node: '>=10.13.0'} + peerDependencies: + '@rspack/core': 0.x || 1.x + webpack: ^5.20.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true + + htmlparser2@6.1.0: + resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} + + htmlparser2@8.0.2: + resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + + http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + + http-deceiver@1.2.7: + resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} + + http-errors@1.6.3: + resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==} + engines: {node: '>= 0.6'} + + http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + + http-parser-js@0.5.8: + resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==} + + http-proxy-middleware@2.0.6: + resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@types/express': ^4.17.13 + peerDependenciesMeta: + '@types/express': + optional: true + + http-proxy@1.18.1: + resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} + engines: {node: '>=8.0.0'} + + http2-wrapper@2.2.1: + resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} + engines: {node: '>=10.19.0'} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + + icss-utils@5.1.0: + resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + + image-size@1.1.1: + resolution: {integrity: sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==} + engines: {node: '>=16.x'} + hasBin: true + + immediate@3.3.0: + resolution: {integrity: sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==} + + immer@9.0.21: + resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} + + import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + + import-lazy@4.0.0: + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} + engines: {node: '>=8'} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + infima@0.2.0-alpha.43: + resolution: {integrity: sha512-2uw57LvUqW0rK/SWYnd/2rRfxNA5DDNOh33jxF7fy46VWoNhGxiUQyVZHbBMjQ33mQem0cjdDVwgWVAmlRfgyQ==} + engines: {node: '>=12'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.3: + resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + + ini@2.0.0: + resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} + engines: {node: '>=10'} + + inline-style-parser@0.1.1: + resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} + + inline-style-parser@0.2.3: + resolution: {integrity: sha512-qlD8YNDqyTKTyuITrDOffsl6Tdhv+UC4hcdAVuQsK4IMQ99nSgd1MIA/Q+jQYoh9r3hVUXhYh7urSRmXPkW04g==} + + interpret@1.4.0: + resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} + engines: {node: '>= 0.10'} + + invariant@2.2.4: + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + + ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + + ipaddr.js@2.2.0: + resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==} + engines: {node: '>= 10'} + + is-alphabetical@2.0.1: + resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} + + is-alphanumerical@2.0.1: + resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-ci@3.0.1: + resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} + hasBin: true + + is-core-module@2.14.0: + resolution: {integrity: sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==} + engines: {node: '>= 0.4'} + + is-decimal@2.0.1: + resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} + + is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + + is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-hexadecimal@2.0.1: + resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} + + is-installed-globally@0.4.0: + resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} + engines: {node: '>=10'} + + is-npm@6.0.0: + resolution: {integrity: sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-obj@1.0.1: + resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} + engines: {node: '>=0.10.0'} + + is-obj@2.0.0: + resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} + engines: {node: '>=8'} + + is-path-cwd@2.2.0: + resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} + engines: {node: '>=6'} + + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-plain-obj@3.0.0: + resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} + engines: {node: '>=10'} + + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + + is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + + is-reference@3.0.2: + resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} + + is-regexp@1.0.0: + resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} + engines: {node: '>=0.10.0'} + + is-root@2.1.0: + resolution: {integrity: sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==} + engines: {node: '>=6'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-typedarray@1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + + is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + + is-yarn-global@0.4.1: + resolution: {integrity: sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==} + engines: {node: '>=12'} + + isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + + jackspeak@3.4.0: + resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==} + engines: {node: '>=14'} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + + jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jiti@1.21.6: + resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} + hasBin: true + + joi@17.13.3: + resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + + jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + klaw-sync@6.0.0: + resolution: {integrity: sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==} + + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + latest-version@7.0.0: + resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} + engines: {node: '>=14.16'} + + launch-editor@2.8.0: + resolution: {integrity: sha512-vJranOAJrI/llyWGRQqiDM+adrw+k83fvmmx3+nV47g3+36xM15jE+zyZ6Ffel02+xSvuM0b2GDRosXZkbb6wA==} + + leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + + lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + + lilconfig@3.1.2: + resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} + engines: {node: '>=14'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + loader-runner@4.3.0: + resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} + engines: {node: '>=6.11.5'} + + loader-utils@2.0.4: + resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} + engines: {node: '>=8.9.0'} + + loader-utils@3.3.1: + resolution: {integrity: sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==} + engines: {node: '>= 12.13.0'} + + locate-path@3.0.0: + resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} + engines: {node: '>=6'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + locate-path@7.2.0: + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + + lodash.memoize@4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + + lodash.uniq@4.5.0: + resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + + lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + + lowercase-keys@3.0.0: + resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + lru-cache@10.3.0: + resolution: {integrity: sha512-CQl19J/g+Hbjbv4Y3mFNNXFEL/5t/KCg8POCuUqd4rMKjGG+j1ybER83hxV58zL+dFI1PTkt3GNFSHRt+d8qEQ==} + engines: {node: 14 || >=16.14} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + lunr-languages@1.14.0: + resolution: {integrity: sha512-hWUAb2KqM3L7J5bcrngszzISY4BxrXn/Xhbb9TTCJYEGqlR1nG67/M14sp09+PTIRklobrn57IAxcdcO/ZFyNA==} + + lunr@2.3.9: + resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} + + mark.js@8.11.1: + resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} + + markdown-extensions@2.0.0: + resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} + engines: {node: '>=16'} + + markdown-table@3.0.3: + resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} + + mdast-util-directive@3.0.0: + resolution: {integrity: sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==} + + mdast-util-find-and-replace@3.0.1: + resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} + + mdast-util-from-markdown@2.0.1: + resolution: {integrity: sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==} + + mdast-util-frontmatter@2.0.1: + resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==} + + mdast-util-gfm-autolink-literal@2.0.0: + resolution: {integrity: sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==} + + mdast-util-gfm-footnote@2.0.0: + resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} + + mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} + + mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} + + mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} + + mdast-util-gfm@3.0.0: + resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} + + mdast-util-mdx-expression@2.0.0: + resolution: {integrity: sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==} + + mdast-util-mdx-jsx@3.1.2: + resolution: {integrity: sha512-eKMQDeywY2wlHc97k5eD8VC+9ASMjN8ItEZQNGwJ6E0XWKiW/Z0V5/H8pvoXUf+y+Mj0VIgeRRbujBmFn4FTyA==} + + mdast-util-mdx@3.0.0: + resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} + + mdast-util-mdxjs-esm@2.0.1: + resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} + + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + + mdast-util-to-hast@13.2.0: + resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} + + mdast-util-to-markdown@2.1.0: + resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} + + mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + + mdn-data@2.0.28: + resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} + + mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + + media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + + memfs@3.5.3: + resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} + engines: {node: '>= 4.0.0'} + + merge-descriptors@1.0.1: + resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + + micromark-core-commonmark@2.0.1: + resolution: {integrity: sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==} + + micromark-extension-directive@3.0.0: + resolution: {integrity: sha512-61OI07qpQrERc+0wEysLHMvoiO3s2R56x5u7glHq2Yqq6EHbH4dW25G9GfDdGCDYqA21KE6DWgNSzxSwHc2hSg==} + + micromark-extension-frontmatter@2.0.0: + resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==} + + micromark-extension-gfm-autolink-literal@2.0.0: + resolution: {integrity: sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==} + + micromark-extension-gfm-footnote@2.0.0: + resolution: {integrity: sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==} + + micromark-extension-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==} + + micromark-extension-gfm-table@2.0.0: + resolution: {integrity: sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==} + + micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} + + micromark-extension-gfm-task-list-item@2.0.1: + resolution: {integrity: sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==} + + micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + + micromark-extension-mdx-expression@3.0.0: + resolution: {integrity: sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==} + + micromark-extension-mdx-jsx@3.0.0: + resolution: {integrity: sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==} + + micromark-extension-mdx-md@2.0.0: + resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} + + micromark-extension-mdxjs-esm@3.0.0: + resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==} + + micromark-extension-mdxjs@3.0.0: + resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} + + micromark-factory-destination@2.0.0: + resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} + + micromark-factory-label@2.0.0: + resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} + + micromark-factory-mdx-expression@2.0.1: + resolution: {integrity: sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==} + + micromark-factory-space@1.1.0: + resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} + + micromark-factory-space@2.0.0: + resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} + + micromark-factory-title@2.0.0: + resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} + + micromark-factory-whitespace@2.0.0: + resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} + + micromark-util-character@1.2.0: + resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} + + micromark-util-character@2.1.0: + resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} + + micromark-util-chunked@2.0.0: + resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} + + micromark-util-classify-character@2.0.0: + resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} + + micromark-util-combine-extensions@2.0.0: + resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} + + micromark-util-decode-numeric-character-reference@2.0.1: + resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} + + micromark-util-decode-string@2.0.0: + resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} + + micromark-util-encode@2.0.0: + resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} + + micromark-util-events-to-acorn@2.0.2: + resolution: {integrity: sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==} + + micromark-util-html-tag-name@2.0.0: + resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} + + micromark-util-normalize-identifier@2.0.0: + resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} + + micromark-util-resolve-all@2.0.0: + resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} + + micromark-util-sanitize-uri@2.0.0: + resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + + micromark-util-subtokenize@2.0.1: + resolution: {integrity: sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==} + + micromark-util-symbol@1.1.0: + resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} + + micromark-util-symbol@2.0.0: + resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} + + micromark-util-types@1.1.0: + resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} + + micromark-util-types@2.0.0: + resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} + + micromark@4.0.0: + resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} + + micromatch@4.0.7: + resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} + engines: {node: '>=8.6'} + + mime-db@1.33.0: + resolution: {integrity: sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==} + engines: {node: '>= 0.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.18: + resolution: {integrity: sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + + mimic-response@4.0.0: + resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + mini-css-extract-plugin@2.9.0: + resolution: {integrity: sha512-Zs1YsZVfemekSZG+44vBsYTLQORkPMwnlv+aehcxK/NLKC+EGhDB39/YePYYqx/sTk6NnYpuqikhSn7+JIevTA==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + + minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + mrmime@2.0.0: + resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} + engines: {node: '>=10'} + + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + multicast-dns@7.2.5: + resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} + hasBin: true + + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + + nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + + no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + + node-emoji@2.1.3: + resolution: {integrity: sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==} + engines: {node: '>=18'} + + node-forge@1.3.1: + resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} + engines: {node: '>= 6.13.0'} + + node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + + normalize-url@8.0.1: + resolution: {integrity: sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==} + engines: {node: '>=14.16'} + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + nprogress@0.2.0: + resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + + object-inspect@1.13.2: + resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + engines: {node: '>= 0.4'} + + obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + + on-headers@1.0.2: + resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} + engines: {node: '>= 0.8'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + + opener@1.5.2: + resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} + hasBin: true + + p-cancelable@3.0.0: + resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} + engines: {node: '>=12.20'} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-locate@3.0.0: + resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} + engines: {node: '>=6'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + p-locate@6.0.0: + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + + p-retry@4.6.2: + resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} + engines: {node: '>=8'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + package-json-from-dist@1.0.0: + resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} + + package-json@8.1.1: + resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==} + engines: {node: '>=14.16'} + + param-case@3.0.4: + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-entities@4.0.1: + resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + parse-numeric-range@1.3.0: + resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==} + + parse5-htmlparser2-tree-adapter@7.0.0: + resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==} + + parse5@7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + + pascal-case@3.1.2: + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + + path-exists@3.0.0: + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} + engines: {node: '>=4'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-exists@5.0.0: + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-is-inside@1.0.2: + resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + path-to-regexp@0.1.7: + resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + + path-to-regexp@1.8.0: + resolution: {integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==} + + path-to-regexp@2.2.1: + resolution: {integrity: sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + periscopic@3.1.0: + resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} + + picocolors@1.0.1: + resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + + pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + + pkg-dir@7.0.0: + resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} + engines: {node: '>=14.16'} + + pkg-up@3.1.0: + resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} + engines: {node: '>=8'} + + postcss-calc@9.0.1: + resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.2 + + postcss-colormin@6.1.0: + resolution: {integrity: sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-convert-values@6.1.0: + resolution: {integrity: sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-comments@6.0.2: + resolution: {integrity: sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-duplicates@6.0.3: + resolution: {integrity: sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-empty@6.0.3: + resolution: {integrity: sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-overridden@6.0.2: + resolution: {integrity: sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-unused@6.0.5: + resolution: {integrity: sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-import@15.1.0: + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 + + postcss-js@4.0.1: + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 + + postcss-load-config@4.0.2: + resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + + postcss-loader@7.3.4: + resolution: {integrity: sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==} + engines: {node: '>= 14.15.0'} + peerDependencies: + postcss: ^7.0.0 || ^8.0.1 + webpack: ^5.0.0 + + postcss-merge-idents@6.0.3: + resolution: {integrity: sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-merge-longhand@6.0.5: + resolution: {integrity: sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-merge-rules@6.1.1: + resolution: {integrity: sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-font-values@6.1.0: + resolution: {integrity: sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-gradients@6.0.3: + resolution: {integrity: sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-params@6.1.0: + resolution: {integrity: sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-selectors@6.0.4: + resolution: {integrity: sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-modules-extract-imports@3.1.0: + resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-local-by-default@4.0.5: + resolution: {integrity: sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-scope@3.2.0: + resolution: {integrity: sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-values@4.0.0: + resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-nested@6.0.1: + resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + + postcss-normalize-charset@6.0.2: + resolution: {integrity: sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-display-values@6.0.2: + resolution: {integrity: sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-positions@6.0.2: + resolution: {integrity: sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-repeat-style@6.0.2: + resolution: {integrity: sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-string@6.0.2: + resolution: {integrity: sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-timing-functions@6.0.2: + resolution: {integrity: sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-unicode@6.1.0: + resolution: {integrity: sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-url@6.0.2: + resolution: {integrity: sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-whitespace@6.0.2: + resolution: {integrity: sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-ordered-values@6.0.2: + resolution: {integrity: sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-reduce-idents@6.0.3: + resolution: {integrity: sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-reduce-initial@6.1.0: + resolution: {integrity: sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-reduce-transforms@6.0.2: + resolution: {integrity: sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-selector-parser@6.1.0: + resolution: {integrity: sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==} + engines: {node: '>=4'} + + postcss-sort-media-queries@5.2.0: + resolution: {integrity: sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.4.23 + + postcss-svgo@6.0.3: + resolution: {integrity: sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==} + engines: {node: ^14 || ^16 || >= 18} + peerDependencies: + postcss: ^8.4.31 + + postcss-unique-selectors@6.0.4: + resolution: {integrity: sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + postcss-zindex@6.0.2: + resolution: {integrity: sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + engines: {node: ^10 || ^12 || >=14} + + pretty-error@4.0.0: + resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} + + pretty-time@1.1.0: + resolution: {integrity: sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==} + engines: {node: '>=4'} + + prism-react-renderer@2.3.1: + resolution: {integrity: sha512-Rdf+HzBLR7KYjzpJ1rSoxT9ioO85nZngQEoFIhL07XhtJHlCU3SOz0GJ6+qvMyQe0Se+BV3qpe6Yd/NmQF5Juw==} + peerDependencies: + react: '>=16.0.0' + + prismjs@https://codeload.github.com/PrismJS/prism/tar.gz/59e5a3471377057de1f401ba38337aca27b80e03: + resolution: {tarball: https://codeload.github.com/PrismJS/prism/tar.gz/59e5a3471377057de1f401ba38337aca27b80e03} + version: 1.29.0 + engines: {node: '>=6'} + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + + property-information@6.5.0: + resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} + + proto-list@1.2.4: + resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} + + proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + + punycode@1.4.1: + resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + pupa@3.1.0: + resolution: {integrity: sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==} + engines: {node: '>=12.20'} + + qs@6.11.0: + resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} + engines: {node: '>=0.6'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + queue@6.0.2: + resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==} + + quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + + range-parser@1.2.0: + resolution: {integrity: sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==} + engines: {node: '>= 0.6'} + + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + raw-body@2.5.2: + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} + engines: {node: '>= 0.8'} + + rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + + react-dev-utils@12.0.1: + resolution: {integrity: sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=2.7' + webpack: '>=4' + peerDependenciesMeta: + typescript: + optional: true + + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + peerDependencies: + react: ^18.3.1 + + react-error-overlay@6.0.11: + resolution: {integrity: sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==} + + react-fast-compare@3.2.2: + resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} + + react-helmet-async@1.3.0: + resolution: {integrity: sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==} + peerDependencies: + react: ^16.6.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 + + react-helmet-async@2.0.5: + resolution: {integrity: sha512-rYUYHeus+i27MvFE+Jaa4WsyBKGkL6qVgbJvSBoX8mbsWoABJXdEO0bZyi0F6i+4f0NuIb8AvqPMj3iXFHkMwg==} + peerDependencies: + react: ^16.6.0 || ^17.0.0 || ^18.0.0 + + react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + + react-json-view-lite@1.4.0: + resolution: {integrity: sha512-wh6F6uJyYAmQ4fK0e8dSQMEWuvTs2Wr3el3sLD9bambX1+pSWUVXIz1RFaoy3TI1mZ0FqdpKq9YgbgTTgyrmXA==} + engines: {node: '>=14'} + peerDependencies: + react: ^16.13.1 || ^17.0.0 || ^18.0.0 + + react-loadable-ssr-addon-v5-slorber@1.0.1: + resolution: {integrity: sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==} + engines: {node: '>=10.13.0'} + peerDependencies: + react-loadable: '*' + webpack: '>=4.41.1 || 5.x' + + react-router-config@5.1.1: + resolution: {integrity: sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==} + peerDependencies: + react: '>=15' + react-router: '>=5' + + react-router-dom@5.3.4: + resolution: {integrity: sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==} + peerDependencies: + react: '>=15' + + react-router@5.3.4: + resolution: {integrity: sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==} + peerDependencies: + react: '>=15' + + react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + engines: {node: '>=0.10.0'} + + read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + reading-time@1.5.0: + resolution: {integrity: sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==} + + rechoir@0.6.2: + resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} + engines: {node: '>= 0.10'} + + recursive-readdir@2.2.3: + resolution: {integrity: sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==} + engines: {node: '>=6.0.0'} + + regenerate-unicode-properties@10.1.1: + resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} + engines: {node: '>=4'} + + regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + + regenerator-transform@0.15.2: + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} + + regexpu-core@5.3.2: + resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} + engines: {node: '>=4'} + + registry-auth-token@5.0.2: + resolution: {integrity: sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==} + engines: {node: '>=14'} + + registry-url@6.0.1: + resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==} + engines: {node: '>=12'} + + regjsparser@0.9.1: + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} + hasBin: true + + rehype-raw@7.0.0: + resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} + + relateurl@0.2.7: + resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} + engines: {node: '>= 0.10'} + + remark-directive@3.0.0: + resolution: {integrity: sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA==} + + remark-emoji@4.0.1: + resolution: {integrity: sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + remark-frontmatter@5.0.0: + resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==} + + remark-gfm@4.0.0: + resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} + + remark-mdx@3.0.1: + resolution: {integrity: sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==} + + remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} + + remark-rehype@11.1.0: + resolution: {integrity: sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==} + + remark-stringify@11.0.0: + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} + + renderkid@3.0.0: + resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==} + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + require-like@0.1.2: + resolution: {integrity: sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==} + + requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + + resolve-alpn@1.2.1: + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-pathname@3.0.0: + resolution: {integrity: sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==} + + resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + + responselike@3.0.0: + resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} + engines: {node: '>=14.16'} + + retry@0.13.1: + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + rtl-detect@1.1.2: + resolution: {integrity: sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ==} + + rtlcss@4.1.1: + resolution: {integrity: sha512-/oVHgBtnPNcggP2aVXQjSy6N1mMAfHg4GSag0QtZBlD5bdDgAHwr4pydqJGd+SUCu9260+Pjqbjwtvu7EMH1KQ==} + engines: {node: '>=12.0.0'} + hasBin: true + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + sax@1.4.1: + resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} + + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + + schema-utils@2.7.0: + resolution: {integrity: sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==} + engines: {node: '>= 8.9.0'} + + schema-utils@3.3.0: + resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} + engines: {node: '>= 10.13.0'} + + schema-utils@4.2.0: + resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} + engines: {node: '>= 12.13.0'} + + search-insights@2.14.0: + resolution: {integrity: sha512-OLN6MsPMCghDOqlCtsIsYgtsC0pnwVTyT9Mu6A3ewOj1DxvzZF6COrn2g86E/c05xbktB0XN04m/t1Z+n+fTGw==} + + section-matter@1.0.0: + resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} + engines: {node: '>=4'} + + select-hose@2.0.0: + resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} + + selfsigned@2.4.1: + resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} + engines: {node: '>=10'} + + semver-diff@4.0.0: + resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} + engines: {node: '>=12'} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} + engines: {node: '>=10'} + hasBin: true + + send@0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} + + serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + + serve-handler@6.1.5: + resolution: {integrity: sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==} + + serve-index@1.9.1: + resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} + engines: {node: '>= 0.8.0'} + + serve-static@1.15.0: + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + engines: {node: '>= 0.8.0'} + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + setprototypeof@1.1.0: + resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + shallow-clone@3.0.1: + resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} + engines: {node: '>=8'} + + shallowequal@1.1.0: + resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shell-quote@1.8.1: + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + + shelljs@0.8.5: + resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} + engines: {node: '>=4'} + hasBin: true + + side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + sirv@2.0.4: + resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} + engines: {node: '>= 10'} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + sitemap@7.1.2: + resolution: {integrity: sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw==} + engines: {node: '>=12.0.0', npm: '>=5.6.0'} + hasBin: true + + skin-tone@2.0.0: + resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} + engines: {node: '>=8'} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + slash@4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + + snake-case@3.0.4: + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + + sockjs@0.3.24: + resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} + + sort-css-media-queries@2.2.0: + resolution: {integrity: sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==} + engines: {node: '>= 6.3.0'} + + source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + + spdy-transport@3.0.0: + resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} + + spdy@4.0.2: + resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} + engines: {node: '>=6.0.0'} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + srcset@4.0.0: + resolution: {integrity: sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==} + engines: {node: '>=12'} + + statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + + statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + + std-env@3.7.0: + resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + + stringify-object@3.3.0: + resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} + engines: {node: '>=4'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-bom-string@1.0.0: + resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} + engines: {node: '>=0.10.0'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + style-to-object@0.4.4: + resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} + + style-to-object@1.0.6: + resolution: {integrity: sha512-khxq+Qm3xEyZfKd/y9L3oIWQimxuc4STrQKtQn8aSDRHb8mFgpukgX1hdzfrMEW6JCjyJ8p89x+IUMVnCBI1PA==} + + stylehacks@6.1.1: + resolution: {integrity: sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + svg-parser@2.0.4: + resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} + + svgo@3.3.2: + resolution: {integrity: sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==} + engines: {node: '>=14.0.0'} + hasBin: true + + tailwindcss@3.4.4: + resolution: {integrity: sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==} + engines: {node: '>=14.0.0'} + hasBin: true + + tapable@1.1.3: + resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==} + engines: {node: '>=6'} + + tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + + terser-webpack-plugin@5.3.10: + resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + + terser@5.31.1: + resolution: {integrity: sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==} + engines: {node: '>=10'} + hasBin: true + + text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + + thunky@1.1.0: + resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} + + tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + + tiny-warning@1.0.3: + resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} + + to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + + totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + + trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + + tslib@2.6.3: + resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} + + type-fest@1.4.0: + resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} + engines: {node: '>=10'} + + type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + + type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + + typedarray-to-buffer@3.1.5: + resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + + typescript@5.2.2: + resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} + engines: {node: '>=14.17'} + hasBin: true + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + unicode-canonical-property-names-ecmascript@2.0.0: + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} + + unicode-emoji-modifier-base@1.0.0: + resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} + engines: {node: '>=4'} + + unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + + unicode-match-property-value-ecmascript@2.1.0: + resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + engines: {node: '>=4'} + + unicode-property-aliases-ecmascript@2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + + unified@11.0.5: + resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} + + unique-string@3.0.0: + resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} + engines: {node: '>=12'} + + unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + + unist-util-position-from-estree@2.0.0: + resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} + + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + + unist-util-remove-position@5.0.0: + resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + + update-browserslist-db@1.0.16: + resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + update-notifier@6.0.2: + resolution: {integrity: sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==} + engines: {node: '>=14.16'} + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + url-loader@4.1.1: + resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==} + engines: {node: '>= 10.13.0'} + peerDependencies: + file-loader: '*' + webpack: ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + file-loader: + optional: true + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + utila@0.4.0: + resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==} + + utility-types@3.11.0: + resolution: {integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==} + engines: {node: '>= 4'} + + utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + + value-equal@1.0.1: + resolution: {integrity: sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==} + + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + vfile-location@5.0.2: + resolution: {integrity: sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==} + + vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + + vfile@6.0.1: + resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==} + + watchpack@2.4.1: + resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==} + engines: {node: '>=10.13.0'} + + wbuf@1.7.3: + resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} + + web-namespaces@2.0.1: + resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} + + webpack-bundle-analyzer@4.10.2: + resolution: {integrity: sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==} + engines: {node: '>= 10.13.0'} + hasBin: true + + webpack-dev-middleware@5.3.4: + resolution: {integrity: sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + + webpack-dev-server@4.15.2: + resolution: {integrity: sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==} + engines: {node: '>= 12.13.0'} + hasBin: true + peerDependencies: + webpack: ^4.37.0 || ^5.0.0 + webpack-cli: '*' + peerDependenciesMeta: + webpack: + optional: true + webpack-cli: + optional: true + + webpack-merge@5.10.0: + resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==} + engines: {node: '>=10.0.0'} + + webpack-sources@3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + + webpack@5.92.1: + resolution: {integrity: sha512-JECQ7IwJb+7fgUFBlrJzbyu3GEuNBcdqr1LD7IbSzwkSmIevTm8PF+wej3Oxuz/JFBUZ6O1o43zsPkwm1C4TmA==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + + webpackbar@5.0.2: + resolution: {integrity: sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==} + engines: {node: '>=12'} + peerDependencies: + webpack: 3 || 4 || 5 + + websocket-driver@0.7.4: + resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} + engines: {node: '>=0.8.0'} + + websocket-extensions@0.1.4: + resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} + engines: {node: '>=0.8.0'} + + which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + widest-line@4.0.1: + resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} + engines: {node: '>=12'} + + wildcard@2.0.1: + resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + write-file-atomic@3.0.3: + resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} + + ws@7.5.10: + resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.17.1: + resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xdg-basedir@5.1.0: + resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} + engines: {node: '>=12'} + + xml-js@1.6.11: + resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==} + hasBin: true + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yaml@1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + + yaml@2.4.5: + resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==} + engines: {node: '>= 14'} + hasBin: true + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + +snapshots: + + '@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.14.0)': + dependencies: + '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.14.0) + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + - search-insights + + '@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.14.0)': + dependencies: + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) + search-insights: 2.14.0 + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + + '@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)': + dependencies: + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) + '@algolia/client-search': 4.23.3 + algoliasearch: 4.23.3 + + '@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)': + dependencies: + '@algolia/client-search': 4.23.3 + algoliasearch: 4.23.3 + + '@algolia/cache-browser-local-storage@4.23.3': + dependencies: + '@algolia/cache-common': 4.23.3 + + '@algolia/cache-common@4.23.3': {} + + '@algolia/cache-in-memory@4.23.3': + dependencies: + '@algolia/cache-common': 4.23.3 + + '@algolia/client-account@4.23.3': + dependencies: + '@algolia/client-common': 4.23.3 + '@algolia/client-search': 4.23.3 + '@algolia/transporter': 4.23.3 + + '@algolia/client-analytics@4.23.3': + dependencies: + '@algolia/client-common': 4.23.3 + '@algolia/client-search': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/transporter': 4.23.3 + + '@algolia/client-common@4.23.3': + dependencies: + '@algolia/requester-common': 4.23.3 + '@algolia/transporter': 4.23.3 + + '@algolia/client-personalization@4.23.3': + dependencies: + '@algolia/client-common': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/transporter': 4.23.3 + + '@algolia/client-search@4.23.3': + dependencies: + '@algolia/client-common': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/transporter': 4.23.3 + + '@algolia/events@4.0.1': {} + + '@algolia/logger-common@4.23.3': {} + + '@algolia/logger-console@4.23.3': + dependencies: + '@algolia/logger-common': 4.23.3 + + '@algolia/recommend@4.23.3': + dependencies: + '@algolia/cache-browser-local-storage': 4.23.3 + '@algolia/cache-common': 4.23.3 + '@algolia/cache-in-memory': 4.23.3 + '@algolia/client-common': 4.23.3 + '@algolia/client-search': 4.23.3 + '@algolia/logger-common': 4.23.3 + '@algolia/logger-console': 4.23.3 + '@algolia/requester-browser-xhr': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/requester-node-http': 4.23.3 + '@algolia/transporter': 4.23.3 + + '@algolia/requester-browser-xhr@4.23.3': + dependencies: + '@algolia/requester-common': 4.23.3 + + '@algolia/requester-common@4.23.3': {} + + '@algolia/requester-node-http@4.23.3': + dependencies: + '@algolia/requester-common': 4.23.3 + + '@algolia/transporter@4.23.3': + dependencies: + '@algolia/cache-common': 4.23.3 + '@algolia/logger-common': 4.23.3 + '@algolia/requester-common': 4.23.3 + + '@alloc/quick-lru@5.2.0': {} + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@babel/code-frame@7.24.7': + dependencies: + '@babel/highlight': 7.24.7 + picocolors: 1.0.1 + + '@babel/compat-data@7.24.7': {} + + '@babel/core@7.24.7': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helpers': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/template': 7.24.7 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + convert-source-map: 2.0.0 + debug: 4.3.5 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.24.7': + dependencies: + '@babel/types': 7.24.7 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + + '@babel/helper-annotate-as-pure@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/helper-builder-binary-assignment-operator-visitor@7.24.7': + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-compilation-targets@7.24.7': + dependencies: + '@babel/compat-data': 7.24.7 + '@babel/helper-validator-option': 7.24.7 + browserslist: 4.23.1 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-create-class-features-plugin@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-member-expression-to-functions': 7.24.7 + '@babel/helper-optimise-call-expression': 7.24.7 + '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7) + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-create-regexp-features-plugin@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + regexpu-core: 5.3.2 + semver: 6.3.1 + + '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + debug: 4.3.5 + lodash.debounce: 4.0.8 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + + '@babel/helper-environment-visitor@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/helper-function-name@7.24.7': + dependencies: + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 + + '@babel/helper-hoist-variables@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/helper-member-expression-to-functions@7.24.7': + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-imports@7.24.7': + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-optimise-call-expression@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/helper-plugin-utils@7.24.7': {} + + '@babel/helper-remap-async-to-generator@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-wrap-function': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-replace-supers@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-member-expression-to-functions': 7.24.7 + '@babel/helper-optimise-call-expression': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-simple-access@7.24.7': + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-skip-transparent-expression-wrappers@7.24.7': + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-split-export-declaration@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/helper-string-parser@7.24.7': {} + + '@babel/helper-validator-identifier@7.24.7': {} + + '@babel/helper-validator-option@7.24.7': {} + + '@babel/helper-wrap-function@7.24.7': + dependencies: + '@babel/helper-function-name': 7.24.7 + '@babel/template': 7.24.7 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helpers@7.24.7': + dependencies: + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 + + '@babel/highlight@7.24.7': + dependencies: + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.1 + + '@babel/parser@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-transform-optional-chaining': 7.24.7(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-import-assertions@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-async-generator-functions@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-async-to-generator@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-block-scoped-functions@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-block-scoping@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-class-properties@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-class-static-block@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-classes@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7) + '@babel/helper-split-export-declaration': 7.24.7 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/template': 7.24.7 + + '@babel/plugin-transform-destructuring@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-dotall-regex@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-dynamic-import@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.7) + + '@babel/plugin-transform-exponentiation-operator@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-export-namespace-from@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.7) + + '@babel/plugin-transform-for-of@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-function-name@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-json-strings@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7) + + '@babel/plugin-transform-literals@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-logical-assignment-operators@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7) + + '@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-modules-amd@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-commonjs@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-systemjs@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-hoist-variables': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-umd@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-named-capturing-groups-regex@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-new-target@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-nullish-coalescing-operator@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) + + '@babel/plugin-transform-numeric-separator@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) + + '@babel/plugin-transform-object-rest-spread@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.7) + + '@babel/plugin-transform-object-super@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-optional-catch-binding@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) + + '@babel/plugin-transform-optional-chaining@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-parameters@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-private-methods@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-private-property-in-object@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-react-constant-elements@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-react-display-name@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-react-jsx-development@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/plugin-transform-react-jsx': 7.24.7(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.7) + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-pure-annotations@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + regenerator-transform: 0.15.2 + + '@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-runtime@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.7) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.7) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.7) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-spread@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-typeof-symbol@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-typescript@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-unicode-escapes@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-unicode-property-regex@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-unicode-sets-regex@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/preset-env@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/compat-data': 7.24.7 + '@babel/core': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-validator-option': 7.24.7 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.7) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.7) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.7) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-import-assertions': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.7) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.7) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.7) + '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-async-generator-functions': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-block-scoping': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-class-properties': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-class-static-block': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-classes': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-destructuring': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-duplicate-keys': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-dynamic-import': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-exponentiation-operator': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-function-name': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-json-strings': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-literals': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-member-expression-literals': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-modules-amd': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-modules-commonjs': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-modules-systemjs': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-modules-umd': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-new-target': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-object-super': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-optional-chaining': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-private-methods': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-property-literals': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-reserved-words': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-typeof-symbol': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-unicode-property-regex': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-unicode-sets-regex': 7.24.7(@babel/core@7.24.7) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.7) + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.7) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.7) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.7) + core-js-compat: 3.37.1 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/types': 7.24.7 + esutils: 2.0.3 + + '@babel/preset-react@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-validator-option': 7.24.7 + '@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-react-jsx': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-react-jsx-development': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-react-pure-annotations': 7.24.7(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + + '@babel/preset-typescript@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-validator-option': 7.24.7 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-modules-commonjs': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-typescript': 7.24.7(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + + '@babel/regjsgen@0.8.0': {} + + '@babel/runtime-corejs3@7.24.7': + dependencies: + core-js-pure: 3.37.1 + regenerator-runtime: 0.14.1 + + '@babel/runtime@7.24.7': + dependencies: + regenerator-runtime: 0.14.1 + + '@babel/template@7.24.7': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + + '@babel/traverse@7.24.7': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-hoist-variables': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + debug: 4.3.5 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.24.7': + dependencies: + '@babel/helper-string-parser': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + to-fast-properties: 2.0.0 + + '@colors/colors@1.5.0': + optional: true + + '@discoveryjs/json-ext@0.5.7': {} + + '@docsearch/css@3.6.0': {} + + '@docsearch/react@3.6.0(@algolia/client-search@4.23.3)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)': + dependencies: + '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.14.0) + '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) + '@docsearch/css': 3.6.0 + algoliasearch: 4.23.3 + optionalDependencies: + '@types/react': 18.3.3 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + search-insights: 2.14.0 + transitivePeerDependencies: + - '@algolia/client-search' + + '@docusaurus/core@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + dependencies: + '@babel/core': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-transform-runtime': 7.24.7(@babel/core@7.24.7) + '@babel/preset-env': 7.24.7(@babel/core@7.24.7) + '@babel/preset-react': 7.24.7(@babel/core@7.24.7) + '@babel/preset-typescript': 7.24.7(@babel/core@7.24.7) + '@babel/runtime': 7.24.7 + '@babel/runtime-corejs3': 7.24.7 + '@babel/traverse': 7.24.7 + '@docusaurus/cssnano-preset': 3.4.0 + '@docusaurus/logger': 3.4.0 + '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + autoprefixer: 10.4.19(postcss@8.4.38) + babel-loader: 9.1.3(@babel/core@7.24.7)(webpack@5.92.1) + babel-plugin-dynamic-import-node: 2.3.3 + boxen: 6.2.1 + chalk: 4.1.2 + chokidar: 3.6.0 + clean-css: 5.3.3 + cli-table3: 0.6.5 + combine-promises: 1.2.0 + commander: 5.1.0 + copy-webpack-plugin: 11.0.0(webpack@5.92.1) + core-js: 3.37.1 + css-loader: 6.11.0(webpack@5.92.1) + css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(webpack@5.92.1) + cssnano: 6.1.2(postcss@8.4.38) + del: 6.1.1 + detect-port: 1.6.1 + escape-html: 1.0.3 + eta: 2.2.0 + eval: 0.1.8 + file-loader: 6.2.0(webpack@5.92.1) + fs-extra: 11.2.0 + html-minifier-terser: 7.2.0 + html-tags: 3.3.1 + html-webpack-plugin: 5.6.0(webpack@5.92.1) + leven: 3.1.0 + lodash: 4.17.21 + mini-css-extract-plugin: 2.9.0(webpack@5.92.1) + p-map: 4.0.0 + postcss: 8.4.38 + postcss-loader: 7.3.4(postcss@8.4.38)(typescript@5.2.2)(webpack@5.92.1) + prompts: 2.4.2 + react: 18.3.1 + react-dev-utils: 12.0.1(typescript@5.2.2)(webpack@5.92.1) + react-dom: 18.3.1(react@18.3.1) + react-helmet-async: 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)' + react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.92.1) + react-router: 5.3.4(react@18.3.1) + react-router-config: 5.1.1(react-router@5.3.4(react@18.3.1))(react@18.3.1) + react-router-dom: 5.3.4(react@18.3.1) + rtl-detect: 1.1.2 + semver: 7.6.2 + serve-handler: 6.1.5 + shelljs: 0.8.5 + terser-webpack-plugin: 5.3.10(webpack@5.92.1) + tslib: 2.6.3 + update-notifier: 6.0.2 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.92.1))(webpack@5.92.1) + webpack: 5.92.1 + webpack-bundle-analyzer: 4.10.2 + webpack-dev-server: 4.15.2(debug@4.3.5)(webpack@5.92.1) + webpack-merge: 5.10.0 + webpackbar: 5.0.2(webpack@5.92.1) + transitivePeerDependencies: + - '@docusaurus/types' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/cssnano-preset@3.4.0': + dependencies: + cssnano-preset-advanced: 6.1.2(postcss@8.4.38) + postcss: 8.4.38 + postcss-sort-media-queries: 5.2.0(postcss@8.4.38) + tslib: 2.6.3 + + '@docusaurus/logger@3.4.0': + dependencies: + chalk: 4.1.2 + tslib: 2.6.3 + + '@docusaurus/mdx-loader@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + dependencies: + '@docusaurus/logger': 3.4.0 + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@mdx-js/mdx': 3.0.1 + '@slorber/remark-comment': 1.0.0 + escape-html: 1.0.3 + estree-util-value-to-estree: 3.1.2 + file-loader: 6.2.0(webpack@5.92.1) + fs-extra: 11.2.0 + image-size: 1.1.1 + mdast-util-mdx: 3.0.0 + mdast-util-to-string: 4.0.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + rehype-raw: 7.0.0 + remark-directive: 3.0.0 + remark-emoji: 4.0.1 + remark-frontmatter: 5.0.0 + remark-gfm: 4.0.0 + stringify-object: 3.3.0 + tslib: 2.6.3 + unified: 11.0.5 + unist-util-visit: 5.0.0 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.92.1))(webpack@5.92.1) + vfile: 6.0.1 + webpack: 5.92.1 + transitivePeerDependencies: + - '@docusaurus/types' + - '@swc/core' + - esbuild + - supports-color + - typescript + - uglify-js + - webpack-cli + + '@docusaurus/module-type-aliases@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@types/history': 4.7.11 + '@types/react': 18.3.3 + '@types/react-router-config': 5.0.11 + '@types/react-router-dom': 5.3.3 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-helmet-async: 2.0.5(react@18.3.1) + react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)' + transitivePeerDependencies: + - '@swc/core' + - esbuild + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/plugin-content-blog@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + dependencies: + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/logger': 3.4.0 + '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + cheerio: 1.0.0-rc.12 + feed: 4.2.2 + fs-extra: 11.2.0 + lodash: 4.17.21 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + reading-time: 1.5.0 + srcset: 4.0.0 + tslib: 2.6.3 + unist-util-visit: 5.0.0 + utility-types: 3.11.0 + webpack: 5.92.1 + transitivePeerDependencies: + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/plugin-content-docs@3.4.0(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + dependencies: + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/logger': 3.4.0 + '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/module-type-aliases': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@types/react-router-config': 5.0.11 + combine-promises: 1.2.0 + fs-extra: 11.2.0 + js-yaml: 4.1.0 + lodash: 4.17.21 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.6.3 + utility-types: 3.11.0 + webpack: 5.92.1 + transitivePeerDependencies: + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/plugin-content-pages@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + dependencies: + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + fs-extra: 11.2.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.6.3 + webpack: 5.92.1 + transitivePeerDependencies: + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/plugin-debug@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + dependencies: + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + fs-extra: 11.2.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-json-view-lite: 1.4.0(react@18.3.1) + tslib: 2.6.3 + transitivePeerDependencies: + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/plugin-google-analytics@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + dependencies: + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.6.3 + transitivePeerDependencies: + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/plugin-google-gtag@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + dependencies: + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@types/gtag.js': 0.0.12 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.6.3 + transitivePeerDependencies: + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/plugin-google-tag-manager@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + dependencies: + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.6.3 + transitivePeerDependencies: + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/plugin-sitemap@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + dependencies: + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/logger': 3.4.0 + '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + fs-extra: 11.2.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + sitemap: 7.1.2 + tslib: 2.6.3 + transitivePeerDependencies: + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/preset-classic@3.4.0(@algolia/client-search@4.23.3)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)(typescript@5.2.2)': + dependencies: + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/plugin-content-blog': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/plugin-content-docs': 3.4.0(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/plugin-content-pages': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/plugin-debug': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/plugin-google-analytics': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/plugin-google-gtag': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/plugin-google-tag-manager': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/plugin-sitemap': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/theme-classic': 3.4.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/theme-search-algolia': 3.4.0(@algolia/client-search@4.23.3)(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)(typescript@5.2.2) + '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - '@algolia/client-search' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@types/react' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - search-insights + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/react-loadable@6.0.0(react@18.3.1)': + dependencies: + '@types/react': 18.3.3 + react: 18.3.1 + + '@docusaurus/theme-classic@3.4.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + dependencies: + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/module-type-aliases': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/plugin-content-blog': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/plugin-content-docs': 3.4.0(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/plugin-content-pages': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/theme-translations': 3.4.0 + '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@mdx-js/react': 3.0.1(@types/react@18.3.3)(react@18.3.1) + clsx: 2.1.1 + copy-text-to-clipboard: 3.2.0 + infima: 0.2.0-alpha.43 + lodash: 4.17.21 + nprogress: 0.2.0 + postcss: 8.4.38 + prism-react-renderer: 2.3.1(react@18.3.1) + prismjs: https://codeload.github.com/PrismJS/prism/tar.gz/59e5a3471377057de1f401ba38337aca27b80e03 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-router-dom: 5.3.4(react@18.3.1) + rtlcss: 4.1.1 + tslib: 2.6.3 + utility-types: 3.11.0 + transitivePeerDependencies: + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@types/react' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + dependencies: + '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/module-type-aliases': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/plugin-content-blog': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/plugin-content-docs': 3.4.0(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/plugin-content-pages': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@types/history': 4.7.11 + '@types/react': 18.3.3 + '@types/react-router-config': 5.0.11 + clsx: 2.1.1 + parse-numeric-range: 1.3.0 + prism-react-renderer: 2.3.1(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.6.3 + utility-types: 3.11.0 + transitivePeerDependencies: + - '@docusaurus/types' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/theme-search-algolia@3.4.0(@algolia/client-search@4.23.3)(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)(typescript@5.2.2)': + dependencies: + '@docsearch/react': 3.6.0(@algolia/client-search@4.23.3)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/logger': 3.4.0 + '@docusaurus/plugin-content-docs': 3.4.0(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/theme-translations': 3.4.0 + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + algoliasearch: 4.23.3 + algoliasearch-helper: 3.22.1(algoliasearch@4.23.3) + clsx: 2.1.1 + eta: 2.2.0 + fs-extra: 11.2.0 + lodash: 4.17.21 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.6.3 + utility-types: 3.11.0 + transitivePeerDependencies: + - '@algolia/client-search' + - '@docusaurus/types' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@types/react' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - search-insights + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/theme-translations@3.4.0': + dependencies: + fs-extra: 11.2.0 + tslib: 2.6.3 + + '@docusaurus/tsconfig@3.4.0': {} + + '@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@mdx-js/mdx': 3.0.1 + '@types/history': 4.7.11 + '@types/react': 18.3.3 + commander: 5.1.0 + joi: 17.13.3 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-helmet-async: 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + utility-types: 3.11.0 + webpack: 5.92.1 + webpack-merge: 5.10.0 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/utils-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + dependencies: + tslib: 2.6.3 + optionalDependencies: + '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + + '@docusaurus/utils-validation@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2)': + dependencies: + '@docusaurus/logger': 3.4.0 + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + fs-extra: 11.2.0 + joi: 17.13.3 + js-yaml: 4.1.0 + lodash: 4.17.21 + tslib: 2.6.3 + transitivePeerDependencies: + - '@docusaurus/types' + - '@swc/core' + - esbuild + - supports-color + - typescript + - uglify-js + - webpack-cli + + '@docusaurus/utils@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2)': + dependencies: + '@docusaurus/logger': 3.4.0 + '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@svgr/webpack': 8.1.0(typescript@5.2.2) + escape-string-regexp: 4.0.0 + file-loader: 6.2.0(webpack@5.92.1) + fs-extra: 11.2.0 + github-slugger: 1.5.0 + globby: 11.1.0 + gray-matter: 4.0.3 + jiti: 1.21.6 + js-yaml: 4.1.0 + lodash: 4.17.21 + micromatch: 4.0.7 + prompts: 2.4.2 + resolve-pathname: 3.0.0 + shelljs: 0.8.5 + tslib: 2.6.3 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.92.1))(webpack@5.92.1) + utility-types: 3.11.0 + webpack: 5.92.1 + optionalDependencies: + '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + transitivePeerDependencies: + - '@swc/core' + - esbuild + - supports-color + - typescript + - uglify-js + - webpack-cli + + '@easyops-cn/autocomplete.js@0.38.1': + dependencies: + cssesc: 3.0.0 + immediate: 3.3.0 + + '@easyops-cn/docusaurus-search-local@0.44.2(@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2))(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + dependencies: + '@docusaurus/plugin-content-docs': 3.4.0(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/theme-translations': 3.4.0 + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@easyops-cn/autocomplete.js': 0.38.1 + '@node-rs/jieba': 1.10.3 + cheerio: 1.0.0-rc.12 + clsx: 1.2.1 + debug: 4.3.5 + fs-extra: 10.1.0 + klaw-sync: 6.0.0 + lunr: 2.3.9 + lunr-languages: 1.14.0 + mark.js: 8.11.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.6.3 + transitivePeerDependencies: + - '@docusaurus/types' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - bufferutil + - csso + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@emnapi/core@1.2.0': + dependencies: + '@emnapi/wasi-threads': 1.0.1 + tslib: 2.6.3 + optional: true + + '@emnapi/runtime@1.2.0': + dependencies: + tslib: 2.6.3 + optional: true + + '@emnapi/wasi-threads@1.0.1': + dependencies: + tslib: 2.6.3 + optional: true + + '@hapi/hoek@9.3.0': {} + + '@hapi/topo@5.1.0': + dependencies: + '@hapi/hoek': 9.3.0 + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 20.14.8 + '@types/yargs': 17.0.32 + chalk: 4.1.2 + + '@jridgewell/gen-mapping@0.3.5': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/source-map@0.3.6': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/sourcemap-codec@1.4.15': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + + '@leichtgewicht/ip-codec@2.0.5': {} + + '@mdx-js/mdx@3.0.1': + dependencies: + '@types/estree': 1.0.5 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdx': 2.0.13 + collapse-white-space: 2.1.0 + devlop: 1.1.0 + estree-util-build-jsx: 3.0.1 + estree-util-is-identifier-name: 3.0.0 + estree-util-to-js: 2.0.0 + estree-walker: 3.0.3 + hast-util-to-estree: 3.1.0 + hast-util-to-jsx-runtime: 2.3.0 + markdown-extensions: 2.0.0 + periscopic: 3.1.0 + remark-mdx: 3.0.1 + remark-parse: 11.0.0 + remark-rehype: 11.1.0 + source-map: 0.7.4 + unified: 11.0.5 + unist-util-position-from-estree: 2.0.0 + unist-util-stringify-position: 4.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.1 + transitivePeerDependencies: + - supports-color + + '@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1)': + dependencies: + '@types/mdx': 2.0.13 + '@types/react': 18.3.3 + react: 18.3.1 + + '@napi-rs/wasm-runtime@0.2.4': + dependencies: + '@emnapi/core': 1.2.0 + '@emnapi/runtime': 1.2.0 + '@tybys/wasm-util': 0.9.0 + optional: true + + '@node-rs/jieba-android-arm-eabi@1.10.3': + optional: true + + '@node-rs/jieba-android-arm64@1.10.3': + optional: true + + '@node-rs/jieba-darwin-arm64@1.10.3': + optional: true + + '@node-rs/jieba-darwin-x64@1.10.3': + optional: true + + '@node-rs/jieba-freebsd-x64@1.10.3': + optional: true + + '@node-rs/jieba-linux-arm-gnueabihf@1.10.3': + optional: true + + '@node-rs/jieba-linux-arm64-gnu@1.10.3': + optional: true + + '@node-rs/jieba-linux-arm64-musl@1.10.3': + optional: true + + '@node-rs/jieba-linux-x64-gnu@1.10.3': + optional: true + + '@node-rs/jieba-linux-x64-musl@1.10.3': + optional: true + + '@node-rs/jieba-wasm32-wasi@1.10.3': + dependencies: + '@napi-rs/wasm-runtime': 0.2.4 + optional: true + + '@node-rs/jieba-win32-arm64-msvc@1.10.3': + optional: true + + '@node-rs/jieba-win32-ia32-msvc@1.10.3': + optional: true + + '@node-rs/jieba-win32-x64-msvc@1.10.3': + optional: true + + '@node-rs/jieba@1.10.3': + optionalDependencies: + '@node-rs/jieba-android-arm-eabi': 1.10.3 + '@node-rs/jieba-android-arm64': 1.10.3 + '@node-rs/jieba-darwin-arm64': 1.10.3 + '@node-rs/jieba-darwin-x64': 1.10.3 + '@node-rs/jieba-freebsd-x64': 1.10.3 + '@node-rs/jieba-linux-arm-gnueabihf': 1.10.3 + '@node-rs/jieba-linux-arm64-gnu': 1.10.3 + '@node-rs/jieba-linux-arm64-musl': 1.10.3 + '@node-rs/jieba-linux-x64-gnu': 1.10.3 + '@node-rs/jieba-linux-x64-musl': 1.10.3 + '@node-rs/jieba-wasm32-wasi': 1.10.3 + '@node-rs/jieba-win32-arm64-msvc': 1.10.3 + '@node-rs/jieba-win32-ia32-msvc': 1.10.3 + '@node-rs/jieba-win32-x64-msvc': 1.10.3 + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@pnpm/config.env-replace@1.1.0': {} + + '@pnpm/network.ca-file@1.0.2': + dependencies: + graceful-fs: 4.2.10 + + '@pnpm/npm-conf@2.2.2': + dependencies: + '@pnpm/config.env-replace': 1.1.0 + '@pnpm/network.ca-file': 1.0.2 + config-chain: 1.1.13 + + '@polka/url@1.0.0-next.25': {} + + '@sideway/address@4.1.5': + dependencies: + '@hapi/hoek': 9.3.0 + + '@sideway/formula@3.0.1': {} + + '@sideway/pinpoint@2.0.0': {} + + '@sinclair/typebox@0.27.8': {} + + '@sindresorhus/is@4.6.0': {} + + '@sindresorhus/is@5.6.0': {} + + '@slorber/remark-comment@1.0.0': + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + + '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + + '@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + + '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + + '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + + '@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + + '@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + + '@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + + '@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + + '@svgr/babel-preset@8.1.0(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.24.7) + '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.24.7) + '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.24.7) + '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.24.7) + '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.24.7) + '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.24.7) + '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.24.7) + '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.24.7) + + '@svgr/core@8.1.0(typescript@5.2.2)': + dependencies: + '@babel/core': 7.24.7 + '@svgr/babel-preset': 8.1.0(@babel/core@7.24.7) + camelcase: 6.3.0 + cosmiconfig: 8.3.6(typescript@5.2.2) + snake-case: 3.0.4 + transitivePeerDependencies: + - supports-color + - typescript + + '@svgr/hast-util-to-babel-ast@8.0.0': + dependencies: + '@babel/types': 7.24.7 + entities: 4.5.0 + + '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.2.2))': + dependencies: + '@babel/core': 7.24.7 + '@svgr/babel-preset': 8.1.0(@babel/core@7.24.7) + '@svgr/core': 8.1.0(typescript@5.2.2) + '@svgr/hast-util-to-babel-ast': 8.0.0 + svg-parser: 2.0.4 + transitivePeerDependencies: + - supports-color + + '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.2.2))(typescript@5.2.2)': + dependencies: + '@svgr/core': 8.1.0(typescript@5.2.2) + cosmiconfig: 8.3.6(typescript@5.2.2) + deepmerge: 4.3.1 + svgo: 3.3.2 + transitivePeerDependencies: + - typescript + + '@svgr/webpack@8.1.0(typescript@5.2.2)': + dependencies: + '@babel/core': 7.24.7 + '@babel/plugin-transform-react-constant-elements': 7.24.7(@babel/core@7.24.7) + '@babel/preset-env': 7.24.7(@babel/core@7.24.7) + '@babel/preset-react': 7.24.7(@babel/core@7.24.7) + '@babel/preset-typescript': 7.24.7(@babel/core@7.24.7) + '@svgr/core': 8.1.0(typescript@5.2.2) + '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.2.2)) + '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.2.2))(typescript@5.2.2) + transitivePeerDependencies: + - supports-color + - typescript + + '@szmarczak/http-timer@5.0.1': + dependencies: + defer-to-connect: 2.0.1 + + '@trysound/sax@0.2.0': {} + + '@tybys/wasm-util@0.9.0': + dependencies: + tslib: 2.6.3 + optional: true + + '@types/acorn@4.0.6': + dependencies: + '@types/estree': 1.0.5 + + '@types/body-parser@1.19.5': + dependencies: + '@types/connect': 3.4.38 + '@types/node': 20.14.8 + + '@types/bonjour@3.5.13': + dependencies: + '@types/node': 20.14.8 + + '@types/connect-history-api-fallback@1.5.4': + dependencies: + '@types/express-serve-static-core': 4.19.5 + '@types/node': 20.14.8 + + '@types/connect@3.4.38': + dependencies: + '@types/node': 20.14.8 + + '@types/debug@4.1.12': + dependencies: + '@types/ms': 0.7.34 + + '@types/eslint-scope@3.7.7': + dependencies: + '@types/eslint': 8.56.10 + '@types/estree': 1.0.5 + + '@types/eslint@8.56.10': + dependencies: + '@types/estree': 1.0.5 + '@types/json-schema': 7.0.15 + + '@types/estree-jsx@1.0.5': + dependencies: + '@types/estree': 1.0.5 + + '@types/estree@1.0.5': {} + + '@types/express-serve-static-core@4.19.5': + dependencies: + '@types/node': 20.14.8 + '@types/qs': 6.9.15 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.4 + + '@types/express@4.17.21': + dependencies: + '@types/body-parser': 1.19.5 + '@types/express-serve-static-core': 4.19.5 + '@types/qs': 6.9.15 + '@types/serve-static': 1.15.7 + + '@types/gtag.js@0.0.12': {} + + '@types/hast@3.0.4': + dependencies: + '@types/unist': 3.0.2 + + '@types/history@4.7.11': {} + + '@types/html-minifier-terser@6.1.0': {} + + '@types/http-cache-semantics@4.0.4': {} + + '@types/http-errors@2.0.4': {} + + '@types/http-proxy@1.17.14': + dependencies: + '@types/node': 20.14.8 + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/json-schema@7.0.15': {} + + '@types/mdast@4.0.4': + dependencies: + '@types/unist': 3.0.2 + + '@types/mdx@2.0.13': {} + + '@types/mime@1.3.5': {} + + '@types/ms@0.7.34': {} + + '@types/node-forge@1.3.11': + dependencies: + '@types/node': 20.14.8 + + '@types/node@17.0.45': {} + + '@types/node@20.14.8': + dependencies: + undici-types: 5.26.5 + + '@types/parse-json@4.0.2': {} + + '@types/prismjs@1.26.4': {} + + '@types/prop-types@15.7.12': {} + + '@types/qs@6.9.15': {} + + '@types/range-parser@1.2.7': {} + + '@types/react-router-config@5.0.11': + dependencies: + '@types/history': 4.7.11 + '@types/react': 18.3.3 + '@types/react-router': 5.1.20 + + '@types/react-router-dom@5.3.3': + dependencies: + '@types/history': 4.7.11 + '@types/react': 18.3.3 + '@types/react-router': 5.1.20 + + '@types/react-router@5.1.20': + dependencies: + '@types/history': 4.7.11 + '@types/react': 18.3.3 + + '@types/react@18.3.3': + dependencies: + '@types/prop-types': 15.7.12 + csstype: 3.1.3 + + '@types/retry@0.12.0': {} + + '@types/sax@1.2.7': + dependencies: + '@types/node': 17.0.45 + + '@types/send@0.17.4': + dependencies: + '@types/mime': 1.3.5 + '@types/node': 20.14.8 + + '@types/serve-index@1.9.4': + dependencies: + '@types/express': 4.17.21 + + '@types/serve-static@1.15.7': + dependencies: + '@types/http-errors': 2.0.4 + '@types/node': 20.14.8 + '@types/send': 0.17.4 + + '@types/sockjs@0.3.36': + dependencies: + '@types/node': 20.14.8 + + '@types/unist@2.0.10': {} + + '@types/unist@3.0.2': {} + + '@types/ws@8.5.10': + dependencies: + '@types/node': 20.14.8 + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.32': + dependencies: + '@types/yargs-parser': 21.0.3 + + '@ungap/structured-clone@1.2.0': {} + + '@webassemblyjs/ast@1.12.1': + dependencies: + '@webassemblyjs/helper-numbers': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + + '@webassemblyjs/floating-point-hex-parser@1.11.6': {} + + '@webassemblyjs/helper-api-error@1.11.6': {} + + '@webassemblyjs/helper-buffer@1.12.1': {} + + '@webassemblyjs/helper-numbers@1.11.6': + dependencies: + '@webassemblyjs/floating-point-hex-parser': 1.11.6 + '@webassemblyjs/helper-api-error': 1.11.6 + '@xtuc/long': 4.2.2 + + '@webassemblyjs/helper-wasm-bytecode@1.11.6': {} + + '@webassemblyjs/helper-wasm-section@1.12.1': + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/wasm-gen': 1.12.1 + + '@webassemblyjs/ieee754@1.11.6': + dependencies: + '@xtuc/ieee754': 1.2.0 + + '@webassemblyjs/leb128@1.11.6': + dependencies: + '@xtuc/long': 4.2.2 + + '@webassemblyjs/utf8@1.11.6': {} + + '@webassemblyjs/wasm-edit@1.12.1': + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/helper-wasm-section': 1.12.1 + '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-opt': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + '@webassemblyjs/wast-printer': 1.12.1 + + '@webassemblyjs/wasm-gen@1.12.1': + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 + + '@webassemblyjs/wasm-opt@1.12.1': + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + + '@webassemblyjs/wasm-parser@1.12.1': + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-api-error': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 + + '@webassemblyjs/wast-printer@1.12.1': + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@xtuc/long': 4.2.2 + + '@xtuc/ieee754@1.2.0': {} + + '@xtuc/long@4.2.2': {} + + accepts@1.3.8: + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + + acorn-import-attributes@1.9.5(acorn@8.12.0): + dependencies: + acorn: 8.12.0 + + acorn-jsx@5.3.2(acorn@8.12.0): + dependencies: + acorn: 8.12.0 + + acorn-walk@8.3.3: + dependencies: + acorn: 8.12.0 + + acorn@8.12.0: {} + + address@1.2.2: {} + + aggregate-error@3.1.0: + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + + ajv-formats@2.1.1(ajv@8.16.0): + optionalDependencies: + ajv: 8.16.0 + + ajv-keywords@3.5.2(ajv@6.12.6): + dependencies: + ajv: 6.12.6 + + ajv-keywords@5.1.0(ajv@8.16.0): + dependencies: + ajv: 8.16.0 + fast-deep-equal: 3.1.3 + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ajv@8.16.0: + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + + algoliasearch-helper@3.22.1(algoliasearch@4.23.3): + dependencies: + '@algolia/events': 4.0.1 + algoliasearch: 4.23.3 + + algoliasearch@4.23.3: + dependencies: + '@algolia/cache-browser-local-storage': 4.23.3 + '@algolia/cache-common': 4.23.3 + '@algolia/cache-in-memory': 4.23.3 + '@algolia/client-account': 4.23.3 + '@algolia/client-analytics': 4.23.3 + '@algolia/client-common': 4.23.3 + '@algolia/client-personalization': 4.23.3 + '@algolia/client-search': 4.23.3 + '@algolia/logger-common': 4.23.3 + '@algolia/logger-console': 4.23.3 + '@algolia/recommend': 4.23.3 + '@algolia/requester-browser-xhr': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/requester-node-http': 4.23.3 + '@algolia/transporter': 4.23.3 + + ansi-align@3.0.1: + dependencies: + string-width: 4.2.3 + + ansi-html-community@0.0.8: {} + + ansi-regex@5.0.1: {} + + ansi-regex@6.0.1: {} + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@6.2.1: {} + + any-promise@1.3.0: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + arg@5.0.2: {} + + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + argparse@2.0.1: {} + + array-flatten@1.1.1: {} + + array-union@2.1.0: {} + + astring@1.8.6: {} + + at-least-node@1.0.0: {} + + autoprefixer@10.4.19(postcss@8.4.38): + dependencies: + browserslist: 4.23.1 + caniuse-lite: 1.0.30001636 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.0.1 + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + babel-loader@9.1.3(@babel/core@7.24.7)(webpack@5.92.1): + dependencies: + '@babel/core': 7.24.7 + find-cache-dir: 4.0.0 + schema-utils: 4.2.0 + webpack: 5.92.1 + + babel-plugin-dynamic-import-node@2.3.3: + dependencies: + object.assign: 4.1.5 + + babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.24.7): + dependencies: + '@babel/compat-data': 7.24.7 + '@babel/core': 7.24.7 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.7) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.7): + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.7) + core-js-compat: 3.37.1 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.24.7): + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + + bail@2.0.2: {} + + balanced-match@1.0.2: {} + + batch@0.6.1: {} + + big.js@5.2.2: {} + + binary-extensions@2.3.0: {} + + body-parser@1.20.2: + 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 + transitivePeerDependencies: + - supports-color + + bonjour-service@1.2.1: + dependencies: + fast-deep-equal: 3.1.3 + multicast-dns: 7.2.5 + + boolbase@1.0.0: {} + + boxen@6.2.1: + dependencies: + ansi-align: 3.0.1 + camelcase: 6.3.0 + chalk: 4.1.2 + cli-boxes: 3.0.0 + string-width: 5.1.2 + type-fest: 2.19.0 + widest-line: 4.0.1 + wrap-ansi: 8.1.0 + + boxen@7.1.1: + dependencies: + ansi-align: 3.0.1 + camelcase: 7.0.1 + chalk: 5.3.0 + cli-boxes: 3.0.0 + string-width: 5.1.2 + type-fest: 2.19.0 + widest-line: 4.0.1 + wrap-ansi: 8.1.0 + + brace-expansion@1.1.11: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.1: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.23.1: + dependencies: + caniuse-lite: 1.0.30001636 + electron-to-chromium: 1.4.810 + node-releases: 2.0.14 + update-browserslist-db: 1.0.16(browserslist@4.23.1) + + buffer-from@1.1.2: {} + + bytes@3.0.0: {} + + bytes@3.1.2: {} + + cacheable-lookup@7.0.0: {} + + cacheable-request@10.2.14: + dependencies: + '@types/http-cache-semantics': 4.0.4 + get-stream: 6.0.1 + http-cache-semantics: 4.1.1 + keyv: 4.5.4 + mimic-response: 4.0.0 + normalize-url: 8.0.1 + responselike: 3.0.0 + + call-bind@1.0.7: + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + set-function-length: 1.2.2 + + callsites@3.1.0: {} + + camel-case@4.1.2: + dependencies: + pascal-case: 3.1.2 + tslib: 2.6.3 + + camelcase-css@2.0.1: {} + + camelcase@6.3.0: {} + + camelcase@7.0.1: {} + + caniuse-api@3.0.0: + dependencies: + browserslist: 4.23.1 + caniuse-lite: 1.0.30001636 + lodash.memoize: 4.1.2 + lodash.uniq: 4.5.0 + + caniuse-lite@1.0.30001636: {} + + ccount@2.0.1: {} + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chalk@5.3.0: {} + + char-regex@1.0.2: {} + + character-entities-html4@2.1.0: {} + + character-entities-legacy@3.0.0: {} + + character-entities@2.0.2: {} + + character-reference-invalid@2.0.1: {} + + cheerio-select@2.1.0: + dependencies: + boolbase: 1.0.0 + css-select: 5.1.0 + css-what: 6.1.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.1.0 + + cheerio@1.0.0-rc.12: + dependencies: + cheerio-select: 2.1.0 + dom-serializer: 2.0.0 + domhandler: 5.0.3 + domutils: 3.1.0 + htmlparser2: 8.0.2 + parse5: 7.1.2 + parse5-htmlparser2-tree-adapter: 7.0.0 + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + chrome-trace-event@1.0.4: {} + + ci-info@3.9.0: {} + + clean-css@5.3.3: + dependencies: + source-map: 0.6.1 + + clean-stack@2.2.0: {} + + cli-boxes@3.0.0: {} + + cli-table3@0.6.5: + dependencies: + string-width: 4.2.3 + optionalDependencies: + '@colors/colors': 1.5.0 + + clone-deep@4.0.1: + dependencies: + is-plain-object: 2.0.4 + kind-of: 6.0.3 + shallow-clone: 3.0.1 + + clsx@1.2.1: {} + + clsx@2.1.1: {} + + collapse-white-space@2.1.0: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + colord@2.9.3: {} + + colorette@2.0.20: {} + + combine-promises@1.2.0: {} + + comma-separated-tokens@2.0.3: {} + + commander@10.0.1: {} + + commander@2.20.3: {} + + commander@4.1.1: {} + + commander@5.1.0: {} + + commander@7.2.0: {} + + commander@8.3.0: {} + + common-path-prefix@3.0.0: {} + + compressible@2.0.18: + dependencies: + mime-db: 1.52.0 + + compression@1.7.4: + dependencies: + accepts: 1.3.8 + bytes: 3.0.0 + compressible: 2.0.18 + debug: 2.6.9 + on-headers: 1.0.2 + safe-buffer: 5.1.2 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + concat-map@0.0.1: {} + + config-chain@1.1.13: + dependencies: + ini: 1.3.8 + proto-list: 1.2.4 + + configstore@6.0.0: + dependencies: + dot-prop: 6.0.1 + graceful-fs: 4.2.11 + unique-string: 3.0.0 + write-file-atomic: 3.0.3 + xdg-basedir: 5.1.0 + + connect-history-api-fallback@2.0.0: {} + + consola@2.15.3: {} + + content-disposition@0.5.2: {} + + content-disposition@0.5.4: + dependencies: + safe-buffer: 5.2.1 + + content-type@1.0.5: {} + + convert-source-map@2.0.0: {} + + cookie-signature@1.0.6: {} + + cookie@0.6.0: {} + + copy-text-to-clipboard@3.2.0: {} + + copy-webpack-plugin@11.0.0(webpack@5.92.1): + dependencies: + fast-glob: 3.3.2 + glob-parent: 6.0.2 + globby: 13.2.2 + normalize-path: 3.0.0 + schema-utils: 4.2.0 + serialize-javascript: 6.0.2 + webpack: 5.92.1 + + core-js-compat@3.37.1: + dependencies: + browserslist: 4.23.1 + + core-js-pure@3.37.1: {} + + core-js@3.37.1: {} + + core-util-is@1.0.3: {} + + cosmiconfig@6.0.0: + dependencies: + '@types/parse-json': 4.0.2 + import-fresh: 3.3.0 + parse-json: 5.2.0 + path-type: 4.0.0 + yaml: 1.10.2 + + cosmiconfig@8.3.6(typescript@5.2.2): + dependencies: + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + path-type: 4.0.0 + optionalDependencies: + typescript: 5.2.2 + + cross-spawn@7.0.3: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + crypto-random-string@4.0.0: + dependencies: + type-fest: 1.4.0 + + css-declaration-sorter@7.2.0(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + + css-loader@6.11.0(webpack@5.92.1): + dependencies: + icss-utils: 5.1.0(postcss@8.4.38) + postcss: 8.4.38 + postcss-modules-extract-imports: 3.1.0(postcss@8.4.38) + postcss-modules-local-by-default: 4.0.5(postcss@8.4.38) + postcss-modules-scope: 3.2.0(postcss@8.4.38) + postcss-modules-values: 4.0.0(postcss@8.4.38) + postcss-value-parser: 4.2.0 + semver: 7.6.2 + optionalDependencies: + webpack: 5.92.1 + + css-minimizer-webpack-plugin@5.0.1(clean-css@5.3.3)(webpack@5.92.1): + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + cssnano: 6.1.2(postcss@8.4.38) + jest-worker: 29.7.0 + postcss: 8.4.38 + schema-utils: 4.2.0 + serialize-javascript: 6.0.2 + webpack: 5.92.1 + optionalDependencies: + clean-css: 5.3.3 + + css-select@4.3.0: + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 4.3.1 + domutils: 2.8.0 + nth-check: 2.1.1 + + css-select@5.1.0: + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 5.0.3 + domutils: 3.1.0 + nth-check: 2.1.1 + + css-tree@2.2.1: + dependencies: + mdn-data: 2.0.28 + source-map-js: 1.2.0 + + css-tree@2.3.1: + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.2.0 + + css-what@6.1.0: {} + + cssesc@3.0.0: {} + + cssnano-preset-advanced@6.1.2(postcss@8.4.38): + dependencies: + autoprefixer: 10.4.19(postcss@8.4.38) + browserslist: 4.23.1 + cssnano-preset-default: 6.1.2(postcss@8.4.38) + postcss: 8.4.38 + postcss-discard-unused: 6.0.5(postcss@8.4.38) + postcss-merge-idents: 6.0.3(postcss@8.4.38) + postcss-reduce-idents: 6.0.3(postcss@8.4.38) + postcss-zindex: 6.0.2(postcss@8.4.38) + + cssnano-preset-default@6.1.2(postcss@8.4.38): + dependencies: + browserslist: 4.23.1 + css-declaration-sorter: 7.2.0(postcss@8.4.38) + cssnano-utils: 4.0.2(postcss@8.4.38) + postcss: 8.4.38 + postcss-calc: 9.0.1(postcss@8.4.38) + postcss-colormin: 6.1.0(postcss@8.4.38) + postcss-convert-values: 6.1.0(postcss@8.4.38) + postcss-discard-comments: 6.0.2(postcss@8.4.38) + postcss-discard-duplicates: 6.0.3(postcss@8.4.38) + postcss-discard-empty: 6.0.3(postcss@8.4.38) + postcss-discard-overridden: 6.0.2(postcss@8.4.38) + postcss-merge-longhand: 6.0.5(postcss@8.4.38) + postcss-merge-rules: 6.1.1(postcss@8.4.38) + postcss-minify-font-values: 6.1.0(postcss@8.4.38) + postcss-minify-gradients: 6.0.3(postcss@8.4.38) + postcss-minify-params: 6.1.0(postcss@8.4.38) + postcss-minify-selectors: 6.0.4(postcss@8.4.38) + postcss-normalize-charset: 6.0.2(postcss@8.4.38) + postcss-normalize-display-values: 6.0.2(postcss@8.4.38) + postcss-normalize-positions: 6.0.2(postcss@8.4.38) + postcss-normalize-repeat-style: 6.0.2(postcss@8.4.38) + postcss-normalize-string: 6.0.2(postcss@8.4.38) + postcss-normalize-timing-functions: 6.0.2(postcss@8.4.38) + postcss-normalize-unicode: 6.1.0(postcss@8.4.38) + postcss-normalize-url: 6.0.2(postcss@8.4.38) + postcss-normalize-whitespace: 6.0.2(postcss@8.4.38) + postcss-ordered-values: 6.0.2(postcss@8.4.38) + postcss-reduce-initial: 6.1.0(postcss@8.4.38) + postcss-reduce-transforms: 6.0.2(postcss@8.4.38) + postcss-svgo: 6.0.3(postcss@8.4.38) + postcss-unique-selectors: 6.0.4(postcss@8.4.38) + + cssnano-utils@4.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + + cssnano@6.1.2(postcss@8.4.38): + dependencies: + cssnano-preset-default: 6.1.2(postcss@8.4.38) + lilconfig: 3.1.2 + postcss: 8.4.38 + + csso@5.0.5: + dependencies: + css-tree: 2.2.1 + + csstype@3.1.3: {} + + debounce@1.2.1: {} + + debug@2.6.9: + dependencies: + ms: 2.0.0 + + debug@4.3.5: + dependencies: + ms: 2.1.2 + + decode-named-character-reference@1.0.2: + dependencies: + character-entities: 2.0.2 + + decompress-response@6.0.0: + dependencies: + mimic-response: 3.1.0 + + deep-extend@0.6.0: {} + + deepmerge@4.3.1: {} + + default-gateway@6.0.3: + dependencies: + execa: 5.1.1 + + defer-to-connect@2.0.1: {} + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + gopd: 1.0.1 + + define-lazy-prop@2.0.0: {} + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + + del@6.1.1: + dependencies: + globby: 11.1.0 + graceful-fs: 4.2.11 + is-glob: 4.0.3 + is-path-cwd: 2.2.0 + is-path-inside: 3.0.3 + p-map: 4.0.0 + rimraf: 3.0.2 + slash: 3.0.0 + + depd@1.1.2: {} + + depd@2.0.0: {} + + dequal@2.0.3: {} + + destroy@1.2.0: {} + + detect-node@2.1.0: {} + + detect-port-alt@1.1.6: + dependencies: + address: 1.2.2 + debug: 2.6.9 + transitivePeerDependencies: + - supports-color + + detect-port@1.6.1: + dependencies: + address: 1.2.2 + debug: 4.3.5 + transitivePeerDependencies: + - supports-color + + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + + didyoumean@1.2.2: {} + + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 + + dlv@1.1.3: {} + + dns-packet@5.6.1: + dependencies: + '@leichtgewicht/ip-codec': 2.0.5 + + dom-converter@0.2.0: + dependencies: + utila: 0.4.0 + + dom-serializer@1.4.1: + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + + dom-serializer@2.0.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + + domelementtype@2.3.0: {} + + domhandler@4.3.1: + dependencies: + domelementtype: 2.3.0 + + domhandler@5.0.3: + dependencies: + domelementtype: 2.3.0 + + domutils@2.8.0: + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + + domutils@3.1.0: + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + + dot-case@3.0.4: + dependencies: + no-case: 3.0.4 + tslib: 2.6.3 + + dot-prop@6.0.1: + dependencies: + is-obj: 2.0.0 + + duplexer@0.1.2: {} + + eastasianwidth@0.2.0: {} + + ee-first@1.1.1: {} + + electron-to-chromium@1.4.810: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + emojilib@2.4.0: {} + + emojis-list@3.0.0: {} + + emoticon@4.0.1: {} + + encodeurl@1.0.2: {} + + enhanced-resolve@5.17.0: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + + entities@2.2.0: {} + + entities@4.5.0: {} + + error-ex@1.3.2: + dependencies: + is-arrayish: 0.2.1 + + es-define-property@1.0.0: + dependencies: + get-intrinsic: 1.2.4 + + es-errors@1.3.0: {} + + es-module-lexer@1.5.3: {} + + escalade@3.1.2: {} + + escape-goat@4.0.0: {} + + escape-html@1.0.3: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@4.0.0: {} + + escape-string-regexp@5.0.0: {} + + eslint-scope@5.1.1: + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + + esprima@4.0.1: {} + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@4.3.0: {} + + estraverse@5.3.0: {} + + estree-util-attach-comments@3.0.0: + dependencies: + '@types/estree': 1.0.5 + + estree-util-build-jsx@3.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-walker: 3.0.3 + + estree-util-is-identifier-name@3.0.0: {} + + estree-util-to-js@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + astring: 1.8.6 + source-map: 0.7.4 + + estree-util-value-to-estree@3.1.2: + dependencies: + '@types/estree': 1.0.5 + + estree-util-visit@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/unist': 3.0.2 + + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.5 + + esutils@2.0.3: {} + + eta@2.2.0: {} + + etag@1.8.1: {} + + eval@0.1.8: + dependencies: + '@types/node': 20.14.8 + require-like: 0.1.2 + + eventemitter3@4.0.7: {} + + events@3.3.0: {} + + execa@5.1.1: + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + express@4.19.2: + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.2 + content-disposition: 0.5.4 + content-type: 1.0.5 + 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 + transitivePeerDependencies: + - supports-color + + extend-shallow@2.0.1: + dependencies: + is-extendable: 0.1.1 + + extend@3.0.2: {} + + fast-deep-equal@3.1.3: {} + + fast-glob@3.3.2: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.7 + + fast-json-stable-stringify@2.1.0: {} + + fast-url-parser@1.1.3: + dependencies: + punycode: 1.4.1 + + fastq@1.17.1: + dependencies: + reusify: 1.0.4 + + fault@2.0.1: + dependencies: + format: 0.2.2 + + faye-websocket@0.11.4: + dependencies: + websocket-driver: 0.7.4 + + feed@4.2.2: + dependencies: + xml-js: 1.6.11 + + file-loader@6.2.0(webpack@5.92.1): + dependencies: + loader-utils: 2.0.4 + schema-utils: 3.3.0 + webpack: 5.92.1 + + filesize@8.0.7: {} + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + finalhandler@1.2.0: + 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 + transitivePeerDependencies: + - supports-color + + find-cache-dir@4.0.0: + dependencies: + common-path-prefix: 3.0.0 + pkg-dir: 7.0.0 + + find-up@3.0.0: + dependencies: + locate-path: 3.0.0 + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + find-up@6.3.0: + dependencies: + locate-path: 7.2.0 + path-exists: 5.0.0 + + flat@5.0.2: {} + + follow-redirects@1.15.6(debug@4.3.5): + optionalDependencies: + debug: 4.3.5 + + foreground-child@3.2.1: + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + + fork-ts-checker-webpack-plugin@6.5.3(typescript@5.2.2)(webpack@5.92.1): + dependencies: + '@babel/code-frame': 7.24.7 + '@types/json-schema': 7.0.15 + chalk: 4.1.2 + chokidar: 3.6.0 + cosmiconfig: 6.0.0 + deepmerge: 4.3.1 + fs-extra: 9.1.0 + glob: 7.2.3 + memfs: 3.5.3 + minimatch: 3.1.2 + schema-utils: 2.7.0 + semver: 7.6.2 + tapable: 1.1.3 + typescript: 5.2.2 + webpack: 5.92.1 + + form-data-encoder@2.1.4: {} + + format@0.2.2: {} + + forwarded@0.2.0: {} + + fraction.js@4.3.7: {} + + fresh@0.5.2: {} + + fs-extra@10.1.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + + fs-extra@11.2.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + + fs-extra@9.1.0: + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + + fs-monkey@1.0.6: {} + + fs.realpath@1.0.0: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + gensync@1.0.0-beta.2: {} + + get-intrinsic@1.2.4: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.2 + + get-own-enumerable-property-symbols@3.0.2: {} + + get-stream@6.0.1: {} + + github-slugger@1.5.0: {} + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob-to-regexp@0.4.1: {} + + glob@10.4.2: + dependencies: + foreground-child: 3.2.1 + jackspeak: 3.4.0 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.0 + path-scurry: 1.11.1 + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + global-dirs@3.0.1: + dependencies: + ini: 2.0.0 + + global-modules@2.0.0: + dependencies: + global-prefix: 3.0.0 + + global-prefix@3.0.0: + dependencies: + ini: 1.3.8 + kind-of: 6.0.3 + which: 1.3.1 + + globals@11.12.0: {} + + globby@11.1.0: + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.2 + ignore: 5.3.1 + merge2: 1.4.1 + slash: 3.0.0 + + globby@13.2.2: + dependencies: + dir-glob: 3.0.1 + fast-glob: 3.3.2 + ignore: 5.3.1 + merge2: 1.4.1 + slash: 4.0.0 + + gopd@1.0.1: + dependencies: + get-intrinsic: 1.2.4 + + got@12.6.1: + dependencies: + '@sindresorhus/is': 5.6.0 + '@szmarczak/http-timer': 5.0.1 + cacheable-lookup: 7.0.0 + cacheable-request: 10.2.14 + decompress-response: 6.0.0 + form-data-encoder: 2.1.4 + get-stream: 6.0.1 + http2-wrapper: 2.2.1 + lowercase-keys: 3.0.0 + p-cancelable: 3.0.0 + responselike: 3.0.0 + + graceful-fs@4.2.10: {} + + graceful-fs@4.2.11: {} + + gray-matter@4.0.3: + dependencies: + js-yaml: 3.14.1 + kind-of: 6.0.3 + section-matter: 1.0.0 + strip-bom-string: 1.0.0 + + gzip-size@6.0.0: + dependencies: + duplexer: 0.1.2 + + handle-thing@2.0.1: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.0 + + has-proto@1.0.3: {} + + has-symbols@1.0.3: {} + + has-yarn@3.0.0: {} + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + hast-util-from-parse5@8.0.1: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.2 + devlop: 1.1.0 + hastscript: 8.0.0 + property-information: 6.5.0 + vfile: 6.0.1 + vfile-location: 5.0.2 + web-namespaces: 2.0.1 + + hast-util-parse-selector@4.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-raw@9.0.4: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.2 + '@ungap/structured-clone': 1.2.0 + hast-util-from-parse5: 8.0.1 + hast-util-to-parse5: 8.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.0 + parse5: 7.1.2 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.1 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-to-estree@3.1.0: + dependencies: + '@types/estree': 1.0.5 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-attach-comments: 3.0.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.0 + mdast-util-mdx-jsx: 3.1.2 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + style-to-object: 0.4.4 + unist-util-position: 5.0.0 + zwitch: 2.0.4 + transitivePeerDependencies: + - supports-color + + hast-util-to-jsx-runtime@2.3.0: + dependencies: + '@types/estree': 1.0.5 + '@types/hast': 3.0.4 + '@types/unist': 3.0.2 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.0 + mdast-util-mdx-jsx: 3.1.2 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + style-to-object: 1.0.6 + unist-util-position: 5.0.0 + vfile-message: 4.0.2 + transitivePeerDependencies: + - supports-color + + hast-util-to-parse5@8.0.0: + dependencies: + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-whitespace@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hastscript@8.0.0: + dependencies: + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + hast-util-parse-selector: 4.0.0 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + + he@1.2.0: {} + + history@4.10.1: + dependencies: + '@babel/runtime': 7.24.7 + loose-envify: 1.4.0 + resolve-pathname: 3.0.0 + tiny-invariant: 1.3.3 + tiny-warning: 1.0.3 + value-equal: 1.0.1 + + hoist-non-react-statics@3.3.2: + dependencies: + react-is: 16.13.1 + + hpack.js@2.1.6: + dependencies: + inherits: 2.0.4 + obuf: 1.1.2 + readable-stream: 2.3.8 + wbuf: 1.7.3 + + html-entities@2.5.2: {} + + html-escaper@2.0.2: {} + + html-minifier-terser@6.1.0: + dependencies: + camel-case: 4.1.2 + clean-css: 5.3.3 + commander: 8.3.0 + he: 1.2.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 5.31.1 + + html-minifier-terser@7.2.0: + dependencies: + camel-case: 4.1.2 + clean-css: 5.3.3 + commander: 10.0.1 + entities: 4.5.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 5.31.1 + + html-tags@3.3.1: {} + + html-void-elements@3.0.0: {} + + html-webpack-plugin@5.6.0(webpack@5.92.1): + dependencies: + '@types/html-minifier-terser': 6.1.0 + html-minifier-terser: 6.1.0 + lodash: 4.17.21 + pretty-error: 4.0.0 + tapable: 2.2.1 + optionalDependencies: + webpack: 5.92.1 + + htmlparser2@6.1.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + domutils: 2.8.0 + entities: 2.2.0 + + htmlparser2@8.0.2: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.1.0 + entities: 4.5.0 + + http-cache-semantics@4.1.1: {} + + http-deceiver@1.2.7: {} + + http-errors@1.6.3: + dependencies: + depd: 1.1.2 + inherits: 2.0.3 + setprototypeof: 1.1.0 + statuses: 1.5.0 + + http-errors@2.0.0: + 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.8: {} + + http-proxy-middleware@2.0.6(@types/express@4.17.21)(debug@4.3.5): + dependencies: + '@types/http-proxy': 1.17.14 + http-proxy: 1.18.1(debug@4.3.5) + is-glob: 4.0.3 + is-plain-obj: 3.0.0 + micromatch: 4.0.7 + optionalDependencies: + '@types/express': 4.17.21 + transitivePeerDependencies: + - debug + + http-proxy@1.18.1(debug@4.3.5): + dependencies: + eventemitter3: 4.0.7 + follow-redirects: 1.15.6(debug@4.3.5) + requires-port: 1.0.0 + transitivePeerDependencies: + - debug + + http2-wrapper@2.2.1: + dependencies: + quick-lru: 5.1.1 + resolve-alpn: 1.2.1 + + human-signals@2.1.0: {} + + iconv-lite@0.4.24: + dependencies: + safer-buffer: 2.1.2 + + icss-utils@5.1.0(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + + ignore@5.3.1: {} + + image-size@1.1.1: + dependencies: + queue: 6.0.2 + + immediate@3.3.0: {} + + immer@9.0.21: {} + + import-fresh@3.3.0: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + import-lazy@4.0.0: {} + + imurmurhash@0.1.4: {} + + indent-string@4.0.0: {} + + infima@0.2.0-alpha.43: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.3: {} + + inherits@2.0.4: {} + + ini@1.3.8: {} + + ini@2.0.0: {} + + inline-style-parser@0.1.1: {} + + inline-style-parser@0.2.3: {} + + interpret@1.4.0: {} + + invariant@2.2.4: + dependencies: + loose-envify: 1.4.0 + + ipaddr.js@1.9.1: {} + + ipaddr.js@2.2.0: {} + + is-alphabetical@2.0.1: {} + + is-alphanumerical@2.0.1: + dependencies: + is-alphabetical: 2.0.1 + is-decimal: 2.0.1 + + is-arrayish@0.2.1: {} + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-ci@3.0.1: + dependencies: + ci-info: 3.9.0 + + is-core-module@2.14.0: + dependencies: + hasown: 2.0.2 + + is-decimal@2.0.1: {} + + is-docker@2.2.1: {} + + is-extendable@0.1.1: {} + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-hexadecimal@2.0.1: {} + + is-installed-globally@0.4.0: + dependencies: + global-dirs: 3.0.1 + is-path-inside: 3.0.3 + + is-npm@6.0.0: {} + + is-number@7.0.0: {} + + is-obj@1.0.1: {} + + is-obj@2.0.0: {} + + is-path-cwd@2.2.0: {} + + is-path-inside@3.0.3: {} + + is-plain-obj@3.0.0: {} + + is-plain-obj@4.1.0: {} + + is-plain-object@2.0.4: + dependencies: + isobject: 3.0.1 + + is-reference@3.0.2: + dependencies: + '@types/estree': 1.0.5 + + is-regexp@1.0.0: {} + + is-root@2.1.0: {} + + is-stream@2.0.1: {} + + is-typedarray@1.0.0: {} + + is-wsl@2.2.0: + dependencies: + is-docker: 2.2.1 + + is-yarn-global@0.4.1: {} + + isarray@0.0.1: {} + + isarray@1.0.0: {} + + isexe@2.0.0: {} + + isobject@3.0.1: {} + + jackspeak@3.4.0: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + jest-util@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 20.14.8 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + + jest-worker@27.5.1: + dependencies: + '@types/node': 20.14.8 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jest-worker@29.7.0: + dependencies: + '@types/node': 20.14.8 + jest-util: 29.7.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jiti@1.21.6: {} + + joi@17.13.3: + 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 + + js-tokens@4.0.0: {} + + js-yaml@3.14.1: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + jsesc@0.5.0: {} + + jsesc@2.5.2: {} + + json-buffer@3.0.1: {} + + json-parse-even-better-errors@2.3.1: {} + + json-schema-traverse@0.4.1: {} + + json-schema-traverse@1.0.0: {} + + json5@2.2.3: {} + + jsonfile@6.1.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + kind-of@6.0.3: {} + + klaw-sync@6.0.0: + dependencies: + graceful-fs: 4.2.11 + + kleur@3.0.3: {} + + latest-version@7.0.0: + dependencies: + package-json: 8.1.1 + + launch-editor@2.8.0: + dependencies: + picocolors: 1.0.1 + shell-quote: 1.8.1 + + leven@3.1.0: {} + + lilconfig@2.1.0: {} + + lilconfig@3.1.2: {} + + lines-and-columns@1.2.4: {} + + loader-runner@4.3.0: {} + + loader-utils@2.0.4: + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 2.2.3 + + loader-utils@3.3.1: {} + + locate-path@3.0.0: + dependencies: + p-locate: 3.0.0 + path-exists: 3.0.0 + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + locate-path@7.2.0: + dependencies: + p-locate: 6.0.0 + + lodash.debounce@4.0.8: {} + + lodash.memoize@4.1.2: {} + + lodash.uniq@4.5.0: {} + + lodash@4.17.21: {} + + longest-streak@3.1.0: {} + + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + + lower-case@2.0.2: + dependencies: + tslib: 2.6.3 + + lowercase-keys@3.0.0: {} + + lru-cache@10.3.0: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + lunr-languages@1.14.0: {} + + lunr@2.3.9: {} + + mark.js@8.11.1: {} + + markdown-extensions@2.0.0: {} + + markdown-table@3.0.3: {} + + mdast-util-directive@3.0.0: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.2 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + parse-entities: 4.0.1 + stringify-entities: 4.0.4 + unist-util-visit-parents: 6.0.1 + transitivePeerDependencies: + - supports-color + + mdast-util-find-and-replace@3.0.1: + dependencies: + '@types/mdast': 4.0.4 + escape-string-regexp: 5.0.0 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + mdast-util-from-markdown@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.2 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-decode-string: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-frontmatter@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + escape-string-regexp: 5.0.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + micromark-extension-frontmatter: 2.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-autolink-literal@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.1 + micromark-util-character: 2.1.0 + + mdast-util-gfm-footnote@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + micromark-util-normalize-identifier: 2.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-strikethrough@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-table@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + markdown-table: 3.0.3 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-task-list-item@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm@3.0.0: + dependencies: + mdast-util-from-markdown: 2.0.1 + mdast-util-gfm-autolink-literal: 2.0.0 + mdast-util-gfm-footnote: 2.0.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-expression@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-jsx@3.1.2: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@types/unist': 3.0.2 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + parse-entities: 4.0.1 + stringify-entities: 4.0.4 + unist-util-remove-position: 5.0.0 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx@3.0.0: + dependencies: + mdast-util-from-markdown: 2.0.1 + mdast-util-mdx-expression: 2.0.0 + mdast-util-mdx-jsx: 3.1.2 + mdast-util-mdxjs-esm: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-mdxjs-esm@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-phrasing@4.1.0: + dependencies: + '@types/mdast': 4.0.4 + unist-util-is: 6.0.0 + + mdast-util-to-hast@13.2.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@ungap/structured-clone': 1.2.0 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.0 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.1 + + mdast-util-to-markdown@2.1.0: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.2 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-decode-string: 2.0.0 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 + + mdast-util-to-string@4.0.0: + dependencies: + '@types/mdast': 4.0.4 + + mdn-data@2.0.28: {} + + mdn-data@2.0.30: {} + + media-typer@0.3.0: {} + + memfs@3.5.3: + dependencies: + fs-monkey: 1.0.6 + + merge-descriptors@1.0.1: {} + + merge-stream@2.0.0: {} + + merge2@1.4.1: {} + + methods@1.1.2: {} + + micromark-core-commonmark@2.0.1: + dependencies: + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-factory-destination: 2.0.0 + micromark-factory-label: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-factory-title: 2.0.0 + micromark-factory-whitespace: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-html-tag-name: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-subtokenize: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-directive@3.0.0: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-factory-whitespace: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + parse-entities: 4.0.1 + + micromark-extension-frontmatter@2.0.0: + dependencies: + fault: 2.0.1 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-autolink-literal@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-footnote@2.0.0: + dependencies: + devlop: 1.1.0 + micromark-core-commonmark: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-strikethrough@2.0.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-table@2.0.0: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-tagfilter@2.0.0: + dependencies: + micromark-util-types: 2.0.0 + + micromark-extension-gfm-task-list-item@2.0.1: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm@3.0.0: + dependencies: + micromark-extension-gfm-autolink-literal: 2.0.0 + micromark-extension-gfm-footnote: 2.0.0 + micromark-extension-gfm-strikethrough: 2.0.0 + micromark-extension-gfm-table: 2.0.0 + micromark-extension-gfm-tagfilter: 2.0.0 + micromark-extension-gfm-task-list-item: 2.0.1 + micromark-util-combine-extensions: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-mdx-expression@3.0.0: + dependencies: + '@types/estree': 1.0.5 + devlop: 1.1.0 + micromark-factory-mdx-expression: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-mdx-jsx@3.0.0: + dependencies: + '@types/acorn': 4.0.6 + '@types/estree': 1.0.5 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + micromark-factory-mdx-expression: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + vfile-message: 4.0.2 + + micromark-extension-mdx-md@2.0.0: + dependencies: + micromark-util-types: 2.0.0 + + micromark-extension-mdxjs-esm@3.0.0: + dependencies: + '@types/estree': 1.0.5 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.1 + micromark-util-character: 2.1.0 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.2 + + micromark-extension-mdxjs@3.0.0: + dependencies: + acorn: 8.12.0 + acorn-jsx: 5.3.2(acorn@8.12.0) + micromark-extension-mdx-expression: 3.0.0 + micromark-extension-mdx-jsx: 3.0.0 + micromark-extension-mdx-md: 2.0.0 + micromark-extension-mdxjs-esm: 3.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-destination@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-label@2.0.0: + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-mdx-expression@2.0.1: + dependencies: + '@types/estree': 1.0.5 + devlop: 1.1.0 + micromark-util-character: 2.1.0 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.2 + + micromark-factory-space@1.1.0: + dependencies: + micromark-util-character: 1.2.0 + micromark-util-types: 1.1.0 + + micromark-factory-space@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-types: 2.0.0 + + micromark-factory-title@2.0.0: + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-whitespace@2.0.0: + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-character@1.2.0: + dependencies: + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + + micromark-util-character@2.1.0: + dependencies: + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-chunked@2.0.0: + dependencies: + micromark-util-symbol: 2.0.0 + + micromark-util-classify-character@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-combine-extensions@2.0.0: + dependencies: + micromark-util-chunked: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-decode-numeric-character-reference@2.0.1: + dependencies: + micromark-util-symbol: 2.0.0 + + micromark-util-decode-string@2.0.0: + dependencies: + decode-named-character-reference: 1.0.2 + micromark-util-character: 2.1.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-symbol: 2.0.0 + + micromark-util-encode@2.0.0: {} + + micromark-util-events-to-acorn@2.0.2: + dependencies: + '@types/acorn': 4.0.6 + '@types/estree': 1.0.5 + '@types/unist': 3.0.2 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + vfile-message: 4.0.2 + + micromark-util-html-tag-name@2.0.0: {} + + micromark-util-normalize-identifier@2.0.0: + dependencies: + micromark-util-symbol: 2.0.0 + + micromark-util-resolve-all@2.0.0: + dependencies: + micromark-util-types: 2.0.0 + + micromark-util-sanitize-uri@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-encode: 2.0.0 + micromark-util-symbol: 2.0.0 + + micromark-util-subtokenize@2.0.1: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-symbol@1.1.0: {} + + micromark-util-symbol@2.0.0: {} + + micromark-util-types@1.1.0: {} + + micromark-util-types@2.0.0: {} + + micromark@4.0.0: + dependencies: + '@types/debug': 4.1.12 + debug: 4.3.5 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-encode: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-subtokenize: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + transitivePeerDependencies: + - supports-color + + micromatch@4.0.7: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mime-db@1.33.0: {} + + mime-db@1.52.0: {} + + mime-types@2.1.18: + dependencies: + mime-db: 1.33.0 + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mime@1.6.0: {} + + mimic-fn@2.1.0: {} + + mimic-response@3.1.0: {} + + mimic-response@4.0.0: {} + + mini-css-extract-plugin@2.9.0(webpack@5.92.1): + dependencies: + schema-utils: 4.2.0 + tapable: 2.2.1 + webpack: 5.92.1 + + minimalistic-assert@1.0.1: {} + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.11 + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.1 + + minimist@1.2.8: {} + + minipass@7.1.2: {} + + mrmime@2.0.0: {} + + ms@2.0.0: {} + + ms@2.1.2: {} + + ms@2.1.3: {} + + multicast-dns@7.2.5: + dependencies: + dns-packet: 5.6.1 + thunky: 1.1.0 + + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + + nanoid@3.3.7: {} + + negotiator@0.6.3: {} + + neo-async@2.6.2: {} + + no-case@3.0.4: + dependencies: + lower-case: 2.0.2 + tslib: 2.6.3 + + node-emoji@2.1.3: + dependencies: + '@sindresorhus/is': 4.6.0 + char-regex: 1.0.2 + emojilib: 2.4.0 + skin-tone: 2.0.0 + + node-forge@1.3.1: {} + + node-releases@2.0.14: {} + + normalize-path@3.0.0: {} + + normalize-range@0.1.2: {} + + normalize-url@8.0.1: {} + + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + + nprogress@0.2.0: {} + + nth-check@2.1.1: + dependencies: + boolbase: 1.0.0 + + object-assign@4.1.1: {} + + object-hash@3.0.0: {} + + object-inspect@1.13.2: {} + + object-keys@1.1.1: {} + + object.assign@4.1.5: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + has-symbols: 1.0.3 + object-keys: 1.1.1 + + obuf@1.1.2: {} + + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 + + on-headers@1.0.2: {} + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + open@8.4.2: + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + + opener@1.5.2: {} + + p-cancelable@3.0.0: {} + + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-limit@4.0.0: + dependencies: + yocto-queue: 1.0.0 + + p-locate@3.0.0: + dependencies: + p-limit: 2.3.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + p-locate@6.0.0: + dependencies: + p-limit: 4.0.0 + + p-map@4.0.0: + dependencies: + aggregate-error: 3.1.0 + + p-retry@4.6.2: + dependencies: + '@types/retry': 0.12.0 + retry: 0.13.1 + + p-try@2.2.0: {} + + package-json-from-dist@1.0.0: {} + + package-json@8.1.1: + dependencies: + got: 12.6.1 + registry-auth-token: 5.0.2 + registry-url: 6.0.1 + semver: 7.6.2 + + param-case@3.0.4: + dependencies: + dot-case: 3.0.4 + tslib: 2.6.3 + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + parse-entities@4.0.1: + dependencies: + '@types/unist': 2.0.10 + character-entities: 2.0.2 + character-entities-legacy: 3.0.0 + character-reference-invalid: 2.0.1 + decode-named-character-reference: 1.0.2 + is-alphanumerical: 2.0.1 + is-decimal: 2.0.1 + is-hexadecimal: 2.0.1 + + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.24.7 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + parse-numeric-range@1.3.0: {} + + parse5-htmlparser2-tree-adapter@7.0.0: + dependencies: + domhandler: 5.0.3 + parse5: 7.1.2 + + parse5@7.1.2: + dependencies: + entities: 4.5.0 + + parseurl@1.3.3: {} + + pascal-case@3.1.2: + dependencies: + no-case: 3.0.4 + tslib: 2.6.3 + + path-exists@3.0.0: {} + + path-exists@4.0.0: {} + + path-exists@5.0.0: {} + + path-is-absolute@1.0.1: {} + + path-is-inside@1.0.2: {} + + path-key@3.1.1: {} + + path-parse@1.0.7: {} + + path-scurry@1.11.1: + dependencies: + lru-cache: 10.3.0 + minipass: 7.1.2 + + path-to-regexp@0.1.7: {} + + path-to-regexp@1.8.0: + dependencies: + isarray: 0.0.1 + + path-to-regexp@2.2.1: {} + + path-type@4.0.0: {} + + periscopic@3.1.0: + dependencies: + '@types/estree': 1.0.5 + estree-walker: 3.0.3 + is-reference: 3.0.2 + + picocolors@1.0.1: {} + + picomatch@2.3.1: {} + + pify@2.3.0: {} + + pirates@4.0.6: {} + + pkg-dir@7.0.0: + dependencies: + find-up: 6.3.0 + + pkg-up@3.1.0: + dependencies: + find-up: 3.0.0 + + postcss-calc@9.0.1(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-selector-parser: 6.1.0 + postcss-value-parser: 4.2.0 + + postcss-colormin@6.1.0(postcss@8.4.38): + dependencies: + browserslist: 4.23.1 + caniuse-api: 3.0.0 + colord: 2.9.3 + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-convert-values@6.1.0(postcss@8.4.38): + dependencies: + browserslist: 4.23.1 + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-discard-comments@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + + postcss-discard-duplicates@6.0.3(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + + postcss-discard-empty@6.0.3(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + + postcss-discard-overridden@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + + postcss-discard-unused@6.0.5(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-selector-parser: 6.1.0 + + postcss-import@15.1.0(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.8 + + postcss-js@4.0.1(postcss@8.4.38): + dependencies: + camelcase-css: 2.0.1 + postcss: 8.4.38 + + postcss-load-config@4.0.2(postcss@8.4.38): + dependencies: + lilconfig: 3.1.2 + yaml: 2.4.5 + optionalDependencies: + postcss: 8.4.38 + + postcss-loader@7.3.4(postcss@8.4.38)(typescript@5.2.2)(webpack@5.92.1): + dependencies: + cosmiconfig: 8.3.6(typescript@5.2.2) + jiti: 1.21.6 + postcss: 8.4.38 + semver: 7.6.2 + webpack: 5.92.1 + transitivePeerDependencies: + - typescript + + postcss-merge-idents@6.0.3(postcss@8.4.38): + dependencies: + cssnano-utils: 4.0.2(postcss@8.4.38) + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-merge-longhand@6.0.5(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + stylehacks: 6.1.1(postcss@8.4.38) + + postcss-merge-rules@6.1.1(postcss@8.4.38): + dependencies: + browserslist: 4.23.1 + caniuse-api: 3.0.0 + cssnano-utils: 4.0.2(postcss@8.4.38) + postcss: 8.4.38 + postcss-selector-parser: 6.1.0 + + postcss-minify-font-values@6.1.0(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-minify-gradients@6.0.3(postcss@8.4.38): + dependencies: + colord: 2.9.3 + cssnano-utils: 4.0.2(postcss@8.4.38) + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-minify-params@6.1.0(postcss@8.4.38): + dependencies: + browserslist: 4.23.1 + cssnano-utils: 4.0.2(postcss@8.4.38) + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-minify-selectors@6.0.4(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-selector-parser: 6.1.0 + + postcss-modules-extract-imports@3.1.0(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + + postcss-modules-local-by-default@4.0.5(postcss@8.4.38): + dependencies: + icss-utils: 5.1.0(postcss@8.4.38) + postcss: 8.4.38 + postcss-selector-parser: 6.1.0 + postcss-value-parser: 4.2.0 + + postcss-modules-scope@3.2.0(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-selector-parser: 6.1.0 + + postcss-modules-values@4.0.0(postcss@8.4.38): + dependencies: + icss-utils: 5.1.0(postcss@8.4.38) + postcss: 8.4.38 + + postcss-nested@6.0.1(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-selector-parser: 6.1.0 + + postcss-normalize-charset@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + + postcss-normalize-display-values@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-normalize-positions@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-normalize-repeat-style@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-normalize-string@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-normalize-timing-functions@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-normalize-unicode@6.1.0(postcss@8.4.38): + dependencies: + browserslist: 4.23.1 + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-normalize-url@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-normalize-whitespace@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-ordered-values@6.0.2(postcss@8.4.38): + dependencies: + cssnano-utils: 4.0.2(postcss@8.4.38) + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-reduce-idents@6.0.3(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-reduce-initial@6.1.0(postcss@8.4.38): + dependencies: + browserslist: 4.23.1 + caniuse-api: 3.0.0 + postcss: 8.4.38 + + postcss-reduce-transforms@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-selector-parser@6.1.0: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-sort-media-queries@5.2.0(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + sort-css-media-queries: 2.2.0 + + postcss-svgo@6.0.3(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + svgo: 3.3.2 + + postcss-unique-selectors@6.0.4(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-selector-parser: 6.1.0 + + postcss-value-parser@4.2.0: {} + + postcss-zindex@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + + postcss@8.4.38: + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.1 + source-map-js: 1.2.0 + + pretty-error@4.0.0: + dependencies: + lodash: 4.17.21 + renderkid: 3.0.0 + + pretty-time@1.1.0: {} + + prism-react-renderer@2.3.1(react@18.3.1): + dependencies: + '@types/prismjs': 1.26.4 + clsx: 2.1.1 + react: 18.3.1 + + prismjs@https://codeload.github.com/PrismJS/prism/tar.gz/59e5a3471377057de1f401ba38337aca27b80e03: {} + + process-nextick-args@2.0.1: {} + + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + + prop-types@15.8.1: + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react-is: 16.13.1 + + property-information@6.5.0: {} + + proto-list@1.2.4: {} + + proxy-addr@2.0.7: + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + + punycode@1.4.1: {} + + punycode@2.3.1: {} + + pupa@3.1.0: + dependencies: + escape-goat: 4.0.0 + + qs@6.11.0: + dependencies: + side-channel: 1.0.6 + + queue-microtask@1.2.3: {} + + queue@6.0.2: + dependencies: + inherits: 2.0.4 + + quick-lru@5.1.1: {} + + randombytes@2.1.0: + dependencies: + safe-buffer: 5.2.1 + + range-parser@1.2.0: {} + + range-parser@1.2.1: {} + + raw-body@2.5.2: + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + + rc@1.2.8: + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + + react-dev-utils@12.0.1(typescript@5.2.2)(webpack@5.92.1): + dependencies: + '@babel/code-frame': 7.24.7 + address: 1.2.2 + browserslist: 4.23.1 + chalk: 4.1.2 + cross-spawn: 7.0.3 + detect-port-alt: 1.1.6 + escape-string-regexp: 4.0.0 + filesize: 8.0.7 + find-up: 5.0.0 + fork-ts-checker-webpack-plugin: 6.5.3(typescript@5.2.2)(webpack@5.92.1) + global-modules: 2.0.0 + globby: 11.1.0 + gzip-size: 6.0.0 + immer: 9.0.21 + is-root: 2.1.0 + loader-utils: 3.3.1 + open: 8.4.2 + pkg-up: 3.1.0 + prompts: 2.4.2 + react-error-overlay: 6.0.11 + recursive-readdir: 2.2.3 + shell-quote: 1.8.1 + strip-ansi: 6.0.1 + text-table: 0.2.0 + webpack: 5.92.1 + optionalDependencies: + typescript: 5.2.2 + transitivePeerDependencies: + - eslint + - supports-color + - vue-template-compiler + + react-dom@18.3.1(react@18.3.1): + dependencies: + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.23.2 + + react-error-overlay@6.0.11: {} + + react-fast-compare@3.2.2: {} + + react-helmet-async@1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + '@babel/runtime': 7.24.7 + invariant: 2.2.4 + prop-types: 15.8.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-fast-compare: 3.2.2 + shallowequal: 1.1.0 + + react-helmet-async@2.0.5(react@18.3.1): + dependencies: + invariant: 2.2.4 + react: 18.3.1 + react-fast-compare: 3.2.2 + shallowequal: 1.1.0 + + react-is@16.13.1: {} + + react-json-view-lite@1.4.0(react@18.3.1): + dependencies: + react: 18.3.1 + + react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.92.1): + dependencies: + '@babel/runtime': 7.24.7 + react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)' + webpack: 5.92.1 + + react-router-config@5.1.1(react-router@5.3.4(react@18.3.1))(react@18.3.1): + dependencies: + '@babel/runtime': 7.24.7 + react: 18.3.1 + react-router: 5.3.4(react@18.3.1) + + react-router-dom@5.3.4(react@18.3.1): + dependencies: + '@babel/runtime': 7.24.7 + history: 4.10.1 + loose-envify: 1.4.0 + prop-types: 15.8.1 + react: 18.3.1 + react-router: 5.3.4(react@18.3.1) + tiny-invariant: 1.3.3 + tiny-warning: 1.0.3 + + react-router@5.3.4(react@18.3.1): + dependencies: + '@babel/runtime': 7.24.7 + history: 4.10.1 + hoist-non-react-statics: 3.3.2 + loose-envify: 1.4.0 + path-to-regexp: 1.8.0 + prop-types: 15.8.1 + react: 18.3.1 + react-is: 16.13.1 + tiny-invariant: 1.3.3 + tiny-warning: 1.0.3 + + react@18.3.1: + dependencies: + loose-envify: 1.4.0 + + read-cache@1.0.0: + dependencies: + pify: 2.3.0 + + readable-stream@2.3.8: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + + reading-time@1.5.0: {} + + rechoir@0.6.2: + dependencies: + resolve: 1.22.8 + + recursive-readdir@2.2.3: + dependencies: + minimatch: 3.1.2 + + regenerate-unicode-properties@10.1.1: + dependencies: + regenerate: 1.4.2 + + regenerate@1.4.2: {} + + regenerator-runtime@0.14.1: {} + + regenerator-transform@0.15.2: + dependencies: + '@babel/runtime': 7.24.7 + + regexpu-core@5.3.2: + dependencies: + '@babel/regjsgen': 0.8.0 + regenerate: 1.4.2 + regenerate-unicode-properties: 10.1.1 + regjsparser: 0.9.1 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.1.0 + + registry-auth-token@5.0.2: + dependencies: + '@pnpm/npm-conf': 2.2.2 + + registry-url@6.0.1: + dependencies: + rc: 1.2.8 + + regjsparser@0.9.1: + dependencies: + jsesc: 0.5.0 + + rehype-raw@7.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-raw: 9.0.4 + vfile: 6.0.1 + + relateurl@0.2.7: {} + + remark-directive@3.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-directive: 3.0.0 + micromark-extension-directive: 3.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-emoji@4.0.1: + dependencies: + '@types/mdast': 4.0.4 + emoticon: 4.0.1 + mdast-util-find-and-replace: 3.0.1 + node-emoji: 2.1.3 + unified: 11.0.5 + + remark-frontmatter@5.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-frontmatter: 2.0.1 + micromark-extension-frontmatter: 2.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-gfm@4.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-gfm: 3.0.0 + micromark-extension-gfm: 3.0.0 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-mdx@3.0.1: + dependencies: + mdast-util-mdx: 3.0.0 + micromark-extension-mdxjs: 3.0.0 + transitivePeerDependencies: + - supports-color + + remark-parse@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.1 + micromark-util-types: 2.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-rehype@11.1.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + mdast-util-to-hast: 13.2.0 + unified: 11.0.5 + vfile: 6.0.1 + + remark-stringify@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-to-markdown: 2.1.0 + unified: 11.0.5 + + renderkid@3.0.0: + dependencies: + css-select: 4.3.0 + dom-converter: 0.2.0 + htmlparser2: 6.1.0 + lodash: 4.17.21 + strip-ansi: 6.0.1 + + require-from-string@2.0.2: {} + + require-like@0.1.2: {} + + requires-port@1.0.0: {} + + resolve-alpn@1.2.1: {} + + resolve-from@4.0.0: {} + + resolve-pathname@3.0.0: {} + + resolve@1.22.8: + dependencies: + is-core-module: 2.14.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + responselike@3.0.0: + dependencies: + lowercase-keys: 3.0.0 + + retry@0.13.1: {} + + reusify@1.0.4: {} + + rimraf@3.0.2: + dependencies: + glob: 7.2.3 + + rtl-detect@1.1.2: {} + + rtlcss@4.1.1: + dependencies: + escalade: 3.1.2 + picocolors: 1.0.1 + postcss: 8.4.38 + strip-json-comments: 3.1.1 + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + safe-buffer@5.1.2: {} + + safe-buffer@5.2.1: {} + + safer-buffer@2.1.2: {} + + sax@1.4.1: {} + + scheduler@0.23.2: + dependencies: + loose-envify: 1.4.0 + + schema-utils@2.7.0: + dependencies: + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) + + schema-utils@3.3.0: + dependencies: + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) + + schema-utils@4.2.0: + dependencies: + '@types/json-schema': 7.0.15 + ajv: 8.16.0 + ajv-formats: 2.1.1(ajv@8.16.0) + ajv-keywords: 5.1.0(ajv@8.16.0) + + search-insights@2.14.0: {} + + section-matter@1.0.0: + dependencies: + extend-shallow: 2.0.1 + kind-of: 6.0.3 + + select-hose@2.0.0: {} + + selfsigned@2.4.1: + dependencies: + '@types/node-forge': 1.3.11 + node-forge: 1.3.1 + + semver-diff@4.0.0: + dependencies: + semver: 7.6.2 + + semver@6.3.1: {} + + semver@7.6.2: {} + + send@0.18.0: + 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 + transitivePeerDependencies: + - supports-color + + serialize-javascript@6.0.2: + dependencies: + randombytes: 2.1.0 + + serve-handler@6.1.5: + dependencies: + bytes: 3.0.0 + content-disposition: 0.5.2 + fast-url-parser: 1.1.3 + mime-types: 2.1.18 + minimatch: 3.1.2 + path-is-inside: 1.0.2 + path-to-regexp: 2.2.1 + range-parser: 1.2.0 + + serve-index@1.9.1: + dependencies: + accepts: 1.3.8 + batch: 0.6.1 + debug: 2.6.9 + escape-html: 1.0.3 + http-errors: 1.6.3 + mime-types: 2.1.35 + parseurl: 1.3.3 + transitivePeerDependencies: + - supports-color + + serve-static@1.15.0: + dependencies: + encodeurl: 1.0.2 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.18.0 + transitivePeerDependencies: + - supports-color + + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + + setprototypeof@1.1.0: {} + + setprototypeof@1.2.0: {} + + shallow-clone@3.0.1: + dependencies: + kind-of: 6.0.3 + + shallowequal@1.1.0: {} + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + shell-quote@1.8.1: {} + + shelljs@0.8.5: + dependencies: + glob: 7.2.3 + interpret: 1.4.0 + rechoir: 0.6.2 + + side-channel@1.0.6: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + object-inspect: 1.13.2 + + signal-exit@3.0.7: {} + + signal-exit@4.1.0: {} + + sirv@2.0.4: + dependencies: + '@polka/url': 1.0.0-next.25 + mrmime: 2.0.0 + totalist: 3.0.1 + + sisteransi@1.0.5: {} + + sitemap@7.1.2: + dependencies: + '@types/node': 17.0.45 + '@types/sax': 1.2.7 + arg: 5.0.2 + sax: 1.4.1 + + skin-tone@2.0.0: + dependencies: + unicode-emoji-modifier-base: 1.0.0 + + slash@3.0.0: {} + + slash@4.0.0: {} + + snake-case@3.0.4: + dependencies: + dot-case: 3.0.4 + tslib: 2.6.3 + + sockjs@0.3.24: + dependencies: + faye-websocket: 0.11.4 + uuid: 8.3.2 + websocket-driver: 0.7.4 + + sort-css-media-queries@2.2.0: {} + + source-map-js@1.2.0: {} + + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.6.1: {} + + source-map@0.7.4: {} + + space-separated-tokens@2.0.2: {} + + spdy-transport@3.0.0: + dependencies: + debug: 4.3.5 + detect-node: 2.1.0 + hpack.js: 2.1.6 + obuf: 1.1.2 + readable-stream: 3.6.2 + wbuf: 1.7.3 + transitivePeerDependencies: + - supports-color + + spdy@4.0.2: + dependencies: + debug: 4.3.5 + handle-thing: 2.0.1 + http-deceiver: 1.2.7 + select-hose: 2.0.0 + spdy-transport: 3.0.0 + transitivePeerDependencies: + - supports-color + + sprintf-js@1.0.3: {} + + srcset@4.0.0: {} + + statuses@1.5.0: {} + + statuses@2.0.1: {} + + std-env@3.7.0: {} + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + + string_decoder@1.1.1: + dependencies: + safe-buffer: 5.1.2 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + stringify-entities@4.0.4: + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + + stringify-object@3.3.0: + dependencies: + get-own-enumerable-property-symbols: 3.0.2 + is-obj: 1.0.1 + is-regexp: 1.0.0 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.0.1 + + strip-bom-string@1.0.0: {} + + strip-final-newline@2.0.0: {} + + strip-json-comments@2.0.1: {} + + strip-json-comments@3.1.1: {} + + style-to-object@0.4.4: + dependencies: + inline-style-parser: 0.1.1 + + style-to-object@1.0.6: + dependencies: + inline-style-parser: 0.2.3 + + stylehacks@6.1.1(postcss@8.4.38): + dependencies: + browserslist: 4.23.1 + postcss: 8.4.38 + postcss-selector-parser: 6.1.0 + + sucrase@3.35.0: + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + commander: 4.1.1 + glob: 10.4.2 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.6 + ts-interface-checker: 0.1.13 + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + svg-parser@2.0.4: {} + + svgo@3.3.2: + dependencies: + '@trysound/sax': 0.2.0 + commander: 7.2.0 + css-select: 5.1.0 + css-tree: 2.3.1 + css-what: 6.1.0 + csso: 5.0.5 + picocolors: 1.0.1 + + tailwindcss@3.4.4: + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.6.0 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.2 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.6 + lilconfig: 2.1.0 + micromatch: 4.0.7 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.0.1 + postcss: 8.4.38 + postcss-import: 15.1.0(postcss@8.4.38) + postcss-js: 4.0.1(postcss@8.4.38) + postcss-load-config: 4.0.2(postcss@8.4.38) + postcss-nested: 6.0.1(postcss@8.4.38) + postcss-selector-parser: 6.1.0 + resolve: 1.22.8 + sucrase: 3.35.0 + transitivePeerDependencies: + - ts-node + + tapable@1.1.3: {} + + tapable@2.2.1: {} + + terser-webpack-plugin@5.3.10(webpack@5.92.1): + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + jest-worker: 27.5.1 + schema-utils: 3.3.0 + serialize-javascript: 6.0.2 + terser: 5.31.1 + webpack: 5.92.1 + + terser@5.31.1: + dependencies: + '@jridgewell/source-map': 0.3.6 + acorn: 8.12.0 + commander: 2.20.3 + source-map-support: 0.5.21 + + text-table@0.2.0: {} + + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + + thunky@1.1.0: {} + + tiny-invariant@1.3.3: {} + + tiny-warning@1.0.3: {} + + to-fast-properties@2.0.0: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + toidentifier@1.0.1: {} + + totalist@3.0.1: {} + + trim-lines@3.0.1: {} + + trough@2.2.0: {} + + ts-interface-checker@0.1.13: {} + + tslib@2.6.3: {} + + type-fest@1.4.0: {} + + type-fest@2.19.0: {} + + type-is@1.6.18: + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + + typedarray-to-buffer@3.1.5: + dependencies: + is-typedarray: 1.0.0 + + typescript@5.2.2: {} + + undici-types@5.26.5: {} + + unicode-canonical-property-names-ecmascript@2.0.0: {} + + unicode-emoji-modifier-base@1.0.0: {} + + unicode-match-property-ecmascript@2.0.0: + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.0 + unicode-property-aliases-ecmascript: 2.1.0 + + unicode-match-property-value-ecmascript@2.1.0: {} + + unicode-property-aliases-ecmascript@2.1.0: {} + + unified@11.0.5: + dependencies: + '@types/unist': 3.0.2 + bail: 2.0.2 + devlop: 1.1.0 + extend: 3.0.2 + is-plain-obj: 4.1.0 + trough: 2.2.0 + vfile: 6.0.1 + + unique-string@3.0.0: + dependencies: + crypto-random-string: 4.0.0 + + unist-util-is@6.0.0: + dependencies: + '@types/unist': 3.0.2 + + unist-util-position-from-estree@2.0.0: + dependencies: + '@types/unist': 3.0.2 + + unist-util-position@5.0.0: + dependencies: + '@types/unist': 3.0.2 + + unist-util-remove-position@5.0.0: + dependencies: + '@types/unist': 3.0.2 + unist-util-visit: 5.0.0 + + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.2 + + unist-util-visit-parents@6.0.1: + dependencies: + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 + + unist-util-visit@5.0.0: + dependencies: + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + universalify@2.0.1: {} + + unpipe@1.0.0: {} + + update-browserslist-db@1.0.16(browserslist@4.23.1): + dependencies: + browserslist: 4.23.1 + escalade: 3.1.2 + picocolors: 1.0.1 + + update-notifier@6.0.2: + dependencies: + boxen: 7.1.1 + chalk: 5.3.0 + configstore: 6.0.0 + has-yarn: 3.0.0 + import-lazy: 4.0.0 + is-ci: 3.0.1 + is-installed-globally: 0.4.0 + is-npm: 6.0.0 + is-yarn-global: 0.4.1 + latest-version: 7.0.0 + pupa: 3.1.0 + semver: 7.6.2 + semver-diff: 4.0.0 + xdg-basedir: 5.1.0 + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + url-loader@4.1.1(file-loader@6.2.0(webpack@5.92.1))(webpack@5.92.1): + dependencies: + loader-utils: 2.0.4 + mime-types: 2.1.35 + schema-utils: 3.3.0 + webpack: 5.92.1 + optionalDependencies: + file-loader: 6.2.0(webpack@5.92.1) + + util-deprecate@1.0.2: {} + + utila@0.4.0: {} + + utility-types@3.11.0: {} + + utils-merge@1.0.1: {} + + uuid@8.3.2: {} + + value-equal@1.0.1: {} + + vary@1.1.2: {} + + vfile-location@5.0.2: + dependencies: + '@types/unist': 3.0.2 + vfile: 6.0.1 + + vfile-message@4.0.2: + dependencies: + '@types/unist': 3.0.2 + unist-util-stringify-position: 4.0.0 + + vfile@6.0.1: + dependencies: + '@types/unist': 3.0.2 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.2 + + watchpack@2.4.1: + dependencies: + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + + wbuf@1.7.3: + dependencies: + minimalistic-assert: 1.0.1 + + web-namespaces@2.0.1: {} + + webpack-bundle-analyzer@4.10.2: + dependencies: + '@discoveryjs/json-ext': 0.5.7 + acorn: 8.12.0 + acorn-walk: 8.3.3 + commander: 7.2.0 + debounce: 1.2.1 + escape-string-regexp: 4.0.0 + gzip-size: 6.0.0 + html-escaper: 2.0.2 + opener: 1.5.2 + picocolors: 1.0.1 + sirv: 2.0.4 + ws: 7.5.10 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + webpack-dev-middleware@5.3.4(webpack@5.92.1): + dependencies: + colorette: 2.0.20 + memfs: 3.5.3 + mime-types: 2.1.35 + range-parser: 1.2.1 + schema-utils: 4.2.0 + webpack: 5.92.1 + + webpack-dev-server@4.15.2(debug@4.3.5)(webpack@5.92.1): + dependencies: + '@types/bonjour': 3.5.13 + '@types/connect-history-api-fallback': 1.5.4 + '@types/express': 4.17.21 + '@types/serve-index': 1.9.4 + '@types/serve-static': 1.15.7 + '@types/sockjs': 0.3.36 + '@types/ws': 8.5.10 + ansi-html-community: 0.0.8 + bonjour-service: 1.2.1 + chokidar: 3.6.0 + colorette: 2.0.20 + compression: 1.7.4 + connect-history-api-fallback: 2.0.0 + default-gateway: 6.0.3 + express: 4.19.2 + graceful-fs: 4.2.11 + html-entities: 2.5.2 + http-proxy-middleware: 2.0.6(@types/express@4.17.21)(debug@4.3.5) + ipaddr.js: 2.2.0 + launch-editor: 2.8.0 + open: 8.4.2 + p-retry: 4.6.2 + rimraf: 3.0.2 + schema-utils: 4.2.0 + selfsigned: 2.4.1 + serve-index: 1.9.1 + sockjs: 0.3.24 + spdy: 4.0.2 + webpack-dev-middleware: 5.3.4(webpack@5.92.1) + ws: 8.17.1 + optionalDependencies: + webpack: 5.92.1 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + + webpack-merge@5.10.0: + dependencies: + clone-deep: 4.0.1 + flat: 5.0.2 + wildcard: 2.0.1 + + webpack-sources@3.2.3: {} + + webpack@5.92.1: + dependencies: + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.5 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/wasm-edit': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + acorn: 8.12.0 + acorn-import-attributes: 1.9.5(acorn@8.12.0) + browserslist: 4.23.1 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.17.0 + es-module-lexer: 1.5.3 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 3.3.0 + tapable: 2.2.1 + terser-webpack-plugin: 5.3.10(webpack@5.92.1) + watchpack: 2.4.1 + webpack-sources: 3.2.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + + webpackbar@5.0.2(webpack@5.92.1): + dependencies: + chalk: 4.1.2 + consola: 2.15.3 + pretty-time: 1.1.0 + std-env: 3.7.0 + webpack: 5.92.1 + + websocket-driver@0.7.4: + dependencies: + http-parser-js: 0.5.8 + safe-buffer: 5.2.1 + websocket-extensions: 0.1.4 + + websocket-extensions@0.1.4: {} + + which@1.3.1: + dependencies: + isexe: 2.0.0 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + widest-line@4.0.1: + dependencies: + string-width: 5.1.2 + + wildcard@2.0.1: {} + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + + wrappy@1.0.2: {} + + write-file-atomic@3.0.3: + dependencies: + imurmurhash: 0.1.4 + is-typedarray: 1.0.0 + signal-exit: 3.0.7 + typedarray-to-buffer: 3.1.5 + + ws@7.5.10: {} + + ws@8.17.1: {} + + xdg-basedir@5.1.0: {} + + xml-js@1.6.11: + dependencies: + sax: 1.4.1 + + yallist@3.1.1: {} + + yaml@1.10.2: {} + + yaml@2.4.5: {} + + yocto-queue@0.1.0: {} + + yocto-queue@1.0.0: {} + + zwitch@2.0.4: {} diff --git a/gen-docs/sidebars.ts b/gen-docs/sidebars.ts new file mode 100644 index 00000000..bad106a1 --- /dev/null +++ b/gen-docs/sidebars.ts @@ -0,0 +1,31 @@ +import type { SidebarsConfig } from '@docusaurus/plugin-content-docs'; + +/** + * Creating a sidebar enables you to: + - create an ordered group of docs + - render a sidebar for each doc of that group + - provide next/previous navigation + + The sidebars can be generated from the filesystem, or explicitly defined here. + + Create as many sidebars as you want. + */ +const sidebars: SidebarsConfig = { + // By default, Docusaurus generates a sidebar from the docs folder structure + documentationSidebar: [{ type: 'autogenerated', dirName: '.' }], + + // But you can create a sidebar manually + /* + tutorialSidebar: [ + 'intro', + 'hello', + { + type: 'category', + label: 'Tutorial', + items: ['tutorial-basics/create-a-document'], + }, + ], + */ +}; + +export default sidebars; diff --git a/gen-docs/src/components/JellyseerrVersion/index.tsx b/gen-docs/src/components/JellyseerrVersion/index.tsx new file mode 100644 index 00000000..0c4857e5 --- /dev/null +++ b/gen-docs/src/components/JellyseerrVersion/index.tsx @@ -0,0 +1,67 @@ +import { useEffect, useState } from 'react'; + +export const JellyseerrVersion = () => { + const [version, setVersion] = useState('0.0.0'); + + useEffect(() => { + async function fetchVersion() { + try { + const response = await fetch( + 'https://raw.githubusercontent.com/Fallenbagel/jellyseerr/main/package.json' + ); + + const data = await response.json(); + + setVersion(data.version); + console.log(data.version); + } catch (error) { + console.error('Failed to fetch version', error); + setVersion('Error fetching version'); + } + } + fetchVersion(); + }, []); + + return version; +}; + +export const NixpkgVersion = () => { + const [version, setVersion] = useState(null); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(null); + + useEffect(() => { + const fetchVersion = async () => { + try { + const url = + 'https://raw.githubusercontent.com/NixOS/nixpkgs/nixos-unstable/pkgs/servers/jellyseerr/default.nix'; + const response = await fetch(url); + const data = await response.text(); + + const versionRegex = /version\s*=\s*"([^"]+)"/; + const match = data.match(versionRegex); + if (match && match[1]) { + setVersion(match[1]); + } else { + setError('0.0.0'); + } + setLoading(false); + } catch (err) { + setError(err.message); + setLoading(false); + } + }; + + fetchVersion(); + }, []); + + if (loading) { + return 'Loading...'; + } + + if (error) { + return { error }; + } + + return version; +}; diff --git a/gen-docs/src/css/custom.css b/gen-docs/src/css/custom.css new file mode 100644 index 00000000..d95cd581 --- /dev/null +++ b/gen-docs/src/css/custom.css @@ -0,0 +1,106 @@ +/** + * Any CSS included here will be global. The classic template + * bundles Infima by default. Infima is a CSS framework designed to + * work well for content-centric websites. + */ + +/* You can override the default Infima variables here. */ +/* :root { + --ifm-color-scheme: dark; + --ifm-background-color: #151d2c; + --ifm-navbar-background-color: #151d2c; + --ifm-color-content: #fff; + --ifm-color-content-secondary: #888f9b; + --ifm-color-primary: var(--ifm-color-content); + --ifm-hover-overlay: #374151; + --ifm-menu-color-background-active: #793ae8; + --ifm-color-primary-dark: #1f2b7f; + --ifm-color-primary-darker: #16206b; + --ifm-color-primary-darkest: #0d1456; + --ifm-color-primary-light: #9066e3; + --ifm-color-primary-lighter: #a37ff0; + --ifm-color-primary-lightest: #b8a3f9; + --ifm-code-font-size: 95%; + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); +} */ + +/* For readability concerns, you should choose a lighter palette in dark mode. */ +[data-theme='dark'] { + --ifm-color-scheme: dark; + --ifm-background-color: #151d2c !important; + --ifm-navbar-background-color: #151d2c; + --ifm-color-content: #fff; + --ifm-color-content-secondary: #888f9b; + --ifm-color-primary: var(--ifm-color-content); + --ifm-hover-overlay: #374151; + /* --ifm-menu-color-background-active: #793ae8; */ + /* --ifm-menu-color-background-active: linear-gradient( + 90deg, + #793ae8 0%, + #ff8c00 100% + ); */ + --ifm-color-primary-dark: #1f2b7f; + --ifm-color-primary-darker: #16206b; + --ifm-color-primary-darkest: #0d1456; + --ifm-color-primary-light: #9066e3; + --ifm-color-primary-lighter: #a37ff0; + --ifm-color-primary-lightest: #b8a3f9; + --ifm-code-font-size: 95%; + --search-local-modal-background: #121a29; + /* --search-local-highlight-color: var(--ifm-hover-overlay); */ + --search-local-highlight-color: #6366f1; + --search-local-hit-color: #fff; + --search-local-hit-background: #2d3748; + --search-local-hit-active-color: var(--ifm-color-primary); + --ifm-input-border-color: #ccc; /* Default border color */ + --ifm-input-border-focus-color: red; /* Border color when focused */ + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); + --ifm-navbar-search-input-icon: url('data:image/svg+xml;utf8,'); +} + +.table-of-contents__link--active, +a:not( + .card, + .menu__link, + .menu__link--sublist, + .menu__link--sublist-item, + .table-of-contents__link + ) { + /* color: #793ae8; */ + color: #6366f1; +} + +.card { + background-color: rgb(31 41 55/0.9); +} + +.theme-admonition a { + color: #fff; +} + +.menu__link--active, +.menu__list-item-collapsible--active { + background: linear-gradient(0deg, #8238e9 0%, #5d42e6 100%); +} + +/* .tabs__item--active { + background: linear-gradient(0deg, #8238e9 0%, #5d42e6 100%); +} */ + +.tabs__item { + border-bottom: 1px solid #fff; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + padding: 0.5rem 1rem; +} + +.tabs__item--active { + /* background: rgba(255, 255, 255, 0.1); */ + color: #a37ff0; + border-bottom: 3px solid #a37ff0; +} + +.footer { + background: var(--ifm-navbar-background-color); + border-top: 1px solid #2d3748; +} diff --git a/gen-docs/static/.nojekyll b/gen-docs/static/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/gen-docs/static/CNAME b/gen-docs/static/CNAME new file mode 100644 index 00000000..db1468fb --- /dev/null +++ b/gen-docs/static/CNAME @@ -0,0 +1 @@ +docs.jellyseerr.dev \ No newline at end of file diff --git a/gen-docs/static/img/favicon.ico b/gen-docs/static/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..dbca29f144dc0bf0b339c4d9275248c83d36a379 GIT binary patch literal 15406 zcmeHOcU)B0)*WAbDMn*W(U{nKSHOaRXiPNLSYkn=J{z`(f;2@eU_n$6kbo$fsHliN z7SyQNJNA-de9;(#nrIT7JB)9=weQRw?hJ!TzL>w>$M1K%ckaFC?6uE6W$(R?2160U zbB0o-47^r0_!c!7+zbXo<;s@dwM!ce%lNEuW9$2x2E&n84TjqMhE-U@@|>4H^tZTS z*CtcjwM;zb<$tYFi5HZmO?oMF>a@QW+p<&Qtr@eM6xK*ZgW)CjGNqCZd-y$>*Y;hU z^$tdh(j~CGX&)?W(i_I4P98ZR3l-|E|tHa*IhMVMzhoNO0}Rm}$DV#moCS*;;fHtUZA zZO0(1;|LsLnbWF?r47~*43++AXw3GWNV~VDBtVH=j)!uc9*^9x`M5t}1|Ek@$K#;M zcpNYZTR-TmVR#~Ss}(aOO5O1-JYkC70MpzxP-cG$W&WqQGd~eOrKZ8SbQO$~XR?hc z$YmRSt5;Opkh+w8P3mU{E=Jyh&)LRCC@~q>KJ-HjuVui%TE%c-E!$YL3C2)qBMi$r zwAV0PV|_*H|FR$xd9iz7TDTpiWxJ8q*9}qat6&7%NE$y7##85E42xnL5!le9hgM(F z>fek=hdKTL@)qrdDeW+fnWynh+G+$hHsDZNGL!=+piGNp8}pFfqqn}kia&iwD9nk6 zEN!G5gmUaUZtdKL>zUN&r-xAD*e^3aVH=Au$Gfdo|C-i+-D=i^Y3UJb8(A=|KMm#L zcTg_fgtBZGOmkMj6q$OUA)YaQ>@rS-JuR8;C(qZDrLSEcH1;#VM&s9~6Y%b?T_^)VdDiSK3kAAP#LTYHjJS@=oOH z$G(O^yJ};S->PFn>?`-yzAAM7YW4r@Ro0oxENxh1efq0^yMsoQ^sHFA|L#`4DQCTd zPPZ)m%01#YkE-0*%r)iyI@f`xKX{{ZN_^d}K2;5dl7Cg6RzJJ-#F`80y}vBecW`dM zdR36+F&^jIhQOmtY1M9i)m+rypSKu}!4>Nwp+R@Vb?ub<5H*0jd7~YBvszKufA@T@2dVjNL=HpG*jiLcKZTUZytWy1a`Ftunhjg!zHu)hn z+|{=It2MVhOK#W`(`&Xxc9#&`=s6RMT)X7Umo- zk4HA;uW}iLwQi$umiwUmj%{GsZ-Q&IQh&=ckw3Mj7cO@Q!xfgf4c)C<6VS72dB;A; z71>o^H1yZYZc?Tgaw5~zz0nbaGUqcW3s*x)OvmkoNjMf3hD$MVFz(m~M%5W^9lzIO6OrpV@4SfZC7@orDc-n{U0D~65g9<9t5P) z_31?ar3eO8GoV)`115OZ#rNBH!g%fyj61(zKg`O<5G)u%>0brHt?Wy77(_Pv{*+$+ zasNg1b@t?ASg?h*Ach$FE1zsZ*0`YvYGlC2^$Zq2%!(oKy=E|8{R+y>?_gY*%rQ|A zL+@&D+RLYGVz{T5pA)qeX7Nu{47-pge%perFeUPunu#SHD`A?8!G=NnxPev--yY0@ z@rNH_%-C-6>88w9{W>H4R3rOgc>Nmo@+q78oAvVVMQu}kBpZfU`ZzHnoBrSG{mAI& zf{XL#;7CLWrZ#^W!}!zBP&V%3yqKSlVR8fn!-xj8?B!Foqx@^(D`8GJ zXvMH!^*i%oGhtdm-!J1RayRn2=M0pC=dpjLzv_pMuW!KE#>MdPJNkvcSz%`ym)in<+o*GL+-j z@#yFotRLo%wBepOw~=wh!(X5njZiX=I$fuvA6&~8bJYJ7*P#>*k6c^5Q5MEUl(&RF zxA@C~At8(Qpe>TKpd7glA#?!b8G9{u=7P#!;q^3``-uRgP1D`!~N%5$Rv z>|~29nSYM!k38QzJRIf}%BP=gk*{H39I}S-#wE)B`UfbtDf>QS2(kI4Z@D&!FVA>D z*2-C_Fhy{!oJm^{Lqr=(Y@ydxWQ(sz8`!PC@4Q_Rzb*O#=Cso=FV|xr4vB?U9EIt? zRVdk%dHhS5)*iB~5fV#8tu27zZs>e8DgC0I{vuP>U)cj3_aDJH`~7|}ryj$T4dVMloLB`QEFqU!%=_rVY(5rCv7gaUb)D@4i0lF@ATS3f1P0s@SOe z!dhKxjj7;TmW}?SK*N9YgMD7%MZ1=()MSV6z)4H{cG}Xk%nP^IyM1KKL3Db(f^EHN zUaB|_dHSjEj(JT)-#4pa3iAWh}Im%twP(Kh@&%2&$A&z$%X=2;}Sa>6SBzLgqbMy2gK{cZ@U z>yC57Ly!{?t(Kwn>I>H(vBOU8Rc)RD{vyo7j$oVjS^m?5xit;r5swK7Xx0LmACAU| zdW~$)<$b6%2PJ!fzW-@Eq%`h@=(_JCj`*iF@W!Q&!k8x^ewNYotXv0WQQm_ZFBv}m z3wC&({XUWHJks_g$xTYmOe+BmT4G1HF^pT8Kh!;6Q2+gc{cnAr?m7sIm`hw#zbm2| zcfi%Y;kY|!o?6D#X=M#5V1MYrVp8tM6>J_||M>tEbf`hWnz!pRt2= z%oOkoYSU*u+lJ%Z+L!SSyCK7CG}e2LvOSY`nXN{lw$(=!{3kpEZ0~or7>UFNA7CMK zs!1+AaIIT7zV1FlErYA%a~2wY%??#9W9fIzAoGSg-`46kDD}LZul_}=v9`SC=H^3@ z>M{iDnvYTSl3b^h{qEz`9I>=PJ^-h^0&R5!|6<}_P_Gk~y7b1?_ov!Q|F>#T?;`MK zZq&6*fw=5}bxs$$E^&=4DeDaJtNft!VO*!)So*;LjB|BEi`QPknq~uSSPpRx$2I7U zPn!rNgDqYf++ZElm6aUhtz3^GfUdV7CfD7$IalRe7qjy5!SEmso zTQS8}!84j={M7uSnb*I~(5)2}e+q=BQiZIk*$QW|#BC_>B+qvf~2rlON0Y z06hA55+05Xz{7D9ad)&Ye~-qu!v~>bMGI%A$0FD`7ebxkuS{x|%t1sJ)A3Y|<5UYsa<}Y#FxKOW~`fs#*iLmSW|K!zb7IRm$64kxj~|}~WAZu}Q#U|awHd~B%-wF<1>@G; zFs|Q5USTzi5!6G~VWxE~>2we~Samotus?H)_PKQpn_y=ATjs5o3>7%`?`Y4ptBjlF z(TC_rthG`M#`%O|F8u^7DpT+!MU@&$av3 z<;&ql_zLm`JFIy)(P49b9&8@5GAF1+^PEEr?-SPJLCkVw4C(>jI?rKHbp!fUvG5pu zsu#oZG5^B7U3;ON%(n0uN2rHt2jQ1=I;iv7GM0qfNPNf3wwG(zv@7Rvx9Tq%!nNP} z>-d)5JRh=~_$7blOot4fJz1}wJy8-i;#c;4x=#lLG%AWQbu1i+=+NJ)L)VH1MEP{a zgTu#QynG$TYhPK;sDzOha&pOffvWluQmObvI0(eSzhjD8HzbO-$A-VXjX* z-4nM(fJai3GUu^Gr7=36*^=4ZH$+WBi5{-gf!4*78AsnxMW&dO>B z(=x$+7{Z@DSjq9UvdTGJsjZW?m$Kd|sxzy1b=W6gH%z(EHKw>TGje1^cSkoAXsf0e$(W<750 zzU^BT@MvMCa~;Ta+3b*d5T>2yVA{t%KYWFK%C-IUbzDx3#gfhy5ZAsel0K}DlW9C3 zAsn#a7C!R!UGDAlH^gU>vlFWSDt4d`uKInn1J6*b?%op(c%DSVrN0vYcJ9B^^v|^W zX5|>S1|(SU3m0SKEb}=-(IGEkA55EgcJL5+J7QN(e+^^ySNLxGCR`@w>s#00!IjG} z-v7xm=7rA`K6fq0AJ2YRxJ11U@m3vT@EgZbq?Z@DBJvzgitJxCUNm?*dnad2;yxJ0 zbCB%oWOANMkHRc^*tj;~Ud0aNm=ZaUvxxsR_oeeZ|0o>nSKo7wx~uZA#(V5{;eln$ z3n#jbb6!0|vs~3dQTfnv09{w1-0%kd#RZVvnXXUg{y>jOyBEyDgFMZD79Vu&;9!`AbN`h5A~{c$|F+pcbYPLQqr(5L zJ;}NIHI#3-uHPc|yTty0n1zeJe3R!y+3)k|HwhQ4kA)bMYC2fX5?OQzbuV~6NQYnb zpBV!bVN4w0EPj!1g_rwb&K67Gui;r&;jZoGf`bm^Gfkh-7CX2$?&X}`%5`-q_qj#n zlA|4ca5)EMjpsBSA}lfK$x*>-{IB8FUnPDaW`DshF&KY0VY#9IMt|??=7C2syNR8g za|X}a@@hX9@^!Gx3E3lfR!8S=s}|bH{R)!pT@N>-Pv%2dfXhz+MNtc#fR9%;{XNNr_#0 zL-J<&KGffH-C0fCw)kCiU`|5j@k9N0`g@mGU%}pSQI@f@@f@CPC+EJEdN`hgu+9g~ z4st%+E{@=tb<24GCow5?I6P{Kdd^WVTYpcCj~F+;Y3+Br3+*B~+X8XCR=-J^m+{5N z^YBYgC(P>ubKh@w8az@tid{I%XPN$`voP-vyh@RXfnS zACCD$4Y&U4`f5q69Kak0`_;ULb9v_#JlT8Aat=bygvgl)ZLbi0tb2rdR!QPHp4)Pa zNpqvpvEiff@OlbQPwbLE+-c=zbg1obsb4F8drObm@xB4iu#RJVnKO@P%2K$mZ9K1@ zpLil?DE7)Z3hI-|vlMc+L-q{oIfgv(!FiTJo!8cw^w+2jh~ydMh7RXw9Ay%d9#i+2fQX?#=7DHtpbe66~Ubl+|3Tv^imoBTTfzkF(OT zb7VL=RjpF!c+un#`y=M7Mmk69{Hb*=+}GMD>{|Dgf8s;#(=pwKAj@w7eu&~;A>&8R z(@4?HiJzjk;~39DCinKm(57x^^gDenGOhjor}zu2MzW@k{v&n}IW_4oHR1VacmBVg z?#z4nd%TCpj(sqzV_%+2=|~;xtLIRfaemfjUb?XU&_5^kT){v*&pYqs-+d~%#X)T6 z7K_RW=-dCh?nM@He{UT#h4K}@i{AQyI;SnXMxkr#v(kmwpCx~4Q_;G%j(*x6_g8h0 zy@`G9C$emUpYe_C)3j|e`{@SDU$%#|!E#gDtV|B&8N)5CxuTTWgyYJe*UjuVr}4wn z>_NPDSZ@pSmqFHCzMVf)nBZsqT;d0bff&bmNG_H7Y@&a4iTEB6pLP!Ff#msEw#qk> YGnTx!)Fqz3JU^ecPXFKD|4tA57t(hCbpQYW literal 0 HcmV?d00001 diff --git a/gen-docs/static/img/logo.svg b/gen-docs/static/img/logo.svg new file mode 100644 index 00000000..df6c8c6a --- /dev/null +++ b/gen-docs/static/img/logo.svg @@ -0,0 +1,185 @@ + + + + + AAAsdGp1bWIAAAAeanVtZGMycGEAEQAQgAAAqgA4m3EDYzJwYQAAACxOanVtYgAAAEdqdW1kYzJtYQARABCAAACqADibcQN1cm46dXVpZDoxNjQ1Mzg1My03MWU1LTRiYzAtYTJjNi00NjhiMTk2ZDk3ZWIAAAABtGp1bWIAAAApanVtZGMyYXMAEQAQgAAAqgA4m3EDYzJwYS5hc3NlcnRpb25zAAAAANdqdW1iAAAAJmp1bWRjYm9yABEAEIAAAKoAOJtxA2MycGEuYWN0aW9ucwAAAACpY2JvcqFnYWN0aW9uc4GjZmFjdGlvbmtjMnBhLmVkaXRlZG1zb2Z0d2FyZUFnZW50bUFkb2JlIEZpcmVmbHlxZGlnaXRhbFNvdXJjZVR5cGV4U2h0dHA6Ly9jdi5pcHRjLm9yZy9uZXdzY29kZXMvZGlnaXRhbHNvdXJjZXR5cGUvY29tcG9zaXRlV2l0aFRyYWluZWRBbGdvcml0aG1pY01lZGlhAAAArGp1bWIAAAAoanVtZGNib3IAEQAQgAAAqgA4m3EDYzJwYS5oYXNoLmRhdGEAAAAAfGNib3KlamV4Y2x1c2lvbnOBomVzdGFydBjvZmxlbmd0aBk7SGRuYW1lbmp1bWJmIG1hbmlmZXN0Y2FsZ2ZzaGEyNTZkaGFzaFggcZhNOQaowKYGKUvbDfDwXeznhATxdfdCZ6fS2MJv3HhjcGFkSQAAAAAAAAAAAAAAAgtqdW1iAAAAJGp1bWRjMmNsABEAEIAAAKoAOJtxA2MycGEuY2xhaW0AAAAB32Nib3KoaGRjOnRpdGxlb0dlbmVyYXRlZCBJbWFnZWlkYzpmb3JtYXRtaW1hZ2Uvc3ZnK3htbGppbnN0YW5jZUlEeCx4bXA6aWlkOjU1MTY1NmJhLTg3ZmItNDEwYi04MWVlLTk3ZTc4ZjZhZjJiNG9jbGFpbV9nZW5lcmF0b3J4NkFkb2JlX0lsbHVzdHJhdG9yLzI4LjQgYWRvYmVfYzJwYS8wLjcuNiBjMnBhLXJzLzAuMjUuMnRjbGFpbV9nZW5lcmF0b3JfaW5mb4G/ZG5hbWVxQWRvYmUgSWxsdXN0cmF0b3JndmVyc2lvbmQyOC40/2lzaWduYXR1cmV4GXNlbGYjanVtYmY9YzJwYS5zaWduYXR1cmVqYXNzZXJ0aW9uc4KiY3VybHgnc2VsZiNqdW1iZj1jMnBhLmFzc2VydGlvbnMvYzJwYS5hY3Rpb25zZGhhc2hYIEppwb3/qN5BMHi+JO3M+DE6wdFklTRWcaANawazN9SvomN1cmx4KXNlbGYjanVtYmY9YzJwYS5hc3NlcnRpb25zL2MycGEuaGFzaC5kYXRhZGhhc2hYIMG+MCI8rh4cDp20OkxnltGueLH6+jSY7q5ieU0SUhaSY2FsZ2ZzaGEyNTYAAChAanVtYgAAAChqdW1kYzJjcwARABCAAACqADibcQNjMnBhLnNpZ25hdHVyZQAAACgQY2JvctKEWQzCogE4JBghglkGEDCCBgwwggP0oAMCAQICEH/ydB/Rxt5DtZR6jmVwnp4wDQYJKoZIhvcNAQELBQAwdTELMAkGA1UEBhMCVVMxIzAhBgNVBAoTGkFkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVkMR0wGwYDVQQLExRBZG9iZSBUcnVzdCBTZXJ2aWNlczEiMCAGA1UEAxMZQWRvYmUgUHJvZHVjdCBTZXJ2aWNlcyBHMzAeFw0yNDAxMTEwMDAwMDBaFw0yNTAxMTAyMzU5NTlaMH8xETAPBgNVBAMMCGNhaS1wcm9kMRMwEQYDVQQKDApBZG9iZSBJbmMuMREwDwYDVQQHDAhTYW4gSm9zZTETMBEGA1UECAwKQ2FsaWZvcm5pYTELMAkGA1UEBhMCVVMxIDAeBgkqhkiG9w0BCQEWEWNhaS1vcHNAYWRvYmUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA79MAp32GPZZBw7MpK0xuxWJZ2BwXMrmpbg+bvVC487/hbE1ji4PDYa8/UU8SPRHgW7t1pu3+L6j7EGH8ZBKdMCGug1ZhDmYWwHkX24cm1kPw+Fr73JOJhGUfkGZk6SJ+x1+tYG7TBR5SVMZGAXLSKALfUwQBW8/XeSINlhtG7B9/W+v/FEl5yCJOBQenbQUU9cXhMEg7cDndWAaV1zQSZkVh1zSWWfOaH9rQU3rIP5DL06ziScWA2fe1ONesHL21aJpXnrPjV1GN/2QeMR/jbGYpbO5tWy9r9oUpx4i6KmXlCpJWx1Jk+GaY62QnbbiLFpuY9jz1yq+xylLgm2UlwQIDAQAFo4IBjDCCAYgwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCB4AwHgYDVR0lBBcwFQYJKoZIhvcvAQEMBggrBgEFBQcDBDCBjgYDVR0gBIGGMIGDMIGABgkqhkiG9y8BAgMwczBxBggrBgEFBQcCAjBlDGNZb3UgYXJlIG5vdCBwZXJtaXR0ZWQgdG8gdXNlIHRoaXMgTGljZW5zZSBDZXJ0aWZpY2F0ZSBleGNlcHQgYXMgcGVybWl0dGVkIGJ5IHRoZSBsaWNlbnNlIGFncmVlbWVudC4wXQYDVR0fBFYwVDBSoFCgToZMaHR0cDovL3BraS1jcmwuc3ltYXV0aC5jb20vY2FfN2E1YzNhMGM3MzExNzQwNmFkZDE5MzEyYmMxYmMyM2YvTGF0ZXN0Q1JMLmNybDA3BggrBgEFBQcBAQQrMCkwJwYIKwYBBQUHMAGGG2h0dHA6Ly9wa2ktb2NzcC5zeW1hdXRoLmNvbTAfBgNVHSMEGDAWgBRXKXoyTcz+5DVOwB8kc85zU6vfajANBgkqhkiG9w0BAQsFAAOCAgEAIWPV/Nti76MPfipUnZACP/eVrEv59WObHuWCZHj1By8bGm5UmjTgPQYlXyTj8XE/iY27phgrHg0piDsWDzu5s8B6TKkaMmUvgtk+UgukybbfdtBC6KvtGgy40cO4DkEUoPDitDxT1igbQqdKogAoVKqDEVqnF+CFQQztbGcZhFI9XKTsCQwf9hw7LhJCo6jANBIABNyQtSwWIpPeSEJhPVgWLyKepgQxJMqL6sgYZxGq9pCSQn2gS8pafyQFLByZwEBD/DxytRZZL6b3ZXqF+fZZsE9fsBxpcWFiv8pFvgBQOtCzlSbfG8o7bgBPJXm7mAA8j3t3hDEeEx0Gx8B/9a89pzTebWVrD3SEe0uZl9EbVC++F4EosRJFdYwzuP1iJO1d5I3VxGa9FrVq/FYBGORvvDaTwandizCwae43ozCI97QPEUtS+jJztz1kapHcBsLAh7LxnE82rlmq1o4vfdFsQUz7HEpOkPFkyKohyPTn1FIq4lkJKX3jBA6Na/sxyUZo9uvs4CA+0AeNcTXldyugRUF+mspdbMLiIduigdDLu+LJ3UcxvvLTE3374waDvUD1vzrXVsmJrCxk9CnI/RGmiINSZoDbUQcKPX/PXmCUmMHp0PhnXaanZwSI5Ot0Pit4AnZaU7PvrSQmew1/cp3ZmJcfeB4FGRT3DYprp+lZBqUwggahMIIEiaADAgECAhAMqLZUe4nm0gaJdc2Lm4niMA0GCSqGSIb3DQEBCwUAMGwxCzAJBgNVBAYTAlVTMSMwIQYDVQQKExpBZG9iZSBTeXN0ZW1zIEluY29ycG9yYXRlZDEdMBsGA1UECxMUQWRvYmUgVHJ1c3QgU2VydmljZXMxGTAXBgNVBAMTEEFkb2JlIFJvb3QgQ0EgRzIwHhcNMTYxMTI5MDAwMDAwWhcNNDExMTI4MjM1OTU5WjB1MQswCQYDVQQGEwJVUzEjMCEGA1UEChMaQWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0ZWQxHTAbBgNVBAsTFEFkb2JlIFRydXN0IFNlcnZpY2VzMSIwIAYDVQQDExlBZG9iZSBQcm9kdWN0IFNlcnZpY2VzIEczMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtx8uvb0Js1xIbP4Mg65sAepReCWkgD6Jp7GyiGTa9ol2gfn5HfOV/HiYjZiOz+TuHFU+DXNad86xEqgVeGVMlvIHGe/EHcKBxvEDXdlTXB5zIEkfl0/SGn7J6vTX8MNybfSi95eQDUOZ9fjCaq+PBFjS5ZfeNmzi/yR+MsA0jKKoWarSRCFFFBpUFQWfAgLyXOyxOnXQOQudjxNj6Wu0X0IB13+IH11WcKcWEWXM4j4jh6hLy29Cd3EoVG3oxcVenMF/EMgD2tXjx4NUbTNB1/g9+MR6Nw5Mhp5k/g3atNExAxhtugC+T3SDShSEJfs2quiiRUHtX3RhOcK1s1OJgT5s2s9xGy5/uxVpcAIaK2KiDJXW3xxN8nXPmk1NSVu/mxtfapr4TvSJbhrU7UA3qhQY9n4On2sbH1X1Tw+7LTek8KCA5ZDghOERPiIp/Jt893qov1bE5rJkagcVg0Wqjh89NhCaBA8VyRt3ovlGyCKdNV2UL3bn5vdFsTk7qqmp9makz1/SuVXYxIf6L6+8RXOatXWaPkmucuLE1TPOeP7S1N5JToFCs80l2D2EtxoQXGCR48K/cTUR5zV/fQ+hdIOzoo0nFn77Y8Ydd2k7/x9BE78pmoeMnw6VXYfXCuWEgj6p7jpbLoxQMoWMCVzlg72WVNhJFlSw4aD8fc6ezeECAwEAAaOCATQwggEwMBIGA1UdEwEB/wQIMAYBAf8CAQAwNQYDVR0fBC4wLDAqoCigJoYkaHR0cDovL2NybC5hZG9iZS5jb20vYWRvYmVyb290ZzIuY3JsMA4GA1UdDwEB/wQEAwIBBjAUBgNVHSUEDTALBgkqhkiG9y8BAQcwVwYDVR0gBFAwTjBMBgkqhkiG9y8BAgMwPzA9BggrBgEFBQcCARYxaHR0cHM6Ly93d3cuYWRvYmUuY29tL21pc2MvcGtpL3Byb2Rfc3ZjZV9jcHMuaHRtbDAkBgNVHREEHTAbpBkwFzEVMBMGA1UEAxMMU1lNQy00MDk2LTMzMB0GA1UdDgQWBBRXKXoyTcz+5DVOwB8kc85zU6vfajAfBgNVHSMEGDAWgBSmHOFtVCRMqI9Icr9uqYzV5Owx1DANBgkqhkiG9w0BAQsFAAOCAgEAcc7lB4ym3C3cyOA7ZV4AkoGV65UgJK+faThdyXzxuNqlTQBlOyXBGFyevlm33BsGO1mDJfozuyLyT2+7IVxWFvW5yYMV+5S1NeChMXIZnCzWNXnuiIQSdmPD82TEVCkneQpFET4NDwSxo8/ykfw6Hx8fhuKz0wjhjkWMXmK3dNZXIuYVcbynHLyJOzA+vWU3sH2T0jPtFp7FN39GZne4YG0aVMlnHhtHhxaXVCiv2RVoR4w1QtvKHQpzfPObR53Cl74iLStGVFKPwCLYRSpYRF7J6vVS/XxW4LzvN2b6VEKOcvJmN3LhpxFRl3YYzW+dwnwtbuHW6WJlmjffbLm1MxLFGlG95aCz31X8wzqYNsvb9+5AXcv8Ll69tLXmO1OtsY/3wILNUEp4VLZTE3wqm3n8hMnClZiiKyZCS7L4E0mClbx+BRSMH3eVo6jgve41/fK3FQM4QCNIkpGs7FjjLy+ptC+JyyWqcfvORrFV/GOgB5hD+G5ghJcIpeigD/lHsCRYsOa5sFdqREhwIWLmSWtNwfLZdJ3dkCc7yRpm3gal6qRfTkYpxTNxxKyvKbkaJDoxR9vtWrC3iNrQd9VvxC3TXtuzoHbqumeqgcAqefWF9u6snQ4Q9FkXzeuJArNuSvPIhgBjVtggH0w0vm/lmCQYiC/Y12GeCxfgYlL33buiZnNpZ1RzdKFpdHN0VG9rZW5zgaFjdmFsWQ41MIIOMTADAgEAMIIOKAYJKoZIhvcNAQcCoIIOGTCCDhUCAQMxDzANBglghkgBZQMEAgEFADCBggYLKoZIhvcNAQkQAQSgcwRxMG8CAQEGCWCGSAGG/WwHATAxMA0GCWCGSAFlAwQCAQUABCBT7mGq2Wx98QxOEB6fg7nT+X/irbfqBV0dhlQ0T1yGFQIQGzYNZyvHJw2wAv6tlWfT8RgPMjAyNDA0MDQwNjQwMDFaAgkA2fbqnH40JbOgggu9MIIFBzCCAu+gAwIBAgIQBR6ekdcekQq75D1c7dDd2TANBgkqhkiG9w0BAQsFADBjMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xOzA5BgNVBAMTMkRpZ2lDZXJ0IFRydXN0ZWQgRzQgUlNBNDA5NiBTSEEyNTYgVGltZVN0YW1waW5nIENBMB4XDTIzMDkwODAwMDAwMFoXDTM0MTIwNzIzNTk1OVowWDELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMTAwLgYDVQQDEydEaWdpQ2VydCBBZG9iZSBBQVRMIFRpbWVzdGFtcCBSZXNwb25kZXIwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARNLK5R+QP/tefzBZdWrDYfEPE7mzrBFX7tKpSaxdLJo7cC9SHh2fwAeyefbtU66YaNQQzfOZX02N9KzQbH0/pso4IBizCCAYcwDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwgwIAYDVR0gBBkwFzAIBgZngQwBBAIwCwYJYIZIAYb9bAcBMB8GA1UdIwQYMBaAFLoW2W1NhS9zKXaaL3WMaiCPnshvMB0GA1UdDgQWBBSwNapWwyGpi87TuLyLFiVXne804TBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkRzRSU0E0MDk2U0hBMjU2VGltZVN0YW1waW5nQ0EuY3JsMIGQBggrBgEFBQcBAQSBgzCBgDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tMFgGCCsGAQUFBzAChkxodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkRzRSU0E0MDk2U0hBMjU2VGltZVN0YW1waW5nQ0EuY3J0MA0GCSqGSIb3DQEBCwUAA4ICAQB4K4xCx4QQhFiUgskV+5bC9AvSyYG19a8lWMkjUcR5DEdi6guz0GUSYAzUfpCaKfD+b9gc6f4zK88OFOKWOq2L9yPB6RZSWuLgcFEyFIB1qYvF8XdSRBF/eDzjg4ux8knpF+tANOeQaMxW+xhlWsW9C63kE0V55K+oIDzVD1/RoftknDsZU3UEC4GW5HWL8aNwKenMva4mYo0cTmaojslksTFIYCsXis8KxVul23tGsDYTlF2cyMXOIsaSs1kiLaTyd9GYgUJ+PVNwA2E57IWzfWZEwNaR3/zaL9mVL73XZGfFGL8KPbwby0w755gAZ0TASml2ALN2Qr8PQpAzzlk3lCTBUQLZlMedqIWgN5w/GwielH6UNqRXznUocKW+hir9IPgYHHSBtixzydFH5q/l5qYGYKvxyIHtIY3AgA6Yw4Kts+AdC+MbQANTPDK1MdNocW+9dOJxSqjLr+cyU0Jd7IMKl1Mj/vcx0D/cv2eRcfwEFqzlwluenVez+HBQSZfMx6op5YZDkrWdZttvvR5avngtISdpZBdS7s0XSSW/+dS16DykZ6KRQ54Ol6aA+3husOGKQMffj9NCblKAbGEq3bLhYslskEBgQJ4yOvYIG0i3FvoScrbop2sWsFZSLSZEtnleWeF7MT4O3/NrkZHbTdIUx3iPdwjdzlnkXm5yuzCCBq4wggSWoAMCAQICEAc2N7ckVHzYR6z9KGYqXlswDQYJKoZIhvcNAQELBQAwYjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTEhMB8GA1UEAxMYRGlnaUNlcnQgVHJ1c3RlZCBSb290IEc0MB4XDTIyMDMyMzAwMDAwMFoXDTM3MDMyMjIzNTk1OVowYzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMTswOQYDVQQDEzJEaWdpQ2VydCBUcnVzdGVkIEc0IFJTQTQwOTYgU0hBMjU2IFRpbWVTdGFtcGluZyBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMaGNQZJs8E9cklRVcclA8TykTepl1Gh1tKD0Z5Mom2gsMyD+Vr2EaFEFUJfpIjzaPp985yJC3+dH54PMx9QEwsmc5Zt+FeoAn39Q7SE2hHxc7Gz7iuAhIoiGN/r2j3EF3+rGSs+QtxnjupRPfDWVtTnKC3r07G1decfBmWNlCnT2exp39mQh0YAe9tEQYncfGpXevA3eZ9drMvohGS0UvJ2R/dhgxndX7RUCyFobjchu0CsX7LeSn3O9TkSZ+8OpWNs5KbFHc02DVzV5huowWR0QKfAcsW6Th+xtVhNef7Xj3OTrCw54qVI1vCwMROpVymWJy71h6aPTnYVVSZwmCZ/oBpHIEPjQ2OAe3VuJyWQmDo4EbP29p7mO1vsgd4iFNmCKseSv6De4z6ic/rnH1pslPJSlRErWHRAKKtzQ87fSqEcazjFKfPKqpZzQmiftkaznTqj1QPgv/CiPMpC3BhIfxQ0z9JMq++bPf4OuGQq+nUoJEHtQr8FnGZJUlD0UfM2SU2LINIsVzV5K6jzRWC8I41Y99xh3pP+OcD5sjClTNfpmEpYPtMDiP6zj9NeS3YSUZPJjAw7W4oiqMEmCPkUEBIDfV8ju2TjY+Cm4T72wnSyPx4JduyrXUZ14mCjWAkBKAAOhFTuzuldyF4wEr1GnrXTdrnSDmuZDNIztM2xAgMBAAGjggFdMIIBWTASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBS6FtltTYUvcyl2mi91jGogj57IbzAfBgNVHSMEGDAWgBTs1+OC0nFdZEzfLmc/57qYrhwPTzAOBgNVHQ8BAf8EBAMCAYYwEwYDVR0lBAwwCgYIKwYBBQUHAwgwdwYIKwYBBQUHAQEEazBpMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wQQYIKwYBBQUHMAKGNWh0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRSb290RzQuY3J0MEMGA1UdHwQ8MDowOKA2oDSGMmh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRSb290RzQuY3JsMCAGA1UdIAQZMBcwCAYGZ4EMAQQCMAsGCWCGSAGG/WwHATANBgkqhkiG9w0BAQsFAAOCAgEAfVmOwJO2b5ipRCIBfmbW2CFC4bAYLhBNE88wU86/GPvHUF3iSyn7cIoNqilp/GnBzx0H6T5gyNgL5Vxb122H+oQgJTQxZ822EpZvxFBMYh0MCIKoFr2pVs8Vc40BIiXOlWk/R3f7cnQU1/+rT4osequFzUNf7WC2qk+RZp4snuCKrOX9jLxkJodskr2dfNBwCnzvqLx1T7pa96kQsl3p/yhUifDVinF2ZdrM8HKjI/rAJ4JErpknG6skHibBt94q6/aesXmZgaNWhqsKRcnfxI2g55j7+6adcq/Ex8HBanHZxhOACcS2n82HhyS7T6NJuXdmkfFynOlLAlKnN36TU6w7HQhJD5TNOXrd/yVjmScsPT9rp/Fmw0HNT7ZAmyEhQNC3EyTN3B14OuSereU0cZLXJmvkOHOrpgFPvT87eK1MrfvElXvtCl8zOYdBeHo46Zzh3SP9HSjTx/no8Zhf+yvYfvJGnXUsHicsJttvFXseGYs2uJPU5vIXmVnKcPA3v5gA3yAWTyf7YGcWoWa63VXAOimGsJigK+2VQbc61RWYMbRiCQ8KvYHZE/6/pNHzV9m8BPqC3jLfBInwAM1dwvnQI38AC+R2AibZ8GV2QqYphwlHK+Z/GqSFD/yYlvZVVCsfgPrA8g4r5db7qS9EFUrnEw4d2zc4GqEr9u3WfPwxggG3MIIBswIBATB3MGMxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjE7MDkGA1UEAxMyRGlnaUNlcnQgVHJ1c3RlZCBHNCBSU0E0MDk2IFNIQTI1NiBUaW1lU3RhbXBpbmcgQ0ECEAUenpHXHpEKu+Q9XO3Q3dkwDQYJYIZIAWUDBAIBBQCggdEwGgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMBwGCSqGSIb3DQEJBTEPFw0yNDA0MDQwNjQwMDFaMCsGCyqGSIb3DQEJEAIMMRwwGjAYMBYEFNkauTP+F63pgh6mE/WkOnFOPn59MC8GCSqGSIb3DQEJBDEiBCCoFTh50HG9ltObauIQKjWHVTy86xWNFmKzg8E3g3wG9jA3BgsqhkiG9w0BCRACLzEoMCYwJDAiBCCC2vGUlXs2hAJFj9UnAGn+YscUVvqeC4ar+CfoUyAn2TAKBggqhkjOPQQDAgRGMEQCICe/sNONcqZfhitKavruDMf+mjHia4OXfjHm9fAaDisiAiBv05KMSz0R0xRKCrO+Z1GlEjW2ihf2TXNWCbaMUYaZc2NwYWRZC+UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2WQEAOGSP8Zp7lDplBbqHgg0E7iatvy4PZCYo3qJyexPcWM7hmc4/GnUNIxDQ+RgxdbtcA5+Ba67DXXOgk4ZewfDmiwqsZZRYmTJNdtwKPmI4o+kHeF5NeellK5HiqLOoXBiyv2k8FxMXuhpz6bna8AYn6zZIwRwsV/7r7AdBdT4VfUo1OeVTYXB9U/98+b1PxaBSYoyie1IwwELLUC1ZraYlhvBg9tJcBBvLvfxgWb8/bkZe13/6hDqBt51lGuMQDAGUoDcx9UZXk+GWIWWIdu5mpXWCgZCp96klN828zuzcUe5UzLpwQ1flGZ4Co6XDl5romtBAQQaRfmT9j4YWO3D38A== + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/gen-docs/tailwind.config.js b/gen-docs/tailwind.config.js new file mode 100644 index 00000000..6dd4583e --- /dev/null +++ b/gen-docs/tailwind.config.js @@ -0,0 +1,7 @@ +module.exports = { + content: ['./src/components/**/*.{ts,tsx}'], + theme: { + extend: {}, + }, + plugins: [], +}; diff --git a/gen-docs/tsconfig.json b/gen-docs/tsconfig.json new file mode 100644 index 00000000..314eab8a --- /dev/null +++ b/gen-docs/tsconfig.json @@ -0,0 +1,7 @@ +{ + // This file is not used in compilation. It is here just for a nice editor experience. + "extends": "@docusaurus/tsconfig", + "compilerOptions": { + "baseUrl": "." + } +} From d03c77321b06c768a2e8f6fa8cbf47bd7ece9c4b Mon Sep 17 00:00:00 2001 From: Fallenbagel <98979876+Fallenbagel@users.noreply.github.com> Date: Sun, 30 Jun 2024 03:53:13 +0500 Subject: [PATCH 04/51] ci: attempt to fix docs deployment (#850) * chore(gen-docs): add trailing slash as false and remove deployment branch definition * ci(docs): update the download artifact version --- .github/workflows/docs-deploy.yml | 8 ++++---- gen-docs/docusaurus.config.ts | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/docs-deploy.yml b/.github/workflows/docs-deploy.yml index ed4438be..88a60fdf 100644 --- a/.github/workflows/docs-deploy.yml +++ b/.github/workflows/docs-deploy.yml @@ -26,7 +26,7 @@ jobs: uses: pnpm/action-setup@v4 with: version: 9 - + - name: Get pnpm store directory shell: sh run: | @@ -42,7 +42,7 @@ jobs: - name: Install dependencies run: | - cd gen-docs + cd gen-docs pnpm install --frozen-lockfile - name: Build website @@ -72,10 +72,10 @@ jobs: runs-on: ubuntu-latest steps: - name: Download Build Artifact - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v4 with: name: docusaurus-build - path: gen-docs/build + path: gen-docs/build - name: Deploy to GitHub Pages id: deployment diff --git a/gen-docs/docusaurus.config.ts b/gen-docs/docusaurus.config.ts index e10e6d56..7df71156 100644 --- a/gen-docs/docusaurus.config.ts +++ b/gen-docs/docusaurus.config.ts @@ -9,10 +9,10 @@ const config: Config = { url: 'https://docs.jellyseerr.dev', baseUrl: '/', + trailingSlash: false, organizationName: 'Fallenbagel', projectName: 'Jellyseerr', - deploymentBranch: 'docs', onBrokenLinks: 'throw', onBrokenMarkdownLinks: 'warn', From 2109cf88411d91505fdcb826baa8646231b337da Mon Sep 17 00:00:00 2001 From: Fallenbagel <98979876+Fallenbagel@users.noreply.github.com> Date: Sun, 30 Jun 2024 04:03:30 +0500 Subject: [PATCH 05/51] ci(docs): fix github doc deployment (#851) --- .github/workflows/docs-deploy.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/docs-deploy.yml b/.github/workflows/docs-deploy.yml index 88a60fdf..3f550134 100644 --- a/.github/workflows/docs-deploy.yml +++ b/.github/workflows/docs-deploy.yml @@ -71,11 +71,11 @@ jobs: runs-on: ubuntu-latest steps: - - name: Download Build Artifact - uses: actions/download-artifact@v4 - with: - name: docusaurus-build - path: gen-docs/build + # - name: Download Build Artifact + # uses: actions/download-artifact@v4 + # with: + # name: docusaurus-build + # path: gen-docs/build - name: Deploy to GitHub Pages id: deployment From f2d6987e53b4b6e703dc2bd663ac5b40ab6b63d0 Mon Sep 17 00:00:00 2001 From: Fallenbagel <98979876+Fallenbagel@users.noreply.github.com> Date: Sun, 30 Jun 2024 04:07:18 +0500 Subject: [PATCH 06/51] docs: update gen-docs readme to trigger gh pages deployment (#852) --- gen-docs/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gen-docs/README.md b/gen-docs/README.md index 80ec022d..4c007ab0 100644 --- a/gen-docs/README.md +++ b/gen-docs/README.md @@ -2,6 +2,8 @@ Jellyseerr docs is built using [Docusaurus](https://docusaurus.io/), a modern static website generator. +Jellyseerr docs will be available at [docs.jellyseerr.com](https://docs.jellyseerr.dev). + ### Installation ``` From 73890ac8023a86f74f2a54b04f4777cbfae851fa Mon Sep 17 00:00:00 2001 From: Fallenbagel <98979876+Fallenbagel@users.noreply.github.com> Date: Sun, 30 Jun 2024 04:31:40 +0500 Subject: [PATCH 07/51] chore(gen-docs): set deploymentBranch for the docs (#853) --- gen-docs/docusaurus.config.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/gen-docs/docusaurus.config.ts b/gen-docs/docusaurus.config.ts index 7df71156..5d9902a2 100644 --- a/gen-docs/docusaurus.config.ts +++ b/gen-docs/docusaurus.config.ts @@ -13,6 +13,7 @@ const config: Config = { organizationName: 'Fallenbagel', projectName: 'Jellyseerr', + deploymentBranch: 'gh-pages', onBrokenLinks: 'throw', onBrokenMarkdownLinks: 'warn', From 31472009ab0e024e17c45bbf02b8b0850ccea7a7 Mon Sep 17 00:00:00 2001 From: fallenbagel <98979876+Fallenbagel@users.noreply.github.com> Date: Sun, 30 Jun 2024 05:06:59 +0500 Subject: [PATCH 08/51] ci: attempt to fix docs deployment --- .github/workflows/docs-deploy.yml | 1 + gen-docs/docusaurus.config.ts | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs-deploy.yml b/.github/workflows/docs-deploy.yml index 3f550134..6d9adb8a 100644 --- a/.github/workflows/docs-deploy.yml +++ b/.github/workflows/docs-deploy.yml @@ -58,6 +58,7 @@ jobs: deploy: name: Deploy to GitHub Pages needs: build + concurrency: build-deploy-pages # Grant GITHUB_TOKEN the permissions required to make a Pages deployment permissions: diff --git a/gen-docs/docusaurus.config.ts b/gen-docs/docusaurus.config.ts index 5d9902a2..1aed7043 100644 --- a/gen-docs/docusaurus.config.ts +++ b/gen-docs/docusaurus.config.ts @@ -58,7 +58,6 @@ const config: Config = { ], themeConfig: { - image: 'img/docusaurus-social-card.jpg', colorMode: { defaultMode: 'dark', disableSwitch: true, From 3f7c01853ce11bba284e2bc282937e4eee62a7e4 Mon Sep 17 00:00:00 2001 From: fallenbagel <98979876+Fallenbagel@users.noreply.github.com> Date: Sun, 30 Jun 2024 05:19:34 +0500 Subject: [PATCH 09/51] docs: rename the labels --- docs/extending-jellyseerr/reverse-proxy.mdx | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/extending-jellyseerr/reverse-proxy.mdx b/docs/extending-jellyseerr/reverse-proxy.mdx index bdb84a7d..82bd8a20 100644 --- a/docs/extending-jellyseerr/reverse-proxy.mdx +++ b/docs/extending-jellyseerr/reverse-proxy.mdx @@ -63,9 +63,9 @@ sudo ln -s /etc/nginx/sites-available/jellyseerr.example.com.conf /etc/nginx/sit :::warning -This Nginx subfolder reverse proxy is an unsupported workaround, and only provided as an example. The filters may stop working when Overseerr is updated. +This Nginx subfolder reverse proxy is an unsupported workaround, and only provided as an example. The filters may stop working when Jellyseerr is updated. -If you encounter any issues with Overseerr while using this workaround, we may ask you to try to reproduce the problem without the Nginx proxy. +If you encounter any issues with Jellyseerr while using this workaround, we may ask you to try to reproduce the problem without the Nginx proxy. ::: Add the following location block to your existing `nginx.conf` file. @@ -146,9 +146,9 @@ Add a new proxy host with the following settings: ### Details -- **Domain Names:** Your desired external Overseerr hostname; e.g., `overseerr.example.com` +- **Domain Names:** Your desired external Jellyseerr hostname; e.g., `jellyseerr.example.com` - **Scheme:** `http` -- **Forward Hostname / IP:** Internal Overseerr hostname or IP +- **Forward Hostname / IP:** Internal Jellyseerr hostname or IP - **Forward Port:** `5055` - **Cache Assets:** yes - **Block Common Exploits:** yes @@ -190,18 +190,18 @@ Caddy will automatically obtain and renew SSL certificates for your domain. ## Traefik (v2) -Add the following labels to the Overseerr service in your `docker-compose.yml` file: +Add the following labels to the Jellyseerr service in your `docker-compose.yml` file: ```yaml labels: - 'traefik.enable=true' ## HTTP Routers - - 'traefik.http.routers.overseerr-rtr.entrypoints=https' - - 'traefik.http.routers.overseerr-rtr.rule=Host(`overseerr.domain.com`)' - - 'traefik.http.routers.overseerr-rtr.tls=true' + - 'traefik.http.routers.jellyseerr-rtr.entrypoints=https' + - 'traefik.http.routers.jellyseerr-rtr.rule=Host(`jellyseerr.domain.com`)' + - 'traefik.http.routers.jellyseerr-rtr.tls=true' ## HTTP Services - - 'traefik.http.routers.overseerr-rtr.service=overseerr-svc' - - 'traefik.http.services.overseerr-svc.loadbalancer.server.port=5055' + - 'traefik.http.routers.jellyseerr-rtr.service=jellyseerr-svc' + - 'traefik.http.services.jellyseerr-svc.loadbalancer.server.port=5055' ``` For more information, please refer to the [Traefik documentation](https://doc.traefik.io/traefik/user-guides/docker-compose/basic-example/). From 8dde04396db9ef9590295a232cde2ef1bae104f2 Mon Sep 17 00:00:00 2001 From: fallenbagel <98979876+Fallenbagel@users.noreply.github.com> Date: Sun, 30 Jun 2024 05:30:38 +0500 Subject: [PATCH 10/51] docs: rename labels to jellyseerr --- docs/using-jellyseerr/users/adding-users.mdx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/using-jellyseerr/users/adding-users.mdx b/docs/using-jellyseerr/users/adding-users.mdx index 43324991..15e97b64 100644 --- a/docs/using-jellyseerr/users/adding-users.mdx +++ b/docs/using-jellyseerr/users/adding-users.mdx @@ -6,7 +6,7 @@ sidebar_position: 2 # Adding Users -There are currently two methods to add users to Overseerr: importing Plex users and creating "local users." All new users are created with the [default permissions](/using-jellyseerr/settings/users#default-permissions) defined in **Settings → Users**. +There are currently two methods to add users to Jellyseerr: importing Mediaserver users and creating "local users." All new users are created with the [default permissions](/using-jellyseerr/settings/users#default-permissions) defined in **Settings → Users**. ### Importing Mediaserver Users @@ -25,9 +25,9 @@ To disable new Jellyfin sign-ins, navigate to **Settings → Users** and unch - Clicking the **Import Emby Users** button on the **User List** page will fetch the list of users with access to the Emby server and add them to Overseerr automatically. + Clicking the **Import Emby Users** button on the **User List** page will fetch the list of users with access to the Emby server and add them to Jellyseerr automatically. - Importing Emby users is not required, however. Any user with access to the Emby server can log in to Overseerr even if they have not been imported, and will be assigned the configured [default permissions](/using-jellyseerr/settings/users#default-permissions) upon their first login. + Importing Emby users is not required, however. Any user with access to the Emby server can log in to Jellyseerr even if they have not been imported, and will be assigned the configured [default permissions](/using-jellyseerr/settings/users#default-permissions) upon their first login. :::tip To disable new Emby sign-ins, navigate to **Settings → Users** and uncheck the [**Enable New Emby Sign-In**](/using-jellyseerr/settings/users#enable-new-jellyfinembyplex-sign-in) box. @@ -36,9 +36,9 @@ To disable new Emby sign-ins, navigate to **Settings → Users** and uncheck - Clicking the **Import Plex Users** button on the **User List** page will fetch the list of users with access to the Plex server from [plex.tv](https://www.plex.tv/), and add them to Overseerr automatically. + Clicking the **Import Plex Users** button on the **User List** page will fetch the list of users with access to the Plex server from [plex.tv](https://www.plex.tv/), and add them to Jellyseerr automatically. - Importing Plex users is not required, however. Any user with access to the Plex server can log in to Overseerr even if they have not been imported, and will be assigned the configured [default permissions](/using-jellyseerr/settings/users#default-permissions) upon their first login. + Importing Plex users is not required, however. Any user with access to the Plex server can log in to Jellyseerr even if they have not been imported, and will be assigned the configured [default permissions](/using-jellyseerr/settings/users#default-permissions) upon their first login. :::tip To disable new Plex sign-ins, navigate to **Settings → Users** and uncheck the [**Enable New Plex Sign-In**](/using-jellyseerr/settings/users#enable-new-jellyfinembyplex-sign-in) box. @@ -49,7 +49,7 @@ To disable new Plex sign-ins, navigate to **Settings → Users** and uncheck ### Creating Local Users -If you would like to grant Overseerr access to a user who doesn't have their own Plex account and/or access to the Plex server, you can manually add them by clicking the **Create Local User** button. +If you would like to grant Jellyseerr access to a user who doesn't have their own Plex account and/or access to the Plex server, you can manually add them by clicking the **Create Local User** button. #### Email Address @@ -57,7 +57,7 @@ Enter a valid email address at which the user can receive messages pertaining to #### Automatically Generate Password -If an [application URL](/using-jellyseerr/settings/general#application-url) is set and [email notifications](/using-jellyseerr/notifications/email) have been configured and enabled, Overseerr can automatically generate a password for the new user. +If an [application URL](/using-jellyseerr/settings/general#application-url) is set and [email notifications](/using-jellyseerr/notifications/email) have been configured and enabled, Jellyseerr can automatically generate a password for the new user. #### Password From 5428b19c62774c30dfb87e3a932da6bb24634699 Mon Sep 17 00:00:00 2001 From: fallenbagel <98979876+Fallenbagel@users.noreply.github.com> Date: Sun, 30 Jun 2024 05:47:31 +0500 Subject: [PATCH 11/51] docs: rename missed labels to jellyseerr --- docs/using-jellyseerr/settings/general.md | 6 +++--- docs/using-jellyseerr/settings/users.md | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/using-jellyseerr/settings/general.md b/docs/using-jellyseerr/settings/general.md index 3caf409a..9cec9b9f 100644 --- a/docs/using-jellyseerr/settings/general.md +++ b/docs/using-jellyseerr/settings/general.md @@ -18,13 +18,13 @@ If you aren't a huge fan of the name "Jellyseerr" and would like to display some ## Application URL -Set this to the externally-accessible URL of your Overseerr instance. +Set this to the externally-accessible URL of your Jellyseerr instance. You must configure this setting in order to enable password reset and generation emails. ## Enable Proxy Support -If you have Overseerr behind a reverse proxy, enable this setting to allow Overseerr to correctly register client IP addresses. For details, please see the [Express Documentation](https://expressjs.com/en/guide/behind-proxies.html). +If you have Jellyseerr behind a reverse proxy, enable this setting to allow Jellyseerr to correctly register client IP addresses. For details, please see the [Express Documentation](https://expressjs.com/en/guide/behind-proxies.html). This setting is **disabled** by default. @@ -40,7 +40,7 @@ If you do not use Jellyseerr integrations with third-party applications to add/m One caveat, however, is that HTTPS is required, meaning that once this setting is enabled, you will no longer be able to access your Jellyseerr instance over _HTTP_ (including using an IP address and port number). -If you enable this setting and find yourself unable to access Overseerr, you can disable the setting by modifying `settings.json` in `/app/config`. +If you enable this setting and find yourself unable to access Jellyseerr, you can disable the setting by modifying `settings.json` in `/app/config`. This setting is **disabled** by default. diff --git a/docs/using-jellyseerr/settings/users.md b/docs/using-jellyseerr/settings/users.md index aa4c3eb1..ebe547ef 100644 --- a/docs/using-jellyseerr/settings/users.md +++ b/docs/using-jellyseerr/settings/users.md @@ -16,7 +16,7 @@ This setting is **enabled** by default. ## Enable New Jellyfin/Emby/Plex Sign-In -When enabled, users with access to your media server will be able to sign in to Overseerr even if they have not yet been imported. Users will be automatically assigned the permissions configured in the [Default Permissions](#default-permissions) setting upon first sign-in. +When enabled, users with access to your media server will be able to sign in to Jellyseerr even if they have not yet been imported. Users will be automatically assigned the permissions configured in the [Default Permissions](#default-permissions) setting upon first sign-in. This setting is **enabled** by default. From df2f05f12982c0dec478305f0c79052c4a60f83b Mon Sep 17 00:00:00 2001 From: Fallenbagel <98979876+Fallenbagel@users.noreply.github.com> Date: Sun, 30 Jun 2024 05:48:42 +0500 Subject: [PATCH 12/51] docs(readme): fix issues in readme, contributing guide (#854) * docs(readme): fix formatting in the getting started section * docs: proper contributing instructions & fix docs website url --- CONTRIBUTING.md | 16 ++++++++-------- README.md | 1 + gen-docs/README.md | 2 +- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5b403206..c5f768c2 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -7,9 +7,9 @@ All help is welcome and greatly appreciated! If you would like to contribute to ### Tools Required - HTML/Typescript/Javascript editor - - [VSCode](https://code.visualstudio.com/) is recommended. Upon opening the project, a few extensions will be automatically recommended for install. -- [NodeJS](https://nodejs.org/en/download/) (Node 14.x or higher) -- [Yarn](https://yarnpkg.com/) +- [VSCode](https://code.visualstudio.com/) is recommended. Upon opening the project, a few extensions will be automatically recommended for install. +- [NodeJS](https://nodejs.org/en/download/) (Node 20.x) +- [Pnpm](https://pnpm.io/cli/install) - [Git](https://git-scm.com/downloads) ### Getting Started @@ -18,7 +18,7 @@ All help is welcome and greatly appreciated! If you would like to contribute to ```bash git clone https://github.com/YOUR_USERNAME/jellyseerr.git - cd overseerr/ + cd jellyseerr/ ``` 2. Add the remote `upstream`: @@ -48,8 +48,8 @@ All help is welcome and greatly appreciated! If you would like to contribute to 4. Run the development environment: ```bash - yarn - yarn dev + pnpm + pnpm dev ``` - Alternatively, you can use [Docker](https://www.docker.com/) with `docker-compose up -d`. This method does not require installing NodeJS or Yarn on your machine directly. @@ -93,7 +93,7 @@ When adding new UI text, please try to adhere to the following guidelines: 8. If an additional description or "tip" is required for a form field, it should be styled using the global CSS class `label-tip`. 9. In full sentences, abbreviations like "info" or "auto" should not be used in place of full words, unless referencing the name/label of a specific setting or option which has an abbreviation in its name. 10. Do your best to check for spelling errors and grammatical mistakes. -11. Do not misspell "Overseerr." +11. Do not misspell "Jellyseerr." ## Translation @@ -103,4 +103,4 @@ We use [Weblate](https://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-f ## Attribution -This contribution guide was inspired by the [Next.js](https://github.com/vercel/next.js) and [Radarr](https://github.com/Radarr/Radarr) contribution guides. +This contribution guide was inspired by the [Next.js](https://github.com/vercel/next.js), [Radarr](https://github.com/Radarr/Radarr), and [Overseerr](https://github.com/sct/Overseerr) contribution guides. diff --git a/README.md b/README.md index 1bf63bb1..ed35c97b 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,7 @@ With more features on the way! Check out our [issue tracker](https://github.com/ ## Getting Started Check out our documentation for instructions on how to install and run Jellyseerr: + https://docs.jellyseerr.dev/getting-started/ ### Packages: diff --git a/gen-docs/README.md b/gen-docs/README.md index 4c007ab0..231d9a3e 100644 --- a/gen-docs/README.md +++ b/gen-docs/README.md @@ -2,7 +2,7 @@ Jellyseerr docs is built using [Docusaurus](https://docusaurus.io/), a modern static website generator. -Jellyseerr docs will be available at [docs.jellyseerr.com](https://docs.jellyseerr.dev). +Jellyseerr docs will be available at [docs.jellyseerr.dev](https://docs.jellyseerr.dev). ### Installation From 31ca32df99f26dd9aa3953a6a7807da5392be4c0 Mon Sep 17 00:00:00 2001 From: Fallenbagel <98979876+Fallenbagel@users.noreply.github.com> Date: Sun, 30 Jun 2024 05:51:16 +0500 Subject: [PATCH 13/51] docs: update to the latest build/i18n extract instructions (#855) --- .github/PULL_REQUEST_TEMPLATE.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index d8187ecf..35464dc0 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -4,8 +4,8 @@ #### To-Dos -- [ ] Successful build `yarn build` -- [ ] Translation keys `yarn i18n:extract` +- [ ] Successful build `pnpm build` +- [ ] Translation keys `pnpm i18n:extract` - [ ] Database migration (if required) #### Issues Fixed or Closed From 9dd175bb2e9c919cc3c7c191324f3724c11c9eed Mon Sep 17 00:00:00 2001 From: Fallenbagel <98979876+Fallenbagel@users.noreply.github.com> Date: Sat, 6 Jul 2024 05:45:46 +0500 Subject: [PATCH 14/51] docs: add querystring support & admonitions to docker page (#860) * docs: add querystring support to docker methods * docs: add query string support to the rest of the tabs * docs: add admonition for named volumes and emby variable --- docs/extending-jellyseerr/reverse-proxy.mdx | 2 +- docs/getting-started/aur.mdx | 2 +- docs/getting-started/buildfromsource.mdx | 10 +++++----- docs/getting-started/docker.mdx | 18 +++++++++++++++--- docs/using-jellyseerr/settings/mediaserver.mdx | 6 +++--- docs/using-jellyseerr/users/adding-users.mdx | 2 +- 6 files changed, 26 insertions(+), 14 deletions(-) diff --git a/docs/extending-jellyseerr/reverse-proxy.mdx b/docs/extending-jellyseerr/reverse-proxy.mdx index 82bd8a20..1ac36545 100644 --- a/docs/extending-jellyseerr/reverse-proxy.mdx +++ b/docs/extending-jellyseerr/reverse-proxy.mdx @@ -17,7 +17,7 @@ A Nginx subfolder workaround configuration is provided below, but it is not offi import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; - + Add the following configuration to a new file `/etc/nginx/sites-available/jellyseerr.example.com.conf`: diff --git a/docs/getting-started/aur.mdx b/docs/getting-started/aur.mdx index 1ee49eb0..a67a0b24 100644 --- a/docs/getting-started/aur.mdx +++ b/docs/getting-started/aur.mdx @@ -17,7 +17,7 @@ To install Jellyseerr from the AUR, you can use an AUR helper like `yay` or `par import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; - + ```bash yay -S jellyseerr diff --git a/docs/getting-started/buildfromsource.mdx b/docs/getting-started/buildfromsource.mdx index d0d470b0..a7b19282 100644 --- a/docs/getting-started/buildfromsource.mdx +++ b/docs/getting-started/buildfromsource.mdx @@ -12,7 +12,7 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; ### Prerequisites - + - [Node.js 18.x](https://nodejs.org/en/download/) - [Yarn 1.x](https://classic.yarnpkg.com/lang/en/docs/install) @@ -29,7 +29,7 @@ import TabItem from '@theme/TabItem'; ## Unix (Linux, macOS) ### Installation - + 1. Assuming you want the working directory to be `/opt/jellyseerr`, create the directory and navigate to it: ```bash @@ -85,7 +85,7 @@ You can now access Jellyseerr by visiting `http://localhost:5055` in your web br ::: #### Extending the installation - + To run jellyseerr as a systemd service: 1. create the environment file at `/etc/jellyseerr/jellyseerr.conf`: @@ -231,7 +231,7 @@ pm2 status jellyseerr ## Windows ### Installation - + 1. Assuming you want the working directory to be `C:\jellyseerr`, create the directory and navigate to it: ```powershell @@ -291,7 +291,7 @@ You can now access Jellyseerr by visiting `http://localhost:5055` in your web br ::: #### Extending the installation - + To run jellyseerr as a bat script: 1. Create a file named `start-jellyseerr.bat` in the jellyseerr directory: diff --git a/docs/getting-started/docker.mdx b/docs/getting-started/docker.mdx index 79481625..bd96c948 100644 --- a/docs/getting-started/docker.mdx +++ b/docs/getting-started/docker.mdx @@ -20,7 +20,7 @@ Be sure to replace `/path/to/appdata/config` in the below examples with a valid import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; - + For details on the Docker CLI, please [review the official `docker run` documentation](https://docs.docker.com/engine/reference/run/). @@ -37,6 +37,9 @@ docker run -d \ --restart unless-stopped \ fallenbagel/jellyseerr ``` +:::info +If you are using emby, make sure to set the `JELLYFIN_TYPE` environment variable to `emby`. +::: To run the container as a specific user/group, you may optionally add `--user=[ user | user:group | uid | uid:gid | user:gid | uid:group ]` to the above command. @@ -83,6 +86,10 @@ services: - /path/to/appdata/config:/app/config restart: unless-stopped ``` +:::info +If you are using emby, make sure to set the `JELLYFIN_TYPE` environment variable to `emby`. +::: + Then, start all services defined in the Compose file: ```bash docker-compose up -d @@ -97,7 +104,6 @@ Then, restart all services defined in the Compose file: ```bash docker-compose up -d ``` - :::tip You may alternatively use a third-party mechanism like [dockge](https://github.com/louislam/dockge) to manage your docker compose files. ::: @@ -133,7 +139,7 @@ or the Docker Desktop app: 4. Enter a name for the volume (example: `jellyseerr-data`) and hit "Create" Then, create and start the Jellyseerr container: - + ```bash docker run -d --name jellyseerr -e LOG_LEVEL=debug -e TZ=Asia/Tashkent -p 5055:5055 -v "jellyseerr-data:/app/config" --restart unless-stopped fallenbagel/jellyseerr:latest @@ -179,6 +185,12 @@ volumes: +:::tip +If you are using a named volume, then you can safely **ignore** the warning about the `/app/config` folder being incorrectly mounted. + +If you are using emby, make sure to set the `JELLYFIN_TYPE` environment variable to `emby`. +::: + To access the files inside the volume created above, navigate to `\\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes\jellyseerr-data\_data` using File Explorer. :::info diff --git a/docs/using-jellyseerr/settings/mediaserver.mdx b/docs/using-jellyseerr/settings/mediaserver.mdx index b7a205d1..fff35a5e 100644 --- a/docs/using-jellyseerr/settings/mediaserver.mdx +++ b/docs/using-jellyseerr/settings/mediaserver.mdx @@ -9,7 +9,7 @@ sidebar_position: 3 import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; - + :::info To set up Jellyfin, make sure you log in using an account with administrative privileges. @@ -32,7 +32,7 @@ Jellyseerr will perform a full scan of your Jellyfin libraries once every 24 hou This section is where you configure the connection to your Jellyfin server. - + #### Internal URL @@ -126,7 +126,7 @@ Jellyseerr will perform a full scan of your Emby libraries once every 24 hours ( This section is where you configure the connection to your Emby server. - + #### Internal URL diff --git a/docs/using-jellyseerr/users/adding-users.mdx b/docs/using-jellyseerr/users/adding-users.mdx index 15e97b64..a3cdf29b 100644 --- a/docs/using-jellyseerr/users/adding-users.mdx +++ b/docs/using-jellyseerr/users/adding-users.mdx @@ -13,7 +13,7 @@ There are currently two methods to add users to Jellyseerr: importing Mediaserve import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; - + Clicking the **Import Jellyfin Users** button on the **User List** page will fetch the list of users with access to the Jellyfin server and add them to Jellyseerr automatically. From 316c31bd069f64c1f3ac1c042e8d88a7bf05fdbc Mon Sep 17 00:00:00 2001 From: Fallenbagel <98979876+Fallenbagel@users.noreply.github.com> Date: Sat, 6 Jul 2024 06:14:40 +0500 Subject: [PATCH 15/51] docs: remove docker desktop container creation tab (#861) --- docs/getting-started/docker.mdx | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/docs/getting-started/docker.mdx b/docs/getting-started/docker.mdx index bd96c948..4001acd2 100644 --- a/docs/getting-started/docker.mdx +++ b/docs/getting-started/docker.mdx @@ -167,22 +167,6 @@ volumes: external: true ``` - - -1. Open the Docker Desktop app -2. Head to the Containers/Apps tab -3. Click on the "Add Container/App" button near the top right -4. Fill in the container details: - - **Name**: `jellyseerr` - - **Image**: `fallenbagel/jellyseerr:latest` - - **Port**: `5055:5055` - - **Volume**: `jellyseerr-data:/app/config` - - **Environment Variables**: - - **LOG_LEVEL**: `debug` - - **TZ**: `Asia/Tashkent` - - **Restart Policy**: `unless-stopped` -5. Click on the "Run" button - :::tip From f201fee1ff2eefe0e161d4ef18a0a9c2863aa0b8 Mon Sep 17 00:00:00 2001 From: Fallenbagel <98979876+Fallenbagel@users.noreply.github.com> Date: Sat, 6 Jul 2024 06:23:37 +0500 Subject: [PATCH 16/51] refactor: changes the docs link to jellyseerr docs link in about page (#862) --- src/components/Settings/SettingsAbout/index.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/Settings/SettingsAbout/index.tsx b/src/components/Settings/SettingsAbout/index.tsx index 194e89a1..7b23cb6b 100644 --- a/src/components/Settings/SettingsAbout/index.tsx +++ b/src/components/Settings/SettingsAbout/index.tsx @@ -159,12 +159,12 @@ const SettingsAbout = () => { - https://docs.overseerr.dev + https://docs.jellyseerr.dev From 7a826a13083b9adc21861873d0b7858ab9adb404 Mon Sep 17 00:00:00 2001 From: Fallenbagel <98979876+Fallenbagel@users.noreply.github.com> Date: Sat, 6 Jul 2024 06:29:26 +0500 Subject: [PATCH 17/51] docs: add better env variable instructions (#863) --- docs/getting-started/docker.mdx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/docs/getting-started/docker.mdx b/docs/getting-started/docker.mdx index 4001acd2..7ce04baf 100644 --- a/docs/getting-started/docker.mdx +++ b/docs/getting-started/docker.mdx @@ -37,8 +37,11 @@ docker run -d \ --restart unless-stopped \ fallenbagel/jellyseerr ``` -:::info +:::tip If you are using emby, make sure to set the `JELLYFIN_TYPE` environment variable to `emby`. +```bash +-e JELLYFIN_TYPE=emby +``` ::: To run the container as a specific user/group, you may optionally add `--user=[ user | user:group | uid | uid:gid | user:gid | uid:group ]` to the above command. @@ -86,8 +89,12 @@ services: - /path/to/appdata/config:/app/config restart: unless-stopped ``` -:::info +:::tip If you are using emby, make sure to set the `JELLYFIN_TYPE` environment variable to `emby`. +```yaml + environment: + - JELLYFIN_TYPE=emby +``` ::: Then, start all services defined in the Compose file: From ae955e9e7c02b58b2d8b077886f707bd8134ac07 Mon Sep 17 00:00:00 2001 From: Fallenbagel <98979876+Fallenbagel@users.noreply.github.com> Date: Sat, 6 Jul 2024 06:34:00 +0500 Subject: [PATCH 18/51] docs: remove code block from admonition (#864) --- docs/getting-started/docker.mdx | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/docs/getting-started/docker.mdx b/docs/getting-started/docker.mdx index 7ce04baf..3d8d690c 100644 --- a/docs/getting-started/docker.mdx +++ b/docs/getting-started/docker.mdx @@ -39,9 +39,8 @@ docker run -d \ ``` :::tip If you are using emby, make sure to set the `JELLYFIN_TYPE` environment variable to `emby`. -```bash --e JELLYFIN_TYPE=emby -``` + +`-e JELLYFIN_TYPE=emby` ::: To run the container as a specific user/group, you may optionally add `--user=[ user | user:group | uid | uid:gid | user:gid | uid:group ]` to the above command. @@ -91,10 +90,6 @@ services: ``` :::tip If you are using emby, make sure to set the `JELLYFIN_TYPE` environment variable to `emby`. -```yaml - environment: - - JELLYFIN_TYPE=emby -``` ::: Then, start all services defined in the Compose file: From b36bb3fa5819392869d01c90c5ea45acc341cb4e Mon Sep 17 00:00:00 2001 From: Gauthier Date: Sun, 14 Jul 2024 19:04:36 +0200 Subject: [PATCH 19/51] refactor: switch from Axios for Fetch API (#840) * refactor: switch ExternalAPI to Fetch API * fix: add missing auth token in Plex request * fix: send proper URL params * ci: try to fix format checker * ci: ci: try to fix format checker * ci: try to fix format checker * refactor: make tautulli use the ExternalAPI class * refactor: add rate limit to fetch api * refactor: add rate limit to fetch api * refactor: switch server from axios to fetch api * refactor: switch frontend from axios to fetch api * fix: switch from URL objects to strings * fix: use the right search params for ExternalAPI * fix: better log for ExternalAPI errors * feat: add retry to external API requests * fix: try to fix network errors with IPv6 * fix: imageProxy rate limit * revert: remove retry to external API requests * feat: set IPv4 first as an option * fix(jellyfinapi): add missing argument in JellyfinAPI constructor * refactor: clean the rate limit utility --- .prettierignore | 1 + .prettierrc.js | 6 + docs/getting-started/buildfromsource.mdx | 7 +- next.config.js | 1 + package.json | 4 +- pnpm-lock.yaml | 12799 ++++------------ server/api/animelist.ts | 22 +- server/api/externalapi.ts | 218 +- server/api/github.ts | 16 +- server/api/jellyfin.ts | 28 +- server/api/plextv.ts | 99 +- server/api/pushover.ts | 17 +- server/api/rating/imdbRadarrProxy.ts | 14 +- server/api/rating/rottentomatoes.ts | 5 +- server/api/servarr/base.ts | 27 +- server/api/servarr/radarr.ts | 48 +- server/api/servarr/sonarr.ts | 108 +- server/api/tautulli.ts | 83 +- server/api/themoviedb/index.ts | 301 +- server/index.ts | 9 +- server/lib/imageproxy.ts | 34 +- server/lib/notifications/agents/discord.ts | 23 +- server/lib/notifications/agents/gotify.ts | 9 +- server/lib/notifications/agents/lunasea.ts | 24 +- server/lib/notifications/agents/pushbullet.ts | 31 +- server/lib/notifications/agents/pushover.ts | 63 +- server/lib/notifications/agents/slack.ts | 12 +- server/lib/notifications/agents/telegram.ts | 51 +- server/lib/notifications/agents/webhook.ts | 22 +- server/lib/scanners/jellyfin/index.ts | 4 +- server/lib/settings/index.ts | 6 + server/routes/imageproxy.ts | 1 - server/routes/settings/index.ts | 1 + server/routes/user/index.ts | 1 + server/utils/rateLimit.ts | 73 + .../Discover/CreateSlider/index.tsx | 90 +- .../Discover/DiscoverSliderEdit/index.tsx | 6 +- src/components/Discover/index.tsx | 15 +- .../IssueDetails/IssueComment/index.tsx | 17 +- src/components/IssueDetails/index.tsx | 32 +- .../IssueModal/CreateIssueModal/index.tsx | 22 +- src/components/Layout/UserDropdown/index.tsx | 9 +- src/components/Login/AddEmailModal.tsx | 13 +- src/components/Login/JellyfinLogin.tsx | 39 +- src/components/Login/LocalLogin.tsx | 14 +- src/components/Login/index.tsx | 10 +- src/components/ManageSlideOver/index.tsx | 29 +- src/components/RequestBlock/index.tsx | 11 +- src/components/RequestButton/index.tsx | 15 +- src/components/RequestCard/index.tsx | 27 +- .../RequestList/RequestItem/index.tsx | 26 +- .../RequestModal/CollectionRequestModal.tsx | 18 +- .../RequestModal/MovieRequestModal.tsx | 57 +- .../RequestModal/TvRequestModal.tsx | 71 +- .../ResetPassword/RequestResetLink.tsx | 17 +- src/components/ResetPassword/index.tsx | 14 +- src/components/Selector/index.tsx | 67 +- src/components/ServiceWorkerSetup/index.tsx | 16 +- .../Notifications/NotificationsDiscord.tsx | 54 +- .../Notifications/NotificationsEmail.tsx | 82 +- .../NotificationsGotify/index.tsx | 46 +- .../NotificationsLunaSea/index.tsx | 46 +- .../NotificationsPushbullet/index.tsx | 46 +- .../NotificationsPushover/index.tsx | 49 +- .../NotificationsSlack/index.tsx | 42 +- .../Notifications/NotificationsTelegram.tsx | 54 +- .../NotificationsWebPush/index.tsx | 32 +- .../NotificationsWebhook/index.tsx | 51 +- src/components/Settings/RadarrModal/index.tsx | 39 +- src/components/Settings/SettingsJellyfin.tsx | 75 +- .../Settings/SettingsJobsCache/index.tsx | 27 +- .../Settings/SettingsMain/index.tsx | 35 +- src/components/Settings/SettingsPlex.tsx | 110 +- src/components/Settings/SettingsServices.tsx | 10 +- .../Settings/SettingsUsers/index.tsx | 34 +- src/components/Settings/SonarrModal/index.tsx | 39 +- src/components/Setup/LoginWithPlex.tsx | 15 +- src/components/Setup/SetupLogin.tsx | 15 +- src/components/Setup/index.tsx | 25 +- src/components/TitleCard/ErrorCard.tsx | 10 +- src/components/TitleCard/index.tsx | 27 +- src/components/UserList/BulkEditModal.tsx | 15 +- .../UserList/JellyfinImportModal.tsx | 16 +- src/components/UserList/PlexImportModal.tsx | 16 +- src/components/UserList/index.tsx | 21 +- .../UserGeneralSettings/index.tsx | 44 +- .../UserNotificationsDiscord.tsx | 35 +- .../UserNotificationsEmail.tsx | 35 +- .../UserNotificationsPushbullet.tsx | 35 +- .../UserNotificationsPushover.tsx | 35 +- .../UserNotificationsTelegram.tsx | 35 +- .../UserNotificationsWebPush.tsx | 35 +- .../UserSettings/UserPasswordChange/index.tsx | 25 +- .../UserSettings/UserPermissions/index.tsx | 22 +- src/pages/_app.tsx | 20 +- src/pages/collection/[collectionId]/index.tsx | 7 +- src/pages/movie/[movieId]/index.tsx | 7 +- src/pages/tv/[tvId]/index.tsx | 7 +- src/utils/jellyfin.ts | 45 +- src/utils/plex.ts | 29 +- 100 files changed, 5380 insertions(+), 10870 deletions(-) create mode 100644 server/utils/rateLimit.ts diff --git a/.prettierignore b/.prettierignore index ad1f34fb..e7f72ab6 100644 --- a/.prettierignore +++ b/.prettierignore @@ -8,3 +8,4 @@ pnpm-lock.yaml # assets src/assets/ public/ +docs/ diff --git a/.prettierrc.js b/.prettierrc.js index 9cd04520..1de1f8bf 100644 --- a/.prettierrc.js +++ b/.prettierrc.js @@ -3,6 +3,12 @@ module.exports = { singleQuote: true, trailingComma: 'es5', overrides: [ + { + files: 'pnpm-lock.yaml', + options: { + rangeEnd: 0, // default: Infinity + }, + }, { files: 'gen-docs/pnpm-lock.yaml', options: { diff --git a/docs/getting-started/buildfromsource.mdx b/docs/getting-started/buildfromsource.mdx index a7b19282..e8148010 100644 --- a/docs/getting-started/buildfromsource.mdx +++ b/docs/getting-started/buildfromsource.mdx @@ -79,7 +79,7 @@ pnpm start ``` - + :::info You can now access Jellyseerr by visiting `http://localhost:5055` in your web browser. ::: @@ -99,6 +99,9 @@ PORT=5055 ## Uncomment if your media server is emby instead of jellyfin. # JELLYFIN_TYPE=emby + +## Uncomment if you want to force Node.js to resolve IPv4 before IPv6 (advanced users only) +# FORCE_IPV4_FIRST=true ``` 2. Then run the following commands: ```bash @@ -312,7 +315,7 @@ node dist/index.js Now, Jellyseerr will start when the computer boots up in the background. - + To run jellyseerr as a service: 1. Download the [Non-Sucking Service Manager](https://nssm.cc/download) diff --git a/next.config.js b/next.config.js index aba627be..380eb897 100644 --- a/next.config.js +++ b/next.config.js @@ -4,6 +4,7 @@ module.exports = { env: { commitTag: process.env.COMMIT_TAG || 'local', + forceIpv4First: process.env.FORCE_IPV4_FIRST === 'true' ? 'true' : 'false', }, publicRuntimeConfig: { // Will be available on both server and client diff --git a/package.json b/package.json index e918a64f..426d774d 100644 --- a/package.json +++ b/package.json @@ -43,8 +43,6 @@ "@svgr/webpack": "6.5.1", "@tanem/react-nprogress": "5.0.30", "ace-builds": "1.15.2", - "axios": "1.3.4", - "axios-rate-limit": "1.3.0", "bcrypt": "5.1.0", "bowser": "2.11.0", "connect-typeorm": "1.1.4", @@ -121,7 +119,7 @@ "@types/express": "4.17.17", "@types/express-session": "1.17.6", "@types/lodash": "4.14.191", - "@types/node": "17.0.36", + "@types/node": "20.14.8", "@types/node-schedule": "2.1.0", "@types/nodemailer": "6.4.7", "@types/react": "^18.3.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 298ff6d4..ea593fea 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,6 +5,7 @@ settings: excludeLinksFromLockfile: false importers: + .: dependencies: '@formatjs/intl-displaynames': @@ -40,12 +41,6 @@ importers: ace-builds: specifier: 1.15.2 version: 1.15.2 - axios: - specifier: 1.3.4 - version: 1.3.4 - axios-rate-limit: - specifier: 1.3.0 - version: 1.3.0(axios@1.3.4) bcrypt: specifier: 5.1.0 version: 5.1.0(encoding@0.1.13) @@ -54,7 +49,7 @@ importers: version: 2.11.0 connect-typeorm: specifier: 1.1.4 - version: 1.1.4(typeorm@0.3.12(sqlite3@5.1.4(encoding@0.1.13))(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@17.0.36)(typescript@4.9.5))) + version: 1.1.4(typeorm@0.3.12(sqlite3@5.1.4(encoding@0.1.13))(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@20.14.8)(typescript@4.9.5))) cookie-parser: specifier: 1.4.6 version: 1.4.6 @@ -195,7 +190,7 @@ importers: version: 2.2.5(react@18.3.1) typeorm: specifier: 0.3.12 - version: 0.3.12(sqlite3@5.1.4(encoding@0.1.13))(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@17.0.36)(typescript@4.9.5)) + version: 0.3.12(sqlite3@5.1.4(encoding@0.1.13))(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@20.14.8)(typescript@4.9.5)) web-push: specifier: 3.5.0 version: 3.5.0 @@ -238,13 +233,13 @@ importers: version: 10.0.1(semantic-release@19.0.5(encoding@0.1.13)) '@tailwindcss/aspect-ratio': specifier: 0.4.2 - version: 0.4.2(tailwindcss@3.2.7(postcss@8.4.21)(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@17.0.36)(typescript@4.9.5))) + version: 0.4.2(tailwindcss@3.2.7(postcss@8.4.21)(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@20.14.8)(typescript@4.9.5))) '@tailwindcss/forms': specifier: 0.5.3 - version: 0.5.3(tailwindcss@3.2.7(postcss@8.4.21)(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@17.0.36)(typescript@4.9.5))) + version: 0.5.3(tailwindcss@3.2.7(postcss@8.4.21)(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@20.14.8)(typescript@4.9.5))) '@tailwindcss/typography': specifier: 0.5.9 - version: 0.5.9(tailwindcss@3.2.7(postcss@8.4.21)(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@17.0.36)(typescript@4.9.5))) + version: 0.5.9(tailwindcss@3.2.7(postcss@8.4.21)(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@20.14.8)(typescript@4.9.5))) '@types/bcrypt': specifier: 5.0.0 version: 5.0.0 @@ -270,8 +265,8 @@ importers: specifier: 4.14.191 version: 4.14.191 '@types/node': - specifier: 17.0.36 - version: 17.0.36 + specifier: 20.14.8 + version: 20.14.8 '@types/node-schedule': specifier: 2.1.0 version: 2.1.0 @@ -319,7 +314,7 @@ importers: version: 10.4.13(postcss@8.4.21) commitizen: specifier: 4.3.0 - version: 4.3.0(@types/node@17.0.36)(typescript@4.9.5) + version: 4.3.0(@types/node@20.14.8)(typescript@4.9.5) copyfiles: specifier: 2.4.1 version: 2.4.1 @@ -331,7 +326,7 @@ importers: version: 12.7.0 cz-conventional-changelog: specifier: 3.3.0 - version: 3.3.0(@types/node@17.0.36)(typescript@4.9.5) + version: 3.3.0(@types/node@20.14.8)(typescript@4.9.5) eslint: specifier: 8.35.0 version: 8.35.0 @@ -388,10 +383,10 @@ importers: version: 1.0.1(semantic-release@19.0.5(encoding@0.1.13)) tailwindcss: specifier: 3.2.7 - version: 3.2.7(postcss@8.4.21)(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@17.0.36)(typescript@4.9.5)) + version: 3.2.7(postcss@8.4.21)(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@20.14.8)(typescript@4.9.5)) ts-node: specifier: 10.9.1 - version: 10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@17.0.36)(typescript@4.9.5) + version: 10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@20.14.8)(typescript@4.9.5) tsc-alias: specifier: 1.8.2 version: 1.8.2 @@ -403,1432 +398,905 @@ importers: version: 4.9.5 packages: + '@ampproject/remapping@2.3.0': - resolution: - { - integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} '@apidevtools/json-schema-ref-parser@9.0.9': - resolution: - { - integrity: sha512-GBD2Le9w2+lVFoc4vswGI/TjkNIZSVp7+9xPf+X3uidBfWnAeUWmquteSyt0+VCrhNMWj/FTABISQrD3Z/YA+w==, - } + resolution: {integrity: sha512-GBD2Le9w2+lVFoc4vswGI/TjkNIZSVp7+9xPf+X3uidBfWnAeUWmquteSyt0+VCrhNMWj/FTABISQrD3Z/YA+w==} '@babel/code-frame@7.24.7': - resolution: - { - integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} + engines: {node: '>=6.9.0'} '@babel/compat-data@7.24.7': - resolution: - { - integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==} + engines: {node: '>=6.9.0'} '@babel/core@7.24.7': - resolution: - { - integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==} + engines: {node: '>=6.9.0'} '@babel/generator@7.24.7': - resolution: - { - integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==} + engines: {node: '>=6.9.0'} '@babel/helper-annotate-as-pure@7.24.7': - resolution: - { - integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} + engines: {node: '>=6.9.0'} '@babel/helper-builder-binary-assignment-operator-visitor@7.24.7': - resolution: - { - integrity: sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==} + engines: {node: '>=6.9.0'} '@babel/helper-compilation-targets@7.24.7': - resolution: - { - integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==} + engines: {node: '>=6.9.0'} '@babel/helper-create-class-features-plugin@7.24.7': - resolution: - { - integrity: sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 '@babel/helper-create-regexp-features-plugin@7.24.7': - resolution: - { - integrity: sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 '@babel/helper-define-polyfill-provider@0.6.2': - resolution: - { - integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==, - } + resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 '@babel/helper-environment-visitor@7.24.7': - resolution: - { - integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} + engines: {node: '>=6.9.0'} '@babel/helper-function-name@7.24.7': - resolution: - { - integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} + engines: {node: '>=6.9.0'} '@babel/helper-hoist-variables@7.24.7': - resolution: - { - integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} + engines: {node: '>=6.9.0'} '@babel/helper-member-expression-to-functions@7.24.7': - resolution: - { - integrity: sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==} + engines: {node: '>=6.9.0'} '@babel/helper-module-imports@7.24.7': - resolution: - { - integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} + engines: {node: '>=6.9.0'} '@babel/helper-module-transforms@7.24.7': - resolution: - { - integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 '@babel/helper-optimise-call-expression@7.24.7': - resolution: - { - integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==} + engines: {node: '>=6.9.0'} '@babel/helper-plugin-utils@7.24.7': - resolution: - { - integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==} + engines: {node: '>=6.9.0'} '@babel/helper-remap-async-to-generator@7.24.7': - resolution: - { - integrity: sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 '@babel/helper-replace-supers@7.24.7': - resolution: - { - integrity: sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 '@babel/helper-simple-access@7.24.7': - resolution: - { - integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} + engines: {node: '>=6.9.0'} '@babel/helper-skip-transparent-expression-wrappers@7.24.7': - resolution: - { - integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==} + engines: {node: '>=6.9.0'} '@babel/helper-split-export-declaration@7.24.7': - resolution: - { - integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} + engines: {node: '>=6.9.0'} '@babel/helper-string-parser@7.24.7': - resolution: - { - integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==} + engines: {node: '>=6.9.0'} '@babel/helper-validator-identifier@7.24.7': - resolution: - { - integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + engines: {node: '>=6.9.0'} '@babel/helper-validator-option@7.24.7': - resolution: - { - integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==} + engines: {node: '>=6.9.0'} '@babel/helper-wrap-function@7.24.7': - resolution: - { - integrity: sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw==} + engines: {node: '>=6.9.0'} '@babel/helpers@7.24.7': - resolution: - { - integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==} + engines: {node: '>=6.9.0'} '@babel/highlight@7.24.7': - resolution: - { - integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + engines: {node: '>=6.9.0'} '@babel/parser@7.24.7': - resolution: - { - integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} + engines: {node: '>=6.0.0'} hasBin: true '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.7': - resolution: - { - integrity: sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.7': - resolution: - { - integrity: sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7': - resolution: - { - integrity: sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.7': - resolution: - { - integrity: sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 '@babel/plugin-proposal-async-generator-functions@7.20.7': - resolution: - { - integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} + engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead. peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-proposal-class-properties@7.18.6': - resolution: - { - integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} + engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-proposal-export-default-from@7.24.7': - resolution: - { - integrity: sha512-CcmFwUJ3tKhLjPdt4NP+SHMshebytF8ZTYOv5ZDpkzq2sin80Wb5vJrGt8fhPrORQCfoSa0LAxC/DW+GAC5+Hw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-CcmFwUJ3tKhLjPdt4NP+SHMshebytF8ZTYOv5ZDpkzq2sin80Wb5vJrGt8fhPrORQCfoSa0LAxC/DW+GAC5+Hw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-proposal-logical-assignment-operators@7.20.7': - resolution: - { - integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==} + engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-logical-assignment-operators instead. peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6': - resolution: - { - integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} + engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead. peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-proposal-numeric-separator@7.18.6': - resolution: - { - integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} + engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead. peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-proposal-object-rest-spread@7.20.7': - resolution: - { - integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} + engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-proposal-optional-catch-binding@7.18.6': - resolution: - { - integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} + engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead. peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-proposal-optional-chaining@7.21.0': - resolution: - { - integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} + engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead. peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': - resolution: - { - integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-async-generators@7.8.4': - resolution: - { - integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==, - } + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-class-properties@7.12.13': - resolution: - { - integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==, - } + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-class-static-block@7.14.5': - resolution: - { - integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-dynamic-import@7.8.3': - resolution: - { - integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==, - } + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-export-default-from@7.24.7': - resolution: - { - integrity: sha512-bTPz4/635WQ9WhwsyPdxUJDVpsi/X9BMmy/8Rf/UAlOO4jSql4CxUCjWI5PiM+jG+c4LVPTScoTw80geFj9+Bw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-bTPz4/635WQ9WhwsyPdxUJDVpsi/X9BMmy/8Rf/UAlOO4jSql4CxUCjWI5PiM+jG+c4LVPTScoTw80geFj9+Bw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-export-namespace-from@7.8.3': - resolution: - { - integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==, - } + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-flow@7.24.7': - resolution: - { - integrity: sha512-9G8GYT/dxn/D1IIKOUBmGX0mnmj46mGH9NnZyJLwtCpgh5f7D2VbuKodb+2s9m1Yavh1s7ASQN8lf0eqrb1LTw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-9G8GYT/dxn/D1IIKOUBmGX0mnmj46mGH9NnZyJLwtCpgh5f7D2VbuKodb+2s9m1Yavh1s7ASQN8lf0eqrb1LTw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-import-assertions@7.24.7': - resolution: - { - integrity: sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-import-attributes@7.24.7': - resolution: - { - integrity: sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-import-meta@7.10.4': - resolution: - { - integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==, - } + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-json-strings@7.8.3': - resolution: - { - integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==, - } + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-jsx@7.24.7': - resolution: - { - integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-logical-assignment-operators@7.10.4': - resolution: - { - integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==, - } + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': - resolution: - { - integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==, - } + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-numeric-separator@7.10.4': - resolution: - { - integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==, - } + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-object-rest-spread@7.8.3': - resolution: - { - integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==, - } + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-optional-catch-binding@7.8.3': - resolution: - { - integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==, - } + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-optional-chaining@7.8.3': - resolution: - { - integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==, - } + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-private-property-in-object@7.14.5': - resolution: - { - integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-top-level-await@7.14.5': - resolution: - { - integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-typescript@7.24.7': - resolution: - { - integrity: sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-unicode-sets-regex@7.18.6': - resolution: - { - integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 '@babel/plugin-transform-arrow-functions@7.24.7': - resolution: - { - integrity: sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-async-generator-functions@7.24.7': - resolution: - { - integrity: sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-async-to-generator@7.24.7': - resolution: - { - integrity: sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-block-scoped-functions@7.24.7': - resolution: - { - integrity: sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-block-scoping@7.24.7': - resolution: - { - integrity: sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-class-properties@7.24.7': - resolution: - { - integrity: sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-class-static-block@7.24.7': - resolution: - { - integrity: sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 '@babel/plugin-transform-classes@7.24.7': - resolution: - { - integrity: sha512-CFbbBigp8ln4FU6Bpy6g7sE8B/WmCmzvivzUC6xDAdWVsjYTXijpuuGJmYkAaoWAzcItGKT3IOAbxRItZ5HTjw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-CFbbBigp8ln4FU6Bpy6g7sE8B/WmCmzvivzUC6xDAdWVsjYTXijpuuGJmYkAaoWAzcItGKT3IOAbxRItZ5HTjw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-computed-properties@7.24.7': - resolution: - { - integrity: sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-destructuring@7.24.7': - resolution: - { - integrity: sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-dotall-regex@7.24.7': - resolution: - { - integrity: sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-duplicate-keys@7.24.7': - resolution: - { - integrity: sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-dynamic-import@7.24.7': - resolution: - { - integrity: sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-exponentiation-operator@7.24.7': - resolution: - { - integrity: sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-export-namespace-from@7.24.7': - resolution: - { - integrity: sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-flow-strip-types@7.24.7': - resolution: - { - integrity: sha512-cjRKJ7FobOH2eakx7Ja+KpJRj8+y+/SiB3ooYm/n2UJfxu0oEaOoxOinitkJcPqv9KxS0kxTGPUaR7L2XcXDXA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-cjRKJ7FobOH2eakx7Ja+KpJRj8+y+/SiB3ooYm/n2UJfxu0oEaOoxOinitkJcPqv9KxS0kxTGPUaR7L2XcXDXA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-for-of@7.24.7': - resolution: - { - integrity: sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-function-name@7.24.7': - resolution: - { - integrity: sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-json-strings@7.24.7': - resolution: - { - integrity: sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-literals@7.24.7': - resolution: - { - integrity: sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-logical-assignment-operators@7.24.7': - resolution: - { - integrity: sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-member-expression-literals@7.24.7': - resolution: - { - integrity: sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-modules-amd@7.24.7': - resolution: - { - integrity: sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-modules-commonjs@7.24.7': - resolution: - { - integrity: sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-modules-systemjs@7.24.7': - resolution: - { - integrity: sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-modules-umd@7.24.7': - resolution: - { - integrity: sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-named-capturing-groups-regex@7.24.7': - resolution: - { - integrity: sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 '@babel/plugin-transform-new-target@7.24.7': - resolution: - { - integrity: sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-nullish-coalescing-operator@7.24.7': - resolution: - { - integrity: sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-numeric-separator@7.24.7': - resolution: - { - integrity: sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-object-rest-spread@7.24.7': - resolution: - { - integrity: sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-object-super@7.24.7': - resolution: - { - integrity: sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-optional-catch-binding@7.24.7': - resolution: - { - integrity: sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-optional-chaining@7.24.7': - resolution: - { - integrity: sha512-tK+0N9yd4j+x/4hxF3F0e0fu/VdcxU18y5SevtyM/PCFlQvXbR0Zmlo2eBrKtVipGNFzpq56o8WsIIKcJFUCRQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-tK+0N9yd4j+x/4hxF3F0e0fu/VdcxU18y5SevtyM/PCFlQvXbR0Zmlo2eBrKtVipGNFzpq56o8WsIIKcJFUCRQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-parameters@7.24.7': - resolution: - { - integrity: sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-private-methods@7.24.7': - resolution: - { - integrity: sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-private-property-in-object@7.24.7': - resolution: - { - integrity: sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-property-literals@7.24.7': - resolution: - { - integrity: sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-react-constant-elements@7.24.7': - resolution: - { - integrity: sha512-7LidzZfUXyfZ8/buRW6qIIHBY8wAZ1OrY9c/wTr8YhZ6vMPo+Uc/CVFLYY1spZrEQlD4w5u8wjqk5NQ3OVqQKA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-7LidzZfUXyfZ8/buRW6qIIHBY8wAZ1OrY9c/wTr8YhZ6vMPo+Uc/CVFLYY1spZrEQlD4w5u8wjqk5NQ3OVqQKA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-react-display-name@7.24.7': - resolution: - { - integrity: sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-react-jsx-development@7.24.7': - resolution: - { - integrity: sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-react-jsx-self@7.24.7': - resolution: - { - integrity: sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-react-jsx-source@7.24.7': - resolution: - { - integrity: sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-react-jsx@7.24.7': - resolution: - { - integrity: sha512-+Dj06GDZEFRYvclU6k4bme55GKBEWUmByM/eoKuqg4zTNQHiApWRhQph5fxQB2wAEFvRzL1tOEj1RJ19wJrhoA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-+Dj06GDZEFRYvclU6k4bme55GKBEWUmByM/eoKuqg4zTNQHiApWRhQph5fxQB2wAEFvRzL1tOEj1RJ19wJrhoA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-react-pure-annotations@7.24.7': - resolution: - { - integrity: sha512-PLgBVk3fzbmEjBJ/u8kFzOqS9tUeDjiaWud/rRym/yjCo/M9cASPlnrd2ZmmZpQT40fOOrvR8jh+n8jikrOhNA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-PLgBVk3fzbmEjBJ/u8kFzOqS9tUeDjiaWud/rRym/yjCo/M9cASPlnrd2ZmmZpQT40fOOrvR8jh+n8jikrOhNA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-regenerator@7.24.7': - resolution: - { - integrity: sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-reserved-words@7.24.7': - resolution: - { - integrity: sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-runtime@7.24.7': - resolution: - { - integrity: sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-shorthand-properties@7.24.7': - resolution: - { - integrity: sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-spread@7.24.7': - resolution: - { - integrity: sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-sticky-regex@7.24.7': - resolution: - { - integrity: sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-template-literals@7.24.7': - resolution: - { - integrity: sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-typeof-symbol@7.24.7': - resolution: - { - integrity: sha512-VtR8hDy7YLB7+Pet9IarXjg/zgCMSF+1mNS/EQEiEaUPoFXCVsHG64SIxcaaI2zJgRiv+YmgaQESUfWAdbjzgg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-VtR8hDy7YLB7+Pet9IarXjg/zgCMSF+1mNS/EQEiEaUPoFXCVsHG64SIxcaaI2zJgRiv+YmgaQESUfWAdbjzgg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-typescript@7.24.7': - resolution: - { - integrity: sha512-iLD3UNkgx2n/HrjBesVbYX6j0yqn/sJktvbtKKgcaLIQ4bTTQ8obAypc1VpyHPD2y4Phh9zHOaAt8e/L14wCpw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-iLD3UNkgx2n/HrjBesVbYX6j0yqn/sJktvbtKKgcaLIQ4bTTQ8obAypc1VpyHPD2y4Phh9zHOaAt8e/L14wCpw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-unicode-escapes@7.24.7': - resolution: - { - integrity: sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-unicode-property-regex@7.24.7': - resolution: - { - integrity: sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-unicode-regex@7.24.7': - resolution: - { - integrity: sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-unicode-sets-regex@7.24.7': - resolution: - { - integrity: sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 '@babel/preset-env@7.24.7': - resolution: - { - integrity: sha512-1YZNsc+y6cTvWlDHidMBsQZrZfEFjRIo/BZCT906PMdzOyXtSLTgqGdrpcuTDCXyd11Am5uQULtDIcCfnTc8fQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-1YZNsc+y6cTvWlDHidMBsQZrZfEFjRIo/BZCT906PMdzOyXtSLTgqGdrpcuTDCXyd11Am5uQULtDIcCfnTc8fQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/preset-flow@7.24.7': - resolution: - { - integrity: sha512-NL3Lo0NorCU607zU3NwRyJbpaB6E3t0xtd3LfAQKDfkeX4/ggcDXvkmkW42QWT5owUeW/jAe4hn+2qvkV1IbfQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-NL3Lo0NorCU607zU3NwRyJbpaB6E3t0xtd3LfAQKDfkeX4/ggcDXvkmkW42QWT5owUeW/jAe4hn+2qvkV1IbfQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/preset-modules@0.1.6-no-external-plugins': - resolution: - { - integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==, - } + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 '@babel/preset-react@7.24.7': - resolution: - { - integrity: sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/preset-typescript@7.24.7': - resolution: - { - integrity: sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/register@7.24.6': - resolution: - { - integrity: sha512-WSuFCc2wCqMeXkz/i3yfAAsxwWflEgbVkZzivgAmXl/MxrXeoYFZOOPllbC8R8WTF7u61wSRQtDVZ1879cdu6w==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-WSuFCc2wCqMeXkz/i3yfAAsxwWflEgbVkZzivgAmXl/MxrXeoYFZOOPllbC8R8WTF7u61wSRQtDVZ1879cdu6w==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/regjsgen@0.8.0': - resolution: - { - integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==, - } + resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} '@babel/runtime@7.24.7': - resolution: - { - integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==} + engines: {node: '>=6.9.0'} '@babel/template@7.24.7': - resolution: - { - integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} + engines: {node: '>=6.9.0'} '@babel/traverse@7.24.7': - resolution: - { - integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==} + engines: {node: '>=6.9.0'} '@babel/types@7.24.7': - resolution: - { - integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} + engines: {node: '>=6.9.0'} '@colors/colors@1.5.0': - resolution: - { - integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==, - } - engines: { node: '>=0.1.90' } + resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} + engines: {node: '>=0.1.90'} '@colors/colors@1.6.0': - resolution: - { - integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==, - } - engines: { node: '>=0.1.90' } + resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==} + engines: {node: '>=0.1.90'} '@commitlint/cli@17.4.4': - resolution: - { - integrity: sha512-HwKlD7CPVMVGTAeFZylVNy14Vm5POVY0WxPkZr7EXLC/os0LH/obs6z4HRvJtH/nHCMYBvUBQhGwnufKfTjd5g==, - } - engines: { node: '>=v14' } + resolution: {integrity: sha512-HwKlD7CPVMVGTAeFZylVNy14Vm5POVY0WxPkZr7EXLC/os0LH/obs6z4HRvJtH/nHCMYBvUBQhGwnufKfTjd5g==} + engines: {node: '>=v14'} hasBin: true '@commitlint/config-conventional@17.4.4': - resolution: - { - integrity: sha512-u6ztvxqzi6NuhrcEDR7a+z0yrh11elY66nRrQIpqsqW6sZmpxYkDLtpRH8jRML+mmxYQ8s4qqF06Q/IQx5aJeQ==, - } - engines: { node: '>=v14' } + resolution: {integrity: sha512-u6ztvxqzi6NuhrcEDR7a+z0yrh11elY66nRrQIpqsqW6sZmpxYkDLtpRH8jRML+mmxYQ8s4qqF06Q/IQx5aJeQ==} + engines: {node: '>=v14'} '@commitlint/config-validator@17.8.1': - resolution: - { - integrity: sha512-UUgUC+sNiiMwkyiuIFR7JG2cfd9t/7MV8VB4TZ+q02ZFkHoduUS4tJGsCBWvBOGD9Btev6IecPMvlWUfJorkEA==, - } - engines: { node: '>=v14' } + resolution: {integrity: sha512-UUgUC+sNiiMwkyiuIFR7JG2cfd9t/7MV8VB4TZ+q02ZFkHoduUS4tJGsCBWvBOGD9Btev6IecPMvlWUfJorkEA==} + engines: {node: '>=v14'} '@commitlint/config-validator@19.0.3': - resolution: - { - integrity: sha512-2D3r4PKjoo59zBc2auodrSCaUnCSALCx54yveOFwwP/i2kfEAQrygwOleFWswLqK0UL/F9r07MFi5ev2ohyM4Q==, - } - engines: { node: '>=v18' } + resolution: {integrity: sha512-2D3r4PKjoo59zBc2auodrSCaUnCSALCx54yveOFwwP/i2kfEAQrygwOleFWswLqK0UL/F9r07MFi5ev2ohyM4Q==} + engines: {node: '>=v18'} '@commitlint/ensure@17.8.1': - resolution: - { - integrity: sha512-xjafwKxid8s1K23NFpL8JNo6JnY/ysetKo8kegVM7c8vs+kWLP8VrQq+NbhgVlmCojhEDbzQKp4eRXSjVOGsow==, - } - engines: { node: '>=v14' } + resolution: {integrity: sha512-xjafwKxid8s1K23NFpL8JNo6JnY/ysetKo8kegVM7c8vs+kWLP8VrQq+NbhgVlmCojhEDbzQKp4eRXSjVOGsow==} + engines: {node: '>=v14'} '@commitlint/execute-rule@17.8.1': - resolution: - { - integrity: sha512-JHVupQeSdNI6xzA9SqMF+p/JjrHTcrJdI02PwesQIDCIGUrv04hicJgCcws5nzaoZbROapPs0s6zeVHoxpMwFQ==, - } - engines: { node: '>=v14' } + resolution: {integrity: sha512-JHVupQeSdNI6xzA9SqMF+p/JjrHTcrJdI02PwesQIDCIGUrv04hicJgCcws5nzaoZbROapPs0s6zeVHoxpMwFQ==} + engines: {node: '>=v14'} '@commitlint/execute-rule@19.0.0': - resolution: - { - integrity: sha512-mtsdpY1qyWgAO/iOK0L6gSGeR7GFcdW7tIjcNFxcWkfLDF5qVbPHKuGATFqRMsxcO8OUKNj0+3WOHB7EHm4Jdw==, - } - engines: { node: '>=v18' } + resolution: {integrity: sha512-mtsdpY1qyWgAO/iOK0L6gSGeR7GFcdW7tIjcNFxcWkfLDF5qVbPHKuGATFqRMsxcO8OUKNj0+3WOHB7EHm4Jdw==} + engines: {node: '>=v18'} '@commitlint/format@17.8.1': - resolution: - { - integrity: sha512-f3oMTyZ84M9ht7fb93wbCKmWxO5/kKSbwuYvS867duVomoOsgrgljkGGIztmT/srZnaiGbaK8+Wf8Ik2tSr5eg==, - } - engines: { node: '>=v14' } + resolution: {integrity: sha512-f3oMTyZ84M9ht7fb93wbCKmWxO5/kKSbwuYvS867duVomoOsgrgljkGGIztmT/srZnaiGbaK8+Wf8Ik2tSr5eg==} + engines: {node: '>=v14'} '@commitlint/is-ignored@17.8.1': - resolution: - { - integrity: sha512-UshMi4Ltb4ZlNn4F7WtSEugFDZmctzFpmbqvpyxD3la510J+PLcnyhf9chs7EryaRFJMdAKwsEKfNK0jL/QM4g==, - } - engines: { node: '>=v14' } + resolution: {integrity: sha512-UshMi4Ltb4ZlNn4F7WtSEugFDZmctzFpmbqvpyxD3la510J+PLcnyhf9chs7EryaRFJMdAKwsEKfNK0jL/QM4g==} + engines: {node: '>=v14'} '@commitlint/lint@17.8.1': - resolution: - { - integrity: sha512-aQUlwIR1/VMv2D4GXSk7PfL5hIaFSfy6hSHV94O8Y27T5q+DlDEgd/cZ4KmVI+MWKzFfCTiTuWqjfRSfdRllCA==, - } - engines: { node: '>=v14' } + resolution: {integrity: sha512-aQUlwIR1/VMv2D4GXSk7PfL5hIaFSfy6hSHV94O8Y27T5q+DlDEgd/cZ4KmVI+MWKzFfCTiTuWqjfRSfdRllCA==} + engines: {node: '>=v14'} '@commitlint/load@17.8.1': - resolution: - { - integrity: sha512-iF4CL7KDFstP1kpVUkT8K2Wl17h2yx9VaR1ztTc8vzByWWcbO/WaKwxsnCOqow9tVAlzPfo1ywk9m2oJ9ucMqA==, - } - engines: { node: '>=v14' } + resolution: {integrity: sha512-iF4CL7KDFstP1kpVUkT8K2Wl17h2yx9VaR1ztTc8vzByWWcbO/WaKwxsnCOqow9tVAlzPfo1ywk9m2oJ9ucMqA==} + engines: {node: '>=v14'} '@commitlint/load@19.2.0': - resolution: - { - integrity: sha512-XvxxLJTKqZojCxaBQ7u92qQLFMMZc4+p9qrIq/9kJDy8DOrEa7P1yx7Tjdc2u2JxIalqT4KOGraVgCE7eCYJyQ==, - } - engines: { node: '>=v18' } + resolution: {integrity: sha512-XvxxLJTKqZojCxaBQ7u92qQLFMMZc4+p9qrIq/9kJDy8DOrEa7P1yx7Tjdc2u2JxIalqT4KOGraVgCE7eCYJyQ==} + engines: {node: '>=v18'} '@commitlint/message@17.8.1': - resolution: - { - integrity: sha512-6bYL1GUQsD6bLhTH3QQty8pVFoETfFQlMn2Nzmz3AOLqRVfNNtXBaSY0dhZ0dM6A2MEq4+2d7L/2LP8TjqGRkA==, - } - engines: { node: '>=v14' } + resolution: {integrity: sha512-6bYL1GUQsD6bLhTH3QQty8pVFoETfFQlMn2Nzmz3AOLqRVfNNtXBaSY0dhZ0dM6A2MEq4+2d7L/2LP8TjqGRkA==} + engines: {node: '>=v14'} '@commitlint/parse@17.8.1': - resolution: - { - integrity: sha512-/wLUickTo0rNpQgWwLPavTm7WbwkZoBy3X8PpkUmlSmQJyWQTj0m6bDjiykMaDt41qcUbfeFfaCvXfiR4EGnfw==, - } - engines: { node: '>=v14' } + resolution: {integrity: sha512-/wLUickTo0rNpQgWwLPavTm7WbwkZoBy3X8PpkUmlSmQJyWQTj0m6bDjiykMaDt41qcUbfeFfaCvXfiR4EGnfw==} + engines: {node: '>=v14'} '@commitlint/read@17.8.1': - resolution: - { - integrity: sha512-Fd55Oaz9irzBESPCdMd8vWWgxsW3OWR99wOntBDHgf9h7Y6OOHjWEdS9Xzen1GFndqgyoaFplQS5y7KZe0kO2w==, - } - engines: { node: '>=v14' } + resolution: {integrity: sha512-Fd55Oaz9irzBESPCdMd8vWWgxsW3OWR99wOntBDHgf9h7Y6OOHjWEdS9Xzen1GFndqgyoaFplQS5y7KZe0kO2w==} + engines: {node: '>=v14'} '@commitlint/resolve-extends@17.8.1': - resolution: - { - integrity: sha512-W/ryRoQ0TSVXqJrx5SGkaYuAaE/BUontL1j1HsKckvM6e5ZaG0M9126zcwL6peKSuIetJi7E87PRQF8O86EW0Q==, - } - engines: { node: '>=v14' } + resolution: {integrity: sha512-W/ryRoQ0TSVXqJrx5SGkaYuAaE/BUontL1j1HsKckvM6e5ZaG0M9126zcwL6peKSuIetJi7E87PRQF8O86EW0Q==} + engines: {node: '>=v14'} '@commitlint/resolve-extends@19.1.0': - resolution: - { - integrity: sha512-z2riI+8G3CET5CPgXJPlzftH+RiWYLMYv4C9tSLdLXdr6pBNimSKukYP9MS27ejmscqCTVA4almdLh0ODD2KYg==, - } - engines: { node: '>=v18' } + resolution: {integrity: sha512-z2riI+8G3CET5CPgXJPlzftH+RiWYLMYv4C9tSLdLXdr6pBNimSKukYP9MS27ejmscqCTVA4almdLh0ODD2KYg==} + engines: {node: '>=v18'} '@commitlint/rules@17.8.1': - resolution: - { - integrity: sha512-2b7OdVbN7MTAt9U0vKOYKCDsOvESVXxQmrvuVUZ0rGFMCrCPJWWP1GJ7f0lAypbDAhaGb8zqtdOr47192LBrIA==, - } - engines: { node: '>=v14' } + resolution: {integrity: sha512-2b7OdVbN7MTAt9U0vKOYKCDsOvESVXxQmrvuVUZ0rGFMCrCPJWWP1GJ7f0lAypbDAhaGb8zqtdOr47192LBrIA==} + engines: {node: '>=v14'} '@commitlint/to-lines@17.8.1': - resolution: - { - integrity: sha512-LE0jb8CuR/mj6xJyrIk8VLz03OEzXFgLdivBytoooKO5xLt5yalc8Ma5guTWobw998sbR3ogDd+2jed03CFmJA==, - } - engines: { node: '>=v14' } + resolution: {integrity: sha512-LE0jb8CuR/mj6xJyrIk8VLz03OEzXFgLdivBytoooKO5xLt5yalc8Ma5guTWobw998sbR3ogDd+2jed03CFmJA==} + engines: {node: '>=v14'} '@commitlint/top-level@17.8.1': - resolution: - { - integrity: sha512-l6+Z6rrNf5p333SHfEte6r+WkOxGlWK4bLuZKbtf/2TXRN+qhrvn1XE63VhD8Oe9oIHQ7F7W1nG2k/TJFhx2yA==, - } - engines: { node: '>=v14' } + resolution: {integrity: sha512-l6+Z6rrNf5p333SHfEte6r+WkOxGlWK4bLuZKbtf/2TXRN+qhrvn1XE63VhD8Oe9oIHQ7F7W1nG2k/TJFhx2yA==} + engines: {node: '>=v14'} '@commitlint/types@17.8.1': - resolution: - { - integrity: sha512-PXDQXkAmiMEG162Bqdh9ChML/GJZo6vU+7F03ALKDK8zYc6SuAr47LjG7hGYRqUOz+WK0dU7bQ0xzuqFMdxzeQ==, - } - engines: { node: '>=v14' } + resolution: {integrity: sha512-PXDQXkAmiMEG162Bqdh9ChML/GJZo6vU+7F03ALKDK8zYc6SuAr47LjG7hGYRqUOz+WK0dU7bQ0xzuqFMdxzeQ==} + engines: {node: '>=v14'} '@commitlint/types@19.0.3': - resolution: - { - integrity: sha512-tpyc+7i6bPG9mvaBbtKUeghfyZSDgWquIDfMgqYtTbmZ9Y9VzEm2je9EYcQ0aoz5o7NvGS+rcDec93yO08MHYA==, - } - engines: { node: '>=v18' } + resolution: {integrity: sha512-tpyc+7i6bPG9mvaBbtKUeghfyZSDgWquIDfMgqYtTbmZ9Y9VzEm2je9EYcQ0aoz5o7NvGS+rcDec93yO08MHYA==} + engines: {node: '>=v18'} '@cspotcode/source-map-support@0.8.1': - resolution: - { - integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} '@cypress/request@2.88.12': - resolution: - { - integrity: sha512-tOn+0mDZxASFM+cuAP9szGUGPI1HwWVSvdzm7V4cCsPdFTx6qMj29CwaQmRAMIEhORIUBFBsYROYJcveK4uOjA==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-tOn+0mDZxASFM+cuAP9szGUGPI1HwWVSvdzm7V4cCsPdFTx6qMj29CwaQmRAMIEhORIUBFBsYROYJcveK4uOjA==} + engines: {node: '>= 6'} '@cypress/xvfb@1.2.4': - resolution: - { - integrity: sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==, - } + resolution: {integrity: sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==} '@dabh/diagnostics@2.0.3': - resolution: - { - integrity: sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==, - } + resolution: {integrity: sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==} '@emnapi/runtime@1.2.0': - resolution: - { - integrity: sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ==, - } + resolution: {integrity: sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ==} '@emotion/babel-plugin@11.11.0': - resolution: - { - integrity: sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==, - } + resolution: {integrity: sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==} '@emotion/cache@10.0.29': - resolution: - { - integrity: sha512-fU2VtSVlHiF27empSbxi1O2JFdNWZO+2NFHfwO0pxgTep6Xa3uGb+3pVKfLww2l/IBGLNEZl5Xf/++A4wAYDYQ==, - } + resolution: {integrity: sha512-fU2VtSVlHiF27empSbxi1O2JFdNWZO+2NFHfwO0pxgTep6Xa3uGb+3pVKfLww2l/IBGLNEZl5Xf/++A4wAYDYQ==} '@emotion/cache@11.11.0': - resolution: - { - integrity: sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==, - } + resolution: {integrity: sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==} '@emotion/core@10.3.1': - resolution: - { - integrity: sha512-447aUEjPIm0MnE6QYIaFz9VQOHSXf4Iu6EWOIqq11EAPqinkSZmfymPTmlOE3QjLv846lH4JVZBUOtwGbuQoww==, - } + resolution: {integrity: sha512-447aUEjPIm0MnE6QYIaFz9VQOHSXf4Iu6EWOIqq11EAPqinkSZmfymPTmlOE3QjLv846lH4JVZBUOtwGbuQoww==} peerDependencies: react: '>=16.3.0' '@emotion/css@10.0.27': - resolution: - { - integrity: sha512-6wZjsvYeBhyZQYNrGoR5yPMYbMBNEnanDrqmsqS1mzDm1cOTu12shvl2j4QHNS36UaTE0USIJawCH9C8oW34Zw==, - } + resolution: {integrity: sha512-6wZjsvYeBhyZQYNrGoR5yPMYbMBNEnanDrqmsqS1mzDm1cOTu12shvl2j4QHNS36UaTE0USIJawCH9C8oW34Zw==} '@emotion/hash@0.8.0': - resolution: - { - integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==, - } + resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==} '@emotion/hash@0.9.1': - resolution: - { - integrity: sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==, - } + resolution: {integrity: sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==} '@emotion/memoize@0.7.4': - resolution: - { - integrity: sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==, - } + resolution: {integrity: sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==} '@emotion/memoize@0.8.1': - resolution: - { - integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==, - } + resolution: {integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==} '@emotion/react@11.11.4': - resolution: - { - integrity: sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw==, - } + resolution: {integrity: sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw==} peerDependencies: '@types/react': '*' react: '>=16.8.0' @@ -1837,219 +1305,114 @@ packages: optional: true '@emotion/serialize@0.11.16': - resolution: - { - integrity: sha512-G3J4o8by0VRrO+PFeSc3js2myYNOXVJ3Ya+RGVxnshRYgsvErfAOglKAiy1Eo1vhzxqtUvjCyS5gtewzkmvSSg==, - } + resolution: {integrity: sha512-G3J4o8by0VRrO+PFeSc3js2myYNOXVJ3Ya+RGVxnshRYgsvErfAOglKAiy1Eo1vhzxqtUvjCyS5gtewzkmvSSg==} '@emotion/serialize@1.1.4': - resolution: - { - integrity: sha512-RIN04MBT8g+FnDwgvIUi8czvr1LU1alUMI05LekWB5DGyTm8cCBMCRpq3GqaiyEDRptEXOyXnvZ58GZYu4kBxQ==, - } + resolution: {integrity: sha512-RIN04MBT8g+FnDwgvIUi8czvr1LU1alUMI05LekWB5DGyTm8cCBMCRpq3GqaiyEDRptEXOyXnvZ58GZYu4kBxQ==} '@emotion/sheet@0.9.4': - resolution: - { - integrity: sha512-zM9PFmgVSqBw4zL101Q0HrBVTGmpAxFZH/pYx/cjJT5advXguvcgjHFTCaIO3enL/xr89vK2bh0Mfyj9aa0ANA==, - } + resolution: {integrity: sha512-zM9PFmgVSqBw4zL101Q0HrBVTGmpAxFZH/pYx/cjJT5advXguvcgjHFTCaIO3enL/xr89vK2bh0Mfyj9aa0ANA==} '@emotion/sheet@1.2.2': - resolution: - { - integrity: sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==, - } + resolution: {integrity: sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==} '@emotion/stylis@0.8.5': - resolution: - { - integrity: sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==, - } + resolution: {integrity: sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==} '@emotion/unitless@0.7.5': - resolution: - { - integrity: sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==, - } + resolution: {integrity: sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==} '@emotion/unitless@0.8.1': - resolution: - { - integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==, - } + resolution: {integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==} '@emotion/use-insertion-effect-with-fallbacks@1.0.1': - resolution: - { - integrity: sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==, - } + resolution: {integrity: sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==} peerDependencies: react: '>=16.8.0' '@emotion/utils@0.11.3': - resolution: - { - integrity: sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw==, - } + resolution: {integrity: sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw==} '@emotion/utils@1.2.1': - resolution: - { - integrity: sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==, - } + resolution: {integrity: sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==} '@emotion/weak-memoize@0.2.5': - resolution: - { - integrity: sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==, - } + resolution: {integrity: sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==} '@emotion/weak-memoize@0.3.1': - resolution: - { - integrity: sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==, - } + resolution: {integrity: sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==} '@eslint/eslintrc@2.1.4': - resolution: - { - integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} '@eslint/js@8.35.0': - resolution: - { - integrity: sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} '@floating-ui/core@1.6.2': - resolution: - { - integrity: sha512-+2XpQV9LLZeanU4ZevzRnGFg2neDeKHgFLjP6YLW+tly0IvrhqT4u8enLGjLH3qeh85g19xY5rsAusfwTdn5lg==, - } + resolution: {integrity: sha512-+2XpQV9LLZeanU4ZevzRnGFg2neDeKHgFLjP6YLW+tly0IvrhqT4u8enLGjLH3qeh85g19xY5rsAusfwTdn5lg==} '@floating-ui/dom@1.6.5': - resolution: - { - integrity: sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw==, - } + resolution: {integrity: sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw==} '@floating-ui/utils@0.2.2': - resolution: - { - integrity: sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==, - } + resolution: {integrity: sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==} '@formatjs/ecma402-abstract@1.14.3': - resolution: - { - integrity: sha512-SlsbRC/RX+/zg4AApWIFNDdkLtFbkq3LNoZWXZCE/nHVKqoIJyaoQyge/I0Y38vLxowUn9KTtXgusLD91+orbg==, - } + resolution: {integrity: sha512-SlsbRC/RX+/zg4AApWIFNDdkLtFbkq3LNoZWXZCE/nHVKqoIJyaoQyge/I0Y38vLxowUn9KTtXgusLD91+orbg==} '@formatjs/ecma402-abstract@2.0.0': - resolution: - { - integrity: sha512-rRqXOqdFmk7RYvj4khklyqzcfQl9vEL/usogncBHRZfZBDOwMGuSRNFl02fu5KGHXdbinju+YXyuR+Nk8xlr/g==, - } + resolution: {integrity: sha512-rRqXOqdFmk7RYvj4khklyqzcfQl9vEL/usogncBHRZfZBDOwMGuSRNFl02fu5KGHXdbinju+YXyuR+Nk8xlr/g==} '@formatjs/fast-memoize@2.2.0': - resolution: - { - integrity: sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA==, - } + resolution: {integrity: sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA==} '@formatjs/icu-messageformat-parser@2.3.0': - resolution: - { - integrity: sha512-xqtlqYAbfJDF4b6e4O828LBNOWXrFcuYadqAbYORlDRwhyJ2bH+xpUBPldZbzRGUN2mxlZ4Ykhm7jvERtmI8NQ==, - } + resolution: {integrity: sha512-xqtlqYAbfJDF4b6e4O828LBNOWXrFcuYadqAbYORlDRwhyJ2bH+xpUBPldZbzRGUN2mxlZ4Ykhm7jvERtmI8NQ==} '@formatjs/icu-messageformat-parser@2.7.8': - resolution: - { - integrity: sha512-nBZJYmhpcSX0WeJ5SDYUkZ42AgR3xiyhNCsQweFx3cz/ULJjym8bHAzWKvG5e2+1XO98dBYC0fWeeAECAVSwLA==, - } + resolution: {integrity: sha512-nBZJYmhpcSX0WeJ5SDYUkZ42AgR3xiyhNCsQweFx3cz/ULJjym8bHAzWKvG5e2+1XO98dBYC0fWeeAECAVSwLA==} '@formatjs/icu-skeleton-parser@1.3.18': - resolution: - { - integrity: sha512-ND1ZkZfmLPcHjAH1sVpkpQxA+QYfOX3py3SjKWMUVGDow18gZ0WPqz3F+pJLYQMpS2LnnQ5zYR2jPVYTbRwMpg==, - } + resolution: {integrity: sha512-ND1ZkZfmLPcHjAH1sVpkpQxA+QYfOX3py3SjKWMUVGDow18gZ0WPqz3F+pJLYQMpS2LnnQ5zYR2jPVYTbRwMpg==} '@formatjs/icu-skeleton-parser@1.8.2': - resolution: - { - integrity: sha512-k4ERKgw7aKGWJZgTarIcNEmvyTVD9FYh0mTrrBMHZ1b8hUu6iOJ4SzsZlo3UNAvHYa+PnvntIwRPt1/vy4nA9Q==, - } + resolution: {integrity: sha512-k4ERKgw7aKGWJZgTarIcNEmvyTVD9FYh0mTrrBMHZ1b8hUu6iOJ4SzsZlo3UNAvHYa+PnvntIwRPt1/vy4nA9Q==} '@formatjs/intl-displaynames@6.2.6': - resolution: - { - integrity: sha512-scf5AQTk9EjpvPhboo5sizVOvidTdMOnajv9z+0cejvl7JNl9bl/aMrNBgC72UH+bP3l45usPUKAGskV6sNIrA==, - } + resolution: {integrity: sha512-scf5AQTk9EjpvPhboo5sizVOvidTdMOnajv9z+0cejvl7JNl9bl/aMrNBgC72UH+bP3l45usPUKAGskV6sNIrA==} '@formatjs/intl-displaynames@6.6.8': - resolution: - { - integrity: sha512-Lgx6n5KxN16B3Pb05z3NLEBQkGoXnGjkTBNCZI+Cn17YjHJ3fhCeEJJUqRlIZmJdmaXQhjcQVDp6WIiNeRYT5g==, - } + resolution: {integrity: sha512-Lgx6n5KxN16B3Pb05z3NLEBQkGoXnGjkTBNCZI+Cn17YjHJ3fhCeEJJUqRlIZmJdmaXQhjcQVDp6WIiNeRYT5g==} '@formatjs/intl-enumerator@1.2.1': - resolution: - { - integrity: sha512-hK54SSi3hwwWZd7zz9wjYo7AIOlovhHBoUYjQJ5sZXHSLdwAnxE2ck5VaTwWKr4X6Vryq5stmy+MQXA4nDT9jg==, - } + resolution: {integrity: sha512-hK54SSi3hwwWZd7zz9wjYo7AIOlovhHBoUYjQJ5sZXHSLdwAnxE2ck5VaTwWKr4X6Vryq5stmy+MQXA4nDT9jg==} '@formatjs/intl-getcanonicallocales@2.1.0': - resolution: - { - integrity: sha512-gpPVLNSjNnwG4ctvSs7XiFQ/sIOyxcZrXukg1G226FUE+Cy6KMcAxo22zPZXhCTZt50b1FQZ/Zua5U/k9inb0Q==, - } + resolution: {integrity: sha512-gpPVLNSjNnwG4ctvSs7XiFQ/sIOyxcZrXukg1G226FUE+Cy6KMcAxo22zPZXhCTZt50b1FQZ/Zua5U/k9inb0Q==} '@formatjs/intl-listformat@7.5.7': - resolution: - { - integrity: sha512-MG2TSChQJQT9f7Rlv+eXwUFiG24mKSzmF144PLb8m8OixyXqn4+YWU+5wZracZGCgVTVmx8viCf7IH3QXoiB2g==, - } + resolution: {integrity: sha512-MG2TSChQJQT9f7Rlv+eXwUFiG24mKSzmF144PLb8m8OixyXqn4+YWU+5wZracZGCgVTVmx8viCf7IH3QXoiB2g==} '@formatjs/intl-locale@3.1.1': - resolution: - { - integrity: sha512-UshFvThVOloYsHagGe7m2mDifEbZaS9+a+x3Va8YKU3NxFDyNr8s5EQgYkZhZ2kTzWqBxeKB/qZE9VT6LR/lRg==, - } + resolution: {integrity: sha512-UshFvThVOloYsHagGe7m2mDifEbZaS9+a+x3Va8YKU3NxFDyNr8s5EQgYkZhZ2kTzWqBxeKB/qZE9VT6LR/lRg==} '@formatjs/intl-localematcher@0.2.32': - resolution: - { - integrity: sha512-k/MEBstff4sttohyEpXxCmC3MqbUn9VvHGlZ8fauLzkbwXmVrEeyzS+4uhrvAk9DWU9/7otYWxyDox4nT/KVLQ==, - } + resolution: {integrity: sha512-k/MEBstff4sttohyEpXxCmC3MqbUn9VvHGlZ8fauLzkbwXmVrEeyzS+4uhrvAk9DWU9/7otYWxyDox4nT/KVLQ==} '@formatjs/intl-localematcher@0.5.4': - resolution: - { - integrity: sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g==, - } + resolution: {integrity: sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g==} '@formatjs/intl-pluralrules@5.1.10': - resolution: - { - integrity: sha512-c8VZ0J0LalJ+4PHyYkwn/Vc9XX6TJPcY1HHyOixhEnr1x4zxk3ehvdQE8pB0/zuSE1RQTos/pKMF/8XmEsM/cA==, - } + resolution: {integrity: sha512-c8VZ0J0LalJ+4PHyYkwn/Vc9XX6TJPcY1HHyOixhEnr1x4zxk3ehvdQE8pB0/zuSE1RQTos/pKMF/8XmEsM/cA==} '@formatjs/intl-utils@3.8.4': - resolution: - { - integrity: sha512-j5C6NyfKevIxsfLK8KwO1C0vvP7k1+h4A9cFpc+cr6mEwCc1sPkr17dzh0Ke6k9U5pQccAQoXdcNBl3IYa4+ZQ==, - } + resolution: {integrity: sha512-j5C6NyfKevIxsfLK8KwO1C0vvP7k1+h4A9cFpc+cr6mEwCc1sPkr17dzh0Ke6k9U5pQccAQoXdcNBl3IYa4+ZQ==} deprecated: the package is rather renamed to @formatjs/ecma-abstract with some changes in functionality (primarily selectUnit is removed and we don't plan to make any further changes to this package '@formatjs/intl@2.10.4': - resolution: - { - integrity: sha512-56483O+HVcL0c7VucAS2tyH020mt9XTozZO67cwtGg0a7KWDukS/FzW3OnvaHmTHDuYsoPIzO+ZHVfU6fT/bJw==, - } + resolution: {integrity: sha512-56483O+HVcL0c7VucAS2tyH020mt9XTozZO67cwtGg0a7KWDukS/FzW3OnvaHmTHDuYsoPIzO+ZHVfU6fT/bJw==} peerDependencies: typescript: ^4.7 || 5 peerDependenciesMeta: @@ -2057,18 +1420,12 @@ packages: optional: true '@formatjs/swc-plugin-experimental@0.4.0': - resolution: - { - integrity: sha512-LMepVQLKpWbU29rBXoNgJilr+nmRq7x9Uz1Oh5bL32EX4dg7bSLGWiPYv/X2wKjmFNLs1zD7YFebwsVmNds6hA==, - } + resolution: {integrity: sha512-LMepVQLKpWbU29rBXoNgJilr+nmRq7x9Uz1Oh5bL32EX4dg7bSLGWiPYv/X2wKjmFNLs1zD7YFebwsVmNds6hA==} peerDependencies: '@swc/core': ^1.6.0 '@formatjs/ts-transformer@3.12.0': - resolution: - { - integrity: sha512-/jEpXcqA6y/vdijgkxSoKGfkGR5VcClJeI8hnpJ2PBCHfrc4ywFMyoZqRAakKW3IJVttaDo7mGvBAIDxV1F4Qg==, - } + resolution: {integrity: sha512-/jEpXcqA6y/vdijgkxSoKGfkGR5VcClJeI8hnpJ2PBCHfrc4ywFMyoZqRAakKW3IJVttaDo7mGvBAIDxV1F4Qg==} peerDependencies: ts-jest: '>=27' peerDependenciesMeta: @@ -2076,1254 +1433,711 @@ packages: optional: true '@gar/promisify@1.1.3': - resolution: - { - integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==, - } + resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} '@hapi/boom@9.1.4': - resolution: - { - integrity: sha512-Ls1oH8jaN1vNsqcaHVYJrKmgMcKsC1wcp8bujvXrHaAqD2iDYq3HoOwsxwo09Cuda5R5nC0o0IxlrlTuvPuzSw==, - } + resolution: {integrity: sha512-Ls1oH8jaN1vNsqcaHVYJrKmgMcKsC1wcp8bujvXrHaAqD2iDYq3HoOwsxwo09Cuda5R5nC0o0IxlrlTuvPuzSw==} '@hapi/hoek@9.3.0': - resolution: - { - integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==, - } + resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} '@hapi/topo@5.1.0': - resolution: - { - integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==, - } + resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} '@headlessui/react@1.7.12': - resolution: - { - integrity: sha512-FhSx5V+Qp0GvbTpaxyS+ymGDDNntCacClWsk/d8Upbr19g3AsPbjfPk4+m2CgJGcuCB5Dz7LpUIOAbvQTyjL2g==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-FhSx5V+Qp0GvbTpaxyS+ymGDDNntCacClWsk/d8Upbr19g3AsPbjfPk4+m2CgJGcuCB5Dz7LpUIOAbvQTyjL2g==} + engines: {node: '>=10'} peerDependencies: react: ^16 || ^17 || ^18 react-dom: ^16 || ^17 || ^18 '@heroicons/react@2.0.16': - resolution: - { - integrity: sha512-x89rFxH3SRdYaA+JCXwfe+RkE1SFTo9GcOkZettHer71Y3T7V+ogKmfw5CjTazgS3d0ClJ7p1NA+SP7VQLQcLw==, - } + resolution: {integrity: sha512-x89rFxH3SRdYaA+JCXwfe+RkE1SFTo9GcOkZettHer71Y3T7V+ogKmfw5CjTazgS3d0ClJ7p1NA+SP7VQLQcLw==} peerDependencies: react: '>= 16' '@humanwhocodes/config-array@0.11.14': - resolution: - { - integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==, - } - engines: { node: '>=10.10.0' } + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} deprecated: Use @eslint/config-array instead '@humanwhocodes/module-importer@1.0.1': - resolution: - { - integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, - } - engines: { node: '>=12.22' } + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} '@humanwhocodes/object-schema@2.0.3': - resolution: - { - integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==, - } + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} deprecated: Use @eslint/object-schema instead '@img/sharp-darwin-arm64@0.33.4': - resolution: - { - integrity: sha512-p0suNqXufJs9t3RqLBO6vvrgr5OhgbWp76s5gTRvdmxmuv9E1rcaqGUsl3l4mKVmXPkTkTErXediAui4x+8PSA==, - } - engines: - { - glibc: '>=2.26', - node: ^18.17.0 || ^20.3.0 || >=21.0.0, - npm: '>=9.6.5', - pnpm: '>=7.1.0', - yarn: '>=3.2.0', - } + resolution: {integrity: sha512-p0suNqXufJs9t3RqLBO6vvrgr5OhgbWp76s5gTRvdmxmuv9E1rcaqGUsl3l4mKVmXPkTkTErXediAui4x+8PSA==} + engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [arm64] os: [darwin] '@img/sharp-darwin-x64@0.33.4': - resolution: - { - integrity: sha512-0l7yRObwtTi82Z6ebVI2PnHT8EB2NxBgpK2MiKJZJ7cz32R4lxd001ecMhzzsZig3Yv9oclvqqdV93jo9hy+Dw==, - } - engines: - { - glibc: '>=2.26', - node: ^18.17.0 || ^20.3.0 || >=21.0.0, - npm: '>=9.6.5', - pnpm: '>=7.1.0', - yarn: '>=3.2.0', - } + resolution: {integrity: sha512-0l7yRObwtTi82Z6ebVI2PnHT8EB2NxBgpK2MiKJZJ7cz32R4lxd001ecMhzzsZig3Yv9oclvqqdV93jo9hy+Dw==} + engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [x64] os: [darwin] '@img/sharp-libvips-darwin-arm64@1.0.2': - resolution: - { - integrity: sha512-tcK/41Rq8IKlSaKRCCAuuY3lDJjQnYIW1UXU1kxcEKrfL8WR7N6+rzNoOxoQRJWTAECuKwgAHnPvqXGN8XfkHA==, - } - engines: { macos: '>=11', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0' } + resolution: {integrity: sha512-tcK/41Rq8IKlSaKRCCAuuY3lDJjQnYIW1UXU1kxcEKrfL8WR7N6+rzNoOxoQRJWTAECuKwgAHnPvqXGN8XfkHA==} + engines: {macos: '>=11', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [arm64] os: [darwin] '@img/sharp-libvips-darwin-x64@1.0.2': - resolution: - { - integrity: sha512-Ofw+7oaWa0HiiMiKWqqaZbaYV3/UGL2wAPeLuJTx+9cXpCRdvQhCLG0IH8YGwM0yGWGLpsF4Su9vM1o6aer+Fw==, - } - engines: - { macos: '>=10.13', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0' } + resolution: {integrity: sha512-Ofw+7oaWa0HiiMiKWqqaZbaYV3/UGL2wAPeLuJTx+9cXpCRdvQhCLG0IH8YGwM0yGWGLpsF4Su9vM1o6aer+Fw==} + engines: {macos: '>=10.13', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [x64] os: [darwin] '@img/sharp-libvips-linux-arm64@1.0.2': - resolution: - { - integrity: sha512-x7kCt3N00ofFmmkkdshwj3vGPCnmiDh7Gwnd4nUwZln2YjqPxV1NlTyZOvoDWdKQVDL911487HOueBvrpflagw==, - } - engines: - { glibc: '>=2.26', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0' } + resolution: {integrity: sha512-x7kCt3N00ofFmmkkdshwj3vGPCnmiDh7Gwnd4nUwZln2YjqPxV1NlTyZOvoDWdKQVDL911487HOueBvrpflagw==} + engines: {glibc: '>=2.26', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [arm64] os: [linux] '@img/sharp-libvips-linux-arm@1.0.2': - resolution: - { - integrity: sha512-iLWCvrKgeFoglQxdEwzu1eQV04o8YeYGFXtfWU26Zr2wWT3q3MTzC+QTCO3ZQfWd3doKHT4Pm2kRmLbupT+sZw==, - } - engines: - { glibc: '>=2.28', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0' } + resolution: {integrity: sha512-iLWCvrKgeFoglQxdEwzu1eQV04o8YeYGFXtfWU26Zr2wWT3q3MTzC+QTCO3ZQfWd3doKHT4Pm2kRmLbupT+sZw==} + engines: {glibc: '>=2.28', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [arm] os: [linux] '@img/sharp-libvips-linux-s390x@1.0.2': - resolution: - { - integrity: sha512-cmhQ1J4qVhfmS6szYW7RT+gLJq9dH2i4maq+qyXayUSn9/3iY2ZeWpbAgSpSVbV2E1JUL2Gg7pwnYQ1h8rQIog==, - } - engines: - { glibc: '>=2.28', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0' } + resolution: {integrity: sha512-cmhQ1J4qVhfmS6szYW7RT+gLJq9dH2i4maq+qyXayUSn9/3iY2ZeWpbAgSpSVbV2E1JUL2Gg7pwnYQ1h8rQIog==} + engines: {glibc: '>=2.28', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [s390x] os: [linux] '@img/sharp-libvips-linux-x64@1.0.2': - resolution: - { - integrity: sha512-E441q4Qdb+7yuyiADVi5J+44x8ctlrqn8XgkDTwr4qPJzWkaHwD489iZ4nGDgcuya4iMN3ULV6NwbhRZJ9Z7SQ==, - } - engines: - { glibc: '>=2.26', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0' } + resolution: {integrity: sha512-E441q4Qdb+7yuyiADVi5J+44x8ctlrqn8XgkDTwr4qPJzWkaHwD489iZ4nGDgcuya4iMN3ULV6NwbhRZJ9Z7SQ==} + engines: {glibc: '>=2.26', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [x64] os: [linux] '@img/sharp-libvips-linuxmusl-arm64@1.0.2': - resolution: - { - integrity: sha512-3CAkndNpYUrlDqkCM5qhksfE+qSIREVpyoeHIU6jd48SJZViAmznoQQLAv4hVXF7xyUB9zf+G++e2v1ABjCbEQ==, - } - engines: - { musl: '>=1.2.2', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0' } + resolution: {integrity: sha512-3CAkndNpYUrlDqkCM5qhksfE+qSIREVpyoeHIU6jd48SJZViAmznoQQLAv4hVXF7xyUB9zf+G++e2v1ABjCbEQ==} + engines: {musl: '>=1.2.2', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [arm64] os: [linux] '@img/sharp-libvips-linuxmusl-x64@1.0.2': - resolution: - { - integrity: sha512-VI94Q6khIHqHWNOh6LLdm9s2Ry4zdjWJwH56WoiJU7NTeDwyApdZZ8c+SADC8OH98KWNQXnE01UdJ9CSfZvwZw==, - } - engines: - { musl: '>=1.2.2', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0' } + resolution: {integrity: sha512-VI94Q6khIHqHWNOh6LLdm9s2Ry4zdjWJwH56WoiJU7NTeDwyApdZZ8c+SADC8OH98KWNQXnE01UdJ9CSfZvwZw==} + engines: {musl: '>=1.2.2', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [x64] os: [linux] '@img/sharp-linux-arm64@0.33.4': - resolution: - { - integrity: sha512-2800clwVg1ZQtxwSoTlHvtm9ObgAax7V6MTAB/hDT945Tfyy3hVkmiHpeLPCKYqYR1Gcmv1uDZ3a4OFwkdBL7Q==, - } - engines: - { - glibc: '>=2.26', - node: ^18.17.0 || ^20.3.0 || >=21.0.0, - npm: '>=9.6.5', - pnpm: '>=7.1.0', - yarn: '>=3.2.0', - } + resolution: {integrity: sha512-2800clwVg1ZQtxwSoTlHvtm9ObgAax7V6MTAB/hDT945Tfyy3hVkmiHpeLPCKYqYR1Gcmv1uDZ3a4OFwkdBL7Q==} + engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [arm64] os: [linux] '@img/sharp-linux-arm@0.33.4': - resolution: - { - integrity: sha512-RUgBD1c0+gCYZGCCe6mMdTiOFS0Zc/XrN0fYd6hISIKcDUbAW5NtSQW9g/powkrXYm6Vzwd6y+fqmExDuCdHNQ==, - } - engines: - { - glibc: '>=2.28', - node: ^18.17.0 || ^20.3.0 || >=21.0.0, - npm: '>=9.6.5', - pnpm: '>=7.1.0', - yarn: '>=3.2.0', - } + resolution: {integrity: sha512-RUgBD1c0+gCYZGCCe6mMdTiOFS0Zc/XrN0fYd6hISIKcDUbAW5NtSQW9g/powkrXYm6Vzwd6y+fqmExDuCdHNQ==} + engines: {glibc: '>=2.28', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [arm] os: [linux] '@img/sharp-linux-s390x@0.33.4': - resolution: - { - integrity: sha512-h3RAL3siQoyzSoH36tUeS0PDmb5wINKGYzcLB5C6DIiAn2F3udeFAum+gj8IbA/82+8RGCTn7XW8WTFnqag4tQ==, - } - engines: - { - glibc: '>=2.31', - node: ^18.17.0 || ^20.3.0 || >=21.0.0, - npm: '>=9.6.5', - pnpm: '>=7.1.0', - yarn: '>=3.2.0', - } + resolution: {integrity: sha512-h3RAL3siQoyzSoH36tUeS0PDmb5wINKGYzcLB5C6DIiAn2F3udeFAum+gj8IbA/82+8RGCTn7XW8WTFnqag4tQ==} + engines: {glibc: '>=2.31', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [s390x] os: [linux] '@img/sharp-linux-x64@0.33.4': - resolution: - { - integrity: sha512-GoR++s0XW9DGVi8SUGQ/U4AeIzLdNjHka6jidVwapQ/JebGVQIpi52OdyxCNVRE++n1FCLzjDovJNozif7w/Aw==, - } - engines: - { - glibc: '>=2.26', - node: ^18.17.0 || ^20.3.0 || >=21.0.0, - npm: '>=9.6.5', - pnpm: '>=7.1.0', - yarn: '>=3.2.0', - } + resolution: {integrity: sha512-GoR++s0XW9DGVi8SUGQ/U4AeIzLdNjHka6jidVwapQ/JebGVQIpi52OdyxCNVRE++n1FCLzjDovJNozif7w/Aw==} + engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [x64] os: [linux] '@img/sharp-linuxmusl-arm64@0.33.4': - resolution: - { - integrity: sha512-nhr1yC3BlVrKDTl6cO12gTpXMl4ITBUZieehFvMntlCXFzH2bvKG76tBL2Y/OqhupZt81pR7R+Q5YhJxW0rGgQ==, - } - engines: - { - musl: '>=1.2.2', - node: ^18.17.0 || ^20.3.0 || >=21.0.0, - npm: '>=9.6.5', - pnpm: '>=7.1.0', - yarn: '>=3.2.0', - } + resolution: {integrity: sha512-nhr1yC3BlVrKDTl6cO12gTpXMl4ITBUZieehFvMntlCXFzH2bvKG76tBL2Y/OqhupZt81pR7R+Q5YhJxW0rGgQ==} + engines: {musl: '>=1.2.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [arm64] os: [linux] '@img/sharp-linuxmusl-x64@0.33.4': - resolution: - { - integrity: sha512-uCPTku0zwqDmZEOi4ILyGdmW76tH7dm8kKlOIV1XC5cLyJ71ENAAqarOHQh0RLfpIpbV5KOpXzdU6XkJtS0daw==, - } - engines: - { - musl: '>=1.2.2', - node: ^18.17.0 || ^20.3.0 || >=21.0.0, - npm: '>=9.6.5', - pnpm: '>=7.1.0', - yarn: '>=3.2.0', - } + resolution: {integrity: sha512-uCPTku0zwqDmZEOi4ILyGdmW76tH7dm8kKlOIV1XC5cLyJ71ENAAqarOHQh0RLfpIpbV5KOpXzdU6XkJtS0daw==} + engines: {musl: '>=1.2.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [x64] os: [linux] '@img/sharp-wasm32@0.33.4': - resolution: - { - integrity: sha512-Bmmauh4sXUsUqkleQahpdNXKvo+wa1V9KhT2pDA4VJGKwnKMJXiSTGphn0gnJrlooda0QxCtXc6RX1XAU6hMnQ==, - } - engines: - { - node: ^18.17.0 || ^20.3.0 || >=21.0.0, - npm: '>=9.6.5', - pnpm: '>=7.1.0', - yarn: '>=3.2.0', - } + resolution: {integrity: sha512-Bmmauh4sXUsUqkleQahpdNXKvo+wa1V9KhT2pDA4VJGKwnKMJXiSTGphn0gnJrlooda0QxCtXc6RX1XAU6hMnQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [wasm32] '@img/sharp-win32-ia32@0.33.4': - resolution: - { - integrity: sha512-99SJ91XzUhYHbx7uhK3+9Lf7+LjwMGQZMDlO/E/YVJ7Nc3lyDFZPGhjwiYdctoH2BOzW9+TnfqcaMKt0jHLdqw==, - } - engines: - { - node: ^18.17.0 || ^20.3.0 || >=21.0.0, - npm: '>=9.6.5', - pnpm: '>=7.1.0', - yarn: '>=3.2.0', - } + resolution: {integrity: sha512-99SJ91XzUhYHbx7uhK3+9Lf7+LjwMGQZMDlO/E/YVJ7Nc3lyDFZPGhjwiYdctoH2BOzW9+TnfqcaMKt0jHLdqw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [ia32] os: [win32] '@img/sharp-win32-x64@0.33.4': - resolution: - { - integrity: sha512-3QLocdTRVIrFNye5YocZl+KKpYKP+fksi1QhmOArgx7GyhIbQp/WrJRu176jm8IxromS7RIkzMiMINVdBtC8Aw==, - } - engines: - { - node: ^18.17.0 || ^20.3.0 || >=21.0.0, - npm: '>=9.6.5', - pnpm: '>=7.1.0', - yarn: '>=3.2.0', - } + resolution: {integrity: sha512-3QLocdTRVIrFNye5YocZl+KKpYKP+fksi1QhmOArgx7GyhIbQp/WrJRu176jm8IxromS7RIkzMiMINVdBtC8Aw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [x64] os: [win32] '@internationalized/date@3.5.4': - resolution: - { - integrity: sha512-qoVJVro+O0rBaw+8HPjUB1iH8Ihf8oziEnqMnvhJUSuVIrHOuZ6eNLHNvzXJKUvAtaDiqMnRlg8Z2mgh09BlUw==, - } + resolution: {integrity: sha512-qoVJVro+O0rBaw+8HPjUB1iH8Ihf8oziEnqMnvhJUSuVIrHOuZ6eNLHNvzXJKUvAtaDiqMnRlg8Z2mgh09BlUw==} '@internationalized/message@3.1.4': - resolution: - { - integrity: sha512-Dygi9hH1s7V9nha07pggCkvmRfDd3q2lWnMGvrJyrOwYMe1yj4D2T9BoH9I6MGR7xz0biQrtLPsqUkqXzIrBOw==, - } + resolution: {integrity: sha512-Dygi9hH1s7V9nha07pggCkvmRfDd3q2lWnMGvrJyrOwYMe1yj4D2T9BoH9I6MGR7xz0biQrtLPsqUkqXzIrBOw==} '@internationalized/number@3.5.3': - resolution: - { - integrity: sha512-rd1wA3ebzlp0Mehj5YTuTI50AQEx80gWFyHcQu+u91/5NgdwBecO8BH6ipPfE+lmQ9d63vpB3H9SHoIUiupllw==, - } + resolution: {integrity: sha512-rd1wA3ebzlp0Mehj5YTuTI50AQEx80gWFyHcQu+u91/5NgdwBecO8BH6ipPfE+lmQ9d63vpB3H9SHoIUiupllw==} '@internationalized/string@3.2.3': - resolution: - { - integrity: sha512-9kpfLoA8HegiWTeCbR2livhdVeKobCnVv8tlJ6M2jF+4tcMqDo94ezwlnrUANBWPgd8U7OXIHCk2Ov2qhk4KXw==, - } + resolution: {integrity: sha512-9kpfLoA8HegiWTeCbR2livhdVeKobCnVv8tlJ6M2jF+4tcMqDo94ezwlnrUANBWPgd8U7OXIHCk2Ov2qhk4KXw==} '@isaacs/cliui@8.0.2': - resolution: - { - integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} '@isaacs/ttlcache@1.4.1': - resolution: - { - integrity: sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==} + engines: {node: '>=12'} '@jest/create-cache-key-function@29.7.0': - resolution: - { - integrity: sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} '@jest/environment@29.7.0': - resolution: - { - integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} '@jest/fake-timers@29.7.0': - resolution: - { - integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} '@jest/schemas@29.6.3': - resolution: - { - integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} '@jest/types@26.6.2': - resolution: - { - integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==, - } - engines: { node: '>= 10.14.2' } + resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==} + engines: {node: '>= 10.14.2'} '@jest/types@29.6.3': - resolution: - { - integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} '@jridgewell/gen-mapping@0.3.5': - resolution: - { - integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} '@jridgewell/resolve-uri@3.1.2': - resolution: - { - integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} '@jridgewell/set-array@1.2.1': - resolution: - { - integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} '@jridgewell/source-map@0.3.6': - resolution: - { - integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==, - } + resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} '@jridgewell/sourcemap-codec@1.4.15': - resolution: - { - integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==, - } + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} '@jridgewell/trace-mapping@0.3.25': - resolution: - { - integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==, - } + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} '@jridgewell/trace-mapping@0.3.9': - resolution: - { - integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==, - } + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} '@jsdevtools/ono@7.1.3': - resolution: - { - integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==, - } + resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} '@ladjs/country-language@0.2.1': - resolution: - { - integrity: sha512-e3AmT7jUnfNE6e2mx2+cPYiWdFW3McySDGRhQEYE6SksjZTMj0PTp+R9x1xG89tHRTsyMNJFl9J4HtZPWZzi1Q==, - } + resolution: {integrity: sha512-e3AmT7jUnfNE6e2mx2+cPYiWdFW3McySDGRhQEYE6SksjZTMj0PTp+R9x1xG89tHRTsyMNJFl9J4HtZPWZzi1Q==} '@ladjs/i18n@7.2.6': - resolution: - { - integrity: sha512-rgCYbDz18ADMjQox09J0G45L8LankQgt7QJqiaPh7dAps/hY/7NB8lotVh8TvFt26jJXPvCErAEsGe2clp/YOg==, - } - engines: { node: '>=8.3.0' } + resolution: {integrity: sha512-rgCYbDz18ADMjQox09J0G45L8LankQgt7QJqiaPh7dAps/hY/7NB8lotVh8TvFt26jJXPvCErAEsGe2clp/YOg==} + engines: {node: '>=8.3.0'} '@mapbox/node-pre-gyp@1.0.11': - resolution: - { - integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==, - } + resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true '@messageformat/core@3.3.0': - resolution: - { - integrity: sha512-YcXd3remTDdeMxAlbvW6oV9d/01/DZ8DHUFwSttO3LMzIZj3iO0NRw+u1xlsNNORFI+u0EQzD52ZX3+Udi0T3g==, - } + resolution: {integrity: sha512-YcXd3remTDdeMxAlbvW6oV9d/01/DZ8DHUFwSttO3LMzIZj3iO0NRw+u1xlsNNORFI+u0EQzD52ZX3+Udi0T3g==} '@messageformat/date-skeleton@1.0.1': - resolution: - { - integrity: sha512-jPXy8fg+WMPIgmGjxSlnGJn68h/2InfT0TNSkVx0IGXgp4ynnvYkbZ51dGWmGySEK+pBiYUttbQdu5XEqX5CRg==, - } + resolution: {integrity: sha512-jPXy8fg+WMPIgmGjxSlnGJn68h/2InfT0TNSkVx0IGXgp4ynnvYkbZ51dGWmGySEK+pBiYUttbQdu5XEqX5CRg==} '@messageformat/number-skeleton@1.2.0': - resolution: - { - integrity: sha512-xsgwcL7J7WhlHJ3RNbaVgssaIwcEyFkBqxHdcdaiJzwTZAWEOD8BuUFxnxV9k5S0qHN3v/KzUpq0IUpjH1seRg==, - } + resolution: {integrity: sha512-xsgwcL7J7WhlHJ3RNbaVgssaIwcEyFkBqxHdcdaiJzwTZAWEOD8BuUFxnxV9k5S0qHN3v/KzUpq0IUpjH1seRg==} '@messageformat/parser@5.1.0': - resolution: - { - integrity: sha512-jKlkls3Gewgw6qMjKZ9SFfHUpdzEVdovKFtW1qRhJ3WI4FW5R/NnGDqr8SDGz+krWDO3ki94boMmQvGke1HwUQ==, - } + resolution: {integrity: sha512-jKlkls3Gewgw6qMjKZ9SFfHUpdzEVdovKFtW1qRhJ3WI4FW5R/NnGDqr8SDGz+krWDO3ki94boMmQvGke1HwUQ==} '@messageformat/runtime@3.0.1': - resolution: - { - integrity: sha512-6RU5ol2lDtO8bD9Yxe6CZkl0DArdv0qkuoZC+ZwowU+cdRlVE1157wjCmlA5Rsf1Xc/brACnsZa5PZpEDfTFFg==, - } + resolution: {integrity: sha512-6RU5ol2lDtO8bD9Yxe6CZkl0DArdv0qkuoZC+ZwowU+cdRlVE1157wjCmlA5Rsf1Xc/brACnsZa5PZpEDfTFFg==} '@next/env@14.2.4': - resolution: - { - integrity: sha512-3EtkY5VDkuV2+lNmKlbkibIJxcO4oIHEhBWne6PaAp+76J9KoSsGvNikp6ivzAT8dhhBMYrm6op2pS1ApG0Hzg==, - } + resolution: {integrity: sha512-3EtkY5VDkuV2+lNmKlbkibIJxcO4oIHEhBWne6PaAp+76J9KoSsGvNikp6ivzAT8dhhBMYrm6op2pS1ApG0Hzg==} '@next/eslint-plugin-next@14.2.4': - resolution: - { - integrity: sha512-svSFxW9f3xDaZA3idQmlFw7SusOuWTpDTAeBlO3AEPDltrraV+lqs7mAc6A27YdnpQVVIA3sODqUAAHdWhVWsA==, - } + resolution: {integrity: sha512-svSFxW9f3xDaZA3idQmlFw7SusOuWTpDTAeBlO3AEPDltrraV+lqs7mAc6A27YdnpQVVIA3sODqUAAHdWhVWsA==} '@next/swc-darwin-arm64@14.2.4': - resolution: - { - integrity: sha512-AH3mO4JlFUqsYcwFUHb1wAKlebHU/Hv2u2kb1pAuRanDZ7pD/A/KPD98RHZmwsJpdHQwfEc/06mgpSzwrJYnNg==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-AH3mO4JlFUqsYcwFUHb1wAKlebHU/Hv2u2kb1pAuRanDZ7pD/A/KPD98RHZmwsJpdHQwfEc/06mgpSzwrJYnNg==} + engines: {node: '>= 10'} cpu: [arm64] os: [darwin] '@next/swc-darwin-x64@14.2.4': - resolution: - { - integrity: sha512-QVadW73sWIO6E2VroyUjuAxhWLZWEpiFqHdZdoQ/AMpN9YWGuHV8t2rChr0ahy+irKX5mlDU7OY68k3n4tAZTg==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-QVadW73sWIO6E2VroyUjuAxhWLZWEpiFqHdZdoQ/AMpN9YWGuHV8t2rChr0ahy+irKX5mlDU7OY68k3n4tAZTg==} + engines: {node: '>= 10'} cpu: [x64] os: [darwin] '@next/swc-linux-arm64-gnu@14.2.4': - resolution: - { - integrity: sha512-KT6GUrb3oyCfcfJ+WliXuJnD6pCpZiosx2X3k66HLR+DMoilRb76LpWPGb4tZprawTtcnyrv75ElD6VncVamUQ==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-KT6GUrb3oyCfcfJ+WliXuJnD6pCpZiosx2X3k66HLR+DMoilRb76LpWPGb4tZprawTtcnyrv75ElD6VncVamUQ==} + engines: {node: '>= 10'} cpu: [arm64] os: [linux] '@next/swc-linux-arm64-musl@14.2.4': - resolution: - { - integrity: sha512-Alv8/XGSs/ytwQcbCHwze1HmiIkIVhDHYLjczSVrf0Wi2MvKn/blt7+S6FJitj3yTlMwMxII1gIJ9WepI4aZ/A==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-Alv8/XGSs/ytwQcbCHwze1HmiIkIVhDHYLjczSVrf0Wi2MvKn/blt7+S6FJitj3yTlMwMxII1gIJ9WepI4aZ/A==} + engines: {node: '>= 10'} cpu: [arm64] os: [linux] '@next/swc-linux-x64-gnu@14.2.4': - resolution: - { - integrity: sha512-ze0ShQDBPCqxLImzw4sCdfnB3lRmN3qGMB2GWDRlq5Wqy4G36pxtNOo2usu/Nm9+V2Rh/QQnrRc2l94kYFXO6Q==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-ze0ShQDBPCqxLImzw4sCdfnB3lRmN3qGMB2GWDRlq5Wqy4G36pxtNOo2usu/Nm9+V2Rh/QQnrRc2l94kYFXO6Q==} + engines: {node: '>= 10'} cpu: [x64] os: [linux] '@next/swc-linux-x64-musl@14.2.4': - resolution: - { - integrity: sha512-8dwC0UJoc6fC7PX70csdaznVMNr16hQrTDAMPvLPloazlcaWfdPogq+UpZX6Drqb1OBlwowz8iG7WR0Tzk/diQ==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-8dwC0UJoc6fC7PX70csdaznVMNr16hQrTDAMPvLPloazlcaWfdPogq+UpZX6Drqb1OBlwowz8iG7WR0Tzk/diQ==} + engines: {node: '>= 10'} cpu: [x64] os: [linux] '@next/swc-win32-arm64-msvc@14.2.4': - resolution: - { - integrity: sha512-jxyg67NbEWkDyvM+O8UDbPAyYRZqGLQDTPwvrBBeOSyVWW/jFQkQKQ70JDqDSYg1ZDdl+E3nkbFbq8xM8E9x8A==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-jxyg67NbEWkDyvM+O8UDbPAyYRZqGLQDTPwvrBBeOSyVWW/jFQkQKQ70JDqDSYg1ZDdl+E3nkbFbq8xM8E9x8A==} + engines: {node: '>= 10'} cpu: [arm64] os: [win32] '@next/swc-win32-ia32-msvc@14.2.4': - resolution: - { - integrity: sha512-twrmN753hjXRdcrZmZttb/m5xaCBFa48Dt3FbeEItpJArxriYDunWxJn+QFXdJ3hPkm4u7CKxncVvnmgQMY1ag==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-twrmN753hjXRdcrZmZttb/m5xaCBFa48Dt3FbeEItpJArxriYDunWxJn+QFXdJ3hPkm4u7CKxncVvnmgQMY1ag==} + engines: {node: '>= 10'} cpu: [ia32] os: [win32] '@next/swc-win32-x64-msvc@14.2.4': - resolution: - { - integrity: sha512-tkLrjBzqFTP8DVrAAQmZelEahfR9OxWpFR++vAI9FBhCiIxtwHwBHC23SBHCTURBtwB4kc/x44imVOnkKGNVGg==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-tkLrjBzqFTP8DVrAAQmZelEahfR9OxWpFR++vAI9FBhCiIxtwHwBHC23SBHCTURBtwB4kc/x44imVOnkKGNVGg==} + engines: {node: '>= 10'} cpu: [x64] os: [win32] '@nodelib/fs.scandir@2.1.5': - resolution: - { - integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} '@nodelib/fs.stat@2.0.5': - resolution: - { - integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} '@nodelib/fs.walk@1.2.8': - resolution: - { - integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} '@npmcli/fs@1.1.1': - resolution: - { - integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==, - } + resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} '@npmcli/fs@2.1.2': - resolution: - { - integrity: sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==, - } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} '@npmcli/move-file@1.1.2': - resolution: - { - integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==} + engines: {node: '>=10'} deprecated: This functionality has been moved to @npmcli/fs '@npmcli/move-file@2.0.1': - resolution: - { - integrity: sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==, - } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} deprecated: This functionality has been moved to @npmcli/fs '@octokit/auth-token@3.0.4': - resolution: - { - integrity: sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==, - } - engines: { node: '>= 14' } + resolution: {integrity: sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==} + engines: {node: '>= 14'} '@octokit/core@4.2.4': - resolution: - { - integrity: sha512-rYKilwgzQ7/imScn3M9/pFfUf4I1AZEH3KhyJmtPdE2zfaXAn2mFfUy4FbKewzc2We5y/LlKLj36fWJLKC2SIQ==, - } - engines: { node: '>= 14' } + resolution: {integrity: sha512-rYKilwgzQ7/imScn3M9/pFfUf4I1AZEH3KhyJmtPdE2zfaXAn2mFfUy4FbKewzc2We5y/LlKLj36fWJLKC2SIQ==} + engines: {node: '>= 14'} '@octokit/endpoint@7.0.6': - resolution: - { - integrity: sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg==, - } - engines: { node: '>= 14' } + resolution: {integrity: sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg==} + engines: {node: '>= 14'} '@octokit/graphql@5.0.6': - resolution: - { - integrity: sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==, - } - engines: { node: '>= 14' } + resolution: {integrity: sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==} + engines: {node: '>= 14'} '@octokit/openapi-types@18.1.1': - resolution: - { - integrity: sha512-VRaeH8nCDtF5aXWnjPuEMIYf1itK/s3JYyJcWFJT8X9pSNnBtriDf7wlEWsGuhPLl4QIH4xM8fqTXDwJ3Mu6sw==, - } + resolution: {integrity: sha512-VRaeH8nCDtF5aXWnjPuEMIYf1itK/s3JYyJcWFJT8X9pSNnBtriDf7wlEWsGuhPLl4QIH4xM8fqTXDwJ3Mu6sw==} '@octokit/plugin-paginate-rest@6.1.2': - resolution: - { - integrity: sha512-qhrmtQeHU/IivxucOV1bbI/xZyC/iOBhclokv7Sut5vnejAIAEXVcGQeRpQlU39E0WwK9lNvJHphHri/DB6lbQ==, - } - engines: { node: '>= 14' } + resolution: {integrity: sha512-qhrmtQeHU/IivxucOV1bbI/xZyC/iOBhclokv7Sut5vnejAIAEXVcGQeRpQlU39E0WwK9lNvJHphHri/DB6lbQ==} + engines: {node: '>= 14'} peerDependencies: '@octokit/core': '>=4' '@octokit/plugin-retry@4.1.6': - resolution: - { - integrity: sha512-obkYzIgEC75r8+9Pnfiiqy3y/x1bc3QLE5B7qvv9wi9Kj0R5tGQFC6QMBg1154WQ9lAVypuQDGyp3hNpp15gQQ==, - } - engines: { node: '>= 14' } + resolution: {integrity: sha512-obkYzIgEC75r8+9Pnfiiqy3y/x1bc3QLE5B7qvv9wi9Kj0R5tGQFC6QMBg1154WQ9lAVypuQDGyp3hNpp15gQQ==} + engines: {node: '>= 14'} peerDependencies: '@octokit/core': '>=3' '@octokit/plugin-throttling@5.2.3': - resolution: - { - integrity: sha512-C9CFg9mrf6cugneKiaI841iG8DOv6P5XXkjmiNNut+swePxQ7RWEdAZRp5rJoE1hjsIqiYcKa/ZkOQ+ujPI39Q==, - } - engines: { node: '>= 14' } + resolution: {integrity: sha512-C9CFg9mrf6cugneKiaI841iG8DOv6P5XXkjmiNNut+swePxQ7RWEdAZRp5rJoE1hjsIqiYcKa/ZkOQ+ujPI39Q==} + engines: {node: '>= 14'} peerDependencies: '@octokit/core': ^4.0.0 '@octokit/request-error@3.0.3': - resolution: - { - integrity: sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==, - } - engines: { node: '>= 14' } + resolution: {integrity: sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==} + engines: {node: '>= 14'} '@octokit/request@6.2.8': - resolution: - { - integrity: sha512-ow4+pkVQ+6XVVsekSYBzJC0VTVvh/FCTUUgTsboGq+DTeWdyIFV8WSCdo0RIxk6wSkBTHqIK1mYuY7nOBXOchw==, - } - engines: { node: '>= 14' } + resolution: {integrity: sha512-ow4+pkVQ+6XVVsekSYBzJC0VTVvh/FCTUUgTsboGq+DTeWdyIFV8WSCdo0RIxk6wSkBTHqIK1mYuY7nOBXOchw==} + engines: {node: '>= 14'} '@octokit/tsconfig@1.0.2': - resolution: - { - integrity: sha512-I0vDR0rdtP8p2lGMzvsJzbhdOWy405HcGovrspJ8RRibHnyRgggUSNO5AIox5LmqiwmatHKYsvj6VGFHkqS7lA==, - } + resolution: {integrity: sha512-I0vDR0rdtP8p2lGMzvsJzbhdOWy405HcGovrspJ8RRibHnyRgggUSNO5AIox5LmqiwmatHKYsvj6VGFHkqS7lA==} '@octokit/types@9.3.2': - resolution: - { - integrity: sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==, - } + resolution: {integrity: sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==} '@pkgjs/parseargs@0.11.0': - resolution: - { - integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} '@pnpm/config.env-replace@1.1.0': - resolution: - { - integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==, - } - engines: { node: '>=12.22.0' } + resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} + engines: {node: '>=12.22.0'} '@pnpm/network.ca-file@1.0.2': - resolution: - { - integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==, - } - engines: { node: '>=12.22.0' } + resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} + engines: {node: '>=12.22.0'} '@pnpm/npm-conf@2.2.2': - resolution: - { - integrity: sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==} + engines: {node: '>=12'} '@popperjs/core@2.11.8': - resolution: - { - integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==, - } + resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} '@react-aria/breadcrumbs@3.5.13': - resolution: - { - integrity: sha512-G1Gqf/P6kVdfs94ovwP18fTWuIxadIQgHsXS08JEVcFVYMjb9YjqnEBaohUxD1tq2WldMbYw53ahQblT4NTG+g==, - } + resolution: {integrity: sha512-G1Gqf/P6kVdfs94ovwP18fTWuIxadIQgHsXS08JEVcFVYMjb9YjqnEBaohUxD1tq2WldMbYw53ahQblT4NTG+g==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/button@3.9.5': - resolution: - { - integrity: sha512-dgcYR6j8WDOMLKuVrtxzx4jIC05cVKDzc+HnPO8lNkBAOfjcuN5tkGRtIjLtqjMvpZHhQT5aDbgFpIaZzxgFIg==, - } + resolution: {integrity: sha512-dgcYR6j8WDOMLKuVrtxzx4jIC05cVKDzc+HnPO8lNkBAOfjcuN5tkGRtIjLtqjMvpZHhQT5aDbgFpIaZzxgFIg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/calendar@3.5.8': - resolution: - { - integrity: sha512-Whlp4CeAA5/ZkzrAHUv73kgIRYjw088eYGSc+cvSOCxfrc/2XkBm9rNrnSBv0DvhJ8AG0Fjz3vYakTmF3BgZBw==, - } + resolution: {integrity: sha512-Whlp4CeAA5/ZkzrAHUv73kgIRYjw088eYGSc+cvSOCxfrc/2XkBm9rNrnSBv0DvhJ8AG0Fjz3vYakTmF3BgZBw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/checkbox@3.14.3': - resolution: - { - integrity: sha512-EtBJL6iu0gvrw3A4R7UeVLR6diaVk/mh4kFBc7c8hQjpEJweRr4hmJT3hrNg3MBcTWLxFiMEXPGgWEwXDBygtA==, - } + resolution: {integrity: sha512-EtBJL6iu0gvrw3A4R7UeVLR6diaVk/mh4kFBc7c8hQjpEJweRr4hmJT3hrNg3MBcTWLxFiMEXPGgWEwXDBygtA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/combobox@3.9.1': - resolution: - { - integrity: sha512-SpK92dCmT8qn8aEcUAihRQrBb5LZUhwIbDExFII8PvUvEFy/PoQHXIo3j1V29WkutDBDpMvBv/6XRCHGXPqrhQ==, - } + resolution: {integrity: sha512-SpK92dCmT8qn8aEcUAihRQrBb5LZUhwIbDExFII8PvUvEFy/PoQHXIo3j1V29WkutDBDpMvBv/6XRCHGXPqrhQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/datepicker@3.10.1': - resolution: - { - integrity: sha512-4HZL593nrNMa1GjBmWEN/OTvNS6d3/16G1YJWlqiUlv11ADulSbqBIjMmkgwrJVFcjrgqtXFy+yyrTA/oq94Zw==, - } + resolution: {integrity: sha512-4HZL593nrNMa1GjBmWEN/OTvNS6d3/16G1YJWlqiUlv11ADulSbqBIjMmkgwrJVFcjrgqtXFy+yyrTA/oq94Zw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/dialog@3.5.14': - resolution: - { - integrity: sha512-oqDCjQ8hxe3GStf48XWBf2CliEnxlR9GgSYPHJPUc69WBj68D9rVcCW3kogJnLAnwIyf3FnzbX4wSjvUa88sAQ==, - } + resolution: {integrity: sha512-oqDCjQ8hxe3GStf48XWBf2CliEnxlR9GgSYPHJPUc69WBj68D9rVcCW3kogJnLAnwIyf3FnzbX4wSjvUa88sAQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/dnd@3.6.1': - resolution: - { - integrity: sha512-6WnujUTD+cIYZVF/B+uXdHyJ+WSpbYa8jH282epvY4FUAq1qLmen12/HHcoj/5dswKQe8X6EM3OhkQM89d9vFw==, - } + resolution: {integrity: sha512-6WnujUTD+cIYZVF/B+uXdHyJ+WSpbYa8jH282epvY4FUAq1qLmen12/HHcoj/5dswKQe8X6EM3OhkQM89d9vFw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/focus@3.17.1': - resolution: - { - integrity: sha512-FLTySoSNqX++u0nWZJPPN5etXY0WBxaIe/YuL/GTEeuqUIuC/2bJSaw5hlsM6T2yjy6Y/VAxBcKSdAFUlU6njQ==, - } + resolution: {integrity: sha512-FLTySoSNqX++u0nWZJPPN5etXY0WBxaIe/YuL/GTEeuqUIuC/2bJSaw5hlsM6T2yjy6Y/VAxBcKSdAFUlU6njQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/form@3.0.5': - resolution: - { - integrity: sha512-n290jRwrrRXO3fS82MyWR+OKN7yznVesy5Q10IclSTVYHHI3VI53xtAPr/WzNjJR1um8aLhOcDNFKwnNIUUCsQ==, - } + resolution: {integrity: sha512-n290jRwrrRXO3fS82MyWR+OKN7yznVesy5Q10IclSTVYHHI3VI53xtAPr/WzNjJR1um8aLhOcDNFKwnNIUUCsQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/grid@3.9.1': - resolution: - { - integrity: sha512-fGEZqAEaS8mqzV/II3N4ndoNWegIcbh+L3PmKbXdpKKUP8VgMs/WY5rYl5WAF0f5RoFwXqx3ibDLeR9tKj/bOg==, - } + resolution: {integrity: sha512-fGEZqAEaS8mqzV/II3N4ndoNWegIcbh+L3PmKbXdpKKUP8VgMs/WY5rYl5WAF0f5RoFwXqx3ibDLeR9tKj/bOg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/gridlist@3.8.1': - resolution: - { - integrity: sha512-vVPkkA+Ct0NDcpnNm/tnYaBumg0fP9pXxsPLqL1rxvsTyj1PaIpFTZ4corabPTbTDExZwUSTS3LG1n+o1OvBtQ==, - } + resolution: {integrity: sha512-vVPkkA+Ct0NDcpnNm/tnYaBumg0fP9pXxsPLqL1rxvsTyj1PaIpFTZ4corabPTbTDExZwUSTS3LG1n+o1OvBtQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/i18n@3.11.1': - resolution: - { - integrity: sha512-vuiBHw1kZruNMYeKkTGGnmPyMnM5T+gT8bz97H1FqIq1hQ6OPzmtBZ6W6l6OIMjeHI5oJo4utTwfZl495GALFQ==, - } + resolution: {integrity: sha512-vuiBHw1kZruNMYeKkTGGnmPyMnM5T+gT8bz97H1FqIq1hQ6OPzmtBZ6W6l6OIMjeHI5oJo4utTwfZl495GALFQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/interactions@3.21.3': - resolution: - { - integrity: sha512-BWIuf4qCs5FreDJ9AguawLVS0lV9UU+sK4CCnbCNNmYqOWY+1+gRXCsnOM32K+oMESBxilAjdHW5n1hsMqYMpA==, - } + resolution: {integrity: sha512-BWIuf4qCs5FreDJ9AguawLVS0lV9UU+sK4CCnbCNNmYqOWY+1+gRXCsnOM32K+oMESBxilAjdHW5n1hsMqYMpA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/label@3.7.8': - resolution: - { - integrity: sha512-MzgTm5+suPA3KX7Ug6ZBK2NX9cin/RFLsv1BdafJ6CZpmUSpWnGE/yQfYUB7csN7j31OsZrD3/P56eShYWAQfg==, - } + resolution: {integrity: sha512-MzgTm5+suPA3KX7Ug6ZBK2NX9cin/RFLsv1BdafJ6CZpmUSpWnGE/yQfYUB7csN7j31OsZrD3/P56eShYWAQfg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/link@3.7.1': - resolution: - { - integrity: sha512-a4IaV50P3fXc7DQvEIPYkJJv26JknFbRzFT5MJOMgtzuhyJoQdILEUK6XHYjcSSNCA7uLgzpojArVk5Hz3lCpw==, - } + resolution: {integrity: sha512-a4IaV50P3fXc7DQvEIPYkJJv26JknFbRzFT5MJOMgtzuhyJoQdILEUK6XHYjcSSNCA7uLgzpojArVk5Hz3lCpw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/listbox@3.12.1': - resolution: - { - integrity: sha512-7JiUp0NGykbv/HgSpmTY1wqhuf/RmjFxs1HZcNaTv8A+DlzgJYc7yQqFjP3ZA/z5RvJFuuIxggIYmgIFjaRYdA==, - } + resolution: {integrity: sha512-7JiUp0NGykbv/HgSpmTY1wqhuf/RmjFxs1HZcNaTv8A+DlzgJYc7yQqFjP3ZA/z5RvJFuuIxggIYmgIFjaRYdA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/live-announcer@3.3.4': - resolution: - { - integrity: sha512-w8lxs35QrRrn6pBNzVfyGOeqWdxeVKf9U6bXIVwhq7rrTqRULL8jqy8RJIMfIs1s8G5FpwWYjyBOjl2g5Cu1iA==, - } + resolution: {integrity: sha512-w8lxs35QrRrn6pBNzVfyGOeqWdxeVKf9U6bXIVwhq7rrTqRULL8jqy8RJIMfIs1s8G5FpwWYjyBOjl2g5Cu1iA==} '@react-aria/menu@3.14.1': - resolution: - { - integrity: sha512-BYliRb38uAzq05UOFcD5XkjA5foQoXRbcH3ZufBsc4kvh79BcP1PMW6KsXKGJ7dC/PJWUwCui6QL1kUg8PqMHA==, - } + resolution: {integrity: sha512-BYliRb38uAzq05UOFcD5XkjA5foQoXRbcH3ZufBsc4kvh79BcP1PMW6KsXKGJ7dC/PJWUwCui6QL1kUg8PqMHA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/meter@3.4.13': - resolution: - { - integrity: sha512-oG6KvHQM3ri93XkYQkgEaMKSMO9KNDVpcW1MUqFfqyUXHFBRZRrJB4BTXMZ4nyjheFVQjVboU51fRwoLjOzThg==, - } + resolution: {integrity: sha512-oG6KvHQM3ri93XkYQkgEaMKSMO9KNDVpcW1MUqFfqyUXHFBRZRrJB4BTXMZ4nyjheFVQjVboU51fRwoLjOzThg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/numberfield@3.11.3': - resolution: - { - integrity: sha512-QQ9ZTzBbRI8d9ksaBWm6YVXbgv+5zzUsdxVxwzJVXLznvivoORB8rpdFJzUEWVCo25lzoBxluCEPYtLOxP1B0w==, - } + resolution: {integrity: sha512-QQ9ZTzBbRI8d9ksaBWm6YVXbgv+5zzUsdxVxwzJVXLznvivoORB8rpdFJzUEWVCo25lzoBxluCEPYtLOxP1B0w==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/overlays@3.22.1': - resolution: - { - integrity: sha512-GHiFMWO4EQ6+j6b5QCnNoOYiyx1Gk8ZiwLzzglCI4q1NY5AG2EAmfU4Z1+Gtrf2S5Y0zHbumC7rs9GnPoGLUYg==, - } + resolution: {integrity: sha512-GHiFMWO4EQ6+j6b5QCnNoOYiyx1Gk8ZiwLzzglCI4q1NY5AG2EAmfU4Z1+Gtrf2S5Y0zHbumC7rs9GnPoGLUYg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/progress@3.4.13': - resolution: - { - integrity: sha512-YBV9bOO5JzKvG8QCI0IAA00o6FczMgIDiK8Q9p5gKorFMatFUdRayxlbIPoYHMi+PguLil0jHgC7eOyaUcrZ0g==, - } + resolution: {integrity: sha512-YBV9bOO5JzKvG8QCI0IAA00o6FczMgIDiK8Q9p5gKorFMatFUdRayxlbIPoYHMi+PguLil0jHgC7eOyaUcrZ0g==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/radio@3.10.4': - resolution: - { - integrity: sha512-3fmoMcQtCpgjTwJReFjnvIE/C7zOZeCeWUn4JKDqz9s1ILYsC3Rk5zZ4q66tFn6v+IQnecrKT52wH6+hlVLwTA==, - } + resolution: {integrity: sha512-3fmoMcQtCpgjTwJReFjnvIE/C7zOZeCeWUn4JKDqz9s1ILYsC3Rk5zZ4q66tFn6v+IQnecrKT52wH6+hlVLwTA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/searchfield@3.7.5': - resolution: - { - integrity: sha512-h1sMUOWjhevaKKUHab/luHbM6yiyeN57L4RxZU0IIc9Ww0h5Rp2GUuKZA3pcdPiExHje0aijcImL3wBHEbKAzw==, - } + resolution: {integrity: sha512-h1sMUOWjhevaKKUHab/luHbM6yiyeN57L4RxZU0IIc9Ww0h5Rp2GUuKZA3pcdPiExHje0aijcImL3wBHEbKAzw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/select@3.14.5': - resolution: - { - integrity: sha512-s8jixBuTUNdKWRHe2tIJqp55ORHeUObGMw1s7PQRRVrrHPdNSYseAOI9B2W7qpl3hKhvjJg40UW+45mcb1WKbw==, - } + resolution: {integrity: sha512-s8jixBuTUNdKWRHe2tIJqp55ORHeUObGMw1s7PQRRVrrHPdNSYseAOI9B2W7qpl3hKhvjJg40UW+45mcb1WKbw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/selection@3.18.1': - resolution: - { - integrity: sha512-GSqN2jX6lh7v+ldqhVjAXDcrWS3N4IsKXxO6L6Ygsye86Q9q9Mq9twWDWWu5IjHD6LoVZLUBCMO+ENGbOkyqeQ==, - } + resolution: {integrity: sha512-GSqN2jX6lh7v+ldqhVjAXDcrWS3N4IsKXxO6L6Ygsye86Q9q9Mq9twWDWWu5IjHD6LoVZLUBCMO+ENGbOkyqeQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/separator@3.3.13': - resolution: - { - integrity: sha512-hofA6JCPnAOqSE9vxnq7Dkazr7Kb2A0I5sR16fOG7ddjYRc/YEY5Nv7MWfKUGU0kNFHkgNjsDAILERtLechzeA==, - } + resolution: {integrity: sha512-hofA6JCPnAOqSE9vxnq7Dkazr7Kb2A0I5sR16fOG7ddjYRc/YEY5Nv7MWfKUGU0kNFHkgNjsDAILERtLechzeA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/slider@3.7.8': - resolution: - { - integrity: sha512-MYvPcM0K8jxEJJicUK2+WxUkBIM/mquBxOTOSSIL3CszA80nXIGVnLlCUnQV3LOUzpWtabbWaZokSPtGgOgQOw==, - } + resolution: {integrity: sha512-MYvPcM0K8jxEJJicUK2+WxUkBIM/mquBxOTOSSIL3CszA80nXIGVnLlCUnQV3LOUzpWtabbWaZokSPtGgOgQOw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/spinbutton@3.6.5': - resolution: - { - integrity: sha512-0aACBarF/Xr/7ixzjVBTQ0NBwwwsoGkf5v6AVFVMTC0uYMXHTALvRs+ULHjHMa5e/cX/aPlEvaVT7jfSs+Xy9Q==, - } + resolution: {integrity: sha512-0aACBarF/Xr/7ixzjVBTQ0NBwwwsoGkf5v6AVFVMTC0uYMXHTALvRs+ULHjHMa5e/cX/aPlEvaVT7jfSs+Xy9Q==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/ssr@3.9.4': - resolution: - { - integrity: sha512-4jmAigVq409qcJvQyuorsmBR4+9r3+JEC60wC+Y0MZV0HCtTmm8D9guYXlJMdx0SSkgj0hHAyFm/HvPNFofCoQ==, - } - engines: { node: '>= 12' } + resolution: {integrity: sha512-4jmAigVq409qcJvQyuorsmBR4+9r3+JEC60wC+Y0MZV0HCtTmm8D9guYXlJMdx0SSkgj0hHAyFm/HvPNFofCoQ==} + engines: {node: '>= 12'} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/switch@3.6.4': - resolution: - { - integrity: sha512-2nVqz4ZuJyof47IpGSt3oZRmp+EdS8wzeDYgf42WHQXrx4uEOk1mdLJ20+NnsYhj/2NHZsvXVrjBeKMjlMs+0w==, - } + resolution: {integrity: sha512-2nVqz4ZuJyof47IpGSt3oZRmp+EdS8wzeDYgf42WHQXrx4uEOk1mdLJ20+NnsYhj/2NHZsvXVrjBeKMjlMs+0w==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/table@3.14.1': - resolution: - { - integrity: sha512-WaPgQe4zQF5OaluO5rm+Y2nEoFR63vsLd4BT4yjK1uaFhKhDY2Zk+1SCVQvBLLKS4WK9dhP05nrNzT0vp/ZPOw==, - } + resolution: {integrity: sha512-WaPgQe4zQF5OaluO5rm+Y2nEoFR63vsLd4BT4yjK1uaFhKhDY2Zk+1SCVQvBLLKS4WK9dhP05nrNzT0vp/ZPOw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/tabs@3.9.1': - resolution: - { - integrity: sha512-S5v/0sRcOaSXaJYZuuy1ZVzYc7JD4sDyseG1133GjyuNjJOFHgoWMb+b4uxNIJbZxnLgynn/ZDBZSO+qU+fIxw==, - } + resolution: {integrity: sha512-S5v/0sRcOaSXaJYZuuy1ZVzYc7JD4sDyseG1133GjyuNjJOFHgoWMb+b4uxNIJbZxnLgynn/ZDBZSO+qU+fIxw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/textfield@3.14.5': - resolution: - { - integrity: sha512-hj7H+66BjB1iTKKaFXwSZBZg88YT+wZboEXZ0DNdQB2ytzoz/g045wBItUuNi4ZjXI3P+0AOZznVMYadWBAmiA==, - } + resolution: {integrity: sha512-hj7H+66BjB1iTKKaFXwSZBZg88YT+wZboEXZ0DNdQB2ytzoz/g045wBItUuNi4ZjXI3P+0AOZznVMYadWBAmiA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/toggle@3.10.4': - resolution: - { - integrity: sha512-bRk+CdB8QzrSyGNjENXiTWxfzYKRw753iwQXsEAU7agPCUdB8cZJyrhbaUoD0rwczzTp2zDbZ9rRbUPdsBE2YQ==, - } + resolution: {integrity: sha512-bRk+CdB8QzrSyGNjENXiTWxfzYKRw753iwQXsEAU7agPCUdB8cZJyrhbaUoD0rwczzTp2zDbZ9rRbUPdsBE2YQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/tooltip@3.7.4': - resolution: - { - integrity: sha512-+XRx4HlLYqWY3fB8Z60bQi/rbWDIGlFUtXYbtoa1J+EyRWfhpvsYImP8qeeNO/vgjUtDy1j9oKa8p6App9mBMQ==, - } + resolution: {integrity: sha512-+XRx4HlLYqWY3fB8Z60bQi/rbWDIGlFUtXYbtoa1J+EyRWfhpvsYImP8qeeNO/vgjUtDy1j9oKa8p6App9mBMQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/utils@3.24.1': - resolution: - { - integrity: sha512-O3s9qhPMd6n42x9sKeJ3lhu5V1Tlnzhu6Yk8QOvDuXf7UGuUjXf9mzfHJt1dYzID4l9Fwm8toczBzPM9t0jc8Q==, - } + resolution: {integrity: sha512-O3s9qhPMd6n42x9sKeJ3lhu5V1Tlnzhu6Yk8QOvDuXf7UGuUjXf9mzfHJt1dYzID4l9Fwm8toczBzPM9t0jc8Q==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-aria/visually-hidden@3.8.12': - resolution: - { - integrity: sha512-Bawm+2Cmw3Xrlr7ARzl2RLtKh0lNUdJ0eNqzWcyx4c0VHUAWtThmH5l+HRqFUGzzutFZVo89SAy40BAbd0gjVw==, - } + resolution: {integrity: sha512-Bawm+2Cmw3Xrlr7ARzl2RLtKh0lNUdJ0eNqzWcyx4c0VHUAWtThmH5l+HRqFUGzzutFZVo89SAy40BAbd0gjVw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-native-community/cli-clean@13.6.8': - resolution: - { - integrity: sha512-B1uxlm1N4BQuWFvBL3yRl3LVvydjswsdbTi7tMrHMtSxfRio1p9HjcmDzlzKco09Y+8qBGgakm3jcMZGLbhXQQ==, - } + resolution: {integrity: sha512-B1uxlm1N4BQuWFvBL3yRl3LVvydjswsdbTi7tMrHMtSxfRio1p9HjcmDzlzKco09Y+8qBGgakm3jcMZGLbhXQQ==} '@react-native-community/cli-config@13.6.8': - resolution: - { - integrity: sha512-RabCkIsWdP4Ex/sf1uSP9qxc30utm+0uIJAjrZkNQynm7T4Lyqn/kT3LKm4yM6M0Qk61YxGguiaXF4601vAduw==, - } + resolution: {integrity: sha512-RabCkIsWdP4Ex/sf1uSP9qxc30utm+0uIJAjrZkNQynm7T4Lyqn/kT3LKm4yM6M0Qk61YxGguiaXF4601vAduw==} '@react-native-community/cli-debugger-ui@13.6.8': - resolution: - { - integrity: sha512-2cS+MX/Su6sVSjqpDftFOXbK7EuPg98xzsPkdPhkQnkZwvXqodK9CAMuDMbx3lBHHtrPrpMbBCpFmPN8iVOnlA==, - } + resolution: {integrity: sha512-2cS+MX/Su6sVSjqpDftFOXbK7EuPg98xzsPkdPhkQnkZwvXqodK9CAMuDMbx3lBHHtrPrpMbBCpFmPN8iVOnlA==} '@react-native-community/cli-doctor@13.6.8': - resolution: - { - integrity: sha512-/3Vdy9J3hyiu0y3nd/CU3kBqPlTRxnLXg7V6jrA1jbTOlZAMyV9imEkrqEaGK0SMOyMhh9Pipf98Ozhk0Nl4QA==, - } + resolution: {integrity: sha512-/3Vdy9J3hyiu0y3nd/CU3kBqPlTRxnLXg7V6jrA1jbTOlZAMyV9imEkrqEaGK0SMOyMhh9Pipf98Ozhk0Nl4QA==} '@react-native-community/cli-hermes@13.6.8': - resolution: - { - integrity: sha512-lZi/OBFuZUj5cLK94oEgtrtmxGoqeYVRcnHXl/R5c4put9PDl+qH2bEMlGZkFiw57ae3UZKr3TMk+1s4jh3FYQ==, - } + resolution: {integrity: sha512-lZi/OBFuZUj5cLK94oEgtrtmxGoqeYVRcnHXl/R5c4put9PDl+qH2bEMlGZkFiw57ae3UZKr3TMk+1s4jh3FYQ==} '@react-native-community/cli-platform-android@13.6.8': - resolution: - { - integrity: sha512-vWrqeLRRTwp2kO33nbrAgbYn8HR2c2CpIfyVJY9Ckk7HGUSwDyxdcSu7YBvt2ShdfLZH0HctWFNXsgGrfg6BDw==, - } + resolution: {integrity: sha512-vWrqeLRRTwp2kO33nbrAgbYn8HR2c2CpIfyVJY9Ckk7HGUSwDyxdcSu7YBvt2ShdfLZH0HctWFNXsgGrfg6BDw==} '@react-native-community/cli-platform-apple@13.6.8': - resolution: - { - integrity: sha512-1JPohnlXPqU44zns3ALEzIbH2cKRw6JtEDJERgLuEUbs2r2NeJgqDbKyZ7fTTO8o+pegDnn6+Rr7qGVVOuUzzg==, - } + resolution: {integrity: sha512-1JPohnlXPqU44zns3ALEzIbH2cKRw6JtEDJERgLuEUbs2r2NeJgqDbKyZ7fTTO8o+pegDnn6+Rr7qGVVOuUzzg==} '@react-native-community/cli-platform-ios@13.6.8': - resolution: - { - integrity: sha512-/IIcIRM8qaoD7iZqsvtf6Qq1AwtChWYfB9sTn3mTiolZ5Zd5bXH37g+6liPfAICRkj2Ptq3iXmjrDVUQAxrOXw==, - } + resolution: {integrity: sha512-/IIcIRM8qaoD7iZqsvtf6Qq1AwtChWYfB9sTn3mTiolZ5Zd5bXH37g+6liPfAICRkj2Ptq3iXmjrDVUQAxrOXw==} '@react-native-community/cli-server-api@13.6.8': - resolution: - { - integrity: sha512-Lx664oWTzpVfbKUTy+3GIX7e+Mt5Zn+zdkM4ehllNdik/lbB3tM9Nrg8PSvOfI+tTXs2w55+nIydLfH+0FqJVg==, - } + resolution: {integrity: sha512-Lx664oWTzpVfbKUTy+3GIX7e+Mt5Zn+zdkM4ehllNdik/lbB3tM9Nrg8PSvOfI+tTXs2w55+nIydLfH+0FqJVg==} '@react-native-community/cli-tools@13.6.8': - resolution: - { - integrity: sha512-1MYlae9EkbjC7DBYOGMH5xF9yDoeNYUKgEdDjL6WAUBoF2gtwiZPM6igLKi/+dhb5sCtC7fiLrLi0Oevdf+RmQ==, - } + resolution: {integrity: sha512-1MYlae9EkbjC7DBYOGMH5xF9yDoeNYUKgEdDjL6WAUBoF2gtwiZPM6igLKi/+dhb5sCtC7fiLrLi0Oevdf+RmQ==} '@react-native-community/cli-types@13.6.8': - resolution: - { - integrity: sha512-C4mVByy0i+/NPuPhdMLBR7ubEVkjVS1VwoQu/BoG1crJFNE+167QXAzH01eFbXndsjZaMWmD4Gerx7TYc6lHfA==, - } + resolution: {integrity: sha512-C4mVByy0i+/NPuPhdMLBR7ubEVkjVS1VwoQu/BoG1crJFNE+167QXAzH01eFbXndsjZaMWmD4Gerx7TYc6lHfA==} '@react-native-community/cli@13.6.8': - resolution: - { - integrity: sha512-0lRdgLNaXixWY4BfFRl1J6Ao9Lapo2z+++iE7TD4GAbuxOWJSyFi+KUA8XNfSDyML4jFO02MZgyBPxAWdaminQ==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-0lRdgLNaXixWY4BfFRl1J6Ao9Lapo2z+++iE7TD4GAbuxOWJSyFi+KUA8XNfSDyML4jFO02MZgyBPxAWdaminQ==} + engines: {node: '>=18'} hasBin: true '@react-native/assets-registry@0.74.84': - resolution: - { - integrity: sha512-dzUhwyaX04QosWZ8zyaaNB/WYZIdeDN1lcpfQbqiOhZJShRH+FLTDVONE/dqlMQrP+EO7lDqF0RrlIt9lnOCQQ==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-dzUhwyaX04QosWZ8zyaaNB/WYZIdeDN1lcpfQbqiOhZJShRH+FLTDVONE/dqlMQrP+EO7lDqF0RrlIt9lnOCQQ==} + engines: {node: '>=18'} '@react-native/babel-plugin-codegen@0.74.84': - resolution: - { - integrity: sha512-UR4uiii5szIJA84mSC6GJOfYKDq7/ThyetOQT62+BBcyGeHVtHlNLNRzgaMeLqIQaT8Fq4pccMI+7QqLOMXzdw==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-UR4uiii5szIJA84mSC6GJOfYKDq7/ThyetOQT62+BBcyGeHVtHlNLNRzgaMeLqIQaT8Fq4pccMI+7QqLOMXzdw==} + engines: {node: '>=18'} '@react-native/babel-preset@0.74.84': - resolution: - { - integrity: sha512-WUfu6Y4aGuVdocQZvx33BJiQWFH6kRCHYbZfBn2psgFrSRLgQWEQrDCxqPFObNAVSayM0rNhp2FvI5K/Eyeqlg==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-WUfu6Y4aGuVdocQZvx33BJiQWFH6kRCHYbZfBn2psgFrSRLgQWEQrDCxqPFObNAVSayM0rNhp2FvI5K/Eyeqlg==} + engines: {node: '>=18'} peerDependencies: '@babel/core': '*' '@react-native/codegen@0.74.84': - resolution: - { - integrity: sha512-0hXlnu9i0o8v+gXKQi+x6T471L85kCDwW4WrJiYAeOheWrQdNNW6rC3g8+LL7HXAf7QcHGU/8/d57iYfdVK2BQ==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-0hXlnu9i0o8v+gXKQi+x6T471L85kCDwW4WrJiYAeOheWrQdNNW6rC3g8+LL7HXAf7QcHGU/8/d57iYfdVK2BQ==} + engines: {node: '>=18'} peerDependencies: '@babel/preset-env': ^7.1.6 '@react-native/community-cli-plugin@0.74.84': - resolution: - { - integrity: sha512-GBKE+1sUh86fS2XXV46gMCNHMc1KetshMbYJ0AhDhldpaILZHqRBX50mdVsiYVvkzp4QjM0nmYqefuJ9NVwicQ==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-GBKE+1sUh86fS2XXV46gMCNHMc1KetshMbYJ0AhDhldpaILZHqRBX50mdVsiYVvkzp4QjM0nmYqefuJ9NVwicQ==} + engines: {node: '>=18'} '@react-native/debugger-frontend@0.74.84': - resolution: - { - integrity: sha512-YUEA03UNFbiYzHpYxlcS2D9+3eNT5YLGkl5yRg3nOSN6KbCc/OttGnNZme+tuSOJwjMN/vcvtDKYkTqjJw8U0A==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-YUEA03UNFbiYzHpYxlcS2D9+3eNT5YLGkl5yRg3nOSN6KbCc/OttGnNZme+tuSOJwjMN/vcvtDKYkTqjJw8U0A==} + engines: {node: '>=18'} '@react-native/dev-middleware@0.74.84': - resolution: - { - integrity: sha512-veYw/WmyrAOQHUiIeULzn2duJQnXDPiKq2jZ/lcmDo6jsLirpp+Q73lx09TYgy/oVoPRuV0nfmU3x9B6EV/7qQ==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-veYw/WmyrAOQHUiIeULzn2duJQnXDPiKq2jZ/lcmDo6jsLirpp+Q73lx09TYgy/oVoPRuV0nfmU3x9B6EV/7qQ==} + engines: {node: '>=18'} '@react-native/gradle-plugin@0.74.84': - resolution: - { - integrity: sha512-wYWC5WWXqzCCe4PDogz9pNc4xH5ZamahW5XGSbrrYJ5V3walZ+7z43V6iEBJkZbLjj9YBcSttkXYGr1Xh4veAg==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-wYWC5WWXqzCCe4PDogz9pNc4xH5ZamahW5XGSbrrYJ5V3walZ+7z43V6iEBJkZbLjj9YBcSttkXYGr1Xh4veAg==} + engines: {node: '>=18'} '@react-native/js-polyfills@0.74.84': - resolution: - { - integrity: sha512-+PgxuUjBw9JVlz6m4ECsIJMLbDopnr4rpLmsG32hQaJrg0wMuvHtsgAY/J/aVCSG2GNUXexfjrnhc+O9yGOZXQ==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-+PgxuUjBw9JVlz6m4ECsIJMLbDopnr4rpLmsG32hQaJrg0wMuvHtsgAY/J/aVCSG2GNUXexfjrnhc+O9yGOZXQ==} + engines: {node: '>=18'} '@react-native/metro-babel-transformer@0.74.84': - resolution: - { - integrity: sha512-YtVGq7jkgyUECv5yt4BOFbOXyW4ddUn8+dnwGGpJKdfhXYL5o5++AxNdE+2x+SZdkj3JUVekGKPwRabFECABaw==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-YtVGq7jkgyUECv5yt4BOFbOXyW4ddUn8+dnwGGpJKdfhXYL5o5++AxNdE+2x+SZdkj3JUVekGKPwRabFECABaw==} + engines: {node: '>=18'} peerDependencies: '@babel/core': '*' '@react-native/normalize-colors@0.74.84': - resolution: - { - integrity: sha512-Y5W6x8cC5RuakUcTVUFNAIhUZ/tYpuqHZlRBoAuakrTwVuoNHXfQki8lj1KsYU7rW6e3VWgdEx33AfOQpdNp6A==, - } + resolution: {integrity: sha512-Y5W6x8cC5RuakUcTVUFNAIhUZ/tYpuqHZlRBoAuakrTwVuoNHXfQki8lj1KsYU7rW6e3VWgdEx33AfOQpdNp6A==} '@react-native/virtualized-lists@0.74.84': - resolution: - { - integrity: sha512-XcV+qdqt2WihaY4iRm/M1FdSy+18lecU9mRXNmy9YK8g9Th/8XbNtmmKI0qWBx3KxyuXMH/zd0ps05YTrX16kw==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-XcV+qdqt2WihaY4iRm/M1FdSy+18lecU9mRXNmy9YK8g9Th/8XbNtmmKI0qWBx3KxyuXMH/zd0ps05YTrX16kw==} + engines: {node: '>=18'} peerDependencies: '@types/react': ^18.2.6 react: '*' @@ -3333,78 +2147,51 @@ packages: optional: true '@react-spring/animated@9.7.3': - resolution: - { - integrity: sha512-5CWeNJt9pNgyvuSzQH+uy2pvTg8Y4/OisoscZIR8/ZNLIOI+CatFBhGZpDGTF/OzdNFsAoGk3wiUYTwoJ0YIvw==, - } + resolution: {integrity: sha512-5CWeNJt9pNgyvuSzQH+uy2pvTg8Y4/OisoscZIR8/ZNLIOI+CatFBhGZpDGTF/OzdNFsAoGk3wiUYTwoJ0YIvw==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 '@react-spring/core@9.7.3': - resolution: - { - integrity: sha512-IqFdPVf3ZOC1Cx7+M0cXf4odNLxDC+n7IN3MDcVCTIOSBfqEcBebSv+vlY5AhM0zw05PDbjKrNmBpzv/AqpjnQ==, - } + resolution: {integrity: sha512-IqFdPVf3ZOC1Cx7+M0cXf4odNLxDC+n7IN3MDcVCTIOSBfqEcBebSv+vlY5AhM0zw05PDbjKrNmBpzv/AqpjnQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 '@react-spring/konva@9.7.3': - resolution: - { - integrity: sha512-R9sY6SiPGYqz1383P5qppg5z57YfChVknOC1UxxaGxpw+WiZa8fZ4zmZobslrw+os3/+HAXZv8O+EvU/nQpf7g==, - } + resolution: {integrity: sha512-R9sY6SiPGYqz1383P5qppg5z57YfChVknOC1UxxaGxpw+WiZa8fZ4zmZobslrw+os3/+HAXZv8O+EvU/nQpf7g==} peerDependencies: konva: '>=2.6' react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-konva: ^16.8.0 || ^16.8.7-0 || ^16.9.0-0 || ^16.10.1-0 || ^16.12.0-0 || ^16.13.0-0 || ^17.0.0-0 || ^17.0.1-0 || ^17.0.2-0 || ^18.0.0-0 '@react-spring/native@9.7.3': - resolution: - { - integrity: sha512-4mpxX3FuEBCUT6ae2fjhxcJW6bhr2FBwFf274eXB7n+U30Gdg8Wo2qYwcUnmiAA0S3dvP8vLTazx3+CYWFShnA==, - } + resolution: {integrity: sha512-4mpxX3FuEBCUT6ae2fjhxcJW6bhr2FBwFf274eXB7n+U30Gdg8Wo2qYwcUnmiAA0S3dvP8vLTazx3+CYWFShnA==} peerDependencies: react: ^16.8.0 || >=17.0.0 || >=18.0.0 react-native: '>=0.58' '@react-spring/shared@9.7.3': - resolution: - { - integrity: sha512-NEopD+9S5xYyQ0pGtioacLhL2luflh6HACSSDUZOwLHoxA5eku1UPuqcJqjwSD6luKjjLfiLOspxo43FUHKKSA==, - } + resolution: {integrity: sha512-NEopD+9S5xYyQ0pGtioacLhL2luflh6HACSSDUZOwLHoxA5eku1UPuqcJqjwSD6luKjjLfiLOspxo43FUHKKSA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 '@react-spring/three@9.7.3': - resolution: - { - integrity: sha512-Q1p512CqUlmMK8UMBF/Rj79qndhOWq4XUTayxMP9S892jiXzWQuj+xC3Xvm59DP/D4JXusXpxxqfgoH+hmOktA==, - } + resolution: {integrity: sha512-Q1p512CqUlmMK8UMBF/Rj79qndhOWq4XUTayxMP9S892jiXzWQuj+xC3Xvm59DP/D4JXusXpxxqfgoH+hmOktA==} peerDependencies: '@react-three/fiber': '>=6.0' react: ^16.8.0 || ^17.0.0 || ^18.0.0 three: '>=0.126' '@react-spring/types@9.7.3': - resolution: - { - integrity: sha512-Kpx/fQ/ZFX31OtlqVEFfgaD1ACzul4NksrvIgYfIFq9JpDHFwQkMVZ10tbo0FU/grje4rcL4EIrjekl3kYwgWw==, - } + resolution: {integrity: sha512-Kpx/fQ/ZFX31OtlqVEFfgaD1ACzul4NksrvIgYfIFq9JpDHFwQkMVZ10tbo0FU/grje4rcL4EIrjekl3kYwgWw==} '@react-spring/web@9.7.3': - resolution: - { - integrity: sha512-BXt6BpS9aJL/QdVqEIX9YoUy8CE6TJrU0mNCqSoxdXlIeNcEBWOfIyE6B14ENNsyQKS3wOWkiJfco0tCr/9tUg==, - } + resolution: {integrity: sha512-BXt6BpS9aJL/QdVqEIX9YoUy8CE6TJrU0mNCqSoxdXlIeNcEBWOfIyE6B14ENNsyQKS3wOWkiJfco0tCr/9tUg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 '@react-spring/zdog@9.7.3': - resolution: - { - integrity: sha512-L+yK/1PvNi9n8cldiJ309k4LdxcPkeWE0W18l1zrP1IBIyd5NB5EPA8DMsGr9gtNnnIujtEzZk+4JIOjT8u/tw==, - } + resolution: {integrity: sha512-L+yK/1PvNi9n8cldiJ309k4LdxcPkeWE0W18l1zrP1IBIyd5NB5EPA8DMsGr9gtNnnIujtEzZk+4JIOjT8u/tw==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -3412,208 +2199,130 @@ packages: zdog: '>=1.0' '@react-stately/calendar@3.5.1': - resolution: - { - integrity: sha512-7l7QhqGUJ5AzWHfvZzbTe3J4t72Ht5BmhW4hlVI7flQXtfrmYkVtl3ZdytEZkkHmWGYZRW9b4IQTQGZxhtlElA==, - } + resolution: {integrity: sha512-7l7QhqGUJ5AzWHfvZzbTe3J4t72Ht5BmhW4hlVI7flQXtfrmYkVtl3ZdytEZkkHmWGYZRW9b4IQTQGZxhtlElA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-stately/checkbox@3.6.5': - resolution: - { - integrity: sha512-IXV3f9k+LtmfQLE+DKIN41Q5QB/YBLDCB1YVx5PEdRp52S9+EACD5683rjVm8NVRDwjMi2SP6RnFRk7fVb5Azg==, - } + resolution: {integrity: sha512-IXV3f9k+LtmfQLE+DKIN41Q5QB/YBLDCB1YVx5PEdRp52S9+EACD5683rjVm8NVRDwjMi2SP6RnFRk7fVb5Azg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-stately/collections@3.10.7': - resolution: - { - integrity: sha512-KRo5O2MWVL8n3aiqb+XR3vP6akmHLhLWYZEmPKjIv0ghQaEebBTrN3wiEjtd6dzllv0QqcWvDLM1LntNfJ2TsA==, - } + resolution: {integrity: sha512-KRo5O2MWVL8n3aiqb+XR3vP6akmHLhLWYZEmPKjIv0ghQaEebBTrN3wiEjtd6dzllv0QqcWvDLM1LntNfJ2TsA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-stately/combobox@3.8.4': - resolution: - { - integrity: sha512-iLVGvKRRz0TeJXZhZyK783hveHpYA6xovOSdzSD+WGYpiPXo1QrcrNoH3AE0Z2sHtorU+8nc0j58vh5PB+m2AA==, - } + resolution: {integrity: sha512-iLVGvKRRz0TeJXZhZyK783hveHpYA6xovOSdzSD+WGYpiPXo1QrcrNoH3AE0Z2sHtorU+8nc0j58vh5PB+m2AA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-stately/datepicker@3.9.4': - resolution: - { - integrity: sha512-yBdX01jn6gq4NIVvHIqdjBUPo+WN8Bujc4OnPw+ZnfA4jI0eIgq04pfZ84cp1LVXW0IB0VaCu1AlQ/kvtZjfGA==, - } + resolution: {integrity: sha512-yBdX01jn6gq4NIVvHIqdjBUPo+WN8Bujc4OnPw+ZnfA4jI0eIgq04pfZ84cp1LVXW0IB0VaCu1AlQ/kvtZjfGA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-stately/dnd@3.3.1': - resolution: - { - integrity: sha512-I/Ci5xB8hSgAXzoWYWScfMM9UK1MX/eTlARBhiSlfudewweOtNJAI+cXJgU7uiUnGjh4B4v3qDBtlAH1dWDCsw==, - } + resolution: {integrity: sha512-I/Ci5xB8hSgAXzoWYWScfMM9UK1MX/eTlARBhiSlfudewweOtNJAI+cXJgU7uiUnGjh4B4v3qDBtlAH1dWDCsw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-stately/flags@3.0.3': - resolution: - { - integrity: sha512-/ha7XFA0RZTQsbzSPwu3KkbNMgbvuM0GuMTYLTBWpgBrovBNTM+QqI/PfZTdHg8PwCYF4H5Y8gjdSpdulCvJFw==, - } + resolution: {integrity: sha512-/ha7XFA0RZTQsbzSPwu3KkbNMgbvuM0GuMTYLTBWpgBrovBNTM+QqI/PfZTdHg8PwCYF4H5Y8gjdSpdulCvJFw==} '@react-stately/form@3.0.3': - resolution: - { - integrity: sha512-92YYBvlHEWUGUpXgIaQ48J50jU9XrxfjYIN8BTvvhBHdD63oWgm8DzQnyT/NIAMzdLnhkg7vP+fjG8LjHeyIAg==, - } + resolution: {integrity: sha512-92YYBvlHEWUGUpXgIaQ48J50jU9XrxfjYIN8BTvvhBHdD63oWgm8DzQnyT/NIAMzdLnhkg7vP+fjG8LjHeyIAg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-stately/grid@3.8.7': - resolution: - { - integrity: sha512-he3TXCLAhF5C5z1/G4ySzcwyt7PEiWcVIupxebJQqRyFrNWemSuv+7tolnStmG8maMVIyV3P/3j4eRBbdSlOIg==, - } + resolution: {integrity: sha512-he3TXCLAhF5C5z1/G4ySzcwyt7PEiWcVIupxebJQqRyFrNWemSuv+7tolnStmG8maMVIyV3P/3j4eRBbdSlOIg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-stately/list@3.10.5': - resolution: - { - integrity: sha512-fV9plO+6QDHiewsYIhboxcDhF17GO95xepC5ki0bKXo44gr14g/LSo/BMmsaMnV+1BuGdBunB05bO4QOIaigXA==, - } + resolution: {integrity: sha512-fV9plO+6QDHiewsYIhboxcDhF17GO95xepC5ki0bKXo44gr14g/LSo/BMmsaMnV+1BuGdBunB05bO4QOIaigXA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-stately/menu@3.7.1': - resolution: - { - integrity: sha512-mX1w9HHzt+xal1WIT2xGrTQsoLvDwuB2R1Er1MBABs//MsJzccycatcgV/J/28m6tO5M9iuFQQvLV+i1dCtodg==, - } + resolution: {integrity: sha512-mX1w9HHzt+xal1WIT2xGrTQsoLvDwuB2R1Er1MBABs//MsJzccycatcgV/J/28m6tO5M9iuFQQvLV+i1dCtodg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-stately/numberfield@3.9.3': - resolution: - { - integrity: sha512-UlPTLSabhLEuHtgzM0PgfhtEaHy3yttbzcRb8yHNvGo4KbCHeHpTHd3QghKfTFm024Mug7+mVlWCmMtW0f5ttg==, - } + resolution: {integrity: sha512-UlPTLSabhLEuHtgzM0PgfhtEaHy3yttbzcRb8yHNvGo4KbCHeHpTHd3QghKfTFm024Mug7+mVlWCmMtW0f5ttg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-stately/overlays@3.6.7': - resolution: - { - integrity: sha512-6zp8v/iNUm6YQap0loaFx6PlvN8C0DgWHNlrlzMtMmNuvjhjR0wYXVaTfNoUZBWj25tlDM81ukXOjpRXg9rLrw==, - } + resolution: {integrity: sha512-6zp8v/iNUm6YQap0loaFx6PlvN8C0DgWHNlrlzMtMmNuvjhjR0wYXVaTfNoUZBWj25tlDM81ukXOjpRXg9rLrw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-stately/radio@3.10.4': - resolution: - { - integrity: sha512-kCIc7tAl4L7Hu4Wt9l2jaa+MzYmAJm0qmC8G8yPMbExpWbLRu6J8Un80GZu+JxvzgDlqDyrVvyv9zFifwH/NkQ==, - } + resolution: {integrity: sha512-kCIc7tAl4L7Hu4Wt9l2jaa+MzYmAJm0qmC8G8yPMbExpWbLRu6J8Un80GZu+JxvzgDlqDyrVvyv9zFifwH/NkQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-stately/searchfield@3.5.3': - resolution: - { - integrity: sha512-H0OvlgwPIFdc471ypw79MDjz3WXaVq9+THaY6JM4DIohEJNN5Dwei7O9g6r6m/GqPXJIn5TT3b74kJ2Osc00YQ==, - } + resolution: {integrity: sha512-H0OvlgwPIFdc471ypw79MDjz3WXaVq9+THaY6JM4DIohEJNN5Dwei7O9g6r6m/GqPXJIn5TT3b74kJ2Osc00YQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-stately/select@3.6.4': - resolution: - { - integrity: sha512-whZgF1N53D0/dS8tOFdrswB0alsk5Q5620HC3z+5f2Hpi8gwgAZ8TYa+2IcmMYRiT+bxVuvEc/NirU9yPmqGbA==, - } + resolution: {integrity: sha512-whZgF1N53D0/dS8tOFdrswB0alsk5Q5620HC3z+5f2Hpi8gwgAZ8TYa+2IcmMYRiT+bxVuvEc/NirU9yPmqGbA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-stately/selection@3.15.1': - resolution: - { - integrity: sha512-6TQnN9L0UY9w19B7xzb1P6mbUVBtW840Cw1SjgNXCB3NPaCf59SwqClYzoj8O2ZFzMe8F/nUJtfU1NS65/OLlw==, - } + resolution: {integrity: sha512-6TQnN9L0UY9w19B7xzb1P6mbUVBtW840Cw1SjgNXCB3NPaCf59SwqClYzoj8O2ZFzMe8F/nUJtfU1NS65/OLlw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-stately/slider@3.5.4': - resolution: - { - integrity: sha512-Jsf7K17dr93lkNKL9ij8HUcoM1sPbq8TvmibD6DhrK9If2lje+OOL8y4n4qreUnfMT56HCAeS9wCO3fg3eMyrw==, - } + resolution: {integrity: sha512-Jsf7K17dr93lkNKL9ij8HUcoM1sPbq8TvmibD6DhrK9If2lje+OOL8y4n4qreUnfMT56HCAeS9wCO3fg3eMyrw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-stately/table@3.11.8': - resolution: - { - integrity: sha512-EdyRW3lT1/kAVDp5FkEIi1BQ7tvmD2YgniGdLuW/l9LADo0T+oxZqruv60qpUS6sQap+59Riaxl91ClDxrJnpg==, - } + resolution: {integrity: sha512-EdyRW3lT1/kAVDp5FkEIi1BQ7tvmD2YgniGdLuW/l9LADo0T+oxZqruv60qpUS6sQap+59Riaxl91ClDxrJnpg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-stately/tabs@3.6.6': - resolution: - { - integrity: sha512-sOLxorH2uqjAA+v1ppkMCc2YyjgqvSGeBDgtR/lyPSDd4CVMoTExszROX2dqG0c8il9RQvzFuufUtQWMY6PgSA==, - } + resolution: {integrity: sha512-sOLxorH2uqjAA+v1ppkMCc2YyjgqvSGeBDgtR/lyPSDd4CVMoTExszROX2dqG0c8il9RQvzFuufUtQWMY6PgSA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-stately/toggle@3.7.4': - resolution: - { - integrity: sha512-CoYFe9WrhLkDP4HGDpJYQKwfiYCRBAeoBQHv+JWl5eyK61S8xSwoHsveYuEZ3bowx71zyCnNAqWRrmNOxJ4CKA==, - } + resolution: {integrity: sha512-CoYFe9WrhLkDP4HGDpJYQKwfiYCRBAeoBQHv+JWl5eyK61S8xSwoHsveYuEZ3bowx71zyCnNAqWRrmNOxJ4CKA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-stately/tooltip@3.4.9': - resolution: - { - integrity: sha512-P7CDJsdoKarz32qFwf3VNS01lyC+63gXpDZG31pUu+EO5BeQd4WKN/AH1Beuswpr4GWzxzFc1aXQgERFGVzraA==, - } + resolution: {integrity: sha512-P7CDJsdoKarz32qFwf3VNS01lyC+63gXpDZG31pUu+EO5BeQd4WKN/AH1Beuswpr4GWzxzFc1aXQgERFGVzraA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-stately/tree@3.8.1': - resolution: - { - integrity: sha512-LOdkkruJWch3W89h4B/bXhfr0t0t1aRfEp+IMrrwdRAl23NaPqwl5ILHs4Xu5XDHqqhg8co73pHrJwUyiTWEjw==, - } + resolution: {integrity: sha512-LOdkkruJWch3W89h4B/bXhfr0t0t1aRfEp+IMrrwdRAl23NaPqwl5ILHs4Xu5XDHqqhg8co73pHrJwUyiTWEjw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-stately/utils@3.10.1': - resolution: - { - integrity: sha512-VS/EHRyicef25zDZcM/ClpzYMC5i2YGN6uegOeQawmgfGjb02yaCX0F0zR69Pod9m2Hr3wunTbtpgVXvYbZItg==, - } + resolution: {integrity: sha512-VS/EHRyicef25zDZcM/ClpzYMC5i2YGN6uegOeQawmgfGjb02yaCX0F0zR69Pod9m2Hr3wunTbtpgVXvYbZItg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-stately/virtualizer@3.7.1': - resolution: - { - integrity: sha512-voHgE6EQ+oZaLv6u2umKxakvIKNkCQuUihqKACTjdslp7SJh4Mvs3oLBI0hf0JOh+rCcFIKDvQtFwy1fXFRYBA==, - } + resolution: {integrity: sha512-voHgE6EQ+oZaLv6u2umKxakvIKNkCQuUihqKACTjdslp7SJh4Mvs3oLBI0hf0JOh+rCcFIKDvQtFwy1fXFRYBA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-three/fiber@8.16.8': - resolution: - { - integrity: sha512-Lc8fjATtvQEfSd8d5iKdbpHtRm/aPMeFj7jQvp6TNHfpo8IQTW3wwcE1ZMrGGoUH+w2mnyS+0MK1NLPLnuzGkQ==, - } + resolution: {integrity: sha512-Lc8fjATtvQEfSd8d5iKdbpHtRm/aPMeFj7jQvp6TNHfpo8IQTW3wwcE1ZMrGGoUH+w2mnyS+0MK1NLPLnuzGkQ==} peerDependencies: expo: '>=43.0' expo-asset: '>=8.4' @@ -3638,564 +2347,354 @@ packages: optional: true '@react-types/breadcrumbs@3.7.5': - resolution: - { - integrity: sha512-lV9IDYsMiu2TgdMIjEmsOE0YWwjb3jhUNK1DCZZfq6uWuiHLgyx2EncazJBUWSjHJ4ta32j7xTuXch+8Ai6u/A==, - } + resolution: {integrity: sha512-lV9IDYsMiu2TgdMIjEmsOE0YWwjb3jhUNK1DCZZfq6uWuiHLgyx2EncazJBUWSjHJ4ta32j7xTuXch+8Ai6u/A==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-types/button@3.9.4': - resolution: - { - integrity: sha512-raeQBJUxBp0axNF74TXB8/H50GY8Q3eV6cEKMbZFP1+Dzr09Ngv0tJBeW0ewAxAguNH5DRoMUAUGIXtSXskVdA==, - } + resolution: {integrity: sha512-raeQBJUxBp0axNF74TXB8/H50GY8Q3eV6cEKMbZFP1+Dzr09Ngv0tJBeW0ewAxAguNH5DRoMUAUGIXtSXskVdA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-types/calendar@3.4.6': - resolution: - { - integrity: sha512-WSntZPwtvsIYWvBQRAPvuCn55UTJBZroTvX0vQvWykJRQnPAI20G1hMQ3dNsnAL+gLZUYxBXn66vphmjUuSYew==, - } + resolution: {integrity: sha512-WSntZPwtvsIYWvBQRAPvuCn55UTJBZroTvX0vQvWykJRQnPAI20G1hMQ3dNsnAL+gLZUYxBXn66vphmjUuSYew==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-types/checkbox@3.8.1': - resolution: - { - integrity: sha512-5/oVByPw4MbR/8QSdHCaalmyWC71H/QGgd4aduTJSaNi825o+v/hsN2/CH7Fq9atkLKsC8fvKD00Bj2VGaKriQ==, - } + resolution: {integrity: sha512-5/oVByPw4MbR/8QSdHCaalmyWC71H/QGgd4aduTJSaNi825o+v/hsN2/CH7Fq9atkLKsC8fvKD00Bj2VGaKriQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-types/combobox@3.11.1': - resolution: - { - integrity: sha512-UNc3OHt5cUt5gCTHqhQIqhaWwKCpaNciD8R7eQazmHiA9fq8ROlV+7l3gdNgdhJbTf5Bu/V5ISnN7Y1xwL3zqQ==, - } + resolution: {integrity: sha512-UNc3OHt5cUt5gCTHqhQIqhaWwKCpaNciD8R7eQazmHiA9fq8ROlV+7l3gdNgdhJbTf5Bu/V5ISnN7Y1xwL3zqQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-types/datepicker@3.7.4': - resolution: - { - integrity: sha512-ZfvgscvNzBJpYyVWg3nstJtA/VlWLwErwSkd1ivZYam859N30w8yH+4qoYLa6FzWLCFlrsRHyvtxlEM7lUAt5A==, - } + resolution: {integrity: sha512-ZfvgscvNzBJpYyVWg3nstJtA/VlWLwErwSkd1ivZYam859N30w8yH+4qoYLa6FzWLCFlrsRHyvtxlEM7lUAt5A==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-types/dialog@3.5.10': - resolution: - { - integrity: sha512-S9ga+edOLNLZw7/zVOnZdT5T40etpzUYBXEKdFPbxyPYnERvRxJAsC1/ASuBU9fQAXMRgLZzADWV+wJoGS/X9g==, - } + resolution: {integrity: sha512-S9ga+edOLNLZw7/zVOnZdT5T40etpzUYBXEKdFPbxyPYnERvRxJAsC1/ASuBU9fQAXMRgLZzADWV+wJoGS/X9g==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-types/grid@3.2.6': - resolution: - { - integrity: sha512-XfHenL2jEBUYrhKiPdeM24mbLRXUn79wVzzMhrNYh24nBwhsPPpxF+gjFddT3Cy8dt6tRInfT6pMEu9nsXwaHw==, - } + resolution: {integrity: sha512-XfHenL2jEBUYrhKiPdeM24mbLRXUn79wVzzMhrNYh24nBwhsPPpxF+gjFddT3Cy8dt6tRInfT6pMEu9nsXwaHw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-types/link@3.5.5': - resolution: - { - integrity: sha512-G6P5WagHDR87npN7sEuC5IIgL1GsoY4WFWKO4734i2CXRYx24G9P0Su3AX4GA3qpspz8sK1AWkaCzBMmvnunfw==, - } + resolution: {integrity: sha512-G6P5WagHDR87npN7sEuC5IIgL1GsoY4WFWKO4734i2CXRYx24G9P0Su3AX4GA3qpspz8sK1AWkaCzBMmvnunfw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-types/listbox@3.4.9': - resolution: - { - integrity: sha512-S5G+WmNKUIOPZxZ4svWwWQupP3C6LmVfnf8QQmPDvwYXGzVc0WovkqUWyhhjJirFDswTXRCO9p0yaTHHIlkdwQ==, - } + resolution: {integrity: sha512-S5G+WmNKUIOPZxZ4svWwWQupP3C6LmVfnf8QQmPDvwYXGzVc0WovkqUWyhhjJirFDswTXRCO9p0yaTHHIlkdwQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-types/menu@3.9.9': - resolution: - { - integrity: sha512-FamUaPVs1Fxr4KOMI0YcR2rYZHoN7ypGtgiEiJ11v/tEPjPPGgeKDxii0McCrdOkjheatLN1yd2jmMwYj6hTDg==, - } + resolution: {integrity: sha512-FamUaPVs1Fxr4KOMI0YcR2rYZHoN7ypGtgiEiJ11v/tEPjPPGgeKDxii0McCrdOkjheatLN1yd2jmMwYj6hTDg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-types/meter@3.4.1': - resolution: - { - integrity: sha512-AIJV4NDFAqKH94s02c5Da4TH2qgJjfrw978zuFM0KUBFD85WRPKh7MvgWpomvUgmzqE6lMCzIdi1KPKqrRabdw==, - } + resolution: {integrity: sha512-AIJV4NDFAqKH94s02c5Da4TH2qgJjfrw978zuFM0KUBFD85WRPKh7MvgWpomvUgmzqE6lMCzIdi1KPKqrRabdw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-types/numberfield@3.8.3': - resolution: - { - integrity: sha512-z5fGfVj3oh5bmkw9zDvClA1nDBSFL9affOuyk2qZ/M2SRUmykDAPCksbfcMndft0XULWKbF4s2CYbVI+E/yrUA==, - } + resolution: {integrity: sha512-z5fGfVj3oh5bmkw9zDvClA1nDBSFL9affOuyk2qZ/M2SRUmykDAPCksbfcMndft0XULWKbF4s2CYbVI+E/yrUA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-types/overlays@3.8.7': - resolution: - { - integrity: sha512-zCOYvI4at2DkhVpviIClJ7bRrLXYhSg3Z3v9xymuPH3mkiuuP/dm8mUCtkyY4UhVeUTHmrQh1bzaOP00A+SSQA==, - } + resolution: {integrity: sha512-zCOYvI4at2DkhVpviIClJ7bRrLXYhSg3Z3v9xymuPH3mkiuuP/dm8mUCtkyY4UhVeUTHmrQh1bzaOP00A+SSQA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-types/progress@3.5.4': - resolution: - { - integrity: sha512-JNc246sTjasPyx5Dp7/s0rp3Bz4qlu4LrZTulZlxWyb53WgBNL7axc26CCi+I20rWL9+c7JjhrRxnLl/1cLN5g==, - } + resolution: {integrity: sha512-JNc246sTjasPyx5Dp7/s0rp3Bz4qlu4LrZTulZlxWyb53WgBNL7axc26CCi+I20rWL9+c7JjhrRxnLl/1cLN5g==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-types/radio@3.8.1': - resolution: - { - integrity: sha512-bK0gio/qj1+0Ldu/3k/s9BaOZvnnRgvFtL3u5ky479+aLG5qf1CmYed3SKz8ErZ70JkpuCSrSwSCFf0t1IHovw==, - } + resolution: {integrity: sha512-bK0gio/qj1+0Ldu/3k/s9BaOZvnnRgvFtL3u5ky479+aLG5qf1CmYed3SKz8ErZ70JkpuCSrSwSCFf0t1IHovw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-types/searchfield@3.5.5': - resolution: - { - integrity: sha512-T/NHg12+w23TxlXMdetogLDUldk1z5dDavzbnjKrLkajLb221bp8brlR/+O6C1CtFpuJGALqYHgTasU1qkQFSA==, - } + resolution: {integrity: sha512-T/NHg12+w23TxlXMdetogLDUldk1z5dDavzbnjKrLkajLb221bp8brlR/+O6C1CtFpuJGALqYHgTasU1qkQFSA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-types/select@3.9.4': - resolution: - { - integrity: sha512-xI7dnOW2st91fPPcv6hdtrTdcfetYiqZuuVPZ5TRobY7Q10/Zqqe/KqtOw1zFKUj9xqNJe4Ov3xP5GSdcO60Eg==, - } + resolution: {integrity: sha512-xI7dnOW2st91fPPcv6hdtrTdcfetYiqZuuVPZ5TRobY7Q10/Zqqe/KqtOw1zFKUj9xqNJe4Ov3xP5GSdcO60Eg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-types/shared@3.23.1': - resolution: - { - integrity: sha512-5d+3HbFDxGZjhbMBeFHRQhexMFt4pUce3okyRtUVKbbedQFUrtXSBg9VszgF2RTeQDKDkMCIQDtz5ccP/Lk1gw==, - } + resolution: {integrity: sha512-5d+3HbFDxGZjhbMBeFHRQhexMFt4pUce3okyRtUVKbbedQFUrtXSBg9VszgF2RTeQDKDkMCIQDtz5ccP/Lk1gw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-types/slider@3.7.3': - resolution: - { - integrity: sha512-F8qFQaD2mqug2D0XeWMmjGBikiwbdERFlhFzdvNGbypPLz3AZICBKp1ZLPWdl0DMuy03G/jy6Gl4mDobl7RT2g==, - } + resolution: {integrity: sha512-F8qFQaD2mqug2D0XeWMmjGBikiwbdERFlhFzdvNGbypPLz3AZICBKp1ZLPWdl0DMuy03G/jy6Gl4mDobl7RT2g==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-types/switch@3.5.3': - resolution: - { - integrity: sha512-Nb6+J5MrPaFa8ZNFKGMzAsen/NNzl5UG/BbC65SLGPy7O0VDa/sUpn7dcu8V2xRpRwwIN/Oso4v63bt2sgdkgA==, - } + resolution: {integrity: sha512-Nb6+J5MrPaFa8ZNFKGMzAsen/NNzl5UG/BbC65SLGPy7O0VDa/sUpn7dcu8V2xRpRwwIN/Oso4v63bt2sgdkgA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-types/table@3.9.5': - resolution: - { - integrity: sha512-fgM2j9F/UR4Anmd28CueghCgBwOZoCVyN8fjaIFPd2MN4gCwUUfANwxLav65gZk4BpwUXGoQdsW+X50L3555mg==, - } + resolution: {integrity: sha512-fgM2j9F/UR4Anmd28CueghCgBwOZoCVyN8fjaIFPd2MN4gCwUUfANwxLav65gZk4BpwUXGoQdsW+X50L3555mg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-types/tabs@3.3.7': - resolution: - { - integrity: sha512-ZdLe5xOcFX6+/ni45Dl2jO0jFATpTnoSqj6kLIS/BYv8oh0n817OjJkLf+DS3CLfNjApJWrHqAk34xNh6nRnEg==, - } + resolution: {integrity: sha512-ZdLe5xOcFX6+/ni45Dl2jO0jFATpTnoSqj6kLIS/BYv8oh0n817OjJkLf+DS3CLfNjApJWrHqAk34xNh6nRnEg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-types/textfield@3.9.3': - resolution: - { - integrity: sha512-DoAY6cYOL0pJhgNGI1Rosni7g72GAt4OVr2ltEx2S9ARmFZ0DBvdhA9lL2nywcnKMf27PEJcKMXzXc10qaHsJw==, - } + resolution: {integrity: sha512-DoAY6cYOL0pJhgNGI1Rosni7g72GAt4OVr2ltEx2S9ARmFZ0DBvdhA9lL2nywcnKMf27PEJcKMXzXc10qaHsJw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@react-types/tooltip@3.4.9': - resolution: - { - integrity: sha512-wZ+uF1+Zc43qG+cOJzioBmLUNjRa7ApdcT0LI1VvaYvH5GdfjzUJOorLX9V/vAci0XMJ50UZ+qsh79aUlw2yqg==, - } + resolution: {integrity: sha512-wZ+uF1+Zc43qG+cOJzioBmLUNjRa7ApdcT0LI1VvaYvH5GdfjzUJOorLX9V/vAci0XMJ50UZ+qsh79aUlw2yqg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 '@rnx-kit/chromium-edge-launcher@1.0.0': - resolution: - { - integrity: sha512-lzD84av1ZQhYUS+jsGqJiCMaJO2dn9u+RTT9n9q6D3SaKVwWqv+7AoRKqBu19bkwyE+iFRl1ymr40QS90jVFYg==, - } - engines: { node: '>=14.15' } + resolution: {integrity: sha512-lzD84av1ZQhYUS+jsGqJiCMaJO2dn9u+RTT9n9q6D3SaKVwWqv+7AoRKqBu19bkwyE+iFRl1ymr40QS90jVFYg==} + engines: {node: '>=14.15'} '@rushstack/eslint-patch@1.10.3': - resolution: - { - integrity: sha512-qC/xYId4NMebE6w/V33Fh9gWxLgURiNYgVNObbJl2LZv0GUUItCcCqC5axQSwRaAgaxl2mELq1rMzlswaQ0Zxg==, - } + resolution: {integrity: sha512-qC/xYId4NMebE6w/V33Fh9gWxLgURiNYgVNObbJl2LZv0GUUItCcCqC5axQSwRaAgaxl2mELq1rMzlswaQ0Zxg==} '@selderee/plugin-htmlparser2@0.11.0': - resolution: - { - integrity: sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==, - } + resolution: {integrity: sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==} '@selderee/plugin-htmlparser2@0.6.0': - resolution: - { - integrity: sha512-J3jpy002TyBjd4N/p6s+s90eX42H2eRhK3SbsZuvTDv977/E8p2U3zikdiehyJja66do7FlxLomZLPlvl2/xaA==, - } + resolution: {integrity: sha512-J3jpy002TyBjd4N/p6s+s90eX42H2eRhK3SbsZuvTDv977/E8p2U3zikdiehyJja66do7FlxLomZLPlvl2/xaA==} '@semantic-release/changelog@6.0.2': - resolution: - { - integrity: sha512-jHqfTkoPbDEOAgAP18mGP53IxeMwxTISN+GwTRy9uLu58UjARoZU8ScCgWGeO2WPkEsm57H8AkyY02W2ntIlIw==, - } - engines: { node: '>=14.17' } + resolution: {integrity: sha512-jHqfTkoPbDEOAgAP18mGP53IxeMwxTISN+GwTRy9uLu58UjARoZU8ScCgWGeO2WPkEsm57H8AkyY02W2ntIlIw==} + engines: {node: '>=14.17'} peerDependencies: semantic-release: '>=18.0.0' '@semantic-release/commit-analyzer@9.0.2': - resolution: - { - integrity: sha512-E+dr6L+xIHZkX4zNMe6Rnwg4YQrWNXK+rNsvwOPpdFppvZO1olE2fIgWhv89TkQErygevbjsZFSIxp+u6w2e5g==, - } - engines: { node: '>=14.17' } + resolution: {integrity: sha512-E+dr6L+xIHZkX4zNMe6Rnwg4YQrWNXK+rNsvwOPpdFppvZO1olE2fIgWhv89TkQErygevbjsZFSIxp+u6w2e5g==} + engines: {node: '>=14.17'} peerDependencies: semantic-release: '>=18.0.0-beta.1' '@semantic-release/error@3.0.0': - resolution: - { - integrity: sha512-5hiM4Un+tpl4cKw3lV4UgzJj+SmfNIDCLLw0TepzQxz9ZGV5ixnqkzIVF+3tp0ZHgcMKE+VNGHJjEeyFG2dcSw==, - } - engines: { node: '>=14.17' } + resolution: {integrity: sha512-5hiM4Un+tpl4cKw3lV4UgzJj+SmfNIDCLLw0TepzQxz9ZGV5ixnqkzIVF+3tp0ZHgcMKE+VNGHJjEeyFG2dcSw==} + engines: {node: '>=14.17'} '@semantic-release/exec@6.0.3': - resolution: - { - integrity: sha512-bxAq8vLOw76aV89vxxICecEa8jfaWwYITw6X74zzlO0mc/Bgieqx9kBRz9z96pHectiTAtsCwsQcUyLYWnp3VQ==, - } - engines: { node: '>=14.17' } + resolution: {integrity: sha512-bxAq8vLOw76aV89vxxICecEa8jfaWwYITw6X74zzlO0mc/Bgieqx9kBRz9z96pHectiTAtsCwsQcUyLYWnp3VQ==} + engines: {node: '>=14.17'} peerDependencies: semantic-release: '>=18.0.0' '@semantic-release/git@10.0.1': - resolution: - { - integrity: sha512-eWrx5KguUcU2wUPaO6sfvZI0wPafUKAMNC18aXY4EnNcrZL86dEmpNVnC9uMpGZkmZJ9EfCVJBQx4pV4EMGT1w==, - } - engines: { node: '>=14.17' } + resolution: {integrity: sha512-eWrx5KguUcU2wUPaO6sfvZI0wPafUKAMNC18aXY4EnNcrZL86dEmpNVnC9uMpGZkmZJ9EfCVJBQx4pV4EMGT1w==} + engines: {node: '>=14.17'} peerDependencies: semantic-release: '>=18.0.0' '@semantic-release/github@8.1.0': - resolution: - { - integrity: sha512-erR9E5rpdsz0dW1I7785JtndQuMWN/iDcemcptf67tBNOmBUN0b2YNOgcjYUnBpgRpZ5ozfBHrK7Bz+2ets/Dg==, - } - engines: { node: '>=14.17' } + resolution: {integrity: sha512-erR9E5rpdsz0dW1I7785JtndQuMWN/iDcemcptf67tBNOmBUN0b2YNOgcjYUnBpgRpZ5ozfBHrK7Bz+2ets/Dg==} + engines: {node: '>=14.17'} peerDependencies: semantic-release: '>=18.0.0-beta.1' '@semantic-release/npm@9.0.2': - resolution: - { - integrity: sha512-zgsynF6McdzxPnFet+a4iO9HpAlARXOM5adz7VGVCvj0ne8wtL2ZOQoDV2wZPDmdEotDIbVeJjafhelZjs9j6g==, - } - engines: { node: '>=16 || ^14.17' } + resolution: {integrity: sha512-zgsynF6McdzxPnFet+a4iO9HpAlARXOM5adz7VGVCvj0ne8wtL2ZOQoDV2wZPDmdEotDIbVeJjafhelZjs9j6g==} + engines: {node: '>=16 || ^14.17'} peerDependencies: semantic-release: '>=19.0.0' '@semantic-release/release-notes-generator@10.0.3': - resolution: - { - integrity: sha512-k4x4VhIKneOWoBGHkx0qZogNjCldLPRiAjnIpMnlUh6PtaWXp/T+C9U7/TaNDDtgDa5HMbHl4WlREdxHio6/3w==, - } - engines: { node: '>=14.17' } + resolution: {integrity: sha512-k4x4VhIKneOWoBGHkx0qZogNjCldLPRiAjnIpMnlUh6PtaWXp/T+C9U7/TaNDDtgDa5HMbHl4WlREdxHio6/3w==} + engines: {node: '>=14.17'} peerDependencies: semantic-release: '>=18.0.0-beta.1' '@sideway/address@4.1.5': - resolution: - { - integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==, - } + resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} '@sideway/formula@3.0.1': - resolution: - { - integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==, - } + resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} '@sideway/pinpoint@2.0.0': - resolution: - { - integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==, - } + resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} '@sinclair/typebox@0.27.8': - resolution: - { - integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==, - } + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} '@sinonjs/commons@3.0.1': - resolution: - { - integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==, - } + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} '@sinonjs/fake-timers@10.3.0': - resolution: - { - integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==, - } + resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} '@sqltools/formatter@1.2.5': - resolution: - { - integrity: sha512-Uy0+khmZqUrUGm5dmMqVlnvufZRSK0FbYzVgp0UMstm+F5+W2/jnEEQyc9vo1ZR/E5ZI/B1WjjoTqBqwJL6Krw==, - } + resolution: {integrity: sha512-Uy0+khmZqUrUGm5dmMqVlnvufZRSK0FbYzVgp0UMstm+F5+W2/jnEEQyc9vo1ZR/E5ZI/B1WjjoTqBqwJL6Krw==} '@supercharge/request-ip@1.2.0': - resolution: - { - integrity: sha512-wlt6JW69MHqLY2M6Sm/jVyCojNRKq2CBvwH0Hbx24SFhDQQGkgEjeKxVutDxHSyrWixFaOSLXC27euzxijhyMQ==, - } + resolution: {integrity: sha512-wlt6JW69MHqLY2M6Sm/jVyCojNRKq2CBvwH0Hbx24SFhDQQGkgEjeKxVutDxHSyrWixFaOSLXC27euzxijhyMQ==} '@svgr/babel-plugin-add-jsx-attribute@6.5.1': - resolution: - { - integrity: sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==} + engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 '@svgr/babel-plugin-remove-jsx-attribute@8.0.0': - resolution: - { - integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} + engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0': - resolution: - { - integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} + engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 '@svgr/babel-plugin-replace-jsx-attribute-value@6.5.1': - resolution: - { - integrity: sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==} + engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 '@svgr/babel-plugin-svg-dynamic-title@6.5.1': - resolution: - { - integrity: sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==} + engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 '@svgr/babel-plugin-svg-em-dimensions@6.5.1': - resolution: - { - integrity: sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==} + engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 '@svgr/babel-plugin-transform-react-native-svg@6.5.1': - resolution: - { - integrity: sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==} + engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 '@svgr/babel-plugin-transform-svg-component@6.5.1': - resolution: - { - integrity: sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==} + engines: {node: '>=12'} peerDependencies: '@babel/core': ^7.0.0-0 '@svgr/babel-preset@6.5.1': - resolution: - { - integrity: sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==} + engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 '@svgr/core@6.5.1': - resolution: - { - integrity: sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==} + engines: {node: '>=10'} '@svgr/hast-util-to-babel-ast@6.5.1': - resolution: - { - integrity: sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==} + engines: {node: '>=10'} '@svgr/plugin-jsx@6.5.1': - resolution: - { - integrity: sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==} + engines: {node: '>=10'} peerDependencies: '@svgr/core': ^6.0.0 '@svgr/plugin-svgo@6.5.1': - resolution: - { - integrity: sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==} + engines: {node: '>=10'} peerDependencies: '@svgr/core': '*' '@svgr/webpack@6.5.1': - resolution: - { - integrity: sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==} + engines: {node: '>=10'} '@swc/core-darwin-arm64@1.6.5': - resolution: - { - integrity: sha512-RGQhMdni2v1/ANQ/2K+F+QYdzaucekYBewZcX1ogqJ8G5sbPaBdYdDN1qQ4kHLCIkPtGP6qC7c71qPEqL2RidQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-RGQhMdni2v1/ANQ/2K+F+QYdzaucekYBewZcX1ogqJ8G5sbPaBdYdDN1qQ4kHLCIkPtGP6qC7c71qPEqL2RidQ==} + engines: {node: '>=10'} cpu: [arm64] os: [darwin] '@swc/core-darwin-x64@1.6.5': - resolution: - { - integrity: sha512-/pSN0/Jtcbbb9+ovS9rKxR3qertpFAM3OEJr/+Dh/8yy7jK5G5EFPIrfsw/7Q5987ERPIJIH6BspK2CBB2tgcg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-/pSN0/Jtcbbb9+ovS9rKxR3qertpFAM3OEJr/+Dh/8yy7jK5G5EFPIrfsw/7Q5987ERPIJIH6BspK2CBB2tgcg==} + engines: {node: '>=10'} cpu: [x64] os: [darwin] '@swc/core-linux-arm-gnueabihf@1.6.5': - resolution: - { - integrity: sha512-B0g/dROCE747RRegs/jPHuKJgwXLracDhnqQa80kFdgWEMjlcb7OMCgs5OX86yJGRS4qcYbiMGD0Pp7Kbqn3yw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-B0g/dROCE747RRegs/jPHuKJgwXLracDhnqQa80kFdgWEMjlcb7OMCgs5OX86yJGRS4qcYbiMGD0Pp7Kbqn3yw==} + engines: {node: '>=10'} cpu: [arm] os: [linux] '@swc/core-linux-arm64-gnu@1.6.5': - resolution: - { - integrity: sha512-W8meapgXTq8AOtSvDG4yKR8ant2WWD++yOjgzAleB5VAC+oC+aa8YJROGxj8HepurU8kurqzcialwoMeq5SZZQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-W8meapgXTq8AOtSvDG4yKR8ant2WWD++yOjgzAleB5VAC+oC+aa8YJROGxj8HepurU8kurqzcialwoMeq5SZZQ==} + engines: {node: '>=10'} cpu: [arm64] os: [linux] '@swc/core-linux-arm64-musl@1.6.5': - resolution: - { - integrity: sha512-jyCKqoX50Fg8rJUQqh4u5PqnE7nqYKXHjVH2WcYr114/MU21zlsI+YL6aOQU1XP8bJQ2gPQ1rnlnGJdEHiKS/w==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-jyCKqoX50Fg8rJUQqh4u5PqnE7nqYKXHjVH2WcYr114/MU21zlsI+YL6aOQU1XP8bJQ2gPQ1rnlnGJdEHiKS/w==} + engines: {node: '>=10'} cpu: [arm64] os: [linux] '@swc/core-linux-x64-gnu@1.6.5': - resolution: - { - integrity: sha512-G6HmUn/RRIlXC0YYFfBz2qh6OZkHS/KUPkhoG4X9ADcgWXXjOFh6JrefwsYj8VBAJEnr5iewzjNfj+nztwHaeA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-G6HmUn/RRIlXC0YYFfBz2qh6OZkHS/KUPkhoG4X9ADcgWXXjOFh6JrefwsYj8VBAJEnr5iewzjNfj+nztwHaeA==} + engines: {node: '>=10'} cpu: [x64] os: [linux] '@swc/core-linux-x64-musl@1.6.5': - resolution: - { - integrity: sha512-AQpBjBnelQDSbeTJA50AXdS6+CP66LsXIMNTwhPSgUfE7Bx1ggZV11Fsi4Q5SGcs6a8Qw1cuYKN57ZfZC5QOuA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-AQpBjBnelQDSbeTJA50AXdS6+CP66LsXIMNTwhPSgUfE7Bx1ggZV11Fsi4Q5SGcs6a8Qw1cuYKN57ZfZC5QOuA==} + engines: {node: '>=10'} cpu: [x64] os: [linux] '@swc/core-win32-arm64-msvc@1.6.5': - resolution: - { - integrity: sha512-MZTWM8kUwS30pVrtbzSGEXtek46aXNb/mT9D6rsS7NvOuv2w+qZhjR1rzf4LNbbn5f8VnR4Nac1WIOYZmfC5ng==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-MZTWM8kUwS30pVrtbzSGEXtek46aXNb/mT9D6rsS7NvOuv2w+qZhjR1rzf4LNbbn5f8VnR4Nac1WIOYZmfC5ng==} + engines: {node: '>=10'} cpu: [arm64] os: [win32] '@swc/core-win32-ia32-msvc@1.6.5': - resolution: - { - integrity: sha512-WZdu4gISAr3yOm1fVwKhhk6+MrP7kVX0KMP7+ZQFTN5zXQEiDSDunEJKVgjMVj3vlR+6mnAqa/L0V9Qa8+zKlQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-WZdu4gISAr3yOm1fVwKhhk6+MrP7kVX0KMP7+ZQFTN5zXQEiDSDunEJKVgjMVj3vlR+6mnAqa/L0V9Qa8+zKlQ==} + engines: {node: '>=10'} cpu: [ia32] os: [win32] '@swc/core-win32-x64-msvc@1.6.5': - resolution: - { - integrity: sha512-ezXgucnMTzlFIxQZw7ls/5r2hseFaRoDL04cuXUOs97E8r+nJSmFsRQm/ygH5jBeXNo59nyZCalrjJAjwfgACA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-ezXgucnMTzlFIxQZw7ls/5r2hseFaRoDL04cuXUOs97E8r+nJSmFsRQm/ygH5jBeXNo59nyZCalrjJAjwfgACA==} + engines: {node: '>=10'} cpu: [x64] os: [win32] '@swc/core@1.6.5': - resolution: - { - integrity: sha512-tyVvUK/HDOUUsK6/GmWvnqUtD9oDpPUA4f7f7JCOV8hXxtfjMtAZeBKf93yrB1XZet69TDR7EN0hFC6i4MF0Ig==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-tyVvUK/HDOUUsK6/GmWvnqUtD9oDpPUA4f7f7JCOV8hXxtfjMtAZeBKf93yrB1XZet69TDR7EN0hFC6i4MF0Ig==} + engines: {node: '>=10'} peerDependencies: '@swc/helpers': '*' peerDependenciesMeta: @@ -4203,569 +2702,290 @@ packages: optional: true '@swc/counter@0.1.3': - resolution: - { - integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==, - } + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} '@swc/helpers@0.5.11': - resolution: - { - integrity: sha512-YNlnKRWF2sVojTpIyzwou9XoTNbzbzONwRhOoniEioF1AtaitTvVZblaQRrAzChWQ1bLYyYSWzM18y4WwgzJ+A==, - } + resolution: {integrity: sha512-YNlnKRWF2sVojTpIyzwou9XoTNbzbzONwRhOoniEioF1AtaitTvVZblaQRrAzChWQ1bLYyYSWzM18y4WwgzJ+A==} '@swc/helpers@0.5.5': - resolution: - { - integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==, - } + resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} '@swc/types@0.1.9': - resolution: - { - integrity: sha512-qKnCno++jzcJ4lM4NTfYifm1EFSCeIfKiAHAfkENZAV5Kl9PjJIyd2yeeVv6c/2CckuLyv2NmRC5pv6pm2WQBg==, - } + resolution: {integrity: sha512-qKnCno++jzcJ4lM4NTfYifm1EFSCeIfKiAHAfkENZAV5Kl9PjJIyd2yeeVv6c/2CckuLyv2NmRC5pv6pm2WQBg==} '@tailwindcss/aspect-ratio@0.4.2': - resolution: - { - integrity: sha512-8QPrypskfBa7QIMuKHg2TA7BqES6vhBrDLOv8Unb6FcFyd3TjKbc6lcmb9UPQHxfl24sXoJ41ux/H7qQQvfaSQ==, - } + resolution: {integrity: sha512-8QPrypskfBa7QIMuKHg2TA7BqES6vhBrDLOv8Unb6FcFyd3TjKbc6lcmb9UPQHxfl24sXoJ41ux/H7qQQvfaSQ==} peerDependencies: tailwindcss: '>=2.0.0 || >=3.0.0 || >=3.0.0-alpha.1' '@tailwindcss/forms@0.5.3': - resolution: - { - integrity: sha512-y5mb86JUoiUgBjY/o6FJSFZSEttfb3Q5gllE4xoKjAAD+vBrnIhE4dViwUuow3va8mpH4s9jyUbUbrRGoRdc2Q==, - } + resolution: {integrity: sha512-y5mb86JUoiUgBjY/o6FJSFZSEttfb3Q5gllE4xoKjAAD+vBrnIhE4dViwUuow3va8mpH4s9jyUbUbrRGoRdc2Q==} peerDependencies: tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1' '@tailwindcss/typography@0.5.9': - resolution: - { - integrity: sha512-t8Sg3DyynFysV9f4JDOVISGsjazNb48AeIYQwcL+Bsq5uf4RYL75C1giZ43KISjeDGBaTN3Kxh7Xj/vRSMJUUg==, - } + resolution: {integrity: sha512-t8Sg3DyynFysV9f4JDOVISGsjazNb48AeIYQwcL+Bsq5uf4RYL75C1giZ43KISjeDGBaTN3Kxh7Xj/vRSMJUUg==} peerDependencies: tailwindcss: '>=3.0.0 || insiders' '@tanem/react-nprogress@5.0.30': - resolution: - { - integrity: sha512-OBvlGfxWMyAGi6C9V6ZCdu5Kn9drxHZSg977TtF9hBpNtl+GY6lxOsbazkMIQua/xqaDe58Bs1kDTNzdwjIFEA==, - } + resolution: {integrity: sha512-OBvlGfxWMyAGi6C9V6ZCdu5Kn9drxHZSg977TtF9hBpNtl+GY6lxOsbazkMIQua/xqaDe58Bs1kDTNzdwjIFEA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 '@tootallnate/once@1.1.2': - resolution: - { - integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} + engines: {node: '>= 6'} '@tootallnate/once@2.0.0': - resolution: - { - integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} '@trysound/sax@0.2.0': - resolution: - { - integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==, - } - engines: { node: '>=10.13.0' } + resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} + engines: {node: '>=10.13.0'} '@tsconfig/node10@1.0.11': - resolution: - { - integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==, - } + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} '@tsconfig/node12@1.0.11': - resolution: - { - integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==, - } + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} '@tsconfig/node14@1.0.3': - resolution: - { - integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==, - } + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} '@tsconfig/node16@1.0.4': - resolution: - { - integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==, - } + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} '@types/bcrypt@5.0.0': - resolution: - { - integrity: sha512-agtcFKaruL8TmcvqbndlqHPSJgsolhf/qPWchFlgnW1gECTN/nKbFcoFnvKAQRFfKbh+BO6A3SWdJu9t+xF3Lw==, - } + resolution: {integrity: sha512-agtcFKaruL8TmcvqbndlqHPSJgsolhf/qPWchFlgnW1gECTN/nKbFcoFnvKAQRFfKbh+BO6A3SWdJu9t+xF3Lw==} '@types/body-parser@1.19.5': - resolution: - { - integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==, - } + resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} '@types/connect@3.4.38': - resolution: - { - integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==, - } + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} '@types/conventional-commits-parser@5.0.0': - resolution: - { - integrity: sha512-loB369iXNmAZglwWATL+WRe+CRMmmBPtpolYzIebFaX4YA3x+BEfLqhUAV9WanycKI3TG1IMr5bMJDajDKLlUQ==, - } + resolution: {integrity: sha512-loB369iXNmAZglwWATL+WRe+CRMmmBPtpolYzIebFaX4YA3x+BEfLqhUAV9WanycKI3TG1IMr5bMJDajDKLlUQ==} '@types/cookie-parser@1.4.3': - resolution: - { - integrity: sha512-CqSKwFwefj4PzZ5n/iwad/bow2hTCh0FlNAeWLtQM3JA/NX/iYagIpWG2cf1bQKQ2c9gU2log5VUCrn7LDOs0w==, - } + resolution: {integrity: sha512-CqSKwFwefj4PzZ5n/iwad/bow2hTCh0FlNAeWLtQM3JA/NX/iYagIpWG2cf1bQKQ2c9gU2log5VUCrn7LDOs0w==} '@types/country-flag-icons@1.2.0': - resolution: - { - integrity: sha512-96aveJfAw9iSfBxAD8DCgFYjMFmLIGa+vBvg3cKiHjX+o4Szz5HHv2DSbEVm9a4kLixsYkioGB4SnJs17Zypzw==, - } + resolution: {integrity: sha512-96aveJfAw9iSfBxAD8DCgFYjMFmLIGa+vBvg3cKiHjX+o4Szz5HHv2DSbEVm9a4kLixsYkioGB4SnJs17Zypzw==} '@types/csurf@1.11.2': - resolution: - { - integrity: sha512-9bc98EnwmC1S0aSJiA8rWwXtgXtXHHOQOsGHptImxFgqm6CeH+mIOunHRg6+/eg2tlmDMX3tY7XrWxo2M/nUNQ==, - } + resolution: {integrity: sha512-9bc98EnwmC1S0aSJiA8rWwXtgXtXHHOQOsGHptImxFgqm6CeH+mIOunHRg6+/eg2tlmDMX3tY7XrWxo2M/nUNQ==} '@types/debug@0.0.31': - resolution: - { - integrity: sha512-LS1MCPaQKqspg7FvexuhmDbWUhE2yIJ+4AgVIyObfc06/UKZ8REgxGNjZc82wPLWmbeOm7S+gSsLgo75TanG4A==, - } + resolution: {integrity: sha512-LS1MCPaQKqspg7FvexuhmDbWUhE2yIJ+4AgVIyObfc06/UKZ8REgxGNjZc82wPLWmbeOm7S+gSsLgo75TanG4A==} '@types/debug@4.1.12': - resolution: - { - integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==, - } + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} '@types/email-templates@8.0.4': - resolution: - { - integrity: sha512-HYvVoyG8qS6PrimZZOS4wMrtQ9MelKEl0sOpi4zVpz2Ds74v+UvWckIFz3NyGyTwAR1okMbwJkApgR2GL/ALjg==, - } + resolution: {integrity: sha512-HYvVoyG8qS6PrimZZOS4wMrtQ9MelKEl0sOpi4zVpz2Ds74v+UvWckIFz3NyGyTwAR1okMbwJkApgR2GL/ALjg==} '@types/eslint@8.56.10': - resolution: - { - integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==, - } + resolution: {integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==} '@types/estree@1.0.5': - resolution: - { - integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==, - } + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} '@types/express-serve-static-core@4.19.5': - resolution: - { - integrity: sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==, - } + resolution: {integrity: sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==} '@types/express-session@1.17.6': - resolution: - { - integrity: sha512-L6sB04HVA4HEZo1hDL65JXdZdBJtzZnCiw/P7MnO4w6746tJCNtXlHtzEASyI9ccn9zyOw6IbqQuhVa03VpO4w==, - } + resolution: {integrity: sha512-L6sB04HVA4HEZo1hDL65JXdZdBJtzZnCiw/P7MnO4w6746tJCNtXlHtzEASyI9ccn9zyOw6IbqQuhVa03VpO4w==} '@types/express@4.17.17': - resolution: - { - integrity: sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==, - } + resolution: {integrity: sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==} '@types/express@4.17.21': - resolution: - { - integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==, - } + resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} '@types/hast@2.3.10': - resolution: - { - integrity: sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==, - } + resolution: {integrity: sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==} '@types/hoist-non-react-statics@3.3.5': - resolution: - { - integrity: sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==, - } + resolution: {integrity: sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==} '@types/html-to-text@9.0.4': - resolution: - { - integrity: sha512-pUY3cKH/Nm2yYrEmDlPR1mR7yszjGx4DrwPjQ702C4/D5CwHuZTgZdIdwPkRbcuhs7BAh2L5rg3CL5cbRiGTCQ==, - } + resolution: {integrity: sha512-pUY3cKH/Nm2yYrEmDlPR1mR7yszjGx4DrwPjQ702C4/D5CwHuZTgZdIdwPkRbcuhs7BAh2L5rg3CL5cbRiGTCQ==} '@types/http-errors@2.0.4': - resolution: - { - integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==, - } + resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} '@types/istanbul-lib-coverage@2.0.6': - resolution: - { - integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==, - } + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} '@types/istanbul-lib-report@3.0.3': - resolution: - { - integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==, - } + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} '@types/istanbul-reports@3.0.4': - resolution: - { - integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==, - } + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} '@types/json-schema@7.0.15': - resolution: - { - integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==, - } + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} '@types/json-stable-stringify@1.0.36': - resolution: - { - integrity: sha512-b7bq23s4fgBB76n34m2b3RBf6M369B0Z9uRR8aHTMd8kZISRkmDEpPD8hhpYvDFzr3bJCPES96cm3Q6qRNDbQw==, - } + resolution: {integrity: sha512-b7bq23s4fgBB76n34m2b3RBf6M369B0Z9uRR8aHTMd8kZISRkmDEpPD8hhpYvDFzr3bJCPES96cm3Q6qRNDbQw==} '@types/json5@0.0.29': - resolution: - { - integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==, - } + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} '@types/lodash@4.14.191': - resolution: - { - integrity: sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==, - } + resolution: {integrity: sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==} '@types/lodash@4.17.5': - resolution: - { - integrity: sha512-MBIOHVZqVqgfro1euRDWX7OO0fBVUUMrN6Pwm8LQsz8cWhEpihlvR70ENj3f40j58TNxZaWv2ndSkInykNBBJw==, - } + resolution: {integrity: sha512-MBIOHVZqVqgfro1euRDWX7OO0fBVUUMrN6Pwm8LQsz8cWhEpihlvR70ENj3f40j58TNxZaWv2ndSkInykNBBJw==} '@types/mdast@3.0.15': - resolution: - { - integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==, - } + resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} '@types/mime@1.3.5': - resolution: - { - integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==, - } + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} '@types/minimatch@3.0.5': - resolution: - { - integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==, - } + resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} '@types/minimist@1.2.5': - resolution: - { - integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==, - } + resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} '@types/ms@0.7.34': - resolution: - { - integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==, - } + resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} '@types/multer@1.4.11': - resolution: - { - integrity: sha512-svK240gr6LVWvv3YGyhLlA+6LRRWA4mnGIU7RcNmgjBYFl6665wcXrRfxGp5tEPVHUNm5FMcmq7too9bxCwX/w==, - } + resolution: {integrity: sha512-svK240gr6LVWvv3YGyhLlA+6LRRWA4mnGIU7RcNmgjBYFl6665wcXrRfxGp5tEPVHUNm5FMcmq7too9bxCwX/w==} '@types/node-forge@1.3.11': - resolution: - { - integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==, - } + resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} '@types/node-schedule@2.1.0': - resolution: - { - integrity: sha512-NiTwl8YN3v/1YCKrDFSmCTkVxFDylueEqsOFdgF+vPsm+AlyJKGAo5yzX1FiOxPsZiN6/r8gJitYx2EaSuBmmg==, - } + resolution: {integrity: sha512-NiTwl8YN3v/1YCKrDFSmCTkVxFDylueEqsOFdgF+vPsm+AlyJKGAo5yzX1FiOxPsZiN6/r8gJitYx2EaSuBmmg==} '@types/node@14.18.63': - resolution: - { - integrity: sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==, - } + resolution: {integrity: sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==} '@types/node@17.0.36': - resolution: - { - integrity: sha512-V3orv+ggDsWVHP99K3JlwtH20R7J4IhI1Kksgc+64q5VxgfRkQG8Ws3MFm/FZOKDYGy9feGFlZ70/HpCNe9QaA==, - } - - '@types/node@17.0.45': - resolution: - { - integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==, - } + resolution: {integrity: sha512-V3orv+ggDsWVHP99K3JlwtH20R7J4IhI1Kksgc+64q5VxgfRkQG8Ws3MFm/FZOKDYGy9feGFlZ70/HpCNe9QaA==} '@types/node@18.19.39': - resolution: - { - integrity: sha512-nPwTRDKUctxw3di5b4TfT3I0sWDiWoPQCZjXhvdkINntwr8lcoVCKsTgnXeRubKIlfnV+eN/HYk6Jb40tbcEAQ==, - } + resolution: {integrity: sha512-nPwTRDKUctxw3di5b4TfT3I0sWDiWoPQCZjXhvdkINntwr8lcoVCKsTgnXeRubKIlfnV+eN/HYk6Jb40tbcEAQ==} '@types/node@20.14.8': - resolution: - { - integrity: sha512-DO+2/jZinXfROG7j7WKFn/3C6nFwxy2lLpgLjEXJz+0XKphZlTLJ14mo8Vfg8X5BWN6XjyESXq+LcYdT7tR3bA==, - } + resolution: {integrity: sha512-DO+2/jZinXfROG7j7WKFn/3C6nFwxy2lLpgLjEXJz+0XKphZlTLJ14mo8Vfg8X5BWN6XjyESXq+LcYdT7tR3bA==} '@types/node@20.5.1': - resolution: - { - integrity: sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==, - } + resolution: {integrity: sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==} '@types/nodemailer@6.4.15': - resolution: - { - integrity: sha512-0EBJxawVNjPkng1zm2vopRctuWVCxk34JcIlRuXSf54habUWdz1FB7wHDqOqvDa8Mtpt0Q3LTXQkAs2LNyK5jQ==, - } + resolution: {integrity: sha512-0EBJxawVNjPkng1zm2vopRctuWVCxk34JcIlRuXSf54habUWdz1FB7wHDqOqvDa8Mtpt0Q3LTXQkAs2LNyK5jQ==} '@types/nodemailer@6.4.7': - resolution: - { - integrity: sha512-f5qCBGAn/f0qtRcd4SEn88c8Fp3Swct1731X4ryPKqS61/A3LmmzN8zaEz7hneJvpjFbUUgY7lru/B/7ODTazg==, - } + resolution: {integrity: sha512-f5qCBGAn/f0qtRcd4SEn88c8Fp3Swct1731X4ryPKqS61/A3LmmzN8zaEz7hneJvpjFbUUgY7lru/B/7ODTazg==} '@types/normalize-package-data@2.4.4': - resolution: - { - integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==, - } + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} '@types/parse-json@4.0.2': - resolution: - { - integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==, - } + resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} '@types/picomatch@2.3.3': - resolution: - { - integrity: sha512-Yll76ZHikRFCyz/pffKGjrCwe/le2CDwOP5F210KQo27kpRE46U2rDnzikNlVn6/ezH3Mhn46bJMTfeVTtcYMg==, - } + resolution: {integrity: sha512-Yll76ZHikRFCyz/pffKGjrCwe/le2CDwOP5F210KQo27kpRE46U2rDnzikNlVn6/ezH3Mhn46bJMTfeVTtcYMg==} '@types/prop-types@15.7.12': - resolution: - { - integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==, - } + resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} '@types/qs@6.9.15': - resolution: - { - integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==, - } + resolution: {integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==} '@types/range-parser@1.2.7': - resolution: - { - integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==, - } + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} '@types/react-dom@18.3.0': - resolution: - { - integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==, - } + resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} '@types/react-reconciler@0.26.7': - resolution: - { - integrity: sha512-mBDYl8x+oyPX/VBb3E638N0B7xG+SPk/EAMcVPeexqus/5aTpTphQi0curhhshOqRrc9t6OPoJfEUkbymse/lQ==, - } + resolution: {integrity: sha512-mBDYl8x+oyPX/VBb3E638N0B7xG+SPk/EAMcVPeexqus/5aTpTphQi0curhhshOqRrc9t6OPoJfEUkbymse/lQ==} '@types/react-reconciler@0.28.8': - resolution: - { - integrity: sha512-SN9c4kxXZonFhbX4hJrZy37yw9e7EIxcpHCxQv5JUS18wDE5ovkQKlqQEkufdJCCMfuI9BnjUJvhYeJ9x5Ra7g==, - } + resolution: {integrity: sha512-SN9c4kxXZonFhbX4hJrZy37yw9e7EIxcpHCxQv5JUS18wDE5ovkQKlqQEkufdJCCMfuI9BnjUJvhYeJ9x5Ra7g==} '@types/react-transition-group@4.4.10': - resolution: - { - integrity: sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==, - } + resolution: {integrity: sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==} '@types/react-transition-group@4.4.5': - resolution: - { - integrity: sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==, - } + resolution: {integrity: sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==} '@types/react@18.3.3': - resolution: - { - integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==, - } + resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} '@types/secure-random-password@0.2.1': - resolution: - { - integrity: sha512-tpG5oVF+NpIS9UJ9ttXAokafyhE/MCZBg65D345qu3gOM4YoJ/mFNVzUDUNBfb1hIi598bNOzvY04BbfS7VKwA==, - } + resolution: {integrity: sha512-tpG5oVF+NpIS9UJ9ttXAokafyhE/MCZBg65D345qu3gOM4YoJ/mFNVzUDUNBfb1hIi598bNOzvY04BbfS7VKwA==} '@types/semver@7.3.13': - resolution: - { - integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==, - } + resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} '@types/semver@7.5.8': - resolution: - { - integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==, - } + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} '@types/send@0.17.4': - resolution: - { - integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==, - } + resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} '@types/serve-static@1.15.7': - resolution: - { - integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==, - } + resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} '@types/sinonjs__fake-timers@8.1.1': - resolution: - { - integrity: sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==, - } + resolution: {integrity: sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==} '@types/sizzle@2.3.8': - resolution: - { - integrity: sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==, - } + resolution: {integrity: sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==} '@types/stack-utils@2.0.3': - resolution: - { - integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==, - } + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} '@types/swagger-ui-express@4.1.3': - resolution: - { - integrity: sha512-jqCjGU/tGEaqIplPy3WyQg+Nrp6y80DCFnDEAvVKWkJyv0VivSSDCChkppHRHAablvInZe6pijDFMnavtN0vqA==, - } + resolution: {integrity: sha512-jqCjGU/tGEaqIplPy3WyQg+Nrp6y80DCFnDEAvVKWkJyv0VivSSDCChkppHRHAablvInZe6pijDFMnavtN0vqA==} '@types/triple-beam@1.3.5': - resolution: - { - integrity: sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==, - } + resolution: {integrity: sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==} '@types/unist@2.0.10': - resolution: - { - integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==, - } + resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} '@types/web-push@3.3.2': - resolution: - { - integrity: sha512-JxWGVL/m7mWTIg4mRYO+A6s0jPmBkr4iJr39DqJpRJAc+jrPiEe1/asmkwerzRon8ZZDxaZJpsxpv0Z18Wo9gw==, - } + resolution: {integrity: sha512-JxWGVL/m7mWTIg4mRYO+A6s0jPmBkr4iJr39DqJpRJAc+jrPiEe1/asmkwerzRon8ZZDxaZJpsxpv0Z18Wo9gw==} '@types/webxr@0.5.17': - resolution: - { - integrity: sha512-JYcclaQIlisHRXM9dMF7SeVvQ54kcYc7QK1eKCExCTLKWnZDxP4cp/rXH4Uoa1j5+5oQJ0Cc2sZC/PWiiG4q2g==, - } + resolution: {integrity: sha512-JYcclaQIlisHRXM9dMF7SeVvQ54kcYc7QK1eKCExCTLKWnZDxP4cp/rXH4Uoa1j5+5oQJ0Cc2sZC/PWiiG4q2g==} '@types/xml2js@0.4.11': - resolution: - { - integrity: sha512-JdigeAKmCyoJUiQljjr7tQG3if9NkqGUgwEUqBvV0N7LM4HyQk7UXCnusRa1lnvXAEYJ8mw8GtZWioagNztOwA==, - } + resolution: {integrity: sha512-JdigeAKmCyoJUiQljjr7tQG3if9NkqGUgwEUqBvV0N7LM4HyQk7UXCnusRa1lnvXAEYJ8mw8GtZWioagNztOwA==} '@types/yamljs@0.2.31': - resolution: - { - integrity: sha512-QcJ5ZczaXAqbVD3o8mw/mEBhRvO5UAdTtbvgwL/OgoWubvNBh6/MxLBAigtcgIFaq3shon9m3POIxQaLQt4fxQ==, - } + resolution: {integrity: sha512-QcJ5ZczaXAqbVD3o8mw/mEBhRvO5UAdTtbvgwL/OgoWubvNBh6/MxLBAigtcgIFaq3shon9m3POIxQaLQt4fxQ==} '@types/yargs-parser@21.0.3': - resolution: - { - integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==, - } + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} '@types/yargs@15.0.19': - resolution: - { - integrity: sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==, - } + resolution: {integrity: sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==} '@types/yargs@17.0.32': - resolution: - { - integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==, - } + resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} '@types/yauzl@2.10.3': - resolution: - { - integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==, - } + resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} '@types/yup@0.29.14': - resolution: - { - integrity: sha512-Ynb/CjHhE/Xp/4bhHmQC4U1Ox+I2OpfRYF3dnNgQqn1cHa6LK3H1wJMNPT02tSVZA6FYuXE2ITORfbnb6zBCSA==, - } + resolution: {integrity: sha512-Ynb/CjHhE/Xp/4bhHmQC4U1Ox+I2OpfRYF3dnNgQqn1cHa6LK3H1wJMNPT02tSVZA6FYuXE2ITORfbnb6zBCSA==} '@typescript-eslint/eslint-plugin@5.54.0': - resolution: - { - integrity: sha512-+hSN9BdSr629RF02d7mMtXhAJvDTyCbprNYJKrXETlul/Aml6YZwd90XioVbjejQeHbb3R8Dg0CkRgoJDxo8aw==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-+hSN9BdSr629RF02d7mMtXhAJvDTyCbprNYJKrXETlul/Aml6YZwd90XioVbjejQeHbb3R8Dg0CkRgoJDxo8aw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -4775,11 +2995,8 @@ packages: optional: true '@typescript-eslint/parser@5.54.0': - resolution: - { - integrity: sha512-aAVL3Mu2qTi+h/r04WI/5PfNWvO6pdhpeMRWk9R7rEV4mwJNzoWf5CCU5vDKBsPIFQFjEq1xg7XBI2rjiMXQbQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-aAVL3Mu2qTi+h/r04WI/5PfNWvO6pdhpeMRWk9R7rEV4mwJNzoWf5CCU5vDKBsPIFQFjEq1xg7XBI2rjiMXQbQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 typescript: '*' @@ -4788,11 +3005,8 @@ packages: optional: true '@typescript-eslint/parser@7.2.0': - resolution: - { - integrity: sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg==, - } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^8.56.0 typescript: '*' @@ -4801,25 +3015,16 @@ packages: optional: true '@typescript-eslint/scope-manager@5.54.0': - resolution: - { - integrity: sha512-VTPYNZ7vaWtYna9M4oD42zENOBrb+ZYyCNdFs949GcN8Miwn37b8b7eMj+EZaq7VK9fx0Jd+JhmkhjFhvnovhg==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-VTPYNZ7vaWtYna9M4oD42zENOBrb+ZYyCNdFs949GcN8Miwn37b8b7eMj+EZaq7VK9fx0Jd+JhmkhjFhvnovhg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} '@typescript-eslint/scope-manager@7.2.0': - resolution: - { - integrity: sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==, - } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==} + engines: {node: ^16.0.0 || >=18.0.0} '@typescript-eslint/type-utils@5.54.0': - resolution: - { - integrity: sha512-WI+WMJ8+oS+LyflqsD4nlXMsVdzTMYTxl16myXPaCXnSgc7LWwMsjxQFZCK/rVmTZ3FN71Ct78ehO9bRC7erYQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-WI+WMJ8+oS+LyflqsD4nlXMsVdzTMYTxl16myXPaCXnSgc7LWwMsjxQFZCK/rVmTZ3FN71Ct78ehO9bRC7erYQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' typescript: '*' @@ -4828,32 +3033,20 @@ packages: optional: true '@typescript-eslint/types@5.45.0': - resolution: - { - integrity: sha512-QQij+u/vgskA66azc9dCmx+rev79PzX8uDHpsqSjEFtfF2gBUTRCpvYMh2gw2ghkJabNkPlSUCimsyBEQZd1DA==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-QQij+u/vgskA66azc9dCmx+rev79PzX8uDHpsqSjEFtfF2gBUTRCpvYMh2gw2ghkJabNkPlSUCimsyBEQZd1DA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} '@typescript-eslint/types@5.54.0': - resolution: - { - integrity: sha512-nExy+fDCBEgqblasfeE3aQ3NuafBUxZxgxXcYfzYRZFHdVvk5q60KhCSkG0noHgHRo/xQ/BOzURLZAafFpTkmQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-nExy+fDCBEgqblasfeE3aQ3NuafBUxZxgxXcYfzYRZFHdVvk5q60KhCSkG0noHgHRo/xQ/BOzURLZAafFpTkmQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} '@typescript-eslint/types@7.2.0': - resolution: - { - integrity: sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==, - } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==} + engines: {node: ^16.0.0 || >=18.0.0} '@typescript-eslint/typescript-estree@5.45.0': - resolution: - { - integrity: sha512-maRhLGSzqUpFcZgXxg1qc/+H0bT36lHK4APhp0AEUVrpSwXiRAomm/JGjSG+kNUio5kAa3uekCYu/47cnGn5EQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-maRhLGSzqUpFcZgXxg1qc/+H0bT36lHK4APhp0AEUVrpSwXiRAomm/JGjSG+kNUio5kAa3uekCYu/47cnGn5EQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -4861,11 +3054,8 @@ packages: optional: true '@typescript-eslint/typescript-estree@5.54.0': - resolution: - { - integrity: sha512-X2rJG97Wj/VRo5YxJ8Qx26Zqf0RRKsVHd4sav8NElhbZzhpBI8jU54i6hfo9eheumj4oO4dcRN1B/zIVEqR/MQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-X2rJG97Wj/VRo5YxJ8Qx26Zqf0RRKsVHd4sav8NElhbZzhpBI8jU54i6hfo9eheumj4oO4dcRN1B/zIVEqR/MQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -4873,11 +3063,8 @@ packages: optional: true '@typescript-eslint/typescript-estree@7.2.0': - resolution: - { - integrity: sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA==, - } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -4885,1429 +3072,779 @@ packages: optional: true '@typescript-eslint/utils@5.54.0': - resolution: - { - integrity: sha512-cuwm8D/Z/7AuyAeJ+T0r4WZmlnlxQ8wt7C7fLpFlKMR+dY6QO79Cq1WpJhvZbMA4ZeZGHiRWnht7ZJ8qkdAunw==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-cuwm8D/Z/7AuyAeJ+T0r4WZmlnlxQ8wt7C7fLpFlKMR+dY6QO79Cq1WpJhvZbMA4ZeZGHiRWnht7ZJ8qkdAunw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 '@typescript-eslint/visitor-keys@5.45.0': - resolution: - { - integrity: sha512-jc6Eccbn2RtQPr1s7th6jJWQHBHI6GBVQkCHoJFQ5UreaKm59Vxw+ynQUPPY2u2Amquc+7tmEoC2G52ApsGNNg==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-jc6Eccbn2RtQPr1s7th6jJWQHBHI6GBVQkCHoJFQ5UreaKm59Vxw+ynQUPPY2u2Amquc+7tmEoC2G52ApsGNNg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} '@typescript-eslint/visitor-keys@5.54.0': - resolution: - { - integrity: sha512-xu4wT7aRCakGINTLGeyGqDn+78BwFlggwBjnHa1ar/KaGagnmwLYmlrXIrgAaQ3AE1Vd6nLfKASm7LrFHNbKGA==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-xu4wT7aRCakGINTLGeyGqDn+78BwFlggwBjnHa1ar/KaGagnmwLYmlrXIrgAaQ3AE1Vd6nLfKASm7LrFHNbKGA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} '@typescript-eslint/visitor-keys@7.2.0': - resolution: - { - integrity: sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==, - } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==} + engines: {node: ^16.0.0 || >=18.0.0} JSONStream@1.3.5: - resolution: - { - integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==, - } + resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} hasBin: true abbrev@1.1.1: - resolution: - { - integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==, - } + resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} abort-controller@3.0.0: - resolution: - { - integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==, - } - engines: { node: '>=6.5' } + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} accepts@1.3.8: - resolution: - { - integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} ace-builds@1.15.2: - resolution: - { - integrity: sha512-ANXWnANcB4XgC9tyCtG8EXjeDdDY6iJuPQs+pDiZF/2chQMU7LTOBgw9xJdeRzRyNX5+KGZKwgB80XyY2n5QvA==, - } + resolution: {integrity: sha512-ANXWnANcB4XgC9tyCtG8EXjeDdDY6iJuPQs+pDiZF/2chQMU7LTOBgw9xJdeRzRyNX5+KGZKwgB80XyY2n5QvA==} ace-builds@1.35.0: - resolution: - { - integrity: sha512-bwDKqjqNccC/MSujqnYTeAS5dIR8UmGLP0R90mvsJY0FRC8NUWBSTfj34+EIzo2NWc/gV8IZTqv4fXaiZJpCtA==, - } + resolution: {integrity: sha512-bwDKqjqNccC/MSujqnYTeAS5dIR8UmGLP0R90mvsJY0FRC8NUWBSTfj34+EIzo2NWc/gV8IZTqv4fXaiZJpCtA==} acorn-jsx@5.3.2: - resolution: - { - integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, - } + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 acorn-node@1.8.2: - resolution: - { - integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==, - } + resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==} acorn-walk@7.2.0: - resolution: - { - integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==, - } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} + engines: {node: '>=0.4.0'} acorn-walk@8.3.3: - resolution: - { - integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==, - } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==} + engines: {node: '>=0.4.0'} acorn@7.4.1: - resolution: - { - integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==, - } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} + engines: {node: '>=0.4.0'} hasBin: true acorn@8.12.0: - resolution: - { - integrity: sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==, - } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==} + engines: {node: '>=0.4.0'} hasBin: true agent-base@6.0.2: - resolution: - { - integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==, - } - engines: { node: '>= 6.0.0' } + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} agent-base@7.1.1: - resolution: - { - integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==, - } - engines: { node: '>= 14' } + resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} + engines: {node: '>= 14'} agentkeepalive@4.5.0: - resolution: - { - integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==, - } - engines: { node: '>= 8.0.0' } + resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==} + engines: {node: '>= 8.0.0'} aggregate-error@3.1.0: - resolution: - { - integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} ajv@6.12.6: - resolution: - { - integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==, - } + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} ajv@8.16.0: - resolution: - { - integrity: sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==, - } + resolution: {integrity: sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==} alce@1.2.0: - resolution: - { - integrity: sha512-XppPf2S42nO2WhvKzlwzlfcApcXHzjlod30pKmcWjRgLOtqoe5DMuqdiYoM6AgyXksc6A6pV4v1L/WW217e57w==, - } - engines: { node: '>=0.8.0' } + resolution: {integrity: sha512-XppPf2S42nO2WhvKzlwzlfcApcXHzjlod30pKmcWjRgLOtqoe5DMuqdiYoM6AgyXksc6A6pV4v1L/WW217e57w==} + engines: {node: '>=0.8.0'} anser@1.4.10: - resolution: - { - integrity: sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==, - } + resolution: {integrity: sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==} ansi-colors@4.1.3: - resolution: - { - integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} ansi-escapes@4.3.2: - resolution: - { - integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} ansi-escapes@6.2.1: - resolution: - { - integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==, - } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==} + engines: {node: '>=14.16'} ansi-fragments@0.2.1: - resolution: - { - integrity: sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==, - } + resolution: {integrity: sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==} ansi-regex@4.1.1: - resolution: - { - integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} + engines: {node: '>=6'} ansi-regex@5.0.1: - resolution: - { - integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} ansi-regex@6.0.1: - resolution: - { - integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} ansi-styles@3.2.1: - resolution: - { - integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} ansi-styles@4.3.0: - resolution: - { - integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} ansi-styles@5.2.0: - resolution: - { - integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} ansi-styles@6.2.1: - resolution: - { - integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} ansicolors@0.3.2: - resolution: - { - integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==, - } + resolution: {integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==} any-promise@1.3.0: - resolution: - { - integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==, - } + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} anymatch@3.1.3: - resolution: - { - integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} app-root-path@3.1.0: - resolution: - { - integrity: sha512-biN3PwB2gUtjaYy/isrU3aNWI5w+fAfvHkSvCKeQGxhmYpwKFUxudR3Yya+KqVRHBmEDYh+/lTozYCFbmzX4nA==, - } - engines: { node: '>= 6.0.0' } + resolution: {integrity: sha512-biN3PwB2gUtjaYy/isrU3aNWI5w+fAfvHkSvCKeQGxhmYpwKFUxudR3Yya+KqVRHBmEDYh+/lTozYCFbmzX4nA==} + engines: {node: '>= 6.0.0'} appdirsjs@1.2.7: - resolution: - { - integrity: sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==, - } + resolution: {integrity: sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==} append-field@1.0.0: - resolution: - { - integrity: sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==, - } + resolution: {integrity: sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==} aproba@2.0.0: - resolution: - { - integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==, - } + resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} arch@2.2.0: - resolution: - { - integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==, - } + resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} are-we-there-yet@2.0.0: - resolution: - { - integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} + engines: {node: '>=10'} deprecated: This package is no longer supported. are-we-there-yet@3.0.1: - resolution: - { - integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==, - } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} deprecated: This package is no longer supported. arg@4.1.3: - resolution: - { - integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==, - } + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} arg@5.0.2: - resolution: - { - integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==, - } + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} argparse@1.0.10: - resolution: - { - integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==, - } + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} argparse@2.0.1: - resolution: - { - integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, - } + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} argv-formatter@1.0.0: - resolution: - { - integrity: sha512-F2+Hkm9xFaRg+GkaNnbwXNDV5O6pnCFEmqyhvfC/Ic5LbgOWjJh3L+mN/s91rxVL3znE7DYVpW0GJFT+4YBgWw==, - } + resolution: {integrity: sha512-F2+Hkm9xFaRg+GkaNnbwXNDV5O6pnCFEmqyhvfC/Ic5LbgOWjJh3L+mN/s91rxVL3znE7DYVpW0GJFT+4YBgWw==} aria-query@5.1.3: - resolution: - { - integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==, - } + resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} aria-query@5.3.0: - resolution: - { - integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==, - } + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} array-buffer-byte-length@1.0.1: - resolution: - { - integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} + engines: {node: '>= 0.4'} array-differ@3.0.0: - resolution: - { - integrity: sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==} + engines: {node: '>=8'} array-flatten@1.1.1: - resolution: - { - integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==, - } + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} array-ify@1.0.0: - resolution: - { - integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==, - } + resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} array-includes@3.1.8: - resolution: - { - integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} + engines: {node: '>= 0.4'} array-union@2.1.0: - resolution: - { - integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} array.prototype.findlast@1.2.5: - resolution: - { - integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} + engines: {node: '>= 0.4'} array.prototype.findlastindex@1.2.5: - resolution: - { - integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} + engines: {node: '>= 0.4'} array.prototype.flat@1.3.2: - resolution: - { - integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} + engines: {node: '>= 0.4'} array.prototype.flatmap@1.3.2: - resolution: - { - integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} + engines: {node: '>= 0.4'} array.prototype.toreversed@1.1.2: - resolution: - { - integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==, - } + resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==} array.prototype.tosorted@1.1.4: - resolution: - { - integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} + engines: {node: '>= 0.4'} arraybuffer.prototype.slice@1.0.3: - resolution: - { - integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} + engines: {node: '>= 0.4'} arrify@1.0.1: - resolution: - { - integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} + engines: {node: '>=0.10.0'} arrify@2.0.1: - resolution: - { - integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==} + engines: {node: '>=8'} asap@2.0.6: - resolution: - { - integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==, - } + resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} asn1.js@5.4.1: - resolution: - { - integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==, - } + resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} asn1@0.2.6: - resolution: - { - integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==, - } + resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} assert-never@1.2.1: - resolution: - { - integrity: sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw==, - } + resolution: {integrity: sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw==} assert-plus@1.0.0: - resolution: - { - integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==, - } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} + engines: {node: '>=0.8'} ast-types-flow@0.0.7: - resolution: - { - integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==, - } + resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==} ast-types-flow@0.0.8: - resolution: - { - integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==, - } + resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} ast-types@0.15.2: - resolution: - { - integrity: sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==} + engines: {node: '>=4'} astral-regex@1.0.0: - resolution: - { - integrity: sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==} + engines: {node: '>=4'} astral-regex@2.0.0: - resolution: - { - integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} async-limiter@1.0.1: - resolution: - { - integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==, - } + resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} async@3.2.5: - resolution: - { - integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==, - } + resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} asynckit@0.4.0: - resolution: - { - integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==, - } + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} at-least-node@1.0.0: - resolution: - { - integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==, - } - engines: { node: '>= 4.0.0' } + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} autoprefixer@10.4.13: - resolution: - { - integrity: sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==, - } - engines: { node: ^10 || ^12 || >=14 } + resolution: {integrity: sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==} + engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 available-typed-arrays@1.0.7: - resolution: - { - integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} aws-sign2@0.7.0: - resolution: - { - integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==, - } + resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} aws4@1.13.0: - resolution: - { - integrity: sha512-3AungXC4I8kKsS9PuS4JH2nc+0bVY/mjgrephHTIi8fpEeGsTHBUJeosp0Wc1myYMElmD0B3Oc4XL/HVJ4PV2g==, - } + resolution: {integrity: sha512-3AungXC4I8kKsS9PuS4JH2nc+0bVY/mjgrephHTIi8fpEeGsTHBUJeosp0Wc1myYMElmD0B3Oc4XL/HVJ4PV2g==} axe-core@4.9.1: - resolution: - { - integrity: sha512-QbUdXJVTpvUTHU7871ppZkdOLBeGUKBQWHkHrvN2V9IQWGMt61zf3B45BtzjxEJzYuj0JBjBZP/hmYS/R9pmAw==, - } - engines: { node: '>=4' } - - axios-rate-limit@1.3.0: - resolution: - { - integrity: sha512-cKR5wTbU/CeeyF1xVl5hl6FlYsmzDVqxlN4rGtfO5x7J83UxKDckudsW0yW21/ZJRcO0Qrfm3fUFbhEbWTLayw==, - } - peerDependencies: - axios: '*' - - axios@1.3.4: - resolution: - { - integrity: sha512-toYm+Bsyl6VC5wSkfkbbNB6ROv7KY93PEBBL6xyDczaIHasAiv4wPqQ/c4RjoQzipxRD2W5g21cOqQulZ7rHwQ==, - } + resolution: {integrity: sha512-QbUdXJVTpvUTHU7871ppZkdOLBeGUKBQWHkHrvN2V9IQWGMt61zf3B45BtzjxEJzYuj0JBjBZP/hmYS/R9pmAw==} + engines: {node: '>=4'} axobject-query@3.1.1: - resolution: - { - integrity: sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==, - } + resolution: {integrity: sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==} axobject-query@3.2.2: - resolution: - { - integrity: sha512-QtQGAQJfHXiTrtRH8Q1gkarFLs56fDmfiMCptvRbo/AEQIImrW6u7EcUAOfkHHNE9dqZKH3227iRKRSp0KtfTw==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-QtQGAQJfHXiTrtRH8Q1gkarFLs56fDmfiMCptvRbo/AEQIImrW6u7EcUAOfkHHNE9dqZKH3227iRKRSp0KtfTw==} + engines: {node: '>= 0.4'} babel-core@7.0.0-bridge.0: - resolution: - { - integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==, - } + resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==} peerDependencies: '@babel/core': ^7.0.0-0 babel-plugin-emotion@10.2.2: - resolution: - { - integrity: sha512-SMSkGoqTbTyUTDeuVuPIWifPdUGkTk1Kf9BWRiXIOIcuyMfsdp2EjeiiFvOzX8NOBvEh/ypKYvUh2rkgAJMCLA==, - } + resolution: {integrity: sha512-SMSkGoqTbTyUTDeuVuPIWifPdUGkTk1Kf9BWRiXIOIcuyMfsdp2EjeiiFvOzX8NOBvEh/ypKYvUh2rkgAJMCLA==} babel-plugin-macros@2.8.0: - resolution: - { - integrity: sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==, - } + resolution: {integrity: sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==} babel-plugin-macros@3.1.0: - resolution: - { - integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==, - } - engines: { node: '>=10', npm: '>=6' } + resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} + engines: {node: '>=10', npm: '>=6'} babel-plugin-polyfill-corejs2@0.4.11: - resolution: - { - integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==, - } + resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 babel-plugin-polyfill-corejs3@0.10.4: - resolution: - { - integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==, - } + resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 babel-plugin-polyfill-regenerator@0.6.2: - resolution: - { - integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==, - } + resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 babel-plugin-syntax-jsx@6.18.0: - resolution: - { - integrity: sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==, - } + resolution: {integrity: sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==} babel-plugin-transform-flow-enums@0.0.2: - resolution: - { - integrity: sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==, - } + resolution: {integrity: sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==} babel-walk@3.0.0-canary-5: - resolution: - { - integrity: sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==, - } - engines: { node: '>= 10.0.0' } + resolution: {integrity: sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==} + engines: {node: '>= 10.0.0'} bail@2.0.2: - resolution: - { - integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==, - } + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} balanced-match@1.0.2: - resolution: - { - integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, - } + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} base64-js@1.5.1: - resolution: - { - integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==, - } + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} bcrypt-pbkdf@1.0.2: - resolution: - { - integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==, - } + resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} bcrypt@5.1.0: - resolution: - { - integrity: sha512-RHBS7HI5N5tEnGTmtR/pppX0mmDSBpQ4aCBsj7CEQfYXDcO74A8sIBYcJMuCsis2E81zDxeENYhv66oZwLiA+Q==, - } - engines: { node: '>= 10.0.0' } + resolution: {integrity: sha512-RHBS7HI5N5tEnGTmtR/pppX0mmDSBpQ4aCBsj7CEQfYXDcO74A8sIBYcJMuCsis2E81zDxeENYhv66oZwLiA+Q==} + engines: {node: '>= 10.0.0'} before-after-hook@2.2.3: - resolution: - { - integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==, - } + resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} binary-extensions@2.3.0: - resolution: - { - integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} bl@4.1.0: - resolution: - { - integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==, - } + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} blob-util@2.0.2: - resolution: - { - integrity: sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==, - } + resolution: {integrity: sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==} bluebird@3.7.2: - resolution: - { - integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==, - } + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} blueimp-md5@2.19.0: - resolution: - { - integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==, - } + resolution: {integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==} bn.js@4.12.0: - resolution: - { - integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==, - } + resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} body-parser@1.20.1: - resolution: - { - integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==, - } - engines: { node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16 } + resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} boolbase@1.0.0: - resolution: - { - integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==, - } + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} boolean@3.2.0: - resolution: - { - integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==, - } + resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} bottleneck@2.19.5: - resolution: - { - integrity: sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==, - } + resolution: {integrity: sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==} bowser@2.11.0: - resolution: - { - integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==, - } + resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} brace-expansion@1.1.11: - resolution: - { - integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, - } + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} brace-expansion@2.0.1: - resolution: - { - integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==, - } + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} braces@3.0.3: - resolution: - { - integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} browserslist@4.23.1: - resolution: - { - integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==, - } - engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } + resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true bser@2.1.1: - resolution: - { - integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==, - } + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} buffer-crc32@0.2.13: - resolution: - { - integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==, - } + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} buffer-equal-constant-time@1.0.1: - resolution: - { - integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==, - } + resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} buffer-from@1.1.2: - resolution: - { - integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==, - } + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} buffer@5.7.1: - resolution: - { - integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==, - } + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} buffer@6.0.3: - resolution: - { - integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==, - } + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} busboy@1.6.0: - resolution: - { - integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==, - } - engines: { node: '>=10.16.0' } + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} bytes@3.0.0: - resolution: - { - integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} + engines: {node: '>= 0.8'} bytes@3.1.2: - resolution: - { - integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} cacache@15.3.0: - resolution: - { - integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==} + engines: {node: '>= 10'} cacache@16.1.3: - resolution: - { - integrity: sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==, - } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} cachedir@2.3.0: - resolution: - { - integrity: sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==} + engines: {node: '>=6'} cachedir@2.4.0: - resolution: - { - integrity: sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==} + engines: {node: '>=6'} call-bind@1.0.7: - resolution: - { - integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} call-me-maybe@1.0.2: - resolution: - { - integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==, - } + resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} caller-callsite@2.0.0: - resolution: - { - integrity: sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==} + engines: {node: '>=4'} caller-path@2.0.0: - resolution: - { - integrity: sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==} + engines: {node: '>=4'} callsites@2.0.0: - resolution: - { - integrity: sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==} + engines: {node: '>=4'} callsites@3.1.0: - resolution: - { - integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} camelcase-css@2.0.1: - resolution: - { - integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} camelcase-keys@6.2.2: - resolution: - { - integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} + engines: {node: '>=8'} camelcase@5.3.1: - resolution: - { - integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} camelcase@6.3.0: - resolution: - { - integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} caniuse-lite@1.0.30001636: - resolution: - { - integrity: sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==, - } + resolution: {integrity: sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==} cardinal@2.1.1: - resolution: - { - integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==, - } + resolution: {integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==} hasBin: true caseless@0.12.0: - resolution: - { - integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==, - } + resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} chalk@2.4.2: - resolution: - { - integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} chalk@3.0.0: - resolution: - { - integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} + engines: {node: '>=8'} chalk@4.1.2: - resolution: - { - integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} chalk@5.3.0: - resolution: - { - integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==, - } - engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 } + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} character-entities@2.0.2: - resolution: - { - integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==, - } + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} character-parser@2.2.0: - resolution: - { - integrity: sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw==, - } + resolution: {integrity: sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw==} chardet@0.7.0: - resolution: - { - integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==, - } + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} check-more-types@2.24.0: - resolution: - { - integrity: sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==} + engines: {node: '>= 0.8.0'} cheerio-select@1.6.0: - resolution: - { - integrity: sha512-eq0GdBvxVFbqWgmCm7M3XGs1I8oLy/nExUnh6oLqmBditPO9AqQJrkslDpMun/hZ0yyTs8L0m85OHp4ho6Qm9g==, - } + resolution: {integrity: sha512-eq0GdBvxVFbqWgmCm7M3XGs1I8oLy/nExUnh6oLqmBditPO9AqQJrkslDpMun/hZ0yyTs8L0m85OHp4ho6Qm9g==} cheerio-select@2.1.0: - resolution: - { - integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==, - } + resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} cheerio@1.0.0-rc.10: - resolution: - { - integrity: sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==} + engines: {node: '>= 6'} cheerio@1.0.0-rc.12: - resolution: - { - integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} + engines: {node: '>= 6'} chokidar@3.6.0: - resolution: - { - integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==, - } - engines: { node: '>= 8.10.0' } + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} chownr@2.0.0: - resolution: - { - integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} chrome-launcher@0.15.2: - resolution: - { - integrity: sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==, - } - engines: { node: '>=12.13.0' } + resolution: {integrity: sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==} + engines: {node: '>=12.13.0'} hasBin: true ci-info@2.0.0: - resolution: - { - integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==, - } + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} ci-info@3.9.0: - resolution: - { - integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} classnames@2.5.1: - resolution: - { - integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==, - } + resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} clean-stack@2.2.0: - resolution: - { - integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} cli-cursor@3.1.0: - resolution: - { - integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} cli-highlight@2.1.11: - resolution: - { - integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==, - } - engines: { node: '>=8.0.0', npm: '>=5.0.0' } + resolution: {integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==} + engines: {node: '>=8.0.0', npm: '>=5.0.0'} hasBin: true cli-spinners@2.9.2: - resolution: - { - integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} cli-table3@0.6.5: - resolution: - { - integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==, - } - engines: { node: 10.* || >= 12.* } + resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} + engines: {node: 10.* || >= 12.*} cli-truncate@2.1.0: - resolution: - { - integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} + engines: {node: '>=8'} cli-truncate@3.1.0: - resolution: - { - integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} cli-width@3.0.0: - resolution: - { - integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} + engines: {node: '>= 10'} client-only@0.0.1: - resolution: - { - integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==, - } + resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} cliui@6.0.0: - resolution: - { - integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==, - } + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} cliui@7.0.4: - resolution: - { - integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==, - } + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} cliui@8.0.1: - resolution: - { - integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} clone-deep@4.0.1: - resolution: - { - integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} + engines: {node: '>=6'} clone@1.0.4: - resolution: - { - integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==, - } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} clone@2.1.2: - resolution: - { - integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==, - } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} + engines: {node: '>=0.8'} clsx@2.1.1: - resolution: - { - integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} color-convert@1.9.3: - resolution: - { - integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==, - } + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} color-convert@2.0.1: - resolution: - { - integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, - } - engines: { node: '>=7.0.0' } + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} color-name@1.1.3: - resolution: - { - integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==, - } + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} color-name@1.1.4: - resolution: - { - integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, - } + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} color-string@1.9.1: - resolution: - { - integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==, - } + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} color-support@1.1.3: - resolution: - { - integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==, - } + resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} hasBin: true color@3.2.1: - resolution: - { - integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==, - } + resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==} color@4.2.3: - resolution: - { - integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==, - } - engines: { node: '>=12.5.0' } + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} colorette@1.4.0: - resolution: - { - integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==, - } + resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==} colorette@2.0.20: - resolution: - { - integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==, - } + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} colorspace@1.1.4: - resolution: - { - integrity: sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==, - } + resolution: {integrity: sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==} combined-stream@1.0.8: - resolution: - { - integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} comma-separated-tokens@2.0.3: - resolution: - { - integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==, - } + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} command-exists@1.2.9: - resolution: - { - integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==, - } + resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==} commander@2.20.3: - resolution: - { - integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==, - } + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} commander@5.1.0: - resolution: - { - integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} + engines: {node: '>= 6'} commander@6.2.1: - resolution: - { - integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} + engines: {node: '>= 6'} commander@7.2.0: - resolution: - { - integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} commander@9.5.0: - resolution: - { - integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==, - } - engines: { node: ^12.20.0 || >=14 } + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + engines: {node: ^12.20.0 || >=14} commitizen@4.3.0: - resolution: - { - integrity: sha512-H0iNtClNEhT0fotHvGV3E9tDejDeS04sN1veIebsKYGMuGscFaswRoYJKmT3eW85eIJAs0F28bG2+a/9wCOfPw==, - } - engines: { node: '>= 12' } + resolution: {integrity: sha512-H0iNtClNEhT0fotHvGV3E9tDejDeS04sN1veIebsKYGMuGscFaswRoYJKmT3eW85eIJAs0F28bG2+a/9wCOfPw==} + engines: {node: '>= 12'} hasBin: true common-tags@1.8.2: - resolution: - { - integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==, - } - engines: { node: '>=4.0.0' } + resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} + engines: {node: '>=4.0.0'} commondir@1.0.1: - resolution: - { - integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==, - } + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} compare-func@2.0.0: - resolution: - { - integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==, - } + resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} compressible@2.0.18: - resolution: - { - integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} + engines: {node: '>= 0.6'} compression@1.7.4: - resolution: - { - integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} + engines: {node: '>= 0.8.0'} computed-style@0.1.4: - resolution: - { - integrity: sha512-WpAmaKbMNmS3OProfHIdJiNleNJdgUrJfbKArXua28QF7+0CoZjlLn0lp6vlc+dl5r2/X9GQiQRQQU4BzSa69w==, - } + resolution: {integrity: sha512-WpAmaKbMNmS3OProfHIdJiNleNJdgUrJfbKArXua28QF7+0CoZjlLn0lp6vlc+dl5r2/X9GQiQRQQU4BzSa69w==} concat-map@0.0.1: - resolution: - { - integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, - } + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} concat-stream@1.6.2: - resolution: - { - integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==, - } - engines: { '0': node >= 0.8 } + resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} + engines: {'0': node >= 0.8} config-chain@1.1.13: - resolution: - { - integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==, - } + resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} connect-typeorm@1.1.4: - resolution: - { - integrity: sha512-1/0b1aFzip0UBzuaSUkVZE4EW3n4UZzi3x2fmKeCaOb+sB4VZGj79txzLvtWIHLYY6kls/PKNcQHfEurdEjsUw==, - } + resolution: {integrity: sha512-1/0b1aFzip0UBzuaSUkVZE4EW3n4UZzi3x2fmKeCaOb+sB4VZGj79txzLvtWIHLYY6kls/PKNcQHfEurdEjsUw==} peerDependencies: typeorm: ^0.1.4 || ^0.2.5 connect@3.7.0: - resolution: - { - integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==, - } - engines: { node: '>= 0.10.0' } + resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==} + engines: {node: '>= 0.10.0'} console-control-strings@1.1.0: - resolution: - { - integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==, - } + resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} consolidate@0.16.0: - resolution: - { - integrity: sha512-Nhl1wzCslqXYTJVDyJCu3ODohy9OfBMB5uD2BiBTzd7w+QY0lBzafkR8y8755yMYHAaMD4NuzbAw03/xzfw+eQ==, - } - engines: { node: '>= 0.10.0' } + resolution: {integrity: sha512-Nhl1wzCslqXYTJVDyJCu3ODohy9OfBMB5uD2BiBTzd7w+QY0lBzafkR8y8755yMYHAaMD4NuzbAw03/xzfw+eQ==} + engines: {node: '>= 0.10.0'} deprecated: Please upgrade to consolidate v1.0.0+ as it has been modernized with several long-awaited fixes implemented. Maintenance is supported by Forward Email at https://forwardemail.net ; follow/watch https://github.com/ladjs/consolidate for updates and release changelog peerDependencies: arc-templates: ^0.5.3 @@ -6472,186 +4009,105 @@ packages: optional: true constantinople@4.0.1: - resolution: - { - integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==, - } + resolution: {integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==} content-disposition@0.5.4: - resolution: - { - integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} content-type@1.0.5: - resolution: - { - integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} conventional-changelog-angular@5.0.13: - resolution: - { - integrity: sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==} + engines: {node: '>=10'} conventional-changelog-angular@6.0.0: - resolution: - { - integrity: sha512-6qLgrBF4gueoC7AFVHu51nHL9pF9FRjXrH+ceVf7WmAfH3gs+gEYOkvxhjMPjZu57I4AGUGoNTY8V7Hrgf1uqg==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-6qLgrBF4gueoC7AFVHu51nHL9pF9FRjXrH+ceVf7WmAfH3gs+gEYOkvxhjMPjZu57I4AGUGoNTY8V7Hrgf1uqg==} + engines: {node: '>=14'} conventional-changelog-conventionalcommits@5.0.0: - resolution: - { - integrity: sha512-lCDbA+ZqVFQGUj7h9QBKoIpLhl8iihkO0nCTyRNzuXtcd7ubODpYB04IFy31JloiJgG0Uovu8ot8oxRzn7Nwtw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-lCDbA+ZqVFQGUj7h9QBKoIpLhl8iihkO0nCTyRNzuXtcd7ubODpYB04IFy31JloiJgG0Uovu8ot8oxRzn7Nwtw==} + engines: {node: '>=10'} conventional-changelog-writer@5.0.1: - resolution: - { - integrity: sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==} + engines: {node: '>=10'} hasBin: true conventional-commit-types@3.0.0: - resolution: - { - integrity: sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg==, - } + resolution: {integrity: sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg==} conventional-commits-filter@2.0.7: - resolution: - { - integrity: sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==} + engines: {node: '>=10'} conventional-commits-parser@3.2.4: - resolution: - { - integrity: sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==} + engines: {node: '>=10'} hasBin: true conventional-commits-parser@4.0.0: - resolution: - { - integrity: sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg==} + engines: {node: '>=14'} hasBin: true convert-source-map@1.9.0: - resolution: - { - integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==, - } + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} convert-source-map@2.0.0: - resolution: - { - integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==, - } + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} cookie-parser@1.4.6: - resolution: - { - integrity: sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA==} + engines: {node: '>= 0.8.0'} cookie-signature@1.0.6: - resolution: - { - integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==, - } + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} cookie-signature@1.0.7: - resolution: - { - integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==, - } + resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==} cookie@0.4.0: - resolution: - { - integrity: sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==} + engines: {node: '>= 0.6'} cookie@0.4.1: - resolution: - { - integrity: sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==} + engines: {node: '>= 0.6'} cookie@0.4.2: - resolution: - { - integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} + engines: {node: '>= 0.6'} cookie@0.5.0: - resolution: - { - integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} + engines: {node: '>= 0.6'} cookie@0.6.0: - resolution: - { - integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + engines: {node: '>= 0.6'} copy-to-clipboard@3.3.3: - resolution: - { - integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==, - } + resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} copyfiles@2.4.1: - resolution: - { - integrity: sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg==, - } + resolution: {integrity: sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg==} hasBin: true core-js-compat@3.37.1: - resolution: - { - integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==, - } + resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==} core-util-is@1.0.2: - resolution: - { - integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==, - } + resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} core-util-is@1.0.3: - resolution: - { - integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==, - } + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} cosmiconfig-typescript-loader@4.4.0: - resolution: - { - integrity: sha512-BabizFdC3wBHhbI4kJh0VkQP9GkBfoHPydD0COMce1nJ1kJAB3F2TmJ/I7diULBKtmEWSwEbuN/KDtgnmUUVmw==, - } - engines: { node: '>=v14.21.3' } + resolution: {integrity: sha512-BabizFdC3wBHhbI4kJh0VkQP9GkBfoHPydD0COMce1nJ1kJAB3F2TmJ/I7diULBKtmEWSwEbuN/KDtgnmUUVmw==} + engines: {node: '>=v14.21.3'} peerDependencies: '@types/node': '*' cosmiconfig: '>=7' @@ -6659,43 +4115,28 @@ packages: typescript: '>=4' cosmiconfig-typescript-loader@5.0.0: - resolution: - { - integrity: sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA==, - } - engines: { node: '>=v16' } + resolution: {integrity: sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA==} + engines: {node: '>=v16'} peerDependencies: '@types/node': '*' cosmiconfig: '>=8.2' typescript: '>=4' cosmiconfig@5.2.1: - resolution: - { - integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==} + engines: {node: '>=4'} cosmiconfig@6.0.0: - resolution: - { - integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==} + engines: {node: '>=8'} cosmiconfig@7.1.0: - resolution: - { - integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} + engines: {node: '>=10'} cosmiconfig@8.3.6: - resolution: - { - integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} + engines: {node: '>=14'} peerDependencies: typescript: '>=4.9.5' peerDependenciesMeta: @@ -6703,11 +4144,8 @@ packages: optional: true cosmiconfig@9.0.0: - resolution: - { - integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} + engines: {node: '>=14'} peerDependencies: typescript: '>=4.9.5' peerDependenciesMeta: @@ -6715,225 +4153,126 @@ packages: optional: true country-flag-icons@1.5.5: - resolution: - { - integrity: sha512-k4WXZ/WvWOSiYXRG1n8EYHNr1m/IX0GffKqAidaet5DrJsDOmJ8Q/8JvvONhZNnKYg24s4lvsm+9og1HcuIU/g==, - } + resolution: {integrity: sha512-k4WXZ/WvWOSiYXRG1n8EYHNr1m/IX0GffKqAidaet5DrJsDOmJ8Q/8JvvONhZNnKYg24s4lvsm+9og1HcuIU/g==} create-require@1.1.1: - resolution: - { - integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==, - } + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} cron-parser@4.9.0: - resolution: - { - integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==, - } - engines: { node: '>=12.0.0' } + resolution: {integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==} + engines: {node: '>=12.0.0'} cronstrue@2.23.0: - resolution: - { - integrity: sha512-iPoWUQbCwUmrBf1w9W+9YQs8FowWp/teC2XGz3zAmt0Aja+HWGjyjUkWASWcsdzxSuL0EIIdvlfGEVBljvTbSQ==, - } + resolution: {integrity: sha512-iPoWUQbCwUmrBf1w9W+9YQs8FowWp/teC2XGz3zAmt0Aja+HWGjyjUkWASWcsdzxSuL0EIIdvlfGEVBljvTbSQ==} hasBin: true cross-spawn@6.0.5: - resolution: - { - integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==, - } - engines: { node: '>=4.8' } + resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} + engines: {node: '>=4.8'} cross-spawn@7.0.3: - resolution: - { - integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} crypto-random-string@2.0.0: - resolution: - { - integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} + engines: {node: '>=8'} csrf@3.1.0: - resolution: - { - integrity: sha512-uTqEnCvWRk042asU6JtapDTcJeeailFy4ydOQS28bj1hcLnYRiqi8SsD2jS412AY1I/4qdOwWZun774iqywf9w==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-uTqEnCvWRk042asU6JtapDTcJeeailFy4ydOQS28bj1hcLnYRiqi8SsD2jS412AY1I/4qdOwWZun774iqywf9w==} + engines: {node: '>= 0.8'} css-select@4.3.0: - resolution: - { - integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==, - } + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} css-select@5.1.0: - resolution: - { - integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==, - } + resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} css-tree@1.1.3: - resolution: - { - integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==, - } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} + engines: {node: '>=8.0.0'} css-what@6.1.0: - resolution: - { - integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} cssesc@3.0.0: - resolution: - { - integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} hasBin: true csso@4.2.0: - resolution: - { - integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==, - } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} + engines: {node: '>=8.0.0'} csstype@2.6.21: - resolution: - { - integrity: sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==, - } + resolution: {integrity: sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==} csstype@3.1.3: - resolution: - { - integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==, - } + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} csurf@1.11.0: - resolution: - { - integrity: sha512-UCtehyEExKTxgiu8UHdGvHj4tnpE/Qctue03Giq5gPgMQ9cg/ciod5blZQ5a4uCEenNQjxyGuzygLdKUmee/bQ==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-UCtehyEExKTxgiu8UHdGvHj4tnpE/Qctue03Giq5gPgMQ9cg/ciod5blZQ5a4uCEenNQjxyGuzygLdKUmee/bQ==} + engines: {node: '>= 0.8.0'} deprecated: Please use another csrf package cy-mobile-commands@0.3.0: - resolution: - { - integrity: sha512-Bj5P2ylw88hPqolLu68xWB6euVH5uNt8zyh+Ju8sBukGv39mWZxpjp6LtnUX/LK/YMthwvILYHhvr9SG1TP+4w==, - } + resolution: {integrity: sha512-Bj5P2ylw88hPqolLu68xWB6euVH5uNt8zyh+Ju8sBukGv39mWZxpjp6LtnUX/LK/YMthwvILYHhvr9SG1TP+4w==} cypress@12.7.0: - resolution: - { - integrity: sha512-7rq+nmhzz0u6yabCFyPtADU2OOrYt6pvUau9qV7xyifJ/hnsaw/vkr0tnLlcuuQKUAOC1v1M1e4Z0zG7S0IAvA==, - } - engines: { node: ^14.0.0 || ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-7rq+nmhzz0u6yabCFyPtADU2OOrYt6pvUau9qV7xyifJ/hnsaw/vkr0tnLlcuuQKUAOC1v1M1e4Z0zG7S0IAvA==} + engines: {node: ^14.0.0 || ^16.0.0 || >=18.0.0} hasBin: true cz-conventional-changelog@3.3.0: - resolution: - { - integrity: sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==} + engines: {node: '>= 10'} damerau-levenshtein@1.0.8: - resolution: - { - integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==, - } + resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} dargs@7.0.0: - resolution: - { - integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==} + engines: {node: '>=8'} dashdash@1.14.1: - resolution: - { - integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==, - } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} + engines: {node: '>=0.10'} data-view-buffer@1.0.1: - resolution: - { - integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} + engines: {node: '>= 0.4'} data-view-byte-length@1.0.1: - resolution: - { - integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} + engines: {node: '>= 0.4'} data-view-byte-offset@1.0.0: - resolution: - { - integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} + engines: {node: '>= 0.4'} date-fns@2.29.3: - resolution: - { - integrity: sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==, - } - engines: { node: '>=0.11' } + resolution: {integrity: sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==} + engines: {node: '>=0.11'} date-fns@2.30.0: - resolution: - { - integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==, - } - engines: { node: '>=0.11' } + resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} + engines: {node: '>=0.11'} dateformat@3.0.3: - resolution: - { - integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==, - } + resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==} dayjs@1.11.11: - resolution: - { - integrity: sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==, - } + resolution: {integrity: sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==} dayjs@1.11.7: - resolution: - { - integrity: sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==, - } + resolution: {integrity: sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==} debounce@1.2.1: - resolution: - { - integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==, - } + resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} debug@2.6.9: - resolution: - { - integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==, - } + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -6941,10 +4280,7 @@ packages: optional: true debug@3.2.7: - resolution: - { - integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==, - } + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -6952,11 +4288,8 @@ packages: optional: true debug@4.3.5: - resolution: - { - integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==, - } - engines: { node: '>=6.0' } + resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} + engines: {node: '>=6.0'} peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -6964,640 +4297,352 @@ packages: optional: true decamelize-keys@1.1.1: - resolution: - { - integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} + engines: {node: '>=0.10.0'} decamelize@1.2.0: - resolution: - { - integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} decode-named-character-reference@1.0.2: - resolution: - { - integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==, - } + resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} dedent@0.7.0: - resolution: - { - integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==, - } + resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} deep-equal-json@1.0.0: - resolution: - { - integrity: sha512-x11iOxzQuLWG1faqBf8PYn3xSxkK41Wg38lUbch9f+nVmBeuI53PPXeRIDdHsW2/dP2GGKL9p8cLCahHToE7CA==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-x11iOxzQuLWG1faqBf8PYn3xSxkK41Wg38lUbch9f+nVmBeuI53PPXeRIDdHsW2/dP2GGKL9p8cLCahHToE7CA==} + engines: {node: '>= 0.4'} deep-equal@2.2.3: - resolution: - { - integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} + engines: {node: '>= 0.4'} deep-extend@0.6.0: - resolution: - { - integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==, - } - engines: { node: '>=4.0.0' } + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} deep-is@0.1.4: - resolution: - { - integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, - } + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} deepmerge@2.2.1: - resolution: - { - integrity: sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==} + engines: {node: '>=0.10.0'} deepmerge@4.3.1: - resolution: - { - integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} defaults@1.0.4: - resolution: - { - integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==, - } + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} define-data-property@1.1.4: - resolution: - { - integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} define-properties@1.2.1: - resolution: - { - integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} defined@1.0.1: - resolution: - { - integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==, - } + resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==} del@6.1.1: - resolution: - { - integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==} + engines: {node: '>=10'} delayed-stream@1.0.0: - resolution: - { - integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==, - } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} delegates@1.0.0: - resolution: - { - integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==, - } + resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} denodeify@1.2.1: - resolution: - { - integrity: sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==, - } + resolution: {integrity: sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==} depd@1.1.2: - resolution: - { - integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} depd@2.0.0: - resolution: - { - integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} deprecation@2.3.1: - resolution: - { - integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==, - } + resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} dequal@2.0.3: - resolution: - { - integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} destroy@1.2.0: - resolution: - { - integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==, - } - engines: { node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16 } + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} detect-file@1.0.0: - resolution: - { - integrity: sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==} + engines: {node: '>=0.10.0'} detect-indent@6.1.0: - resolution: - { - integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} + engines: {node: '>=8'} detect-libc@2.0.3: - resolution: - { - integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} + engines: {node: '>=8'} detect-newline@3.1.0: - resolution: - { - integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} detective@5.2.1: - resolution: - { - integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==, - } - engines: { node: '>=0.8.0' } + resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==} + engines: {node: '>=0.8.0'} hasBin: true didyoumean@1.2.2: - resolution: - { - integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==, - } + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} diff-match-patch@1.0.5: - resolution: - { - integrity: sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==, - } + resolution: {integrity: sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==} diff@4.0.2: - resolution: - { - integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==, - } - engines: { node: '>=0.3.1' } + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} diff@5.2.0: - resolution: - { - integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==, - } - engines: { node: '>=0.3.1' } + resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} + engines: {node: '>=0.3.1'} dir-glob@3.0.1: - resolution: - { - integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} discontinuous-range@1.0.0: - resolution: - { - integrity: sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ==, - } + resolution: {integrity: sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ==} display-notification@2.0.0: - resolution: - { - integrity: sha512-TdmtlAcdqy1NU+j7zlkDdMnCL878zriLaBmoD9quOoq1ySSSGv03l0hXK5CvIFZlIfFI/hizqdQuW+Num7xuhw==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-TdmtlAcdqy1NU+j7zlkDdMnCL878zriLaBmoD9quOoq1ySSSGv03l0hXK5CvIFZlIfFI/hizqdQuW+Num7xuhw==} + engines: {node: '>=4'} dlv@1.1.3: - resolution: - { - integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==, - } + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} doctrine@2.1.0: - resolution: - { - integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} doctrine@3.0.0: - resolution: - { - integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} doctypes@1.1.0: - resolution: - { - integrity: sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ==, - } + resolution: {integrity: sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ==} dom-helpers@5.2.1: - resolution: - { - integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==, - } + resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} dom-serializer@1.4.1: - resolution: - { - integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==, - } + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} dom-serializer@2.0.0: - resolution: - { - integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==, - } + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} domelementtype@2.3.0: - resolution: - { - integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==, - } + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} domhandler@3.3.0: - resolution: - { - integrity: sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==, - } - engines: { node: '>= 4' } + resolution: {integrity: sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==} + engines: {node: '>= 4'} domhandler@4.3.1: - resolution: - { - integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==, - } - engines: { node: '>= 4' } + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} domhandler@5.0.3: - resolution: - { - integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==, - } - engines: { node: '>= 4' } + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} domutils@2.8.0: - resolution: - { - integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==, - } + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} domutils@3.1.0: - resolution: - { - integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==, - } + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} dot-prop@5.3.0: - resolution: - { - integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} + engines: {node: '>=8'} dotenv@16.4.5: - resolution: - { - integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + engines: {node: '>=12'} duplexer2@0.1.4: - resolution: - { - integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==, - } + resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==} eastasianwidth@0.2.0: - resolution: - { - integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==, - } + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} ecc-jsbn@0.1.2: - resolution: - { - integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==, - } + resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} ecdsa-sig-formatter@1.0.11: - resolution: - { - integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==, - } + resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} ee-first@1.1.1: - resolution: - { - integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==, - } + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} electron-to-chromium@1.4.810: - resolution: - { - integrity: sha512-Kaxhu4T7SJGpRQx99tq216gCq2nMxJo+uuT6uzz9l8TVN2stL7M06MIIXAtr9jsrLs2Glflgf2vMQRepxawOdQ==, - } + resolution: {integrity: sha512-Kaxhu4T7SJGpRQx99tq216gCq2nMxJo+uuT6uzz9l8TVN2stL7M06MIIXAtr9jsrLs2Glflgf2vMQRepxawOdQ==} email-templates@9.0.0: - resolution: - { - integrity: sha512-ap0p38jAq8FMy86Jp2b3hyCFDUA9utWfOuyKPWhrknmHrrT3n94viGcQIAsaQtUZGaJP/0dJ9w//XqvaZV/yYQ==, - } - engines: { node: '>=10.0.0' } + resolution: {integrity: sha512-ap0p38jAq8FMy86Jp2b3hyCFDUA9utWfOuyKPWhrknmHrrT3n94viGcQIAsaQtUZGaJP/0dJ9w//XqvaZV/yYQ==} + engines: {node: '>=10.0.0'} deprecated: We just released outbound SMTP support! Try it out at @ https://forwardemail.net/docs/how-to-javascript-contact-forms-node-js 🚀 ✉️ 👽 email-validator@2.0.4: - resolution: - { - integrity: sha512-gYCwo7kh5S3IDyZPLZf6hSS0MnZT8QmJFqYvbqlDZSbwdZlY6QZWxJ4i/6UhITOJ4XzyI647Bm2MXKCLqnJ4nQ==, - } - engines: { node: '>4.0' } + resolution: {integrity: sha512-gYCwo7kh5S3IDyZPLZf6hSS0MnZT8QmJFqYvbqlDZSbwdZlY6QZWxJ4i/6UhITOJ4XzyI647Bm2MXKCLqnJ4nQ==} + engines: {node: '>4.0'} emoji-regex@10.3.0: - resolution: - { - integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==, - } + resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} emoji-regex@8.0.0: - resolution: - { - integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==, - } + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} emoji-regex@9.2.2: - resolution: - { - integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==, - } + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} emojis-list@3.0.0: - resolution: - { - integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==, - } - engines: { node: '>= 4' } + resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} + engines: {node: '>= 4'} enabled@2.0.0: - resolution: - { - integrity: sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==, - } + resolution: {integrity: sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==} encodeurl@1.0.2: - resolution: - { - integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} encoding-japanese@2.0.0: - resolution: - { - integrity: sha512-++P0RhebUC8MJAwJOsT93dT+5oc5oPImp1HubZpAuCZ5kTLnhuuBhKHj2jJeO/Gj93idPBWmIuQ9QWMe5rX3pQ==, - } - engines: { node: '>=8.10.0' } + resolution: {integrity: sha512-++P0RhebUC8MJAwJOsT93dT+5oc5oPImp1HubZpAuCZ5kTLnhuuBhKHj2jJeO/Gj93idPBWmIuQ9QWMe5rX3pQ==} + engines: {node: '>=8.10.0'} encoding-japanese@2.1.0: - resolution: - { - integrity: sha512-58XySVxUgVlBikBTbQ8WdDxBDHIdXucB16LO5PBHR8t75D54wQrNo4cg+58+R1CtJfKnsVsvt9XlteRaR8xw1w==, - } - engines: { node: '>=8.10.0' } + resolution: {integrity: sha512-58XySVxUgVlBikBTbQ8WdDxBDHIdXucB16LO5PBHR8t75D54wQrNo4cg+58+R1CtJfKnsVsvt9XlteRaR8xw1w==} + engines: {node: '>=8.10.0'} encoding@0.1.13: - resolution: - { - integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==, - } + resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} end-of-stream@1.4.4: - resolution: - { - integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==, - } + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} enhanced-resolve@5.17.0: - resolution: - { - integrity: sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==, - } - engines: { node: '>=10.13.0' } + resolution: {integrity: sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==} + engines: {node: '>=10.13.0'} enquirer@2.4.1: - resolution: - { - integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==, - } - engines: { node: '>=8.6' } + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} + engines: {node: '>=8.6'} entities@2.2.0: - resolution: - { - integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==, - } + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} entities@4.5.0: - resolution: - { - integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==, - } - engines: { node: '>=0.12' } + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} env-ci@5.5.0: - resolution: - { - integrity: sha512-o0JdWIbOLP+WJKIUt36hz1ImQQFuN92nhsfTkHHap+J8CiI8WgGpH/a9jEGHh4/TU5BUUGjlnKXNoDb57+ne+A==, - } - engines: { node: '>=10.17' } + resolution: {integrity: sha512-o0JdWIbOLP+WJKIUt36hz1ImQQFuN92nhsfTkHHap+J8CiI8WgGpH/a9jEGHh4/TU5BUUGjlnKXNoDb57+ne+A==} + engines: {node: '>=10.17'} env-paths@2.2.1: - resolution: - { - integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} envinfo@7.13.0: - resolution: - { - integrity: sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==} + engines: {node: '>=4'} hasBin: true err-code@2.0.3: - resolution: - { - integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==, - } + resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} error-ex@1.3.2: - resolution: - { - integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==, - } + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} error-stack-parser@2.1.4: - resolution: - { - integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==, - } + resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} errorhandler@1.5.1: - resolution: - { - integrity: sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==} + engines: {node: '>= 0.8'} es-abstract@1.23.3: - resolution: - { - integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} + engines: {node: '>= 0.4'} es-define-property@1.0.0: - resolution: - { - integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} es-errors@1.3.0: - resolution: - { - integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} es-get-iterator@1.1.3: - resolution: - { - integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==, - } + resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} es-iterator-helpers@1.0.19: - resolution: - { - integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==} + engines: {node: '>= 0.4'} es-object-atoms@1.0.0: - resolution: - { - integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} es-set-tostringtag@2.0.3: - resolution: - { - integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} + engines: {node: '>= 0.4'} es-shim-unscopables@1.0.2: - resolution: - { - integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==, - } + resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} es-to-primitive@1.2.1: - resolution: - { - integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} escalade@3.1.2: - resolution: - { - integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} escape-goat@3.0.0: - resolution: - { - integrity: sha512-w3PwNZJwRxlp47QGzhuEBldEqVHHhh8/tIPcl6ecf2Bou99cdAt0knihBV0Ecc7CGxYduXVBDheH1K2oADRlvw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-w3PwNZJwRxlp47QGzhuEBldEqVHHhh8/tIPcl6ecf2Bou99cdAt0knihBV0Ecc7CGxYduXVBDheH1K2oADRlvw==} + engines: {node: '>=10'} escape-html@1.0.3: - resolution: - { - integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==, - } + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} escape-string-applescript@1.0.0: - resolution: - { - integrity: sha512-4/hFwoYaC6TkpDn9A3pTC52zQPArFeXuIfhUtCGYdauTzXVP9H3BDr3oO/QzQehMpLDC7srvYgfwvImPFGfvBA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-4/hFwoYaC6TkpDn9A3pTC52zQPArFeXuIfhUtCGYdauTzXVP9H3BDr3oO/QzQehMpLDC7srvYgfwvImPFGfvBA==} + engines: {node: '>=0.10.0'} escape-string-regexp@1.0.5: - resolution: - { - integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==, - } - engines: { node: '>=0.8.0' } + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} escape-string-regexp@2.0.0: - resolution: - { - integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} escape-string-regexp@4.0.0: - resolution: - { - integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} eslint-config-next@14.2.4: - resolution: - { - integrity: sha512-Qr0wMgG9m6m4uYy2jrYJmyuNlYZzPRQq5Kvb9IDlYwn+7yq6W6sfMNFgb+9guM1KYwuIo6TIaiFhZJ6SnQ/Efw==, - } + resolution: {integrity: sha512-Qr0wMgG9m6m4uYy2jrYJmyuNlYZzPRQq5Kvb9IDlYwn+7yq6W6sfMNFgb+9guM1KYwuIo6TIaiFhZJ6SnQ/Efw==} peerDependencies: eslint: ^7.23.0 || ^8.0.0 typescript: '>=3.3.1' @@ -7606,36 +4651,24 @@ packages: optional: true eslint-config-prettier@8.6.0: - resolution: - { - integrity: sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==, - } + resolution: {integrity: sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==} hasBin: true peerDependencies: eslint: '>=7.0.0' eslint-import-resolver-node@0.3.9: - resolution: - { - integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==, - } + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} eslint-import-resolver-typescript@3.6.1: - resolution: - { - integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==, - } - engines: { node: ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} + engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '*' eslint-plugin-import: '*' eslint-module-utils@2.8.1: - resolution: - { - integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} + engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' eslint: '*' @@ -7655,19 +4688,13 @@ packages: optional: true eslint-plugin-formatjs@4.9.0: - resolution: - { - integrity: sha512-U3u8TI/Mogo3sunTHDh24mc3p1zWAz/VaYjSkGhuYcLmqfkqEr3BmGUNQ8NTDvZviYHNTkhjHWuXQnUkh81grQ==, - } + resolution: {integrity: sha512-U3u8TI/Mogo3sunTHDh24mc3p1zWAz/VaYjSkGhuYcLmqfkqEr3BmGUNQ8NTDvZviYHNTkhjHWuXQnUkh81grQ==} peerDependencies: eslint: 7 || 8 eslint-plugin-import@2.29.1: - resolution: - { - integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} + engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 @@ -7676,35 +4703,23 @@ packages: optional: true eslint-plugin-jsx-a11y@6.7.1: - resolution: - { - integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==, - } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==} + engines: {node: '>=4.0'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 eslint-plugin-jsx-a11y@6.9.0: - resolution: - { - integrity: sha512-nOFOCaJG2pYqORjK19lqPqxMO/JpvdCZdPtNdxY3kvom3jTvkAbOvQvD8wuD0G8BYR0IGAGYDlzqWJOh/ybn2g==, - } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-nOFOCaJG2pYqORjK19lqPqxMO/JpvdCZdPtNdxY3kvom3jTvkAbOvQvD8wuD0G8BYR0IGAGYDlzqWJOh/ybn2g==} + engines: {node: '>=4.0'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 eslint-plugin-no-relative-import-paths@1.5.2: - resolution: - { - integrity: sha512-wMlL+TVuDhKk1plP+w3L4Hc7+u89vUkrOYq6/0ARjcYqwc9/YaS9uEXNzaqAk+WLoEgakzNL5JgJJw6m4qd5zw==, - } + resolution: {integrity: sha512-wMlL+TVuDhKk1plP+w3L4Hc7+u89vUkrOYq6/0ARjcYqwc9/YaS9uEXNzaqAk+WLoEgakzNL5JgJJw6m4qd5zw==} eslint-plugin-prettier@4.2.1: - resolution: - { - integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==, - } - engines: { node: '>=12.0.0' } + resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} + engines: {node: '>=12.0.0'} peerDependencies: eslint: '>=7.28.0' eslint-config-prettier: '*' @@ -7714,2355 +4729,1304 @@ packages: optional: true eslint-plugin-react-hooks@4.6.0: - resolution: - { - integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} + engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 eslint-plugin-react-hooks@4.6.2: - resolution: - { - integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} + engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 eslint-plugin-react@7.32.2: - resolution: - { - integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==} + engines: {node: '>=4'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 eslint-plugin-react@7.34.3: - resolution: - { - integrity: sha512-aoW4MV891jkUulwDApQbPYTVZmeuSyFrudpbTAQuj5Fv8VL+o6df2xIGpw8B0hPjAaih1/Fb0om9grCdyFYemA==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-aoW4MV891jkUulwDApQbPYTVZmeuSyFrudpbTAQuj5Fv8VL+o6df2xIGpw8B0hPjAaih1/Fb0om9grCdyFYemA==} + engines: {node: '>=4'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 eslint-scope@5.1.1: - resolution: - { - integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==, - } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} eslint-scope@7.2.2: - resolution: - { - integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} eslint-utils@3.0.0: - resolution: - { - integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==, - } - engines: { node: ^10.0.0 || ^12.0.0 || >= 14.0.0 } + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' eslint-visitor-keys@2.1.0: - resolution: - { - integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} eslint-visitor-keys@3.4.3: - resolution: - { - integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} eslint@8.35.0: - resolution: - { - integrity: sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true espree@9.6.1: - resolution: - { - integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} esprima@1.2.5: - resolution: - { - integrity: sha512-S9VbPDU0adFErpDai3qDkjq8+G05ONtKzcyNrPKg/ZKa+tf879nX2KexNU95b31UoTJjRLInNBHHHjFPoCd7lQ==, - } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-S9VbPDU0adFErpDai3qDkjq8+G05ONtKzcyNrPKg/ZKa+tf879nX2KexNU95b31UoTJjRLInNBHHHjFPoCd7lQ==} + engines: {node: '>=0.4.0'} hasBin: true esprima@4.0.1: - resolution: - { - integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} hasBin: true esquery@1.5.0: - resolution: - { - integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==, - } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} esrecurse@4.3.0: - resolution: - { - integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, - } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} estraverse@1.9.3: - resolution: - { - integrity: sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA==} + engines: {node: '>=0.10.0'} estraverse@4.3.0: - resolution: - { - integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==, - } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} estraverse@5.3.0: - resolution: - { - integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, - } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} esutils@2.0.3: - resolution: - { - integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} etag@1.8.1: - resolution: - { - integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} event-target-shim@5.0.1: - resolution: - { - integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} eventemitter2@6.4.7: - resolution: - { - integrity: sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==, - } + resolution: {integrity: sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==} execa@0.10.0: - resolution: - { - integrity: sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==} + engines: {node: '>=4'} execa@4.1.0: - resolution: - { - integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} + engines: {node: '>=10'} execa@5.1.1: - resolution: - { - integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} execa@6.1.0: - resolution: - { - integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} executable@4.1.1: - resolution: - { - integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==} + engines: {node: '>=4'} expand-tilde@2.0.2: - resolution: - { - integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==} + engines: {node: '>=0.10.0'} express-openapi-validator@4.13.8: - resolution: - { - integrity: sha512-89/sdkq+BKBuIyykaMl/vR9grFc3WFUPTjFo0THHbu+5g+q8rA7fKeoMfz+h84yOQIBcztmJ5ZJdk5uhEls31A==, - } + resolution: {integrity: sha512-89/sdkq+BKBuIyykaMl/vR9grFc3WFUPTjFo0THHbu+5g+q8rA7fKeoMfz+h84yOQIBcztmJ5ZJdk5uhEls31A==} express-rate-limit@6.7.0: - resolution: - { - integrity: sha512-vhwIdRoqcYB/72TK3tRZI+0ttS8Ytrk24GfmsxDXK9o9IhHNO5bXRiXQSExPQ4GbaE5tvIS7j1SGrxsuWs+sGA==, - } - engines: { node: '>= 12.9.0' } + resolution: {integrity: sha512-vhwIdRoqcYB/72TK3tRZI+0ttS8Ytrk24GfmsxDXK9o9IhHNO5bXRiXQSExPQ4GbaE5tvIS7j1SGrxsuWs+sGA==} + engines: {node: '>= 12.9.0'} peerDependencies: express: ^4 || ^5 express-session@1.17.3: - resolution: - { - integrity: sha512-4+otWXlShYlG1Ma+2Jnn+xgKUZTMJ5QD3YvfilX3AcocOAbIkVylSWEklzALe/+Pu4qV6TYBj5GwOBFfdKqLBw==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-4+otWXlShYlG1Ma+2Jnn+xgKUZTMJ5QD3YvfilX3AcocOAbIkVylSWEklzALe/+Pu4qV6TYBj5GwOBFfdKqLBw==} + engines: {node: '>= 0.8.0'} express-session@1.18.0: - resolution: - { - integrity: sha512-m93QLWr0ju+rOwApSsyso838LQwgfs44QtOP/WBiwtAgPIo/SAh1a5c6nn2BR6mFNZehTpqKDESzP+fRHVbxwQ==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-m93QLWr0ju+rOwApSsyso838LQwgfs44QtOP/WBiwtAgPIo/SAh1a5c6nn2BR6mFNZehTpqKDESzP+fRHVbxwQ==} + engines: {node: '>= 0.8.0'} express@4.18.2: - resolution: - { - integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==, - } - engines: { node: '>= 0.10.0' } + resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} + engines: {node: '>= 0.10.0'} extend-object@1.0.0: - resolution: - { - integrity: sha512-0dHDIXC7y7LDmCh/lp1oYkmv73K25AMugQI07r8eFopkW6f7Ufn1q+ETMsJjnV9Am14SlElkqy3O92r6xEaxPw==, - } + resolution: {integrity: sha512-0dHDIXC7y7LDmCh/lp1oYkmv73K25AMugQI07r8eFopkW6f7Ufn1q+ETMsJjnV9Am14SlElkqy3O92r6xEaxPw==} extend@3.0.2: - resolution: - { - integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==, - } + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} external-editor@3.1.0: - resolution: - { - integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} extract-zip@2.0.1: - resolution: - { - integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==, - } - engines: { node: '>= 10.17.0' } + resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} + engines: {node: '>= 10.17.0'} hasBin: true extsprintf@1.3.0: - resolution: - { - integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==, - } - engines: { '0': node >=0.6.0 } + resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} + engines: {'0': node >=0.6.0} extsprintf@1.4.1: - resolution: - { - integrity: sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==, - } - engines: { '0': node >=0.6.0 } + resolution: {integrity: sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==} + engines: {'0': node >=0.6.0} fast-deep-equal@3.1.3: - resolution: - { - integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, - } + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} fast-diff@1.3.0: - resolution: - { - integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==, - } + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} fast-glob@3.3.2: - resolution: - { - integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==, - } - engines: { node: '>=8.6.0' } + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} fast-json-stable-stringify@2.1.0: - resolution: - { - integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, - } + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} fast-levenshtein@2.0.6: - resolution: - { - integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, - } + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} fast-printf@1.6.9: - resolution: - { - integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==, - } - engines: { node: '>=10.0' } + resolution: {integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==} + engines: {node: '>=10.0'} fast-xml-parser@4.4.0: - resolution: - { - integrity: sha512-kLY3jFlwIYwBNDojclKsNAC12sfD6NwW74QB2CoNGPvtVxjliYehVunB3HYyNi+n4Tt1dAcgwYvmKF/Z18flqg==, - } + resolution: {integrity: sha512-kLY3jFlwIYwBNDojclKsNAC12sfD6NwW74QB2CoNGPvtVxjliYehVunB3HYyNi+n4Tt1dAcgwYvmKF/Z18flqg==} hasBin: true fastq@1.17.1: - resolution: - { - integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==, - } + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} fb-watchman@2.0.2: - resolution: - { - integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==, - } + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} fd-slicer@1.1.0: - resolution: - { - integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==, - } + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} fecha@4.2.3: - resolution: - { - integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==, - } + resolution: {integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==} figures@2.0.0: - resolution: - { - integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==} + engines: {node: '>=4'} figures@3.2.0: - resolution: - { - integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} file-entry-cache@6.0.1: - resolution: - { - integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==, - } - engines: { node: ^10.12.0 || >=12.0.0 } + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} file-stream-rotator@0.6.1: - resolution: - { - integrity: sha512-u+dBid4PvZw17PmDeRcNOtCP9CCK/9lRN2w+r1xIS7yOL9JFrIBKTvrYsxT4P0pGtThYTn++QS5ChHaUov3+zQ==, - } + resolution: {integrity: sha512-u+dBid4PvZw17PmDeRcNOtCP9CCK/9lRN2w+r1xIS7yOL9JFrIBKTvrYsxT4P0pGtThYTn++QS5ChHaUov3+zQ==} fill-range@7.1.1: - resolution: - { - integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} finalhandler@1.1.2: - resolution: - { - integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} + engines: {node: '>= 0.8'} finalhandler@1.2.0: - resolution: - { - integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} + engines: {node: '>= 0.8'} find-cache-dir@2.1.0: - resolution: - { - integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==} + engines: {node: '>=6'} find-node-modules@2.1.3: - resolution: - { - integrity: sha512-UC2I2+nx1ZuOBclWVNdcnbDR5dlrOdVb7xNjmT/lHE+LsgztWks3dG7boJ37yTS/venXw84B/mAW9uHVoC5QRg==, - } + resolution: {integrity: sha512-UC2I2+nx1ZuOBclWVNdcnbDR5dlrOdVb7xNjmT/lHE+LsgztWks3dG7boJ37yTS/venXw84B/mAW9uHVoC5QRg==} find-root@1.1.0: - resolution: - { - integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==, - } + resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} find-up@2.1.0: - resolution: - { - integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} + engines: {node: '>=4'} find-up@3.0.0: - resolution: - { - integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} + engines: {node: '>=6'} find-up@4.1.0: - resolution: - { - integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} find-up@5.0.0: - resolution: - { - integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} find-versions@4.0.0: - resolution: - { - integrity: sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==} + engines: {node: '>=10'} findup-sync@4.0.0: - resolution: - { - integrity: sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==} + engines: {node: '>= 8'} fixpack@4.0.0: - resolution: - { - integrity: sha512-5SM1+H2CcuJ3gGEwTiVo/+nd/hYpNj9Ch3iMDOQ58ndY+VGQ2QdvaUTkd3otjZvYnd/8LF/HkJ5cx7PBq0orCQ==, - } + resolution: {integrity: sha512-5SM1+H2CcuJ3gGEwTiVo/+nd/hYpNj9Ch3iMDOQ58ndY+VGQ2QdvaUTkd3otjZvYnd/8LF/HkJ5cx7PBq0orCQ==} hasBin: true flat-cache@3.2.0: - resolution: - { - integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==, - } - engines: { node: ^10.12.0 || >=12.0.0 } + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} flatted@3.3.1: - resolution: - { - integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==, - } + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} flow-enums-runtime@0.0.6: - resolution: - { - integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==, - } + resolution: {integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==} flow-parser@0.238.0: - resolution: - { - integrity: sha512-VE7XSv1epljsIN2YeBnxCmGJihpNIAnLLu/pPOdA+Gkso7qDltJwUi6vfHjgxdBbjSdAuPGnhuOHJUQG+yYwIg==, - } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-VE7XSv1epljsIN2YeBnxCmGJihpNIAnLLu/pPOdA+Gkso7qDltJwUi6vfHjgxdBbjSdAuPGnhuOHJUQG+yYwIg==} + engines: {node: '>=0.4.0'} fn.name@1.1.0: - resolution: - { - integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==, - } - - follow-redirects@1.15.6: - resolution: - { - integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==, - } - engines: { node: '>=4.0' } - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true + resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==} for-each@0.3.3: - resolution: - { - integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==, - } + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} foreground-child@3.2.1: - resolution: - { - integrity: sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==} + engines: {node: '>=14'} forever-agent@0.6.1: - resolution: - { - integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==, - } + resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} form-data@2.3.3: - resolution: - { - integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==, - } - engines: { node: '>= 0.12' } - - form-data@4.0.0: - resolution: - { - integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} + engines: {node: '>= 0.12'} formik@2.4.6: - resolution: - { - integrity: sha512-A+2EI7U7aG296q2TLGvNapDNTZp1khVt5Vk0Q/fyfSROss0V/V6+txt2aJnwEos44IxTCW/LYAi/zgWzlevj+g==, - } + resolution: {integrity: sha512-A+2EI7U7aG296q2TLGvNapDNTZp1khVt5Vk0Q/fyfSROss0V/V6+txt2aJnwEos44IxTCW/LYAi/zgWzlevj+g==} peerDependencies: react: '>=16.8.0' forwarded@0.2.0: - resolution: - { - integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} fraction.js@4.3.7: - resolution: - { - integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==, - } + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} fresh@0.5.2: - resolution: - { - integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} from2@2.3.0: - resolution: - { - integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==, - } + resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==} fromentries@1.3.2: - resolution: - { - integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==, - } + resolution: {integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==} fs-extra@11.2.0: - resolution: - { - integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==, - } - engines: { node: '>=14.14' } + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} + engines: {node: '>=14.14'} fs-extra@8.1.0: - resolution: - { - integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==, - } - engines: { node: '>=6 <7 || >=8' } + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} fs-extra@9.1.0: - resolution: - { - integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} fs-minipass@2.1.0: - resolution: - { - integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} fs.realpath@1.0.0: - resolution: - { - integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, - } + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} fsevents@2.3.3: - resolution: - { - integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, - } - engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] function-bind@1.1.2: - resolution: - { - integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==, - } + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} function.prototype.name@1.1.6: - resolution: - { - integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} functions-have-names@1.2.3: - resolution: - { - integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==, - } + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} gauge@3.0.2: - resolution: - { - integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} + engines: {node: '>=10'} deprecated: This package is no longer supported. gauge@4.0.4: - resolution: - { - integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==, - } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} deprecated: This package is no longer supported. gensync@1.0.0-beta.2: - resolution: - { - integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} get-caller-file@2.0.5: - resolution: - { - integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==, - } - engines: { node: 6.* || 8.* || >= 10.* } + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} get-intrinsic@1.2.4: - resolution: - { - integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} get-paths@0.0.7: - resolution: - { - integrity: sha512-0wdJt7C1XKQxuCgouqd+ZvLJ56FQixKoki9MrFaO4EriqzXOiH9gbukaDE1ou08S8Ns3/yDzoBAISNPqj6e6tA==, - } - engines: { node: '>=6.4' } + resolution: {integrity: sha512-0wdJt7C1XKQxuCgouqd+ZvLJ56FQixKoki9MrFaO4EriqzXOiH9gbukaDE1ou08S8Ns3/yDzoBAISNPqj6e6tA==} + engines: {node: '>=6.4'} get-port@5.1.1: - resolution: - { - integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==} + engines: {node: '>=8'} get-stream@3.0.0: - resolution: - { - integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==} + engines: {node: '>=4'} get-stream@5.2.0: - resolution: - { - integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} get-stream@6.0.1: - resolution: - { - integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} get-symbol-description@1.0.2: - resolution: - { - integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} + engines: {node: '>= 0.4'} get-tsconfig@4.7.5: - resolution: - { - integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==, - } + resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} getos@3.2.1: - resolution: - { - integrity: sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==, - } + resolution: {integrity: sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==} getpass@0.1.7: - resolution: - { - integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==, - } + resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} git-log-parser@1.2.0: - resolution: - { - integrity: sha512-rnCVNfkTL8tdNryFuaY0fYiBWEBcgF748O6ZI61rslBvr2o7U65c2/6npCRqH40vuAhtgtDiqLTJjBVdrejCzA==, - } + resolution: {integrity: sha512-rnCVNfkTL8tdNryFuaY0fYiBWEBcgF748O6ZI61rslBvr2o7U65c2/6npCRqH40vuAhtgtDiqLTJjBVdrejCzA==} git-raw-commits@2.0.11: - resolution: - { - integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==} + engines: {node: '>=10'} hasBin: true glob-parent@5.1.2: - resolution: - { - integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} glob-parent@6.0.2: - resolution: - { - integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, - } - engines: { node: '>=10.13.0' } + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} glob@10.3.10: - resolution: - { - integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==, - } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} + engines: {node: '>=16 || 14 >=14.17'} hasBin: true glob@7.2.3: - resolution: - { - integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, - } + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported glob@8.1.0: - resolution: - { - integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} deprecated: Glob versions prior to v9 are no longer supported global-directory@4.0.1: - resolution: - { - integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} + engines: {node: '>=18'} global-dirs@0.1.1: - resolution: - { - integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==} + engines: {node: '>=4'} global-dirs@3.0.1: - resolution: - { - integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} + engines: {node: '>=10'} global-modules@1.0.0: - resolution: - { - integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==} + engines: {node: '>=0.10.0'} global-prefix@1.0.2: - resolution: - { - integrity: sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==} + engines: {node: '>=0.10.0'} globals@11.12.0: - resolution: - { - integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} globals@13.24.0: - resolution: - { - integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} globalthis@1.0.4: - resolution: - { - integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} globby@11.1.0: - resolution: - { - integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} gopd@1.0.1: - resolution: - { - integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==, - } + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} graceful-fs@4.2.10: - resolution: - { - integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==, - } + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} graceful-fs@4.2.11: - resolution: - { - integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==, - } + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} grapheme-splitter@1.0.4: - resolution: - { - integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==, - } + resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} gravatar-url@3.1.0: - resolution: - { - integrity: sha512-+lOs7Rz1A051OqdqE8Tm4lmeyVgkqH8c6ll5fv///ncdIaL+XnOFmKAB70ix1du/yj8c3EWKbP6OhKjihsBSfA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-+lOs7Rz1A051OqdqE8Tm4lmeyVgkqH8c6ll5fv///ncdIaL+XnOFmKAB70ix1du/yj8c3EWKbP6OhKjihsBSfA==} + engines: {node: '>=8'} handlebars@4.7.8: - resolution: - { - integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==, - } - engines: { node: '>=0.4.7' } + resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} + engines: {node: '>=0.4.7'} hasBin: true har-schema@2.0.0: - resolution: - { - integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==} + engines: {node: '>=4'} har-validator@5.1.5: - resolution: - { - integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==} + engines: {node: '>=6'} deprecated: this library is no longer supported hard-rejection@2.1.0: - resolution: - { - integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} + engines: {node: '>=6'} has-bigints@1.0.2: - resolution: - { - integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==, - } + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} has-flag@3.0.0: - resolution: - { - integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} has-flag@4.0.0: - resolution: - { - integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} has-property-descriptors@1.0.2: - resolution: - { - integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==, - } + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} has-proto@1.0.3: - resolution: - { - integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + engines: {node: '>= 0.4'} has-symbols@1.0.3: - resolution: - { - integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} has-tostringtag@1.0.2: - resolution: - { - integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} has-unicode@2.0.1: - resolution: - { - integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==, - } + resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} has@1.0.4: - resolution: - { - integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==, - } - engines: { node: '>= 0.4.0' } + resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==} + engines: {node: '>= 0.4.0'} hasown@2.0.2: - resolution: - { - integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} hast-util-whitespace@2.0.1: - resolution: - { - integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==, - } + resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==} he@1.2.0: - resolution: - { - integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==, - } + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true hermes-estree@0.19.1: - resolution: - { - integrity: sha512-daLGV3Q2MKk8w4evNMKwS8zBE/rcpA800nu1Q5kM08IKijoSnPe9Uo1iIxzPKRkn95IxxsgBMPeYHt3VG4ej2g==, - } + resolution: {integrity: sha512-daLGV3Q2MKk8w4evNMKwS8zBE/rcpA800nu1Q5kM08IKijoSnPe9Uo1iIxzPKRkn95IxxsgBMPeYHt3VG4ej2g==} hermes-estree@0.20.1: - resolution: - { - integrity: sha512-SQpZK4BzR48kuOg0v4pb3EAGNclzIlqMj3Opu/mu7bbAoFw6oig6cEt/RAi0zTFW/iW6Iz9X9ggGuZTAZ/yZHg==, - } + resolution: {integrity: sha512-SQpZK4BzR48kuOg0v4pb3EAGNclzIlqMj3Opu/mu7bbAoFw6oig6cEt/RAi0zTFW/iW6Iz9X9ggGuZTAZ/yZHg==} hermes-parser@0.19.1: - resolution: - { - integrity: sha512-Vp+bXzxYJWrpEuJ/vXxUsLnt0+y4q9zyi4zUlkLqD8FKv4LjIfOvP69R/9Lty3dCyKh0E2BU7Eypqr63/rKT/A==, - } + resolution: {integrity: sha512-Vp+bXzxYJWrpEuJ/vXxUsLnt0+y4q9zyi4zUlkLqD8FKv4LjIfOvP69R/9Lty3dCyKh0E2BU7Eypqr63/rKT/A==} hermes-parser@0.20.1: - resolution: - { - integrity: sha512-BL5P83cwCogI8D7rrDCgsFY0tdYUtmFP9XaXtl2IQjC+2Xo+4okjfXintlTxcIwl4qeGddEl28Z11kbVIw0aNA==, - } + resolution: {integrity: sha512-BL5P83cwCogI8D7rrDCgsFY0tdYUtmFP9XaXtl2IQjC+2Xo+4okjfXintlTxcIwl4qeGddEl28Z11kbVIw0aNA==} hermes-profile-transformer@0.0.6: - resolution: - { - integrity: sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==} + engines: {node: '>=8'} highlight.js@10.7.3: - resolution: - { - integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==, - } + resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} hoist-non-react-statics@3.3.2: - resolution: - { - integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==, - } + resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} homedir-polyfill@1.0.3: - resolution: - { - integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} + engines: {node: '>=0.10.0'} hook-std@2.0.0: - resolution: - { - integrity: sha512-zZ6T5WcuBMIUVh49iPQS9t977t7C0l7OtHrpeMb5uk48JdflRX0NSFvCekfYNmGQETnLq9W/isMyHl69kxGi8g==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-zZ6T5WcuBMIUVh49iPQS9t977t7C0l7OtHrpeMb5uk48JdflRX0NSFvCekfYNmGQETnLq9W/isMyHl69kxGi8g==} + engines: {node: '>=8'} hosted-git-info@2.8.9: - resolution: - { - integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==, - } + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} hosted-git-info@4.1.0: - resolution: - { - integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} + engines: {node: '>=10'} html-to-text@8.2.1: - resolution: - { - integrity: sha512-aN/3JvAk8qFsWVeE9InWAWueLXrbkoVZy0TkzaGhoRBC2gCFEeRLDDJN3/ijIGHohy6H+SZzUQWN/hcYtaPK8w==, - } - engines: { node: '>=10.23.2' } + resolution: {integrity: sha512-aN/3JvAk8qFsWVeE9InWAWueLXrbkoVZy0TkzaGhoRBC2gCFEeRLDDJN3/ijIGHohy6H+SZzUQWN/hcYtaPK8w==} + engines: {node: '>=10.23.2'} hasBin: true html-to-text@9.0.5: - resolution: - { - integrity: sha512-qY60FjREgVZL03vJU6IfMV4GDjGBIoOyvuFdpBDIX9yTlDw0TjxVBQp+P8NvpdIXNJvfWBTNul7fsAQJq2FNpg==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-qY60FjREgVZL03vJU6IfMV4GDjGBIoOyvuFdpBDIX9yTlDw0TjxVBQp+P8NvpdIXNJvfWBTNul7fsAQJq2FNpg==} + engines: {node: '>=14'} htmlparser2@4.1.0: - resolution: - { - integrity: sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==, - } + resolution: {integrity: sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==} htmlparser2@5.0.1: - resolution: - { - integrity: sha512-vKZZra6CSe9qsJzh0BjBGXo8dvzNsq/oGvsjfRdOrrryfeD9UOBEEQdeoqCRmKZchF5h2zOBMQ6YuQ0uRUmdbQ==, - } + resolution: {integrity: sha512-vKZZra6CSe9qsJzh0BjBGXo8dvzNsq/oGvsjfRdOrrryfeD9UOBEEQdeoqCRmKZchF5h2zOBMQ6YuQ0uRUmdbQ==} htmlparser2@6.1.0: - resolution: - { - integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==, - } + resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} htmlparser2@8.0.2: - resolution: - { - integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==, - } + resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} http-cache-semantics@4.1.1: - resolution: - { - integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==, - } + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} http-errors@1.7.3: - resolution: - { - integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==} + engines: {node: '>= 0.6'} http-errors@2.0.0: - resolution: - { - integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} http-proxy-agent@4.0.1: - resolution: - { - integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} + engines: {node: '>= 6'} http-proxy-agent@5.0.0: - resolution: - { - integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} + engines: {node: '>= 6'} http-proxy-agent@7.0.2: - resolution: - { - integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==, - } - engines: { node: '>= 14' } + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} + engines: {node: '>= 14'} http-signature@1.2.0: - resolution: - { - integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==, - } - engines: { node: '>=0.8', npm: '>=1.3.7' } + resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==} + engines: {node: '>=0.8', npm: '>=1.3.7'} http-signature@1.3.6: - resolution: - { - integrity: sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==, - } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==} + engines: {node: '>=0.10'} http_ece@1.1.0: - resolution: - { - integrity: sha512-bptAfCDdPJxOs5zYSe7Y3lpr772s1G346R4Td5LgRUeCwIGpCGDUTJxRrhTNcAXbx37spge0kWEIH7QAYWNTlA==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-bptAfCDdPJxOs5zYSe7Y3lpr772s1G346R4Td5LgRUeCwIGpCGDUTJxRrhTNcAXbx37spge0kWEIH7QAYWNTlA==} + engines: {node: '>=4'} https-proxy-agent@5.0.1: - resolution: - { - integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} https-proxy-agent@7.0.4: - resolution: - { - integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==, - } - engines: { node: '>= 14' } + resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==} + engines: {node: '>= 14'} human-signals@1.1.1: - resolution: - { - integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==, - } - engines: { node: '>=8.12.0' } + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} human-signals@2.1.0: - resolution: - { - integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==, - } - engines: { node: '>=10.17.0' } + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} human-signals@3.0.1: - resolution: - { - integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==, - } - engines: { node: '>=12.20.0' } + resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==} + engines: {node: '>=12.20.0'} humanize-ms@1.2.1: - resolution: - { - integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==, - } + resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} husky@8.0.3: - resolution: - { - integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==} + engines: {node: '>=14'} hasBin: true i18n-locales@0.0.5: - resolution: - { - integrity: sha512-Kve1AHy6rqyfJHPy8MIvaKBKhHhHPXV+a/TgMkjp3UBhO3gfWR40ZQn8Xy7LI6g3FhmbvkFtv+GCZy6yvuyeHQ==, - } + resolution: {integrity: sha512-Kve1AHy6rqyfJHPy8MIvaKBKhHhHPXV+a/TgMkjp3UBhO3gfWR40ZQn8Xy7LI6g3FhmbvkFtv+GCZy6yvuyeHQ==} i18n@0.14.2: - resolution: - { - integrity: sha512-f/6Ns2skl6KrpumZsE0A4TaxiEoJRi3Ovko0O+NuD92Ot2sLICpw6Iy+04ph/4tfF7koAWVYElBJ4oftpyhhxw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-f/6Ns2skl6KrpumZsE0A4TaxiEoJRi3Ovko0O+NuD92Ot2sLICpw6Iy+04ph/4tfF7koAWVYElBJ4oftpyhhxw==} + engines: {node: '>=10'} iconv-lite@0.4.24: - resolution: - { - integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} iconv-lite@0.6.3: - resolution: - { - integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} ieee754@1.2.1: - resolution: - { - integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==, - } + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} ignore-by-default@1.0.1: - resolution: - { - integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==, - } + resolution: {integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==} ignore@5.3.1: - resolution: - { - integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==, - } - engines: { node: '>= 4' } + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} image-size@1.1.1: - resolution: - { - integrity: sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==, - } - engines: { node: '>=16.x' } + resolution: {integrity: sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==} + engines: {node: '>=16.x'} hasBin: true import-fresh@2.0.0: - resolution: - { - integrity: sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==} + engines: {node: '>=4'} import-fresh@3.3.0: - resolution: - { - integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} import-from@4.0.0: - resolution: - { - integrity: sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==, - } - engines: { node: '>=12.2' } + resolution: {integrity: sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==} + engines: {node: '>=12.2'} import-meta-resolve@4.1.0: - resolution: - { - integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==, - } + resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} imurmurhash@0.1.4: - resolution: - { - integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, - } - engines: { node: '>=0.8.19' } + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} indent-string@4.0.0: - resolution: - { - integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} infer-owner@1.0.4: - resolution: - { - integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==, - } + resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} inflight@1.0.6: - resolution: - { - integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, - } + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. inherits@2.0.4: - resolution: - { - integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, - } + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} ini@1.3.8: - resolution: - { - integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==, - } + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} ini@2.0.0: - resolution: - { - integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} + engines: {node: '>=10'} ini@4.1.1: - resolution: - { - integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==, - } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} inline-style-parser@0.1.1: - resolution: - { - integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==, - } + resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} inquirer@8.2.5: - resolution: - { - integrity: sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==, - } - engines: { node: '>=12.0.0' } + resolution: {integrity: sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==} + engines: {node: '>=12.0.0'} internal-slot@1.0.7: - resolution: - { - integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} + engines: {node: '>= 0.4'} intl-messageformat@10.5.14: - resolution: - { - integrity: sha512-IjC6sI0X7YRjjyVH9aUgdftcmZK7WXdHeil4KwbjDnRWjnVitKpAx3rr6t6di1joFp5188VqKcobOPA6mCLG/w==, - } + resolution: {integrity: sha512-IjC6sI0X7YRjjyVH9aUgdftcmZK7WXdHeil4KwbjDnRWjnVitKpAx3rr6t6di1joFp5188VqKcobOPA6mCLG/w==} into-stream@6.0.0: - resolution: - { - integrity: sha512-XHbaOAvP+uFKUFsOgoNPRjLkwB+I22JFPFe5OjTkQ0nwgj6+pSjb4NmB6VMxaPshLiOf+zcpOCBQuLwC1KHhZA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-XHbaOAvP+uFKUFsOgoNPRjLkwB+I22JFPFe5OjTkQ0nwgj6+pSjb4NmB6VMxaPshLiOf+zcpOCBQuLwC1KHhZA==} + engines: {node: '>=10'} invariant@2.2.4: - resolution: - { - integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==, - } + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} ip-address@9.0.5: - resolution: - { - integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==, - } - engines: { node: '>= 12' } + resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} + engines: {node: '>= 12'} ipaddr.js@1.9.1: - resolution: - { - integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==, - } - engines: { node: '>= 0.10' } + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} is-arguments@1.1.1: - resolution: - { - integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} + engines: {node: '>= 0.4'} is-array-buffer@3.0.4: - resolution: - { - integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + engines: {node: '>= 0.4'} is-arrayish@0.2.1: - resolution: - { - integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==, - } + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} is-arrayish@0.3.2: - resolution: - { - integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==, - } + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} is-async-function@2.0.0: - resolution: - { - integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} + engines: {node: '>= 0.4'} is-bigint@1.0.4: - resolution: - { - integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==, - } + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} is-binary-path@2.1.0: - resolution: - { - integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} is-boolean-object@1.1.2: - resolution: - { - integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} is-buffer@2.0.5: - resolution: - { - integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} + engines: {node: '>=4'} is-callable@1.2.7: - resolution: - { - integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} is-ci@3.0.1: - resolution: - { - integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==, - } + resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} hasBin: true is-core-module@2.14.0: - resolution: - { - integrity: sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==} + engines: {node: '>= 0.4'} is-data-view@1.0.1: - resolution: - { - integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} + engines: {node: '>= 0.4'} is-date-object@1.0.5: - resolution: - { - integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} is-directory@0.3.1: - resolution: - { - integrity: sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==} + engines: {node: '>=0.10.0'} is-docker@2.2.1: - resolution: - { - integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} hasBin: true is-expression@4.0.0: - resolution: - { - integrity: sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==, - } + resolution: {integrity: sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==} is-extglob@2.1.1: - resolution: - { - integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} is-finalizationregistry@1.0.2: - resolution: - { - integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==, - } + resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} is-fullwidth-code-point@2.0.0: - resolution: - { - integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} + engines: {node: '>=4'} is-fullwidth-code-point@3.0.0: - resolution: - { - integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} is-fullwidth-code-point@4.0.0: - resolution: - { - integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} is-generator-function@1.0.10: - resolution: - { - integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + engines: {node: '>= 0.4'} is-glob@4.0.3: - resolution: - { - integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} is-installed-globally@0.4.0: - resolution: - { - integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} + engines: {node: '>=10'} is-interactive@1.0.0: - resolution: - { - integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} is-lambda@1.0.1: - resolution: - { - integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==, - } + resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} is-map@2.0.3: - resolution: - { - integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} is-negative-zero@2.0.3: - resolution: - { - integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} is-number-object@1.0.7: - resolution: - { - integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} is-number@7.0.0: - resolution: - { - integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, - } - engines: { node: '>=0.12.0' } + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} is-obj@2.0.0: - resolution: - { - integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} + engines: {node: '>=8'} is-path-cwd@2.2.0: - resolution: - { - integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} + engines: {node: '>=6'} is-path-inside@3.0.3: - resolution: - { - integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} is-plain-obj@1.1.0: - resolution: - { - integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} is-plain-obj@4.1.0: - resolution: - { - integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} is-plain-object@2.0.4: - resolution: - { - integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} is-plain-object@5.0.0: - resolution: - { - integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} + engines: {node: '>=0.10.0'} is-promise@2.2.2: - resolution: - { - integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==, - } + resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} is-regex@1.1.4: - resolution: - { - integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} is-set@2.0.3: - resolution: - { - integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} is-shared-array-buffer@1.0.3: - resolution: - { - integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} + engines: {node: '>= 0.4'} is-stream@1.1.0: - resolution: - { - integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} + engines: {node: '>=0.10.0'} is-stream@2.0.1: - resolution: - { - integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} is-stream@3.0.0: - resolution: - { - integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} is-string@1.0.7: - resolution: - { - integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} is-symbol@1.0.4: - resolution: - { - integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} is-text-path@1.0.1: - resolution: - { - integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==} + engines: {node: '>=0.10.0'} is-typed-array@1.1.13: - resolution: - { - integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} + engines: {node: '>= 0.4'} is-typedarray@1.0.0: - resolution: - { - integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==, - } + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} is-unicode-supported@0.1.0: - resolution: - { - integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} is-utf8@0.2.1: - resolution: - { - integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==, - } + resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} is-weakmap@2.0.2: - resolution: - { - integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} is-weakref@1.0.2: - resolution: - { - integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==, - } + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} is-weakset@2.0.3: - resolution: - { - integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} + engines: {node: '>= 0.4'} is-windows@1.0.2: - resolution: - { - integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} is-wsl@1.1.0: - resolution: - { - integrity: sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==} + engines: {node: '>=4'} is-wsl@2.2.0: - resolution: - { - integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} isarray@0.0.1: - resolution: - { - integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==, - } + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} isarray@1.0.0: - resolution: - { - integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==, - } + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} isarray@2.0.5: - resolution: - { - integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==, - } + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} isexe@2.0.0: - resolution: - { - integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, - } + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} isobject@3.0.1: - resolution: - { - integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} isstream@0.1.2: - resolution: - { - integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==, - } + resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} issue-parser@6.0.0: - resolution: - { - integrity: sha512-zKa/Dxq2lGsBIXQ7CUZWTHfvxPC2ej0KfO7fIPqLlHB9J2hJ7rGhZ5rilhuufylr4RXYPzJUeFjKxz305OsNlA==, - } - engines: { node: '>=10.13' } + resolution: {integrity: sha512-zKa/Dxq2lGsBIXQ7CUZWTHfvxPC2ej0KfO7fIPqLlHB9J2hJ7rGhZ5rilhuufylr4RXYPzJUeFjKxz305OsNlA==} + engines: {node: '>=10.13'} iterator.prototype@1.1.2: - resolution: - { - integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==, - } + resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} its-fine@1.2.5: - resolution: - { - integrity: sha512-fXtDA0X0t0eBYAGLVM5YsgJGsJ5jEmqZEPrGbzdf5awjv0xE7nqv3TVnvtUF060Tkes15DbDAKW/I48vsb6SyA==, - } + resolution: {integrity: sha512-fXtDA0X0t0eBYAGLVM5YsgJGsJ5jEmqZEPrGbzdf5awjv0xE7nqv3TVnvtUF060Tkes15DbDAKW/I48vsb6SyA==} peerDependencies: react: '>=18.0' jackspeak@2.3.6: - resolution: - { - integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + engines: {node: '>=14'} java-properties@1.0.2: - resolution: - { - integrity: sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==, - } - engines: { node: '>= 0.6.0' } + resolution: {integrity: sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==} + engines: {node: '>= 0.6.0'} jest-environment-node@29.7.0: - resolution: - { - integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} jest-get-type@29.6.3: - resolution: - { - integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} jest-message-util@29.7.0: - resolution: - { - integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} jest-mock@29.7.0: - resolution: - { - integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} jest-util@29.7.0: - resolution: - { - integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} jest-validate@29.7.0: - resolution: - { - integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} jest-worker@29.7.0: - resolution: - { - integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} jiti@1.21.6: - resolution: - { - integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==, - } + resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} hasBin: true joi@17.13.3: - resolution: - { - integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==, - } + resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==} js-sdsl@4.4.2: - resolution: - { - integrity: sha512-dwXFwByc/ajSV6m5bcKAPwe4yDDF6D614pxmIi5odytzxRlwqF6nwoiCek80Ixc7Cvma5awClxrzFtxCQvcM8w==, - } + resolution: {integrity: sha512-dwXFwByc/ajSV6m5bcKAPwe4yDDF6D614pxmIi5odytzxRlwqF6nwoiCek80Ixc7Cvma5awClxrzFtxCQvcM8w==} js-stringify@1.0.2: - resolution: - { - integrity: sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g==, - } + resolution: {integrity: sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g==} js-tokens@4.0.0: - resolution: - { - integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, - } + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} js-yaml@3.14.1: - resolution: - { - integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==, - } + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true js-yaml@4.1.0: - resolution: - { - integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==, - } + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true jsbn@0.1.1: - resolution: - { - integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==, - } + resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} jsbn@1.1.0: - resolution: - { - integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==, - } + resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} jsc-android@250231.0.0: - resolution: - { - integrity: sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==, - } + resolution: {integrity: sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==} jsc-safe-url@0.2.4: - resolution: - { - integrity: sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==, - } + resolution: {integrity: sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==} jscodeshift@0.14.0: - resolution: - { - integrity: sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==, - } + resolution: {integrity: sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==} hasBin: true peerDependencies: '@babel/preset-env': ^7.1.6 jsesc@0.5.0: - resolution: - { - integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==, - } + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true jsesc@2.5.2: - resolution: - { - integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} hasBin: true json-buffer@3.0.1: - resolution: - { - integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==, - } + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} json-parse-better-errors@1.0.2: - resolution: - { - integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==, - } + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} json-parse-even-better-errors@2.3.1: - resolution: - { - integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==, - } + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} json-schema-ref-parser@9.0.9: - resolution: - { - integrity: sha512-qcP2lmGy+JUoQJ4DOQeLaZDqH9qSkeGCK3suKWxJXS82dg728Mn3j97azDMaOUmJAN4uCq91LdPx4K7E8F1a7Q==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-qcP2lmGy+JUoQJ4DOQeLaZDqH9qSkeGCK3suKWxJXS82dg728Mn3j97azDMaOUmJAN4uCq91LdPx4K7E8F1a7Q==} + engines: {node: '>=10'} deprecated: Please switch to @apidevtools/json-schema-ref-parser json-schema-traverse@0.4.1: - resolution: - { - integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, - } + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} json-schema-traverse@1.0.0: - resolution: - { - integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==, - } + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} json-schema@0.4.0: - resolution: - { - integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==, - } + resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} json-stable-stringify-without-jsonify@1.0.1: - resolution: - { - integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, - } + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} json-stable-stringify@1.1.1: - resolution: - { - integrity: sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==} + engines: {node: '>= 0.4'} json-stringify-safe@5.0.1: - resolution: - { - integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==, - } + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} json5@1.0.2: - resolution: - { - integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==, - } + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} hasBin: true json5@2.2.3: - resolution: - { - integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} hasBin: true jsonfile@4.0.0: - resolution: - { - integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==, - } + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} jsonfile@6.1.0: - resolution: - { - integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==, - } + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} jsonify@0.0.1: - resolution: - { - integrity: sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==, - } + resolution: {integrity: sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==} jsonparse@1.3.1: - resolution: - { - integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==, - } - engines: { '0': node >= 0.2.0 } + resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} + engines: {'0': node >= 0.2.0} jsprim@1.4.2: - resolution: - { - integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==, - } - engines: { node: '>=0.6.0' } + resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} + engines: {node: '>=0.6.0'} jsprim@2.0.2: - resolution: - { - integrity: sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==, - } - engines: { '0': node >=0.6.0 } + resolution: {integrity: sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==} + engines: {'0': node >=0.6.0} jstransformer@1.0.0: - resolution: - { - integrity: sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A==, - } + resolution: {integrity: sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A==} jsx-ast-utils@3.3.5: - resolution: - { - integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==, - } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} + engines: {node: '>=4.0'} juice@7.0.0: - resolution: - { - integrity: sha512-AjKQX31KKN+uJs+zaf+GW8mBO/f/0NqSh2moTMyvwBY+4/lXIYTU8D8I2h6BAV3Xnz6GGsbalUyFqbYMe+Vh+Q==, - } - engines: { node: '>=10.0.0' } + resolution: {integrity: sha512-AjKQX31KKN+uJs+zaf+GW8mBO/f/0NqSh2moTMyvwBY+4/lXIYTU8D8I2h6BAV3Xnz6GGsbalUyFqbYMe+Vh+Q==} + engines: {node: '>=10.0.0'} hasBin: true juice@8.1.0: - resolution: - { - integrity: sha512-FLzurJrx5Iv1e7CfBSZH68dC04EEvXvvVvPYB7Vx1WAuhCp1ZPIMtqxc+WTWxVkpTIC2Ach/GAv0rQbtGf6YMA==, - } - engines: { node: '>=10.0.0' } + resolution: {integrity: sha512-FLzurJrx5Iv1e7CfBSZH68dC04EEvXvvVvPYB7Vx1WAuhCp1ZPIMtqxc+WTWxVkpTIC2Ach/GAv0rQbtGf6YMA==} + engines: {node: '>=10.0.0'} hasBin: true jwa@2.0.0: - resolution: - { - integrity: sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==, - } + resolution: {integrity: sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==} jws@4.0.0: - resolution: - { - integrity: sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==, - } + resolution: {integrity: sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==} keyv@4.5.4: - resolution: - { - integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==, - } + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} kind-of@6.0.3: - resolution: - { - integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} kleur@3.0.3: - resolution: - { - integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} kleur@4.1.5: - resolution: - { - integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} konva@9.3.12: - resolution: - { - integrity: sha512-IxX+ka+gVGm63APkB/taepMxpbUdjfLBUA1OIqx7nbH3126Df6eAuVWasH3qh3vg4ctRseops031sZO0b2O33A==, - } + resolution: {integrity: sha512-IxX+ka+gVGm63APkB/taepMxpbUdjfLBUA1OIqx7nbH3126Df6eAuVWasH3qh3vg4ctRseops031sZO0b2O33A==} kuler@2.0.0: - resolution: - { - integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==, - } + resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==} language-subtag-registry@0.3.23: - resolution: - { - integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==, - } + resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} language-tags@1.0.5: - resolution: - { - integrity: sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==, - } + resolution: {integrity: sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==} language-tags@1.0.9: - resolution: - { - integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==, - } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} + engines: {node: '>=0.10'} lazy-ass@1.6.0: - resolution: - { - integrity: sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==, - } - engines: { node: '> 0.8' } + resolution: {integrity: sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==} + engines: {node: '> 0.8'} leac@0.6.0: - resolution: - { - integrity: sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg==, - } + resolution: {integrity: sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg==} leven@3.1.0: - resolution: - { - integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} levn@0.4.1: - resolution: - { - integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} libbase64@1.2.1: - resolution: - { - integrity: sha512-l+nePcPbIG1fNlqMzrh68MLkX/gTxk/+vdvAb388Ssi7UuUN31MI44w4Yf33mM3Cm4xDfw48mdf3rkdHszLNew==, - } + resolution: {integrity: sha512-l+nePcPbIG1fNlqMzrh68MLkX/gTxk/+vdvAb388Ssi7UuUN31MI44w4Yf33mM3Cm4xDfw48mdf3rkdHszLNew==} libbase64@1.3.0: - resolution: - { - integrity: sha512-GgOXd0Eo6phYgh0DJtjQ2tO8dc0IVINtZJeARPeiIJqge+HdsWSuaDTe8ztQ7j/cONByDZ3zeB325AHiv5O0dg==, - } + resolution: {integrity: sha512-GgOXd0Eo6phYgh0DJtjQ2tO8dc0IVINtZJeARPeiIJqge+HdsWSuaDTe8ztQ7j/cONByDZ3zeB325AHiv5O0dg==} libmime@5.2.0: - resolution: - { - integrity: sha512-X2U5Wx0YmK0rXFbk67ASMeqYIkZ6E5vY7pNWRKtnNzqjvdYYG8xtPDpCnuUEnPU9vlgNev+JoSrcaKSUaNvfsw==, - } + resolution: {integrity: sha512-X2U5Wx0YmK0rXFbk67ASMeqYIkZ6E5vY7pNWRKtnNzqjvdYYG8xtPDpCnuUEnPU9vlgNev+JoSrcaKSUaNvfsw==} libmime@5.3.5: - resolution: - { - integrity: sha512-nSlR1yRZ43L3cZCiWEw7ali3jY29Hz9CQQ96Oy+sSspYnIP5N54ucOPHqooBsXzwrX1pwn13VUE05q4WmzfaLg==, - } + resolution: {integrity: sha512-nSlR1yRZ43L3cZCiWEw7ali3jY29Hz9CQQ96Oy+sSspYnIP5N54ucOPHqooBsXzwrX1pwn13VUE05q4WmzfaLg==} libqp@2.0.1: - resolution: - { - integrity: sha512-Ka0eC5LkF3IPNQHJmYBWljJsw0UvM6j+QdKRbWyCdTmYwvIDE6a7bCm0UkTAL/K+3KXK5qXT/ClcInU01OpdLg==, - } + resolution: {integrity: sha512-Ka0eC5LkF3IPNQHJmYBWljJsw0UvM6j+QdKRbWyCdTmYwvIDE6a7bCm0UkTAL/K+3KXK5qXT/ClcInU01OpdLg==} libqp@2.1.0: - resolution: - { - integrity: sha512-O6O6/fsG5jiUVbvdgT7YX3xY3uIadR6wEZ7+vy9u7PKHAlSEB6blvC1o5pHBjgsi95Uo0aiBBdkyFecj6jtb7A==, - } + resolution: {integrity: sha512-O6O6/fsG5jiUVbvdgT7YX3xY3uIadR6wEZ7+vy9u7PKHAlSEB6blvC1o5pHBjgsi95Uo0aiBBdkyFecj6jtb7A==} lighthouse-logger@1.4.2: - resolution: - { - integrity: sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==, - } + resolution: {integrity: sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==} lilconfig@2.0.6: - resolution: - { - integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==} + engines: {node: '>=10'} lilconfig@2.1.0: - resolution: - { - integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} line-height@0.3.1: - resolution: - { - integrity: sha512-YExecgqPwnp5gplD2+Y8e8A5+jKpr25+DzMbFdI1/1UAr0FJrTFv4VkHLf8/6B590i1wUPJWMKKldkd/bdQ//w==, - } - engines: { node: '>= 4.0.0' } + resolution: {integrity: sha512-YExecgqPwnp5gplD2+Y8e8A5+jKpr25+DzMbFdI1/1UAr0FJrTFv4VkHLf8/6B590i1wUPJWMKKldkd/bdQ//w==} + engines: {node: '>= 4.0.0'} lines-and-columns@1.2.4: - resolution: - { - integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==, - } + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} linkify-it@5.0.0: - resolution: - { - integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==, - } + resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} lint-staged@13.1.2: - resolution: - { - integrity: sha512-K9b4FPbWkpnupvK3WXZLbgu9pchUJ6N7TtVZjbaPsoizkqFUDkUReUL25xdrCljJs7uLUF3tZ7nVPeo/6lp+6w==, - } - engines: { node: ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-K9b4FPbWkpnupvK3WXZLbgu9pchUJ6N7TtVZjbaPsoizkqFUDkUReUL25xdrCljJs7uLUF3tZ7nVPeo/6lp+6w==} + engines: {node: ^14.13.1 || >=16.0.0} hasBin: true listr2@3.14.0: - resolution: - { - integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==, - } - engines: { node: '>=10.0.0' } + resolution: {integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==} + engines: {node: '>=10.0.0'} peerDependencies: enquirer: '>= 2.3.0 < 3' peerDependenciesMeta: @@ -10070,11 +6034,8 @@ packages: optional: true listr2@5.0.8: - resolution: - { - integrity: sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA==, - } - engines: { node: ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA==} + engines: {node: ^14.13.1 || >=16.0.0} peerDependencies: enquirer: '>= 2.3.0 < 3' peerDependenciesMeta: @@ -10082,1081 +6043,589 @@ packages: optional: true load-json-file@4.0.0: - resolution: - { - integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} + engines: {node: '>=4'} locate-path@2.0.0: - resolution: - { - integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} + engines: {node: '>=4'} locate-path@3.0.0: - resolution: - { - integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} + engines: {node: '>=6'} locate-path@5.0.0: - resolution: - { - integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} locate-path@6.0.0: - resolution: - { - integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} lodash-es@4.17.21: - resolution: - { - integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==, - } + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} lodash.camelcase@4.3.0: - resolution: - { - integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==, - } + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} lodash.capitalize@4.2.1: - resolution: - { - integrity: sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==, - } + resolution: {integrity: sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==} lodash.castarray@4.4.0: - resolution: - { - integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==, - } + resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} lodash.clonedeep@4.5.0: - resolution: - { - integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==, - } + resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} lodash.debounce@4.0.8: - resolution: - { - integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==, - } + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} lodash.escaperegexp@4.1.2: - resolution: - { - integrity: sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==, - } + resolution: {integrity: sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==} lodash.get@4.4.2: - resolution: - { - integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==, - } + resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} lodash.isequal@4.5.0: - resolution: - { - integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==, - } + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} lodash.isfunction@3.0.9: - resolution: - { - integrity: sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==, - } + resolution: {integrity: sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==} lodash.ismatch@4.4.0: - resolution: - { - integrity: sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==, - } + resolution: {integrity: sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==} lodash.isplainobject@4.0.6: - resolution: - { - integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==, - } + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} lodash.isstring@4.0.1: - resolution: - { - integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==, - } + resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} lodash.kebabcase@4.1.1: - resolution: - { - integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==, - } + resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} lodash.map@4.6.0: - resolution: - { - integrity: sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==, - } + resolution: {integrity: sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==} lodash.merge@4.6.2: - resolution: - { - integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, - } + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} lodash.mergewith@4.6.2: - resolution: - { - integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==, - } + resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} lodash.once@4.1.1: - resolution: - { - integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==, - } + resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} lodash.snakecase@4.1.1: - resolution: - { - integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==, - } + resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} lodash.startcase@4.4.0: - resolution: - { - integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==, - } + resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} lodash.throttle@4.1.1: - resolution: - { - integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==, - } + resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==} lodash.uniq@4.5.0: - resolution: - { - integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==, - } + resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} lodash.uniqby@4.7.0: - resolution: - { - integrity: sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==, - } + resolution: {integrity: sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==} lodash.upperfirst@4.3.1: - resolution: - { - integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==, - } + resolution: {integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==} lodash.zipobject@4.1.3: - resolution: - { - integrity: sha512-A9SzX4hMKWS25MyalwcOnNoplyHbkNVsjidhTp8ru0Sj23wY9GWBKS8gAIGDSAqeWjIjvE4KBEl24XXAs+v4wQ==, - } + resolution: {integrity: sha512-A9SzX4hMKWS25MyalwcOnNoplyHbkNVsjidhTp8ru0Sj23wY9GWBKS8gAIGDSAqeWjIjvE4KBEl24XXAs+v4wQ==} lodash@4.17.21: - resolution: - { - integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==, - } + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} log-symbols@4.1.0: - resolution: - { - integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} log-update@4.0.0: - resolution: - { - integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} + engines: {node: '>=10'} logform@2.6.0: - resolution: - { - integrity: sha512-1ulHeNPp6k/LD8H91o7VYFBng5i1BDE7HoKxVbZiGFidS1Rj65qcywLxX+pVfAPoQJEjRdvKcusKwOupHCVOVQ==, - } - engines: { node: '>= 12.0.0' } + resolution: {integrity: sha512-1ulHeNPp6k/LD8H91o7VYFBng5i1BDE7HoKxVbZiGFidS1Rj65qcywLxX+pVfAPoQJEjRdvKcusKwOupHCVOVQ==} + engines: {node: '>= 12.0.0'} logkitty@0.7.1: - resolution: - { - integrity: sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==, - } + resolution: {integrity: sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==} hasBin: true long-timeout@0.1.1: - resolution: - { - integrity: sha512-BFRuQUqc7x2NWxfJBCyUrN8iYUYznzL9JROmRz1gZ6KlOIgmoD+njPVbb+VNn2nGMKggMsK79iUNErillsrx7w==, - } + resolution: {integrity: sha512-BFRuQUqc7x2NWxfJBCyUrN8iYUYznzL9JROmRz1gZ6KlOIgmoD+njPVbb+VNn2nGMKggMsK79iUNErillsrx7w==} longest@2.0.1: - resolution: - { - integrity: sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q==} + engines: {node: '>=0.10.0'} loose-envify@1.4.0: - resolution: - { - integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==, - } + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true lru-cache@10.2.2: - resolution: - { - integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==, - } - engines: { node: 14 || >=16.14 } + resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} + engines: {node: 14 || >=16.14} lru-cache@5.1.1: - resolution: - { - integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==, - } + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} lru-cache@6.0.0: - resolution: - { - integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} lru-cache@7.18.3: - resolution: - { - integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} + engines: {node: '>=12'} luxon@3.4.4: - resolution: - { - integrity: sha512-zobTr7akeGHnv7eBOXcRgMeCP6+uyYsczwmeRCauvpvaAltgNyTbLH/+VaEAPUeWBT+1GuNmz4wC/6jtQzbbVA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-zobTr7akeGHnv7eBOXcRgMeCP6+uyYsczwmeRCauvpvaAltgNyTbLH/+VaEAPUeWBT+1GuNmz4wC/6jtQzbbVA==} + engines: {node: '>=12'} magic-string@0.29.0: - resolution: - { - integrity: sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==} + engines: {node: '>=12'} mailparser@3.7.1: - resolution: - { - integrity: sha512-RCnBhy5q8XtB3mXzxcAfT1huNqN93HTYYyL6XawlIKycfxM/rXPg9tXoZ7D46+SgCS1zxKzw+BayDQSvncSTTw==, - } + resolution: {integrity: sha512-RCnBhy5q8XtB3mXzxcAfT1huNqN93HTYYyL6XawlIKycfxM/rXPg9tXoZ7D46+SgCS1zxKzw+BayDQSvncSTTw==} mailsplit@5.4.0: - resolution: - { - integrity: sha512-wnYxX5D5qymGIPYLwnp6h8n1+6P6vz/MJn5AzGjZ8pwICWssL+CCQjWBIToOVHASmATot4ktvlLo6CyLfOXWYA==, - } + resolution: {integrity: sha512-wnYxX5D5qymGIPYLwnp6h8n1+6P6vz/MJn5AzGjZ8pwICWssL+CCQjWBIToOVHASmATot4ktvlLo6CyLfOXWYA==} make-dir@2.1.0: - resolution: - { - integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} + engines: {node: '>=6'} make-dir@3.1.0: - resolution: - { - integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} make-error@1.3.6: - resolution: - { - integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==, - } + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} make-fetch-happen@10.2.1: - resolution: - { - integrity: sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==, - } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} make-fetch-happen@9.1.0: - resolution: - { - integrity: sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==} + engines: {node: '>= 10'} make-plural@7.4.0: - resolution: - { - integrity: sha512-4/gC9KVNTV6pvYg2gFeQYTW3mWaoJt7WZE5vrp1KnQDgW92JtYZnzmZT81oj/dUTqAIu0ufI2x3dkgu3bB1tYg==, - } + resolution: {integrity: sha512-4/gC9KVNTV6pvYg2gFeQYTW3mWaoJt7WZE5vrp1KnQDgW92JtYZnzmZT81oj/dUTqAIu0ufI2x3dkgu3bB1tYg==} makeerror@1.0.12: - resolution: - { - integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==, - } + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} map-obj@1.0.1: - resolution: - { - integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} + engines: {node: '>=0.10.0'} map-obj@4.3.0: - resolution: - { - integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} + engines: {node: '>=8'} marked-terminal@5.2.0: - resolution: - { - integrity: sha512-Piv6yNwAQXGFjZSaiNljyNFw7jKDdGrw70FSbtxEyldLsyeuV5ZHm/1wW++kWbrOF1VPnUgYOhB2oLL0ZpnekA==, - } - engines: { node: '>=14.13.1 || >=16.0.0' } + resolution: {integrity: sha512-Piv6yNwAQXGFjZSaiNljyNFw7jKDdGrw70FSbtxEyldLsyeuV5ZHm/1wW++kWbrOF1VPnUgYOhB2oLL0ZpnekA==} + engines: {node: '>=14.13.1 || >=16.0.0'} peerDependencies: marked: ^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 marked@4.3.0: - resolution: - { - integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==, - } - engines: { node: '>= 12' } + resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==} + engines: {node: '>= 12'} hasBin: true marky@1.2.5: - resolution: - { - integrity: sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==, - } + resolution: {integrity: sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==} math-interval-parser@2.0.1: - resolution: - { - integrity: sha512-VmlAmb0UJwlvMyx8iPhXUDnVW1F9IrGEd9CIOmv+XL8AErCUUuozoDMrgImvnYt2A+53qVX/tPW6YJurMKYsvA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-VmlAmb0UJwlvMyx8iPhXUDnVW1F9IrGEd9CIOmv+XL8AErCUUuozoDMrgImvnYt2A+53qVX/tPW6YJurMKYsvA==} + engines: {node: '>=0.10.0'} md5-hex@3.0.1: - resolution: - { - integrity: sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==} + engines: {node: '>=8'} mdast-util-definitions@5.1.2: - resolution: - { - integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==, - } + resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==} mdast-util-from-markdown@1.3.1: - resolution: - { - integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==, - } + resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==} mdast-util-to-hast@12.3.0: - resolution: - { - integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==, - } + resolution: {integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==} mdast-util-to-string@3.2.0: - resolution: - { - integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==, - } + resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==} mdn-data@2.0.14: - resolution: - { - integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==, - } + resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} media-typer@0.3.0: - resolution: - { - integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} media-typer@1.1.0: - resolution: - { - integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==} + engines: {node: '>= 0.8'} memoize-one@5.2.1: - resolution: - { - integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==, - } + resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} memoize-one@6.0.0: - resolution: - { - integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==, - } + resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==} mensch@0.3.4: - resolution: - { - integrity: sha512-IAeFvcOnV9V0Yk+bFhYR07O3yNina9ANIN5MoXBKYJ/RLYPurd2d0yw14MDhpr9/momp0WofT1bPUh3hkzdi/g==, - } + resolution: {integrity: sha512-IAeFvcOnV9V0Yk+bFhYR07O3yNina9ANIN5MoXBKYJ/RLYPurd2d0yw14MDhpr9/momp0WofT1bPUh3hkzdi/g==} meow@8.1.2: - resolution: - { - integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} + engines: {node: '>=10'} merge-descriptors@1.0.1: - resolution: - { - integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==, - } + resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} merge-stream@2.0.0: - resolution: - { - integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, - } + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} merge2@1.4.1: - resolution: - { - integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} merge@2.1.1: - resolution: - { - integrity: sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==, - } + resolution: {integrity: sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==} methods@1.1.2: - resolution: - { - integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} metro-babel-transformer@0.80.9: - resolution: - { - integrity: sha512-d76BSm64KZam1nifRZlNJmtwIgAeZhZG3fi3K+EmPOlrR8rDtBxQHDSN3fSGeNB9CirdTyabTMQCkCup6BXFSQ==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-d76BSm64KZam1nifRZlNJmtwIgAeZhZG3fi3K+EmPOlrR8rDtBxQHDSN3fSGeNB9CirdTyabTMQCkCup6BXFSQ==} + engines: {node: '>=18'} metro-cache-key@0.80.9: - resolution: - { - integrity: sha512-hRcYGhEiWIdM87hU0fBlcGr+tHDEAT+7LYNCW89p5JhErFt/QaAkVx4fb5bW3YtXGv5BTV7AspWPERoIb99CXg==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-hRcYGhEiWIdM87hU0fBlcGr+tHDEAT+7LYNCW89p5JhErFt/QaAkVx4fb5bW3YtXGv5BTV7AspWPERoIb99CXg==} + engines: {node: '>=18'} metro-cache@0.80.9: - resolution: - { - integrity: sha512-ujEdSI43QwI+Dj2xuNax8LMo8UgKuXJEdxJkzGPU6iIx42nYa1byQ+aADv/iPh5sh5a//h5FopraW5voXSgm2w==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-ujEdSI43QwI+Dj2xuNax8LMo8UgKuXJEdxJkzGPU6iIx42nYa1byQ+aADv/iPh5sh5a//h5FopraW5voXSgm2w==} + engines: {node: '>=18'} metro-config@0.80.9: - resolution: - { - integrity: sha512-28wW7CqS3eJrunRGnsibWldqgwRP9ywBEf7kg+uzUHkSFJNKPM1K3UNSngHmH0EZjomizqQA2Zi6/y6VdZMolg==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-28wW7CqS3eJrunRGnsibWldqgwRP9ywBEf7kg+uzUHkSFJNKPM1K3UNSngHmH0EZjomizqQA2Zi6/y6VdZMolg==} + engines: {node: '>=18'} metro-core@0.80.9: - resolution: - { - integrity: sha512-tbltWQn+XTdULkGdzHIxlxk4SdnKxttvQQV3wpqqFbHDteR4gwCyTR2RyYJvxgU7HELfHtrVbqgqAdlPByUSbg==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-tbltWQn+XTdULkGdzHIxlxk4SdnKxttvQQV3wpqqFbHDteR4gwCyTR2RyYJvxgU7HELfHtrVbqgqAdlPByUSbg==} + engines: {node: '>=18'} metro-file-map@0.80.9: - resolution: - { - integrity: sha512-sBUjVtQMHagItJH/wGU9sn3k2u0nrCl0CdR4SFMO1tksXLKbkigyQx4cbpcyPVOAmGTVuy3jyvBlELaGCAhplQ==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-sBUjVtQMHagItJH/wGU9sn3k2u0nrCl0CdR4SFMO1tksXLKbkigyQx4cbpcyPVOAmGTVuy3jyvBlELaGCAhplQ==} + engines: {node: '>=18'} metro-minify-terser@0.80.9: - resolution: - { - integrity: sha512-FEeCeFbkvvPuhjixZ1FYrXtO0araTpV6UbcnGgDUpH7s7eR5FG/PiJz3TsuuPP/HwCK19cZtQydcA2QrCw446A==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-FEeCeFbkvvPuhjixZ1FYrXtO0araTpV6UbcnGgDUpH7s7eR5FG/PiJz3TsuuPP/HwCK19cZtQydcA2QrCw446A==} + engines: {node: '>=18'} metro-resolver@0.80.9: - resolution: - { - integrity: sha512-wAPIjkN59BQN6gocVsAvvpZ1+LQkkqUaswlT++cJafE/e54GoVkMNCmrR4BsgQHr9DknZ5Um/nKueeN7kaEz9w==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-wAPIjkN59BQN6gocVsAvvpZ1+LQkkqUaswlT++cJafE/e54GoVkMNCmrR4BsgQHr9DknZ5Um/nKueeN7kaEz9w==} + engines: {node: '>=18'} metro-runtime@0.80.9: - resolution: - { - integrity: sha512-8PTVIgrVcyU+X/rVCy/9yxNlvXsBCk5JwwkbAm/Dm+Abo6NBGtNjWF0M1Xo/NWCb4phamNWcD7cHdR91HhbJvg==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-8PTVIgrVcyU+X/rVCy/9yxNlvXsBCk5JwwkbAm/Dm+Abo6NBGtNjWF0M1Xo/NWCb4phamNWcD7cHdR91HhbJvg==} + engines: {node: '>=18'} metro-source-map@0.80.9: - resolution: - { - integrity: sha512-RMn+XS4VTJIwMPOUSj61xlxgBvPeY4G6s5uIn6kt6HB6A/k9ekhr65UkkDD7WzHYs3a9o869qU8tvOZvqeQzgw==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-RMn+XS4VTJIwMPOUSj61xlxgBvPeY4G6s5uIn6kt6HB6A/k9ekhr65UkkDD7WzHYs3a9o869qU8tvOZvqeQzgw==} + engines: {node: '>=18'} metro-symbolicate@0.80.9: - resolution: - { - integrity: sha512-Ykae12rdqSs98hg41RKEToojuIW85wNdmSe/eHUgMkzbvCFNVgcC0w3dKZEhSsqQOXapXRlLtHkaHLil0UD/EA==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-Ykae12rdqSs98hg41RKEToojuIW85wNdmSe/eHUgMkzbvCFNVgcC0w3dKZEhSsqQOXapXRlLtHkaHLil0UD/EA==} + engines: {node: '>=18'} hasBin: true metro-transform-plugins@0.80.9: - resolution: - { - integrity: sha512-UlDk/uc8UdfLNJhPbF3tvwajyuuygBcyp+yBuS/q0z3QSuN/EbLllY3rK8OTD9n4h00qZ/qgxGv/lMFJkwP4vg==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-UlDk/uc8UdfLNJhPbF3tvwajyuuygBcyp+yBuS/q0z3QSuN/EbLllY3rK8OTD9n4h00qZ/qgxGv/lMFJkwP4vg==} + engines: {node: '>=18'} metro-transform-worker@0.80.9: - resolution: - { - integrity: sha512-c/IrzMUVnI0hSVVit4TXzt3A1GiUltGVlzCmLJWxNrBGHGrJhvgePj38+GXl1Xf4Fd4vx6qLUkKMQ3ux73bFLQ==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-c/IrzMUVnI0hSVVit4TXzt3A1GiUltGVlzCmLJWxNrBGHGrJhvgePj38+GXl1Xf4Fd4vx6qLUkKMQ3ux73bFLQ==} + engines: {node: '>=18'} metro@0.80.9: - resolution: - { - integrity: sha512-Bc57Xf3GO2Xe4UWQsBj/oW6YfLPABEu8jfDVDiNmJvoQW4CO34oDPuYKe4KlXzXhcuNsqOtSxpbjCRRVjhhREg==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-Bc57Xf3GO2Xe4UWQsBj/oW6YfLPABEu8jfDVDiNmJvoQW4CO34oDPuYKe4KlXzXhcuNsqOtSxpbjCRRVjhhREg==} + engines: {node: '>=18'} hasBin: true micromark-core-commonmark@1.1.0: - resolution: - { - integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==, - } + resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==} micromark-factory-destination@1.1.0: - resolution: - { - integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==, - } + resolution: {integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==} micromark-factory-label@1.1.0: - resolution: - { - integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==, - } + resolution: {integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==} micromark-factory-space@1.1.0: - resolution: - { - integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==, - } + resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} micromark-factory-title@1.1.0: - resolution: - { - integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==, - } + resolution: {integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==} micromark-factory-whitespace@1.1.0: - resolution: - { - integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==, - } + resolution: {integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==} micromark-util-character@1.2.0: - resolution: - { - integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==, - } + resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} micromark-util-chunked@1.1.0: - resolution: - { - integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==, - } + resolution: {integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==} micromark-util-classify-character@1.1.0: - resolution: - { - integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==, - } + resolution: {integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==} micromark-util-combine-extensions@1.1.0: - resolution: - { - integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==, - } + resolution: {integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==} micromark-util-decode-numeric-character-reference@1.1.0: - resolution: - { - integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==, - } + resolution: {integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==} micromark-util-decode-string@1.1.0: - resolution: - { - integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==, - } + resolution: {integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==} micromark-util-encode@1.1.0: - resolution: - { - integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==, - } + resolution: {integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==} micromark-util-html-tag-name@1.2.0: - resolution: - { - integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==, - } + resolution: {integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==} micromark-util-normalize-identifier@1.1.0: - resolution: - { - integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==, - } + resolution: {integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==} micromark-util-resolve-all@1.1.0: - resolution: - { - integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==, - } + resolution: {integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==} micromark-util-sanitize-uri@1.2.0: - resolution: - { - integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==, - } + resolution: {integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==} micromark-util-subtokenize@1.1.0: - resolution: - { - integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==, - } + resolution: {integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==} micromark-util-symbol@1.1.0: - resolution: - { - integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==, - } + resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} micromark-util-types@1.1.0: - resolution: - { - integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==, - } + resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} micromark@3.2.0: - resolution: - { - integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==, - } + resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==} micromatch@4.0.7: - resolution: - { - integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==, - } - engines: { node: '>=8.6' } + resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} + engines: {node: '>=8.6'} mime-db@1.52.0: - resolution: - { - integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} mime-types@2.1.35: - resolution: - { - integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} mime@1.6.0: - resolution: - { - integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} hasBin: true mime@2.6.0: - resolution: - { - integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==, - } - engines: { node: '>=4.0.0' } + resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} + engines: {node: '>=4.0.0'} hasBin: true mime@3.0.0: - resolution: - { - integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==, - } - engines: { node: '>=10.0.0' } + resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} + engines: {node: '>=10.0.0'} hasBin: true mimic-fn@2.1.0: - resolution: - { - integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} mimic-fn@4.0.0: - resolution: - { - integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} min-indent@1.0.1: - resolution: - { - integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} mini-svg-data-uri@1.4.4: - resolution: - { - integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==, - } + resolution: {integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==} hasBin: true minimalistic-assert@1.0.1: - resolution: - { - integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==, - } + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} minimatch@3.1.2: - resolution: - { - integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, - } + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} minimatch@5.1.6: - resolution: - { - integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} minimatch@9.0.3: - resolution: - { - integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==, - } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} minimatch@9.0.4: - resolution: - { - integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==, - } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + engines: {node: '>=16 || 14 >=14.17'} minimist-options@4.1.0: - resolution: - { - integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} + engines: {node: '>= 6'} minimist@1.2.7: - resolution: - { - integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==, - } + resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==} minimist@1.2.8: - resolution: - { - integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==, - } + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} minipass-collect@1.0.2: - resolution: - { - integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} + engines: {node: '>= 8'} minipass-fetch@1.4.1: - resolution: - { - integrity: sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==} + engines: {node: '>=8'} minipass-fetch@2.1.2: - resolution: - { - integrity: sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==, - } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} minipass-flush@1.0.5: - resolution: - { - integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} + engines: {node: '>= 8'} minipass-pipeline@1.2.4: - resolution: - { - integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} + engines: {node: '>=8'} minipass-sized@1.0.3: - resolution: - { - integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} + engines: {node: '>=8'} minipass@3.3.6: - resolution: - { - integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} minipass@5.0.0: - resolution: - { - integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} minipass@7.1.2: - resolution: - { - integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==, - } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} minizlib@2.1.2: - resolution: - { - integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} mkdirp@0.5.6: - resolution: - { - integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==, - } + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true mkdirp@1.0.4: - resolution: - { - integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} hasBin: true mkdirp@2.1.6: - resolution: - { - integrity: sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==} + engines: {node: '>=10'} hasBin: true modify-values@1.0.1: - resolution: - { - integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==} + engines: {node: '>=0.10.0'} moment@2.30.1: - resolution: - { - integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==, - } + resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} moo@0.5.2: - resolution: - { - integrity: sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==, - } + resolution: {integrity: sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==} mri@1.2.0: - resolution: - { - integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} ms@2.0.0: - resolution: - { - integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==, - } + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} ms@2.1.2: - resolution: - { - integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, - } + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} ms@2.1.3: - resolution: - { - integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==, - } + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} multer@1.4.5-lts.1: - resolution: - { - integrity: sha512-ywPWvcDMeH+z9gQq5qYHCCy+ethsk4goepZ45GLD63fOu0YcNecQxi64nDs3qluZB+murG3/D4dJ7+dGctcCQQ==, - } - engines: { node: '>= 6.0.0' } + resolution: {integrity: sha512-ywPWvcDMeH+z9gQq5qYHCCy+ethsk4goepZ45GLD63fOu0YcNecQxi64nDs3qluZB+murG3/D4dJ7+dGctcCQQ==} + engines: {node: '>= 6.0.0'} multimatch@5.0.0: - resolution: - { - integrity: sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==} + engines: {node: '>=10'} mustache@4.2.0: - resolution: - { - integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==, - } + resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} hasBin: true mute-stream@0.0.8: - resolution: - { - integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==, - } + resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} mylas@2.1.13: - resolution: - { - integrity: sha512-+MrqnJRtxdF+xngFfUUkIMQrUUL0KsxbADUkn23Z/4ibGg192Q+z+CQyiYwvWTsYjJygmMR8+w3ZDa98Zh6ESg==, - } - engines: { node: '>=12.0.0' } + resolution: {integrity: sha512-+MrqnJRtxdF+xngFfUUkIMQrUUL0KsxbADUkn23Z/4ibGg192Q+z+CQyiYwvWTsYjJygmMR8+w3ZDa98Zh6ESg==} + engines: {node: '>=12.0.0'} mz@2.7.0: - resolution: - { - integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==, - } + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} nanoclone@0.2.1: - resolution: - { - integrity: sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==, - } + resolution: {integrity: sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==} nanoid@3.3.7: - resolution: - { - integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==, - } - engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true natural-compare-lite@1.4.0: - resolution: - { - integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==, - } + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} natural-compare@1.4.0: - resolution: - { - integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, - } + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} nearley@2.20.1: - resolution: - { - integrity: sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==, - } + resolution: {integrity: sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==} hasBin: true negotiator@0.6.3: - resolution: - { - integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} neo-async@2.6.2: - resolution: - { - integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==, - } + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} nerf-dart@1.0.0: - resolution: - { - integrity: sha512-EZSPZB70jiVsivaBLYDCyntd5eH8NTSMOn3rB+HxwdmKThGELLdYv8qVIMWvZEFy9w8ZZpW9h9OB32l1rGtj7g==, - } + resolution: {integrity: sha512-EZSPZB70jiVsivaBLYDCyntd5eH8NTSMOn3rB+HxwdmKThGELLdYv8qVIMWvZEFy9w8ZZpW9h9OB32l1rGtj7g==} next@14.2.4: - resolution: - { - integrity: sha512-R8/V7vugY+822rsQGQCjoLhMuC9oFj9SOi4Cl4b2wjDrseD0LRZ10W7R6Czo4w9ZznVSshKjuIomsRjvm9EKJQ==, - } - engines: { node: '>=18.17.0' } + resolution: {integrity: sha512-R8/V7vugY+822rsQGQCjoLhMuC9oFj9SOi4Cl4b2wjDrseD0LRZ10W7R6Czo4w9ZznVSshKjuIomsRjvm9EKJQ==} + engines: {node: '>=18.17.0'} hasBin: true peerDependencies: '@opentelemetry/api': ^1.1.0 @@ -11173,62 +6642,35 @@ packages: optional: true nice-try@1.0.5: - resolution: - { - integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==, - } + resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} nocache@3.0.4: - resolution: - { - integrity: sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==, - } - engines: { node: '>=12.0.0' } + resolution: {integrity: sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==} + engines: {node: '>=12.0.0'} node-abort-controller@3.1.1: - resolution: - { - integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==, - } + resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==} node-addon-api@4.3.0: - resolution: - { - integrity: sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==, - } + resolution: {integrity: sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==} node-addon-api@5.1.0: - resolution: - { - integrity: sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==, - } + resolution: {integrity: sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==} node-cache@5.1.2: - resolution: - { - integrity: sha512-t1QzWwnk4sjLWaQAS8CHgOJ+RAfmHpxFWmc36IWTiWHQfs0w5JDMBS1b1ZxQteo0vVVuWJvIUKHDkkeK7vIGCg==, - } - engines: { node: '>= 8.0.0' } + resolution: {integrity: sha512-t1QzWwnk4sjLWaQAS8CHgOJ+RAfmHpxFWmc36IWTiWHQfs0w5JDMBS1b1ZxQteo0vVVuWJvIUKHDkkeK7vIGCg==} + engines: {node: '>= 8.0.0'} node-dir@0.1.17: - resolution: - { - integrity: sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==, - } - engines: { node: '>= 0.10.5' } + resolution: {integrity: sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==} + engines: {node: '>= 0.10.5'} node-emoji@1.11.0: - resolution: - { - integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==, - } + resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==} node-fetch@2.7.0: - resolution: - { - integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==, - } - engines: { node: 4.x || >=6.0.0 } + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} peerDependencies: encoding: ^0.1.0 peerDependenciesMeta: @@ -11236,166 +6678,97 @@ packages: optional: true node-forge@1.3.1: - resolution: - { - integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==, - } - engines: { node: '>= 6.13.0' } + resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} + engines: {node: '>= 6.13.0'} node-gyp@8.4.1: - resolution: - { - integrity: sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==, - } - engines: { node: '>= 10.12.0' } + resolution: {integrity: sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==} + engines: {node: '>= 10.12.0'} hasBin: true node-gyp@9.3.1: - resolution: - { - integrity: sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg==, - } - engines: { node: ^12.13 || ^14.13 || >=16 } + resolution: {integrity: sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg==} + engines: {node: ^12.13 || ^14.13 || >=16} hasBin: true node-int64@0.4.0: - resolution: - { - integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==, - } + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} node-releases@2.0.14: - resolution: - { - integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==, - } + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} node-schedule@2.1.1: - resolution: - { - integrity: sha512-OXdegQq03OmXEjt2hZP33W2YPs/E5BcFQks46+G2gAxs4gHOIVD1u7EqlYLYSKsaIpyKCK9Gbk0ta1/gjRSMRQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-OXdegQq03OmXEjt2hZP33W2YPs/E5BcFQks46+G2gAxs4gHOIVD1u7EqlYLYSKsaIpyKCK9Gbk0ta1/gjRSMRQ==} + engines: {node: '>=6'} node-stream-zip@1.15.0: - resolution: - { - integrity: sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==, - } - engines: { node: '>=0.12.0' } + resolution: {integrity: sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==} + engines: {node: '>=0.12.0'} nodemailer@6.9.1: - resolution: - { - integrity: sha512-qHw7dOiU5UKNnQpXktdgQ1d3OFgRAekuvbJLcdG5dnEo/GtcTHRYM7+UfJARdOFU9WUQO8OiIamgWPmiSFHYAA==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-qHw7dOiU5UKNnQpXktdgQ1d3OFgRAekuvbJLcdG5dnEo/GtcTHRYM7+UfJARdOFU9WUQO8OiIamgWPmiSFHYAA==} + engines: {node: '>=6.0.0'} nodemailer@6.9.13: - resolution: - { - integrity: sha512-7o38Yogx6krdoBf3jCAqnIN4oSQFx+fMa0I7dK1D+me9kBxx12D+/33wSb+fhOCtIxvYJ+4x4IMEhmhCKfAiOA==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-7o38Yogx6krdoBf3jCAqnIN4oSQFx+fMa0I7dK1D+me9kBxx12D+/33wSb+fhOCtIxvYJ+4x4IMEhmhCKfAiOA==} + engines: {node: '>=6.0.0'} nodemailer@6.9.14: - resolution: - { - integrity: sha512-Dobp/ebDKBvz91sbtRKhcznLThrKxKt97GI2FAlAyy+fk19j73Uz3sBXolVtmcXjaorivqsbbbjDY+Jkt4/bQA==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-Dobp/ebDKBvz91sbtRKhcznLThrKxKt97GI2FAlAyy+fk19j73Uz3sBXolVtmcXjaorivqsbbbjDY+Jkt4/bQA==} + engines: {node: '>=6.0.0'} nodemon@2.0.20: - resolution: - { - integrity: sha512-Km2mWHKKY5GzRg6i1j5OxOHQtuvVsgskLfigG25yTtbyfRGn/GNvIbRyOf1PSCKJ2aT/58TiuUsuOU5UToVViw==, - } - engines: { node: '>=8.10.0' } + resolution: {integrity: sha512-Km2mWHKKY5GzRg6i1j5OxOHQtuvVsgskLfigG25yTtbyfRGn/GNvIbRyOf1PSCKJ2aT/58TiuUsuOU5UToVViw==} + engines: {node: '>=8.10.0'} hasBin: true noms@0.0.0: - resolution: - { - integrity: sha512-lNDU9VJaOPxUmXcLb+HQFeUgQQPtMI24Gt6hgfuMHRJgMRHMF/qZ4HJD3GDru4sSw9IQl2jPjAYnQrdIeLbwow==, - } + resolution: {integrity: sha512-lNDU9VJaOPxUmXcLb+HQFeUgQQPtMI24Gt6hgfuMHRJgMRHMF/qZ4HJD3GDru4sSw9IQl2jPjAYnQrdIeLbwow==} nopt@5.0.0: - resolution: - { - integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} + engines: {node: '>=6'} hasBin: true nopt@6.0.0: - resolution: - { - integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==, - } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} hasBin: true normalize-package-data@2.5.0: - resolution: - { - integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==, - } + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} normalize-package-data@3.0.3: - resolution: - { - integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} + engines: {node: '>=10'} normalize-path@3.0.0: - resolution: - { - integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} normalize-range@0.1.2: - resolution: - { - integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} normalize-url@6.1.0: - resolution: - { - integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} + engines: {node: '>=10'} npm-run-path@2.0.2: - resolution: - { - integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} + engines: {node: '>=4'} npm-run-path@4.0.1: - resolution: - { - integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} npm-run-path@5.3.0: - resolution: - { - integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} npm@8.19.4: - resolution: - { - integrity: sha512-3HANl8i9DKnUA89P4KEgVNN28EjSeDCmvEqbzOAuxCFDzdBZzjUl99zgnGpOUumvW5lvJo2HKcjrsc+tfyv1Hw==, - } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-3HANl8i9DKnUA89P4KEgVNN28EjSeDCmvEqbzOAuxCFDzdBZzjUl99zgnGpOUumvW5lvJo2HKcjrsc+tfyv1Hw==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} hasBin: true bundledDependencies: - '@isaacs/string-locale-compare' @@ -11473,654 +6846,369 @@ packages: - write-file-atomic npmlog@5.0.1: - resolution: - { - integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==, - } + resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} deprecated: This package is no longer supported. npmlog@6.0.2: - resolution: - { - integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==, - } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} deprecated: This package is no longer supported. nth-check@2.1.1: - resolution: - { - integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==, - } + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} nullthrows@1.1.1: - resolution: - { - integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==, - } + resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} oauth-sign@0.9.0: - resolution: - { - integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==, - } + resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} ob1@0.80.9: - resolution: - { - integrity: sha512-v9yOxowkZbxWhKOaaTyLjIm1aLy4ebMNcSn4NYJKOAI/Qv+SkfEfszpLr2GIxsccmb2Y2HA9qtsqiIJ80ucpVA==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-v9yOxowkZbxWhKOaaTyLjIm1aLy4ebMNcSn4NYJKOAI/Qv+SkfEfszpLr2GIxsccmb2Y2HA9qtsqiIJ80ucpVA==} + engines: {node: '>=18'} object-assign@4.1.1: - resolution: - { - integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} object-hash@2.2.0: - resolution: - { - integrity: sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==} + engines: {node: '>= 6'} object-hash@3.0.0: - resolution: - { - integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} object-inspect@1.13.2: - resolution: - { - integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} + engines: {node: '>= 0.4'} object-is@1.1.6: - resolution: - { - integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} + engines: {node: '>= 0.4'} object-keys@1.1.1: - resolution: - { - integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} object.assign@4.1.5: - resolution: - { - integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + engines: {node: '>= 0.4'} object.entries@1.1.8: - resolution: - { - integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} + engines: {node: '>= 0.4'} object.fromentries@2.0.8: - resolution: - { - integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} + engines: {node: '>= 0.4'} object.groupby@1.0.3: - resolution: - { - integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} + engines: {node: '>= 0.4'} object.hasown@1.1.4: - resolution: - { - integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==} + engines: {node: '>= 0.4'} object.values@1.2.0: - resolution: - { - integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} + engines: {node: '>= 0.4'} on-finished@2.3.0: - resolution: - { - integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} + engines: {node: '>= 0.8'} on-finished@2.4.1: - resolution: - { - integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} on-headers@1.0.2: - resolution: - { - integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} + engines: {node: '>= 0.8'} once@1.4.0: - resolution: - { - integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, - } + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} one-time@1.0.0: - resolution: - { - integrity: sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==, - } + resolution: {integrity: sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==} onetime@5.1.2: - resolution: - { - integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} onetime@6.0.0: - resolution: - { - integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} ono@7.1.3: - resolution: - { - integrity: sha512-9jnfVriq7uJM4o5ganUY54ntUm+5EK21EGaQ5NWnkWg3zz5ywbbonlBguRcnmF1/HDiIe3zxNxXcO1YPBmPcQQ==, - } + resolution: {integrity: sha512-9jnfVriq7uJM4o5ganUY54ntUm+5EK21EGaQ5NWnkWg3zz5ywbbonlBguRcnmF1/HDiIe3zxNxXcO1YPBmPcQQ==} open@6.4.0: - resolution: - { - integrity: sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==} + engines: {node: '>=8'} open@7.4.2: - resolution: - { - integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} + engines: {node: '>=8'} openpgp@5.7.0: - resolution: - { - integrity: sha512-wchYJQfFbSaocUvUIYqNrWD+lRSmFSG1d3Ak2CHeXFocDSEsf7Uc1zUzHjSdlZPTvGeeXPQ+MJrwVtalL4QCBg==, - } - engines: { node: '>= 8.0.0' } + resolution: {integrity: sha512-wchYJQfFbSaocUvUIYqNrWD+lRSmFSG1d3Ak2CHeXFocDSEsf7Uc1zUzHjSdlZPTvGeeXPQ+MJrwVtalL4QCBg==} + engines: {node: '>= 8.0.0'} optionator@0.9.4: - resolution: - { - integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} ora@5.4.1: - resolution: - { - integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} os-tmpdir@1.0.2: - resolution: - { - integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} ospath@1.2.2: - resolution: - { - integrity: sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==, - } + resolution: {integrity: sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==} p-each-series@2.2.0: - resolution: - { - integrity: sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==} + engines: {node: '>=8'} p-event@4.2.0: - resolution: - { - integrity: sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==} + engines: {node: '>=8'} p-filter@2.1.0: - resolution: - { - integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} + engines: {node: '>=8'} p-finally@1.0.0: - resolution: - { - integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} p-is-promise@3.0.0: - resolution: - { - integrity: sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==} + engines: {node: '>=8'} p-limit@1.3.0: - resolution: - { - integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} + engines: {node: '>=4'} p-limit@2.3.0: - resolution: - { - integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} p-limit@3.1.0: - resolution: - { - integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} p-locate@2.0.0: - resolution: - { - integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} + engines: {node: '>=4'} p-locate@3.0.0: - resolution: - { - integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} + engines: {node: '>=6'} p-locate@4.1.0: - resolution: - { - integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} p-locate@5.0.0: - resolution: - { - integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} p-map@2.1.0: - resolution: - { - integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} + engines: {node: '>=6'} p-map@4.0.0: - resolution: - { - integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} p-reduce@2.1.0: - resolution: - { - integrity: sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==} + engines: {node: '>=8'} p-timeout@3.2.0: - resolution: - { - integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} + engines: {node: '>=8'} p-try@1.0.0: - resolution: - { - integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} + engines: {node: '>=4'} p-try@2.2.0: - resolution: - { - integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} p-wait-for@3.2.0: - resolution: - { - integrity: sha512-wpgERjNkLrBiFmkMEjuZJEWKKDrNfHCKA1OhyN1wg1FrLkULbviEy6py1AyJUgZ72YWFbZ38FIpnqvVqAlDUwA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-wpgERjNkLrBiFmkMEjuZJEWKKDrNfHCKA1OhyN1wg1FrLkULbviEy6py1AyJUgZ72YWFbZ38FIpnqvVqAlDUwA==} + engines: {node: '>=8'} parent-module@1.0.1: - resolution: - { - integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} parse-json@4.0.0: - resolution: - { - integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} + engines: {node: '>=4'} parse-json@5.2.0: - resolution: - { - integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} parse-passwd@1.0.0: - resolution: - { - integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} + engines: {node: '>=0.10.0'} parse5-htmlparser2-tree-adapter@6.0.1: - resolution: - { - integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==, - } + resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} parse5-htmlparser2-tree-adapter@7.0.0: - resolution: - { - integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==, - } + resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==} parse5@5.1.1: - resolution: - { - integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==, - } + resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==} parse5@6.0.1: - resolution: - { - integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==, - } + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} parse5@7.1.2: - resolution: - { - integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==, - } + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} parseley@0.12.1: - resolution: - { - integrity: sha512-e6qHKe3a9HWr0oMRVDTRhKce+bRO8VGQR3NyVwcjwrbhMmFCX9KszEV35+rn4AdilFAq9VPxP/Fe1wC9Qjd2lw==, - } + resolution: {integrity: sha512-e6qHKe3a9HWr0oMRVDTRhKce+bRO8VGQR3NyVwcjwrbhMmFCX9KszEV35+rn4AdilFAq9VPxP/Fe1wC9Qjd2lw==} parseley@0.7.0: - resolution: - { - integrity: sha512-xyOytsdDu077M3/46Am+2cGXEKM9U9QclBDv7fimY7e+BBlxh2JcBp2mgNsmkyA9uvgyTjVzDi7cP1v4hcFxbw==, - } + resolution: {integrity: sha512-xyOytsdDu077M3/46Am+2cGXEKM9U9QclBDv7fimY7e+BBlxh2JcBp2mgNsmkyA9uvgyTjVzDi7cP1v4hcFxbw==} parseurl@1.3.3: - resolution: - { - integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} path-exists@3.0.0: - resolution: - { - integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} + engines: {node: '>=4'} path-exists@4.0.0: - resolution: - { - integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} path-is-absolute@1.0.1: - resolution: - { - integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} path-key@2.0.1: - resolution: - { - integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} + engines: {node: '>=4'} path-key@3.1.1: - resolution: - { - integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} path-key@4.0.0: - resolution: - { - integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} path-parse@1.0.7: - resolution: - { - integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, - } + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} path-scurry@1.11.1: - resolution: - { - integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==, - } - engines: { node: '>=16 || 14 >=14.18' } + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} path-to-regexp@0.1.7: - resolution: - { - integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==, - } + resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} path-to-regexp@6.2.2: - resolution: - { - integrity: sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==, - } + resolution: {integrity: sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==} path-type@4.0.0: - resolution: - { - integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} peberminta@0.9.0: - resolution: - { - integrity: sha512-XIxfHpEuSJbITd1H3EeQwpcZbTLHc+VVr8ANI9t5sit565tsI4/xK3KWTUFE2e6QiangUkh3B0jihzmGnNrRsQ==, - } + resolution: {integrity: sha512-XIxfHpEuSJbITd1H3EeQwpcZbTLHc+VVr8ANI9t5sit565tsI4/xK3KWTUFE2e6QiangUkh3B0jihzmGnNrRsQ==} pend@1.2.0: - resolution: - { - integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==, - } + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} performance-now@2.1.0: - resolution: - { - integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==, - } + resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} picocolors@1.0.1: - resolution: - { - integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==, - } + resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} picomatch@2.3.1: - resolution: - { - integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, - } - engines: { node: '>=8.6' } + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} pidtree@0.6.0: - resolution: - { - integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==, - } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} + engines: {node: '>=0.10'} hasBin: true pify@2.3.0: - resolution: - { - integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} pify@3.0.0: - resolution: - { - integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} + engines: {node: '>=4'} pify@4.0.1: - resolution: - { - integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} pirates@4.0.6: - resolution: - { - integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} pkg-conf@2.1.0: - resolution: - { - integrity: sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g==} + engines: {node: '>=4'} pkg-dir@3.0.0: - resolution: - { - integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==} + engines: {node: '>=6'} plex-api-credentials@3.0.1: - resolution: - { - integrity: sha512-E0PdSVSqE5rmdEFNsIvFPDJQZPdBX7UR4sgkm9HF4V8VNbX0N4elASnMuoste8i9eTh4hCIqt761NQfzl45XnQ==, - } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-E0PdSVSqE5rmdEFNsIvFPDJQZPdBX7UR4sgkm9HF4V8VNbX0N4elASnMuoste8i9eTh4hCIqt761NQfzl45XnQ==} + engines: {node: '>=4.0'} plex-api-headers@1.1.0: - resolution: - { - integrity: sha512-Igl37++MSa+4H8LNP3Ene9GU0e1YypmXvFVNvVUwoAx44e74jbUlJXy4Q5rLSBisn0O2lBKdE6VkFIwrDl+UnQ==, - } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-Igl37++MSa+4H8LNP3Ene9GU0e1YypmXvFVNvVUwoAx44e74jbUlJXy4Q5rLSBisn0O2lBKdE6VkFIwrDl+UnQ==} + engines: {node: '>=0.10'} plex-api@5.3.2: - resolution: - { - integrity: sha512-RCFMQKu1cx+G4Y/8NfaifWEWEyhFFUV/d1/qAD4O1Si/IeA1S4hueC9py0uzFKR2iz+knuEPtVXtq9Upc9GImg==, - } - engines: { node: '>=8.0' } + resolution: {integrity: sha512-RCFMQKu1cx+G4Y/8NfaifWEWEyhFFUV/d1/qAD4O1Si/IeA1S4hueC9py0uzFKR2iz+knuEPtVXtq9Upc9GImg==} + engines: {node: '>=8.0'} plimit-lit@1.6.1: - resolution: - { - integrity: sha512-B7+VDyb8Tl6oMJT9oSO2CW8XC/T4UcJGrwOVoNGwOQsQYhlpfajmrMj5xeejqaASq3V/EqThyOeATEOMuSEXiA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-B7+VDyb8Tl6oMJT9oSO2CW8XC/T4UcJGrwOVoNGwOQsQYhlpfajmrMj5xeejqaASq3V/EqThyOeATEOMuSEXiA==} + engines: {node: '>=12'} possible-typed-array-names@1.0.0: - resolution: - { - integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} postcss-import@14.1.0: - resolution: - { - integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==, - } - engines: { node: '>=10.0.0' } + resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==} + engines: {node: '>=10.0.0'} peerDependencies: postcss: ^8.0.0 postcss-js@4.0.1: - resolution: - { - integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==, - } - engines: { node: ^12 || ^14 || >= 16 } + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + engines: {node: ^12 || ^14 || >= 16} peerDependencies: postcss: ^8.4.21 postcss-load-config@3.1.4: - resolution: - { - integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} + engines: {node: '>= 10'} peerDependencies: postcss: '>=8.0.9' ts-node: '>=9.0.0' @@ -12131,67 +7219,40 @@ packages: optional: true postcss-nested@6.0.0: - resolution: - { - integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==, - } - engines: { node: '>=12.0' } + resolution: {integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==} + engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 postcss-selector-parser@6.0.10: - resolution: - { - integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} + engines: {node: '>=4'} postcss-selector-parser@6.1.0: - resolution: - { - integrity: sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==} + engines: {node: '>=4'} postcss-value-parser@4.2.0: - resolution: - { - integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==, - } + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} postcss@8.4.21: - resolution: - { - integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==, - } - engines: { node: ^10 || ^12 || >=14 } + resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} + engines: {node: ^10 || ^12 || >=14} postcss@8.4.31: - resolution: - { - integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==, - } - engines: { node: ^10 || ^12 || >=14 } + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} + engines: {node: ^10 || ^12 || >=14} prelude-ls@1.2.1: - resolution: - { - integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} prettier-linter-helpers@1.0.0: - resolution: - { - integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} prettier-plugin-organize-imports@3.2.2: - resolution: - { - integrity: sha512-e97lE6odGSiHonHJMTYC0q0iLXQyw0u5z/PJpvP/3vRy6/Zi9kLBwFAbEGjDzIowpjQv8b+J04PDamoUSQbzGA==, - } + resolution: {integrity: sha512-e97lE6odGSiHonHJMTYC0q0iLXQyw0u5z/PJpvP/3vRy6/Zi9kLBwFAbEGjDzIowpjQv8b+J04PDamoUSQbzGA==} peerDependencies: '@volar/vue-language-plugin-pug': ^1.0.4 '@volar/vue-typescript': ^1.0.4 @@ -12204,11 +7265,8 @@ packages: optional: true prettier-plugin-tailwindcss@0.2.3: - resolution: - { - integrity: sha512-s2N5Dh7Ao5KTV1mao5ZBnn8EKtUcDPJEkGViZIjI0Ij9TTI5zgTz4IHOxW33jOdjHKa8CSjM88scelUiC5TNRQ==, - } - engines: { node: '>=12.17.0' } + resolution: {integrity: sha512-s2N5Dh7Ao5KTV1mao5ZBnn8EKtUcDPJEkGViZIjI0Ij9TTI5zgTz4IHOxW33jOdjHKa8CSjM88scelUiC5TNRQ==} + engines: {node: '>=12.17.0'} peerDependencies: '@ianvs/prettier-plugin-sort-imports': '*' '@prettier/plugin-php': '*' @@ -12259,52 +7317,31 @@ packages: optional: true prettier@2.8.4: - resolution: - { - integrity: sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==, - } - engines: { node: '>=10.13.0' } + resolution: {integrity: sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==} + engines: {node: '>=10.13.0'} hasBin: true pretty-bytes@5.6.0: - resolution: - { - integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} + engines: {node: '>=6'} pretty-format@26.6.2: - resolution: - { - integrity: sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==} + engines: {node: '>= 10'} pretty-format@29.7.0: - resolution: - { - integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} preview-email@3.0.20: - resolution: - { - integrity: sha512-QbAokW2F3p0thQfp2WTZ0rBy+IZuCnf9gIUCLffr+8hq85esq6pzCA7S0eUdD6oTmtKROqoNeH2rXZWrRow7EA==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-QbAokW2F3p0thQfp2WTZ0rBy+IZuCnf9gIUCLffr+8hq85esq6pzCA7S0eUdD6oTmtKROqoNeH2rXZWrRow7EA==} + engines: {node: '>=14'} process-nextick-args@2.0.1: - resolution: - { - integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==, - } + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} promise-inflight@1.0.1: - resolution: - { - integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==, - } + resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} peerDependencies: bluebird: '*' peerDependenciesMeta: @@ -12312,379 +7349,208 @@ packages: optional: true promise-retry@2.0.1: - resolution: - { - integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} + engines: {node: '>=10'} promise@7.3.1: - resolution: - { - integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==, - } + resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} promise@8.3.0: - resolution: - { - integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==, - } + resolution: {integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==} prompts@2.4.2: - resolution: - { - integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} prop-types@15.8.1: - resolution: - { - integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==, - } + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} property-expr@2.0.6: - resolution: - { - integrity: sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA==, - } + resolution: {integrity: sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA==} property-information@6.5.0: - resolution: - { - integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==, - } + resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} proto-list@1.2.4: - resolution: - { - integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==, - } + resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} proxy-addr@2.0.7: - resolution: - { - integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==, - } - engines: { node: '>= 0.10' } + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} proxy-from-env@1.0.0: - resolution: - { - integrity: sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==, - } - - proxy-from-env@1.1.0: - resolution: - { - integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==, - } + resolution: {integrity: sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==} psl@1.9.0: - resolution: - { - integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==, - } + resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} pstree.remy@1.1.8: - resolution: - { - integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==, - } + resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==} pug-attrs@3.0.0: - resolution: - { - integrity: sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==, - } + resolution: {integrity: sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==} pug-code-gen@3.0.3: - resolution: - { - integrity: sha512-cYQg0JW0w32Ux+XTeZnBEeuWrAY7/HNE6TWnhiHGnnRYlCgyAUPoyh9KzCMa9WhcJlJ1AtQqpEYHc+vbCzA+Aw==, - } + resolution: {integrity: sha512-cYQg0JW0w32Ux+XTeZnBEeuWrAY7/HNE6TWnhiHGnnRYlCgyAUPoyh9KzCMa9WhcJlJ1AtQqpEYHc+vbCzA+Aw==} pug-error@2.1.0: - resolution: - { - integrity: sha512-lv7sU9e5Jk8IeUheHata6/UThZ7RK2jnaaNztxfPYUY+VxZyk/ePVaNZ/vwmH8WqGvDz3LrNYt/+gA55NDg6Pg==, - } + resolution: {integrity: sha512-lv7sU9e5Jk8IeUheHata6/UThZ7RK2jnaaNztxfPYUY+VxZyk/ePVaNZ/vwmH8WqGvDz3LrNYt/+gA55NDg6Pg==} pug-filters@4.0.0: - resolution: - { - integrity: sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==, - } + resolution: {integrity: sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==} pug-lexer@5.0.1: - resolution: - { - integrity: sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==, - } + resolution: {integrity: sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==} pug-linker@4.0.0: - resolution: - { - integrity: sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==, - } + resolution: {integrity: sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==} pug-load@3.0.0: - resolution: - { - integrity: sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==, - } + resolution: {integrity: sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==} pug-parser@6.0.0: - resolution: - { - integrity: sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==, - } + resolution: {integrity: sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==} pug-runtime@3.0.1: - resolution: - { - integrity: sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==, - } + resolution: {integrity: sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==} pug-strip-comments@2.0.0: - resolution: - { - integrity: sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==, - } + resolution: {integrity: sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==} pug-walk@2.0.0: - resolution: - { - integrity: sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==, - } + resolution: {integrity: sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==} pug@3.0.2: - resolution: - { - integrity: sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw==, - } + resolution: {integrity: sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw==} pug@3.0.3: - resolution: - { - integrity: sha512-uBi6kmc9f3SZ3PXxqcHiUZLmIXgfgWooKWXcwSGwQd2Zi5Rb0bT14+8CJjJgI8AB+nndLaNgHGrcc6bPIB665g==, - } + resolution: {integrity: sha512-uBi6kmc9f3SZ3PXxqcHiUZLmIXgfgWooKWXcwSGwQd2Zi5Rb0bT14+8CJjJgI8AB+nndLaNgHGrcc6bPIB665g==} pump@3.0.0: - resolution: - { - integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==, - } + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} punycode.js@2.3.1: - resolution: - { - integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} + engines: {node: '>=6'} punycode@2.3.1: - resolution: - { - integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} q@1.5.1: - resolution: - { - integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==, - } - engines: { node: '>=0.6.0', teleport: '>=0.2.0' } + resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} + engines: {node: '>=0.6.0', teleport: '>=0.2.0'} deprecated: |- You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other. (For a CapTP with native promises, see @endo/eventual-send and @endo/captp) qs@6.10.5: - resolution: - { - integrity: sha512-O5RlPh0VFtR78y79rgcgKK4wbAI0C5zGVLztOIdpWX6ep368q5Hv6XRxDvXuZ9q3C6v+e3n8UfZZJw7IIG27eQ==, - } - engines: { node: '>=0.6' } + resolution: {integrity: sha512-O5RlPh0VFtR78y79rgcgKK4wbAI0C5zGVLztOIdpWX6ep368q5Hv6XRxDvXuZ9q3C6v+e3n8UfZZJw7IIG27eQ==} + engines: {node: '>=0.6'} deprecated: when using stringify with arrayFormat comma, `[]` is appended on single-item arrays. Upgrade to v6.11.0 or downgrade to v6.10.4 to fix. qs@6.11.0: - resolution: - { - integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==, - } - engines: { node: '>=0.6' } + resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} + engines: {node: '>=0.6'} qs@6.12.1: - resolution: - { - integrity: sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==, - } - engines: { node: '>=0.6' } + resolution: {integrity: sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==} + engines: {node: '>=0.6'} qs@6.5.3: - resolution: - { - integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==, - } - engines: { node: '>=0.6' } + resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} + engines: {node: '>=0.6'} querystring@0.2.1: - resolution: - { - integrity: sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==, - } - engines: { node: '>=0.4.x' } + resolution: {integrity: sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==} + engines: {node: '>=0.4.x'} deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. querystringify@2.2.0: - resolution: - { - integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==, - } + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} queue-lit@1.5.2: - resolution: - { - integrity: sha512-tLc36IOPeMAubu8BkW8YDBV+WyIgKlYU7zUNs0J5Vk9skSZ4JfGlPOqplP0aHdfv7HL0B2Pg6nwiq60Qc6M2Hw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-tLc36IOPeMAubu8BkW8YDBV+WyIgKlYU7zUNs0J5Vk9skSZ4JfGlPOqplP0aHdfv7HL0B2Pg6nwiq60Qc6M2Hw==} + engines: {node: '>=12'} queue-microtask@1.2.3: - resolution: - { - integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, - } + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} queue@6.0.2: - resolution: - { - integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==, - } + resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==} quick-lru@4.0.1: - resolution: - { - integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} + engines: {node: '>=8'} quick-lru@5.1.1: - resolution: - { - integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} railroad-diagrams@1.0.0: - resolution: - { - integrity: sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==, - } + resolution: {integrity: sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==} randexp@0.4.6: - resolution: - { - integrity: sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==, - } - engines: { node: '>=0.12' } + resolution: {integrity: sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==} + engines: {node: '>=0.12'} random-bytes@1.0.0: - resolution: - { - integrity: sha512-iv7LhNVO047HzYR3InF6pUcUsPQiHTM1Qal51DcGSuZFBil1aBBWG5eHPNek7bvILMaYJ/8RU1e8w1AMdHmLQQ==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-iv7LhNVO047HzYR3InF6pUcUsPQiHTM1Qal51DcGSuZFBil1aBBWG5eHPNek7bvILMaYJ/8RU1e8w1AMdHmLQQ==} + engines: {node: '>= 0.8'} range-parser@1.2.1: - resolution: - { - integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} raw-body@2.5.1: - resolution: - { - integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} + engines: {node: '>= 0.8'} rc@1.2.8: - resolution: - { - integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==, - } + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true react-ace@10.1.0: - resolution: - { - integrity: sha512-VkvUjZNhdYTuKOKQpMIZi7uzZZVgzCjM7cLYu6F64V0mejY8a2XTyPUIMszC6A4trbeMIHbK5fYFcT/wkP/8VA==, - } + resolution: {integrity: sha512-VkvUjZNhdYTuKOKQpMIZi7uzZZVgzCjM7cLYu6F64V0mejY8a2XTyPUIMszC6A4trbeMIHbK5fYFcT/wkP/8VA==} peerDependencies: react: ^0.13.0 || ^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0 react-dom: ^0.13.0 || ^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0 react-animate-height@2.1.2: - resolution: - { - integrity: sha512-A9jfz/4CTdsIsE7WCQtO9UkOpMBcBRh8LxyHl2eoZz1ki02jpyUL5xt58gabd0CyeLQ8fRyQ+s2lyV2Ufu8Owg==, - } - engines: { node: '>= 6.0.0' } + resolution: {integrity: sha512-A9jfz/4CTdsIsE7WCQtO9UkOpMBcBRh8LxyHl2eoZz1ki02jpyUL5xt58gabd0CyeLQ8fRyQ+s2lyV2Ufu8Owg==} + engines: {node: '>= 6.0.0'} peerDependencies: react: '>=15.6.2' react-dom: '>=15.6.2' react-aria@3.23.0: - resolution: - { - integrity: sha512-CMem/+XnL3yuNHU94usRHS2+rdKLuyUzxRmQ/ndVXresflzKdaLYCH7Dtb2Um4rUEjD0BCz33hiNZPsJ7jBVQQ==, - } + resolution: {integrity: sha512-CMem/+XnL3yuNHU94usRHS2+rdKLuyUzxRmQ/ndVXresflzKdaLYCH7Dtb2Um4rUEjD0BCz33hiNZPsJ7jBVQQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 react-devtools-core@5.2.0: - resolution: - { - integrity: sha512-vZK+/gvxxsieAoAyYaiRIVFxlajb7KXhgBDV7OsoMzaAE+IqGpoxusBjIgq5ibqA2IloKu0p9n7tE68z1xs18A==, - } + resolution: {integrity: sha512-vZK+/gvxxsieAoAyYaiRIVFxlajb7KXhgBDV7OsoMzaAE+IqGpoxusBjIgq5ibqA2IloKu0p9n7tE68z1xs18A==} react-dom@18.3.1: - resolution: - { - integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==, - } + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: react: ^18.3.1 react-fast-compare@2.0.4: - resolution: - { - integrity: sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==, - } + resolution: {integrity: sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==} react-fast-compare@3.2.2: - resolution: - { - integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==, - } + resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} react-intersection-observer@9.4.3: - resolution: - { - integrity: sha512-WNRqMQvKpupr6MzecAQI0Pj0+JQong307knLP4g/nBex7kYfIaZsPpXaIhKHR+oV8z+goUbH9e10j6lGRnTzlQ==, - } + resolution: {integrity: sha512-WNRqMQvKpupr6MzecAQI0Pj0+JQong307knLP4g/nBex7kYfIaZsPpXaIhKHR+oV8z+goUbH9e10j6lGRnTzlQ==} peerDependencies: react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 react-intl@6.6.8: - resolution: - { - integrity: sha512-M0pkhzcgV31h++2901BiRXWl69hp2zPyLxRrSwRjd1ErXbNoubz/f4M6DrRTd4OiSUrT4ajRQzrmtS5plG4FtA==, - } + resolution: {integrity: sha512-M0pkhzcgV31h++2901BiRXWl69hp2zPyLxRrSwRjd1ErXbNoubz/f4M6DrRTd4OiSUrT4ajRQzrmtS5plG4FtA==} peerDependencies: react: ^16.6.0 || 17 || 18 typescript: ^4.7 || 5 @@ -12693,48 +7559,30 @@ packages: optional: true react-is@16.13.1: - resolution: - { - integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==, - } + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} react-is@17.0.2: - resolution: - { - integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==, - } + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} react-is@18.3.1: - resolution: - { - integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==, - } + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} react-konva@18.2.10: - resolution: - { - integrity: sha512-ohcX1BJINL43m4ynjZ24MxFI1syjBdrXhqVxYVDw2rKgr3yuS0x/6m1Y2Z4sl4T/gKhfreBx8KHisd0XC6OT1g==, - } + resolution: {integrity: sha512-ohcX1BJINL43m4ynjZ24MxFI1syjBdrXhqVxYVDw2rKgr3yuS0x/6m1Y2Z4sl4T/gKhfreBx8KHisd0XC6OT1g==} peerDependencies: konva: ^8.0.1 || ^7.2.5 || ^9.0.0 react: '>=18.0.0' react-dom: '>=18.0.0' react-markdown@8.0.5: - resolution: - { - integrity: sha512-jGJolWWmOWAvzf+xMdB9zwStViODyyFQhNB/bwCerbBKmrTmgmA599CGiOlP58OId1IMoIRsA8UdI1Lod4zb5A==, - } + resolution: {integrity: sha512-jGJolWWmOWAvzf+xMdB9zwStViODyyFQhNB/bwCerbBKmrTmgmA599CGiOlP58OId1IMoIRsA8UdI1Lod4zb5A==} peerDependencies: '@types/react': '>=16' react: '>=16' react-native@0.74.2: - resolution: - { - integrity: sha512-EBMBjPPL4/GjHMP4NqsZabT3gI5WU9cSmduABGAGrd8uIcmTZ5F2Ng9k6gFmRm7n8e8CULxDNu98ZpQfBjl7Bw==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-EBMBjPPL4/GjHMP4NqsZabT3gI5WU9cSmduABGAGrd8uIcmTZ5F2Ng9k6gFmRm7n8e8CULxDNu98ZpQfBjl7Bw==} + engines: {node: '>=18'} hasBin: true peerDependencies: '@types/react': ^18.2.6 @@ -12744,1292 +7592,728 @@ packages: optional: true react-popper-tooltip@4.4.2: - resolution: - { - integrity: sha512-y48r0mpzysRTZAIh8m2kpZ8S1YPNqGtQPDrlXYSGvDS1c1GpG/NUXbsbIdfbhXfmSaRJuTcaT6N1q3CKuHRVbg==, - } + resolution: {integrity: sha512-y48r0mpzysRTZAIh8m2kpZ8S1YPNqGtQPDrlXYSGvDS1c1GpG/NUXbsbIdfbhXfmSaRJuTcaT6N1q3CKuHRVbg==} peerDependencies: react: '>=16.6.0' react-dom: '>=16.6.0' react-popper@2.3.0: - resolution: - { - integrity: sha512-e1hj8lL3uM+sgSR4Lxzn5h1GxBlpa4CQz0XLF8kx4MDrDRWY0Ena4c97PUeSX9i5W3UAfDP0z0FXCTQkoXUl3Q==, - } + resolution: {integrity: sha512-e1hj8lL3uM+sgSR4Lxzn5h1GxBlpa4CQz0XLF8kx4MDrDRWY0Ena4c97PUeSX9i5W3UAfDP0z0FXCTQkoXUl3Q==} peerDependencies: '@popperjs/core': ^2.0.0 react: ^16.8.0 || ^17 || ^18 react-dom: ^16.8.0 || ^17 || ^18 react-reconciler@0.27.0: - resolution: - { - integrity: sha512-HmMDKciQjYmBRGuuhIaKA1ba/7a+UsM5FzOZsMO2JYHt9Jh8reCb7j1eDC95NOyUlKM9KRyvdx0flBuDvYSBoA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-HmMDKciQjYmBRGuuhIaKA1ba/7a+UsM5FzOZsMO2JYHt9Jh8reCb7j1eDC95NOyUlKM9KRyvdx0flBuDvYSBoA==} + engines: {node: '>=0.10.0'} peerDependencies: react: ^18.0.0 react-reconciler@0.29.2: - resolution: - { - integrity: sha512-zZQqIiYgDCTP/f1N/mAR10nJGrPD2ZR+jDSEsKWJHYC7Cm2wodlwbR3upZRdC3cjIjSlTLNVyO7Iu0Yy7t2AYg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-zZQqIiYgDCTP/f1N/mAR10nJGrPD2ZR+jDSEsKWJHYC7Cm2wodlwbR3upZRdC3cjIjSlTLNVyO7Iu0Yy7t2AYg==} + engines: {node: '>=0.10.0'} peerDependencies: react: ^18.3.1 react-refresh@0.14.2: - resolution: - { - integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} + engines: {node: '>=0.10.0'} react-select@5.7.0: - resolution: - { - integrity: sha512-lJGiMxCa3cqnUr2Jjtg9YHsaytiZqeNOKeibv6WF5zbK/fPegZ1hg3y/9P1RZVLhqBTs0PfqQLKuAACednYGhQ==, - } + resolution: {integrity: sha512-lJGiMxCa3cqnUr2Jjtg9YHsaytiZqeNOKeibv6WF5zbK/fPegZ1hg3y/9P1RZVLhqBTs0PfqQLKuAACednYGhQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 react-shallow-renderer@16.15.0: - resolution: - { - integrity: sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==, - } + resolution: {integrity: sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==} peerDependencies: react: ^16.0.0 || ^17.0.0 || ^18.0.0 react-spring@9.7.1: - resolution: - { - integrity: sha512-o2+r2DNQDVEuefiz33ZF76DPd/gLq3kbdObJmllGF2IUfv2W6x+ZP0gR97QYCSR4QLbmOl1mPKUBbI+FJdys2Q==, - } + resolution: {integrity: sha512-o2+r2DNQDVEuefiz33ZF76DPd/gLq3kbdObJmllGF2IUfv2W6x+ZP0gR97QYCSR4QLbmOl1mPKUBbI+FJdys2Q==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 react-tailwindcss-datepicker-sct@1.3.4: - resolution: - { - integrity: sha512-QlLekGZDbmW2DPGS33c4gfIxkk4gcgu4sRzBIm4/mZxfHuo7J+GR6SBVNIb5Xh8aCLlGtgyLqD+o0UmOVFIc4w==, - } + resolution: {integrity: sha512-QlLekGZDbmW2DPGS33c4gfIxkk4gcgu4sRzBIm4/mZxfHuo7J+GR6SBVNIb5Xh8aCLlGtgyLqD+o0UmOVFIc4w==} peerDependencies: dayjs: ^1.11.6 react: ^17.0.2 || ^18.2.0 react-toast-notifications@2.5.1: - resolution: - { - integrity: sha512-eYuuiSPGLyuMHojRH2U7CbENvFHsvNia39pLM/s10KipIoNs14T7RIJk4aU2N+l++OsSgtJqnFObx9bpwLMU5A==, - } + resolution: {integrity: sha512-eYuuiSPGLyuMHojRH2U7CbENvFHsvNia39pLM/s10KipIoNs14T7RIJk4aU2N+l++OsSgtJqnFObx9bpwLMU5A==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 react-transition-group@4.4.5: - resolution: - { - integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==, - } + resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==} peerDependencies: react: '>=16.6.0' react-dom: '>=16.6.0' react-truncate-markup@5.1.2: - resolution: - { - integrity: sha512-eEq6T8Rs+wz98cRYzQECGFNBfXwRYraLg/kz52f6DRBKmzxqB+GYLeDkVe/zrC+2vh5AEwM6nSYFvDWEBljd0w==, - } + resolution: {integrity: sha512-eEq6T8Rs+wz98cRYzQECGFNBfXwRYraLg/kz52f6DRBKmzxqB+GYLeDkVe/zrC+2vh5AEwM6nSYFvDWEBljd0w==} peerDependencies: react: '>=16.3' react-use-clipboard@1.0.9: - resolution: - { - integrity: sha512-OcMzc14usXhqQnAkvzmhCXAbW5WBT2LSgscVh2vKHXZfg72jFsSOsEearqdeC/nUj8YxEfLnziqe7AE7YkWFwA==, - } + resolution: {integrity: sha512-OcMzc14usXhqQnAkvzmhCXAbW5WBT2LSgscVh2vKHXZfg72jFsSOsEearqdeC/nUj8YxEfLnziqe7AE7YkWFwA==} peerDependencies: react: ^16.8.0 || ^17 || ^18 react-dom: ^16.8.0 || ^17 || ^18 react-use-measure@2.1.1: - resolution: - { - integrity: sha512-nocZhN26cproIiIduswYpV5y5lQpSQS1y/4KuvUCjSKmw7ZWIS/+g3aFnX3WdBkyuGUtTLif3UTqnLLhbDoQig==, - } + resolution: {integrity: sha512-nocZhN26cproIiIduswYpV5y5lQpSQS1y/4KuvUCjSKmw7ZWIS/+g3aFnX3WdBkyuGUtTLif3UTqnLLhbDoQig==} peerDependencies: react: '>=16.13' react-dom: '>=16.13' react-zdog@1.2.2: - resolution: - { - integrity: sha512-Ix7ALha91aOEwiHuxumCeYbARS5XNpc/w0v145oGkM6poF/CvhKJwzLhM5sEZbtrghMA+psAhOJkCTzJoseicA==, - } + resolution: {integrity: sha512-Ix7ALha91aOEwiHuxumCeYbARS5XNpc/w0v145oGkM6poF/CvhKJwzLhM5sEZbtrghMA+psAhOJkCTzJoseicA==} react@18.3.1: - resolution: - { - integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + engines: {node: '>=0.10.0'} read-cache@1.0.0: - resolution: - { - integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==, - } + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} read-pkg-up@7.0.1: - resolution: - { - integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} read-pkg@5.2.0: - resolution: - { - integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} readable-stream@1.0.34: - resolution: - { - integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==, - } + resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==} readable-stream@2.3.8: - resolution: - { - integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==, - } + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} readable-stream@3.6.2: - resolution: - { - integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} readdirp@3.6.0: - resolution: - { - integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==, - } - engines: { node: '>=8.10.0' } + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} readline@1.3.0: - resolution: - { - integrity: sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==, - } + resolution: {integrity: sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==} recast@0.21.5: - resolution: - { - integrity: sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==, - } - engines: { node: '>= 4' } + resolution: {integrity: sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==} + engines: {node: '>= 4'} redent@3.0.0: - resolution: - { - integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} redeyed@2.1.1: - resolution: - { - integrity: sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==, - } + resolution: {integrity: sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==} reflect-metadata@0.1.13: - resolution: - { - integrity: sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==, - } + resolution: {integrity: sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==} reflect-metadata@0.1.14: - resolution: - { - integrity: sha512-ZhYeb6nRaXCfhnndflDK8qI6ZQ/YcWZCISRAWICW9XYqMUwjZM9Z0DveWX/ABN01oxSHwVxKQmxeYZSsm0jh5A==, - } + resolution: {integrity: sha512-ZhYeb6nRaXCfhnndflDK8qI6ZQ/YcWZCISRAWICW9XYqMUwjZM9Z0DveWX/ABN01oxSHwVxKQmxeYZSsm0jh5A==} reflect.getprototypeof@1.0.6: - resolution: - { - integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} + engines: {node: '>= 0.4'} regenerate-unicode-properties@10.1.1: - resolution: - { - integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} + engines: {node: '>=4'} regenerate@1.4.2: - resolution: - { - integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==, - } + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} regenerator-runtime@0.13.11: - resolution: - { - integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==, - } + resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} regenerator-runtime@0.14.1: - resolution: - { - integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==, - } + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} regenerator-transform@0.15.2: - resolution: - { - integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==, - } + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} regexp.prototype.flags@1.5.2: - resolution: - { - integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} + engines: {node: '>= 0.4'} regexpp@3.2.0: - resolution: - { - integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} + engines: {node: '>=8'} regexpu-core@5.3.2: - resolution: - { - integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} + engines: {node: '>=4'} registry-auth-token@5.0.2: - resolution: - { - integrity: sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==} + engines: {node: '>=14'} regjsparser@0.9.1: - resolution: - { - integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==, - } + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} hasBin: true remark-parse@10.0.2: - resolution: - { - integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==, - } + resolution: {integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==} remark-rehype@10.1.0: - resolution: - { - integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==, - } + resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==} request-progress@3.0.0: - resolution: - { - integrity: sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==, - } + resolution: {integrity: sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==} request-promise-core@1.1.2: - resolution: - { - integrity: sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==} + engines: {node: '>=0.10.0'} peerDependencies: request: ^2.34 request-promise@4.2.4: - resolution: - { - integrity: sha512-8wgMrvE546PzbR5WbYxUQogUnUDfM0S7QIFZMID+J73vdFARkFy+HElj4T+MWYhpXwlLp0EQ8Zoj8xUA0he4Vg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-8wgMrvE546PzbR5WbYxUQogUnUDfM0S7QIFZMID+J73vdFARkFy+HElj4T+MWYhpXwlLp0EQ8Zoj8xUA0he4Vg==} + engines: {node: '>=0.10.0'} deprecated: request-promise has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142 peerDependencies: request: ^2.34 request@2.88.2: - resolution: - { - integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} + engines: {node: '>= 6'} deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 require-directory@2.1.1: - resolution: - { - integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} require-from-string@2.0.2: - resolution: - { - integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} require-main-filename@2.0.0: - resolution: - { - integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==, - } + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} requires-port@1.0.0: - resolution: - { - integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==, - } + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} resize-observer-polyfill@1.5.1: - resolution: - { - integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==, - } + resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} resolve-dir@1.0.1: - resolution: - { - integrity: sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==} + engines: {node: '>=0.10.0'} resolve-from@3.0.0: - resolution: - { - integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} + engines: {node: '>=4'} resolve-from@4.0.0: - resolution: - { - integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} resolve-from@5.0.0: - resolution: - { - integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} resolve-global@1.0.0: - resolution: - { - integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==} + engines: {node: '>=8'} resolve-pkg-maps@1.0.0: - resolution: - { - integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==, - } + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} resolve@1.22.8: - resolution: - { - integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==, - } + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true resolve@2.0.0-next.5: - resolution: - { - integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==, - } + resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} hasBin: true restore-cursor@3.1.0: - resolution: - { - integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} ret@0.1.15: - resolution: - { - integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==, - } - engines: { node: '>=0.12' } + resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} + engines: {node: '>=0.12'} retry@0.12.0: - resolution: - { - integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==, - } - engines: { node: '>= 4' } + resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} + engines: {node: '>= 4'} reusify@1.0.4: - resolution: - { - integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, - } - engines: { iojs: '>=1.0.0', node: '>=0.10.0' } + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} rfdc@1.4.1: - resolution: - { - integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==, - } + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} rimraf@2.6.3: - resolution: - { - integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==, - } + resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true rimraf@3.0.2: - resolution: - { - integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, - } + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true rndm@1.2.0: - resolution: - { - integrity: sha512-fJhQQI5tLrQvYIYFpOnFinzv9dwmR7hRnUz1XqP3OJ1jIweTNOd6aTO4jwQSgcBSFUB+/KHJxuGneime+FdzOw==, - } + resolution: {integrity: sha512-fJhQQI5tLrQvYIYFpOnFinzv9dwmR7hRnUz1XqP3OJ1jIweTNOd6aTO4jwQSgcBSFUB+/KHJxuGneime+FdzOw==} run-applescript@3.2.0: - resolution: - { - integrity: sha512-Ep0RsvAjnRcBX1p5vogbaBdAGu/8j/ewpvGqnQYunnLd9SM0vWcPJewPKNnWFggf0hF0pwIgwV5XK7qQ7UZ8Qg==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-Ep0RsvAjnRcBX1p5vogbaBdAGu/8j/ewpvGqnQYunnLd9SM0vWcPJewPKNnWFggf0hF0pwIgwV5XK7qQ7UZ8Qg==} + engines: {node: '>=4'} run-async@2.4.1: - resolution: - { - integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==, - } - engines: { node: '>=0.12.0' } + resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} + engines: {node: '>=0.12.0'} run-parallel@1.2.0: - resolution: - { - integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, - } + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} rxjs@7.8.1: - resolution: - { - integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==, - } + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} sade@1.8.1: - resolution: - { - integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} + engines: {node: '>=6'} safe-array-concat@1.1.2: - resolution: - { - integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==, - } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} + engines: {node: '>=0.4'} safe-buffer@5.1.2: - resolution: - { - integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==, - } + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} safe-buffer@5.2.1: - resolution: - { - integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, - } + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} safe-identifier@0.4.2: - resolution: - { - integrity: sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w==, - } + resolution: {integrity: sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w==} safe-regex-test@1.0.3: - resolution: - { - integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} + engines: {node: '>= 0.4'} safe-stable-stringify@2.4.3: - resolution: - { - integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} + engines: {node: '>=10'} safer-buffer@2.1.2: - resolution: - { - integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==, - } + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} sax@1.4.1: - resolution: - { - integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==, - } + resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} scheduler@0.21.0: - resolution: - { - integrity: sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ==, - } + resolution: {integrity: sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ==} scheduler@0.23.2: - resolution: - { - integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==, - } + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} scheduler@0.24.0-canary-efb381bbf-20230505: - resolution: - { - integrity: sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==, - } + resolution: {integrity: sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==} secure-random-password@0.2.3: - resolution: - { - integrity: sha512-2zpmr6pK3CZGIS9fgApFw00/tKEBVbJTqe4AZLrLNgahCK6ueIR5uMzvbERNibr8hkWneMcOqDcm4wpHWUxrYw==, - } + resolution: {integrity: sha512-2zpmr6pK3CZGIS9fgApFw00/tKEBVbJTqe4AZLrLNgahCK6ueIR5uMzvbERNibr8hkWneMcOqDcm4wpHWUxrYw==} secure-random@1.1.2: - resolution: - { - integrity: sha512-H2bdSKERKdBV1SwoqYm6C0y+9EA94v6SUBOWO8kDndc4NoUih7Dv6Tsgma7zO1lv27wIvjlD0ZpMQk7um5dheQ==, - } + resolution: {integrity: sha512-H2bdSKERKdBV1SwoqYm6C0y+9EA94v6SUBOWO8kDndc4NoUih7Dv6Tsgma7zO1lv27wIvjlD0ZpMQk7um5dheQ==} selderee@0.11.0: - resolution: - { - integrity: sha512-5TF+l7p4+OsnP8BCCvSyZiSPc4x4//p5uPwK8TCnVPJYRmU2aYKMpOXvw8zM5a5JvuuCGN1jmsMwuU2W02ukfA==, - } + resolution: {integrity: sha512-5TF+l7p4+OsnP8BCCvSyZiSPc4x4//p5uPwK8TCnVPJYRmU2aYKMpOXvw8zM5a5JvuuCGN1jmsMwuU2W02ukfA==} selderee@0.6.0: - resolution: - { - integrity: sha512-ibqWGV5aChDvfVdqNYuaJP/HnVBhlRGSRrlbttmlMpHcLuTqqbMH36QkSs9GEgj5M88JDYLI8eyP94JaQ8xRlg==, - } + resolution: {integrity: sha512-ibqWGV5aChDvfVdqNYuaJP/HnVBhlRGSRrlbttmlMpHcLuTqqbMH36QkSs9GEgj5M88JDYLI8eyP94JaQ8xRlg==} selfsigned@2.4.1: - resolution: - { - integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} + engines: {node: '>=10'} semantic-release-docker-buildx@1.0.1: - resolution: - { - integrity: sha512-DU5OCNM2cDpjM1Gr83jJnPgxryQysPno9cvDbs0AY8NwUL/nZc5mZn59UZB9BjHtSKsjKX1pgRb0bFd7LWJOOQ==, - } + resolution: {integrity: sha512-DU5OCNM2cDpjM1Gr83jJnPgxryQysPno9cvDbs0AY8NwUL/nZc5mZn59UZB9BjHtSKsjKX1pgRb0bFd7LWJOOQ==} peerDependencies: semantic-release: '>=11.0.0 <18.0.0' semantic-release@19.0.5: - resolution: - { - integrity: sha512-NMPKdfpXTnPn49FDogMBi36SiBfXkSOJqCkk0E4iWOY1tusvvgBwqUmxTX1kmlT6kIYed9YwNKD1sfPpqa5yaA==, - } - engines: { node: '>=16 || ^14.17' } + resolution: {integrity: sha512-NMPKdfpXTnPn49FDogMBi36SiBfXkSOJqCkk0E4iWOY1tusvvgBwqUmxTX1kmlT6kIYed9YwNKD1sfPpqa5yaA==} + engines: {node: '>=16 || ^14.17'} hasBin: true semver-diff@3.1.1: - resolution: - { - integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==} + engines: {node: '>=8'} semver-regex@3.1.4: - resolution: - { - integrity: sha512-6IiqeZNgq01qGf0TId0t3NvKzSvUsjcpdEO3AQNeIjR6A2+ckTnQlDpl4qu1bjRv0RzN3FP9hzFmws3lKqRWkA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-6IiqeZNgq01qGf0TId0t3NvKzSvUsjcpdEO3AQNeIjR6A2+ckTnQlDpl4qu1bjRv0RzN3FP9hzFmws3lKqRWkA==} + engines: {node: '>=8'} semver@5.7.2: - resolution: - { - integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==, - } + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true semver@6.3.1: - resolution: - { - integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==, - } + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true semver@7.0.0: - resolution: - { - integrity: sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==, - } + resolution: {integrity: sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==} hasBin: true semver@7.3.8: - resolution: - { - integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} + engines: {node: '>=10'} hasBin: true semver@7.5.4: - resolution: - { - integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} hasBin: true semver@7.6.2: - resolution: - { - integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} + engines: {node: '>=10'} hasBin: true send@0.18.0: - resolution: - { - integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} serialize-error@2.1.0: - resolution: - { - integrity: sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==} + engines: {node: '>=0.10.0'} serve-static@1.15.0: - resolution: - { - integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + engines: {node: '>= 0.8.0'} set-blocking@2.0.0: - resolution: - { - integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==, - } + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} set-function-length@1.2.2: - resolution: - { - integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} set-function-name@2.0.2: - resolution: - { - integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} setprototypeof@1.1.1: - resolution: - { - integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==, - } + resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==} setprototypeof@1.2.0: - resolution: - { - integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==, - } + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} sha.js@2.4.11: - resolution: - { - integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==, - } + resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} hasBin: true shallow-clone@3.0.1: - resolution: - { - integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} + engines: {node: '>=8'} sharp@0.33.4: - resolution: - { - integrity: sha512-7i/dt5kGl7qR4gwPRD2biwD2/SvBn3O04J77XKFgL2OnZtQw+AG9wnuS/csmu80nPRHLYE9E41fyEiG8nhH6/Q==, - } - engines: { libvips: '>=8.15.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0 } + resolution: {integrity: sha512-7i/dt5kGl7qR4gwPRD2biwD2/SvBn3O04J77XKFgL2OnZtQw+AG9wnuS/csmu80nPRHLYE9E41fyEiG8nhH6/Q==} + engines: {libvips: '>=8.15.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0} shebang-command@1.2.0: - resolution: - { - integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} shebang-command@2.0.0: - resolution: - { - integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} shebang-regex@1.0.0: - resolution: - { - integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} shebang-regex@3.0.0: - resolution: - { - integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} shell-quote@1.8.1: - resolution: - { - integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==, - } + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} side-channel@1.0.6: - resolution: - { - integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} signal-exit@3.0.7: - resolution: - { - integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==, - } + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} signal-exit@4.1.0: - resolution: - { - integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} signale@1.4.0: - resolution: - { - integrity: sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==} + engines: {node: '>=6'} simple-swizzle@0.2.2: - resolution: - { - integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==, - } + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} simple-update-notifier@1.1.0: - resolution: - { - integrity: sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==, - } - engines: { node: '>=8.10.0' } + resolution: {integrity: sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==} + engines: {node: '>=8.10.0'} sisteransi@1.0.5: - resolution: - { - integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==, - } + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} slash@3.0.0: - resolution: - { - integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} slice-ansi@2.1.0: - resolution: - { - integrity: sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==} + engines: {node: '>=6'} slice-ansi@3.0.0: - resolution: - { - integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} + engines: {node: '>=8'} slice-ansi@4.0.0: - resolution: - { - integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} slice-ansi@5.0.0: - resolution: - { - integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} slick@1.12.2: - resolution: - { - integrity: sha512-4qdtOGcBjral6YIBCWJ0ljFSKNLz9KkhbWtuGvUyRowl1kxfuE1x/Z/aJcaiilpb3do9bl5K7/1h9XC5wWpY/A==, - } + resolution: {integrity: sha512-4qdtOGcBjral6YIBCWJ0ljFSKNLz9KkhbWtuGvUyRowl1kxfuE1x/Z/aJcaiilpb3do9bl5K7/1h9XC5wWpY/A==} smart-buffer@4.2.0: - resolution: - { - integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==, - } - engines: { node: '>= 6.0.0', npm: '>= 3.0.0' } + resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} + engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} socks-proxy-agent@6.2.1: - resolution: - { - integrity: sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==} + engines: {node: '>= 10'} socks-proxy-agent@7.0.0: - resolution: - { - integrity: sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==} + engines: {node: '>= 10'} socks@2.8.3: - resolution: - { - integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==, - } - engines: { node: '>= 10.0.0', npm: '>= 3.0.0' } + resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==} + engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} sorted-array-functions@1.3.0: - resolution: - { - integrity: sha512-2sqgzeFlid6N4Z2fUQ1cvFmTOLRi/sEDzSQ0OKYchqgoPmQBVyM3959qYx3fpS6Esef80KjmpgPeEr028dP3OA==, - } + resolution: {integrity: sha512-2sqgzeFlid6N4Z2fUQ1cvFmTOLRi/sEDzSQ0OKYchqgoPmQBVyM3959qYx3fpS6Esef80KjmpgPeEr028dP3OA==} source-map-js@1.2.0: - resolution: - { - integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} source-map-support@0.5.21: - resolution: - { - integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==, - } + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} source-map@0.5.7: - resolution: - { - integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} source-map@0.6.1: - resolution: - { - integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} source-map@0.7.4: - resolution: - { - integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} space-separated-tokens@2.0.2: - resolution: - { - integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==, - } + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} spawn-error-forwarder@1.0.0: - resolution: - { - integrity: sha512-gRjMgK5uFjbCvdibeGJuy3I5OYz6VLoVdsOJdA6wV0WlfQVLFueoqMxwwYD9RODdgb6oUIvlRlsyFSiQkMKu0g==, - } + resolution: {integrity: sha512-gRjMgK5uFjbCvdibeGJuy3I5OYz6VLoVdsOJdA6wV0WlfQVLFueoqMxwwYD9RODdgb6oUIvlRlsyFSiQkMKu0g==} spdx-correct@3.2.0: - resolution: - { - integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==, - } + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} spdx-exceptions@2.5.0: - resolution: - { - integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==, - } + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} spdx-expression-parse@3.0.1: - resolution: - { - integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==, - } + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} spdx-license-ids@3.0.18: - resolution: - { - integrity: sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==, - } + resolution: {integrity: sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==} split2@1.0.0: - resolution: - { - integrity: sha512-NKywug4u4pX/AZBB1FCPzZ6/7O+Xhz1qMVbzTvvKvikjO99oPN87SkK08mEY9P63/5lWjK+wgOOgApnTg5r6qg==, - } + resolution: {integrity: sha512-NKywug4u4pX/AZBB1FCPzZ6/7O+Xhz1qMVbzTvvKvikjO99oPN87SkK08mEY9P63/5lWjK+wgOOgApnTg5r6qg==} split2@3.2.2: - resolution: - { - integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==, - } + resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} split@1.0.1: - resolution: - { - integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==, - } + resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==} sprintf-js@1.0.3: - resolution: - { - integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==, - } + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} sprintf-js@1.1.3: - resolution: - { - integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==, - } + resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} sqlite3@5.1.4: - resolution: - { - integrity: sha512-i0UlWAzPlzX3B5XP2cYuhWQJsTtlMD6obOa1PgeEQ4DHEXUuyJkgv50I3isqZAP5oFc2T8OFvakmDh2W6I+YpA==, - } + resolution: {integrity: sha512-i0UlWAzPlzX3B5XP2cYuhWQJsTtlMD6obOa1PgeEQ4DHEXUuyJkgv50I3isqZAP5oFc2T8OFvakmDh2W6I+YpA==} sshpk@1.18.0: - resolution: - { - integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==} + engines: {node: '>=0.10.0'} hasBin: true ssri@8.0.1: - resolution: - { - integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==} + engines: {node: '>= 8'} ssri@9.0.1: - resolution: - { - integrity: sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==, - } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} stable@0.1.8: - resolution: - { - integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==, - } + resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' stack-trace@0.0.10: - resolution: - { - integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==, - } + resolution: {integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==} stack-utils@2.0.6: - resolution: - { - integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} stackframe@1.3.4: - resolution: - { - integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==, - } + resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} stacktrace-parser@0.1.10: - resolution: - { - integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} + engines: {node: '>=6'} statuses@1.5.0: - resolution: - { - integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} statuses@2.0.1: - resolution: - { - integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} stealthy-require@1.1.1: - resolution: - { - integrity: sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==} + engines: {node: '>=0.10.0'} stop-iteration-iterator@1.0.0: - resolution: - { - integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} + engines: {node: '>= 0.4'} stream-combiner2@1.1.1: - resolution: - { - integrity: sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==, - } + resolution: {integrity: sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==} streamsearch@1.1.0: - resolution: - { - integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==, - } - engines: { node: '>=10.0.0' } + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} string-argv@0.3.2: - resolution: - { - integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==, - } - engines: { node: '>=0.6.19' } + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} string-width@4.2.3: - resolution: - { - integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} string-width@5.1.2: - resolution: - { - integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} string.prototype.includes@2.0.0: - resolution: - { - integrity: sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==, - } + resolution: {integrity: sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==} string.prototype.matchall@4.0.11: - resolution: - { - integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} + engines: {node: '>= 0.4'} string.prototype.trim@1.2.9: - resolution: - { - integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} + engines: {node: '>= 0.4'} string.prototype.trimend@1.0.8: - resolution: - { - integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==, - } + resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} string.prototype.trimstart@1.0.8: - resolution: - { - integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} string_decoder@0.10.31: - resolution: - { - integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==, - } + resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} string_decoder@1.1.1: - resolution: - { - integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==, - } + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} string_decoder@1.3.0: - resolution: - { - integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==, - } + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} strip-ansi@5.2.0: - resolution: - { - integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} + engines: {node: '>=6'} strip-ansi@6.0.1: - resolution: - { - integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} strip-ansi@7.1.0: - resolution: - { - integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} strip-bom@3.0.0: - resolution: - { - integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} strip-bom@4.0.0: - resolution: - { - integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} strip-eof@1.0.0: - resolution: - { - integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} + engines: {node: '>=0.10.0'} strip-final-newline@2.0.0: - resolution: - { - integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} strip-final-newline@3.0.0: - resolution: - { - integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} strip-indent@3.0.0: - resolution: - { - integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} strip-json-comments@2.0.1: - resolution: - { - integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} strip-json-comments@3.1.1: - resolution: - { - integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} strnum@1.0.5: - resolution: - { - integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==, - } + resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} style-to-object@0.4.4: - resolution: - { - integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==, - } + resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} styled-jsx@5.1.1: - resolution: - { - integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==, - } - engines: { node: '>= 12.0.0' } + resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} + engines: {node: '>= 12.0.0'} peerDependencies: '@babel/core': '*' babel-plugin-macros: '*' @@ -14041,385 +8325,217 @@ packages: optional: true stylis@4.2.0: - resolution: - { - integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==, - } + resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} sudo-prompt@9.2.1: - resolution: - { - integrity: sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==, - } + resolution: {integrity: sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==} supports-color@5.5.0: - resolution: - { - integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} supports-color@7.2.0: - resolution: - { - integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} supports-color@8.1.1: - resolution: - { - integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} supports-hyperlinks@2.3.0: - resolution: - { - integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} + engines: {node: '>=8'} supports-preserve-symlinks-flag@1.0.0: - resolution: - { - integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} suspend-react@0.1.3: - resolution: - { - integrity: sha512-aqldKgX9aZqpoDp3e8/BZ8Dm7x1pJl+qI3ZKxDN0i/IQTWUwBx/ManmlVJ3wowqbno6c2bmiIfs+Um6LbsjJyQ==, - } + resolution: {integrity: sha512-aqldKgX9aZqpoDp3e8/BZ8Dm7x1pJl+qI3ZKxDN0i/IQTWUwBx/ManmlVJ3wowqbno6c2bmiIfs+Um6LbsjJyQ==} peerDependencies: react: '>=17.0' svg-parser@2.0.4: - resolution: - { - integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==, - } + resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} svgo@2.8.0: - resolution: - { - integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==, - } - engines: { node: '>=10.13.0' } + resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==} + engines: {node: '>=10.13.0'} hasBin: true swagger-ui-dist@5.17.14: - resolution: - { - integrity: sha512-CVbSfaLpstV65OnSjbXfVd6Sta3q3F7Cj/yYuvHMp1P90LztOLs6PfUnKEVAeiIVQt9u2SaPwv0LiH/OyMjHRw==, - } + resolution: {integrity: sha512-CVbSfaLpstV65OnSjbXfVd6Sta3q3F7Cj/yYuvHMp1P90LztOLs6PfUnKEVAeiIVQt9u2SaPwv0LiH/OyMjHRw==} swagger-ui-express@4.6.2: - resolution: - { - integrity: sha512-MHIOaq9JrTTB3ygUJD+08PbjM5Tt/q7x80yz9VTFIatw8j5uIWKcr90S0h5NLMzFEDC6+eVprtoeA5MDZXCUKQ==, - } - engines: { node: '>= v0.10.32' } + resolution: {integrity: sha512-MHIOaq9JrTTB3ygUJD+08PbjM5Tt/q7x80yz9VTFIatw8j5uIWKcr90S0h5NLMzFEDC6+eVprtoeA5MDZXCUKQ==} + engines: {node: '>= v0.10.32'} peerDependencies: express: '>=4.0.0' swr@2.2.5: - resolution: - { - integrity: sha512-QtxqyclFeAsxEUeZIYmsaQ0UjimSq1RZ9Un7I68/0ClKK/U3LoyQunwkQfJZr2fc22DfIXLNDc2wFyTEikCUpg==, - } + resolution: {integrity: sha512-QtxqyclFeAsxEUeZIYmsaQ0UjimSq1RZ9Un7I68/0ClKK/U3LoyQunwkQfJZr2fc22DfIXLNDc2wFyTEikCUpg==} peerDependencies: react: ^16.11.0 || ^17.0.0 || ^18.0.0 tailwindcss@3.2.7: - resolution: - { - integrity: sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ==, - } - engines: { node: '>=12.13.0' } + resolution: {integrity: sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ==} + engines: {node: '>=12.13.0'} hasBin: true peerDependencies: postcss: ^8.0.9 tapable@2.2.1: - resolution: - { - integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} tar@6.2.1: - resolution: - { - integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} + engines: {node: '>=10'} temp-dir@2.0.0: - resolution: - { - integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} + engines: {node: '>=8'} temp@0.8.4: - resolution: - { - integrity: sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==} + engines: {node: '>=6.0.0'} tempy@1.0.1: - resolution: - { - integrity: sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w==} + engines: {node: '>=10'} terser@5.31.1: - resolution: - { - integrity: sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==} + engines: {node: '>=10'} hasBin: true text-extensions@1.9.0: - resolution: - { - integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==, - } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==} + engines: {node: '>=0.10'} text-hex@1.0.0: - resolution: - { - integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==, - } + resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==} text-table@0.2.0: - resolution: - { - integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, - } + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} thenify-all@1.6.0: - resolution: - { - integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==, - } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} thenify@3.3.1: - resolution: - { - integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==, - } + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} three@0.165.0: - resolution: - { - integrity: sha512-cc96IlVYGydeceu0e5xq70H8/yoVT/tXBxV/W8A/U6uOq7DXc4/s1Mkmnu6SqoYGhSRWWYFOhVwvq6V0VtbplA==, - } + resolution: {integrity: sha512-cc96IlVYGydeceu0e5xq70H8/yoVT/tXBxV/W8A/U6uOq7DXc4/s1Mkmnu6SqoYGhSRWWYFOhVwvq6V0VtbplA==} throat@5.0.0: - resolution: - { - integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==, - } + resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==} throttleit@1.0.1: - resolution: - { - integrity: sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==, - } + resolution: {integrity: sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==} through2@2.0.5: - resolution: - { - integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==, - } + resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} through2@4.0.2: - resolution: - { - integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==, - } + resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} through@2.3.8: - resolution: - { - integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==, - } + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} tiny-warning@1.0.3: - resolution: - { - integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==, - } + resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} titleize@2.1.0: - resolution: - { - integrity: sha512-m+apkYlfiQTKLW+sI4vqUkwMEzfgEUEYSqljx1voUE3Wz/z1ZsxyzSxvH2X8uKVrOp7QkByWt0rA6+gvhCKy6g==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-m+apkYlfiQTKLW+sI4vqUkwMEzfgEUEYSqljx1voUE3Wz/z1ZsxyzSxvH2X8uKVrOp7QkByWt0rA6+gvhCKy6g==} + engines: {node: '>=6'} tlds@1.252.0: - resolution: - { - integrity: sha512-GA16+8HXvqtfEnw/DTcwB0UU354QE1n3+wh08oFjr6Znl7ZLAeUgYzCcK+/CCrOyE0vnHR8/pu3XXG3vDijXpQ==, - } + resolution: {integrity: sha512-GA16+8HXvqtfEnw/DTcwB0UU354QE1n3+wh08oFjr6Znl7ZLAeUgYzCcK+/CCrOyE0vnHR8/pu3XXG3vDijXpQ==} hasBin: true tlds@1.253.0: - resolution: - { - integrity: sha512-lNov5nt5/xw6nK00gtoQSA2I4HcpAnot1TMJccTNw2rtL5jdLN26h3f+mT8VF4JBv5/rBNXyuUPWcogceyKJJw==, - } + resolution: {integrity: sha512-lNov5nt5/xw6nK00gtoQSA2I4HcpAnot1TMJccTNw2rtL5jdLN26h3f+mT8VF4JBv5/rBNXyuUPWcogceyKJJw==} hasBin: true tmp@0.0.33: - resolution: - { - integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==, - } - engines: { node: '>=0.6.0' } + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} tmp@0.2.3: - resolution: - { - integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==, - } - engines: { node: '>=14.14' } + resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} + engines: {node: '>=14.14'} tmpl@1.0.5: - resolution: - { - integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==, - } + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} to-fast-properties@2.0.0: - resolution: - { - integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} to-regex-range@5.0.1: - resolution: - { - integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, - } - engines: { node: '>=8.0' } + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} toggle-selection@1.0.6: - resolution: - { - integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==, - } + resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==} toidentifier@1.0.0: - resolution: - { - integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==, - } - engines: { node: '>=0.6' } + resolution: {integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==} + engines: {node: '>=0.6'} toidentifier@1.0.1: - resolution: - { - integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==, - } - engines: { node: '>=0.6' } + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} token-stream@1.0.0: - resolution: - { - integrity: sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg==, - } + resolution: {integrity: sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg==} toposort@2.0.2: - resolution: - { - integrity: sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==, - } + resolution: {integrity: sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==} touch@3.1.1: - resolution: - { - integrity: sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==, - } + resolution: {integrity: sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==} hasBin: true tough-cookie@2.5.0: - resolution: - { - integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==, - } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} + engines: {node: '>=0.8'} tough-cookie@4.1.4: - resolution: - { - integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} + engines: {node: '>=6'} tr46@0.0.3: - resolution: - { - integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==, - } + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} traverse@0.6.9: - resolution: - { - integrity: sha512-7bBrcF+/LQzSgFmT0X5YclVqQxtv7TDJ1f8Wj7ibBu/U6BMLeOpUxuZjV7rMc44UtKxlnMFigdhFAIszSX1DMg==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-7bBrcF+/LQzSgFmT0X5YclVqQxtv7TDJ1f8Wj7ibBu/U6BMLeOpUxuZjV7rMc44UtKxlnMFigdhFAIszSX1DMg==} + engines: {node: '>= 0.4'} trim-lines@3.0.1: - resolution: - { - integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==, - } + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} trim-newlines@3.0.1: - resolution: - { - integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} + engines: {node: '>=8'} triple-beam@1.4.1: - resolution: - { - integrity: sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==, - } - engines: { node: '>= 14.0.0' } + resolution: {integrity: sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==} + engines: {node: '>= 14.0.0'} trough@2.2.0: - resolution: - { - integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==, - } + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} ts-api-utils@1.3.0: - resolution: - { - integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==, - } - engines: { node: '>=16' } + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' ts-node@10.9.1: - resolution: - { - integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==, - } + resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: '@swc/core': '>=1.2.50' @@ -14433,10 +8549,7 @@ packages: optional: true ts-node@10.9.2: - resolution: - { - integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==, - } + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: '@swc/core': '>=1.2.50' @@ -14450,188 +8563,107 @@ packages: optional: true tsc-alias@1.8.2: - resolution: - { - integrity: sha512-ukBkcNekOgwtnSWYLD5QsMX3yQWg7JviAs8zg3qJGgu4LGtY3tsV4G6vnqvOXIDkbC+XL9vbhObWSpRA5/6wbg==, - } + resolution: {integrity: sha512-ukBkcNekOgwtnSWYLD5QsMX3yQWg7JviAs8zg3qJGgu4LGtY3tsV4G6vnqvOXIDkbC+XL9vbhObWSpRA5/6wbg==} hasBin: true tsconfig-paths@3.15.0: - resolution: - { - integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==, - } + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} tsconfig-paths@4.1.2: - resolution: - { - integrity: sha512-uhxiMgnXQp1IR622dUXI+9Ehnws7i/y6xvpZB9IbUVOPy0muvdvgXeZOn88UcGPiT98Vp3rJPTa8bFoalZ3Qhw==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-uhxiMgnXQp1IR622dUXI+9Ehnws7i/y6xvpZB9IbUVOPy0muvdvgXeZOn88UcGPiT98Vp3rJPTa8bFoalZ3Qhw==} + engines: {node: '>=6'} tslib@1.14.1: - resolution: - { - integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==, - } + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} tslib@2.4.0: - resolution: - { - integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==, - } + resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} tslib@2.6.3: - resolution: - { - integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==, - } + resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} tsscmp@1.0.6: - resolution: - { - integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==, - } - engines: { node: '>=0.6.x' } + resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==} + engines: {node: '>=0.6.x'} tsutils@3.21.0: - resolution: - { - integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' tunnel-agent@0.6.0: - resolution: - { - integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==, - } + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} tweetnacl@0.14.5: - resolution: - { - integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==, - } + resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} type-check@0.4.0: - resolution: - { - integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} type-detect@4.0.8: - resolution: - { - integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} type-fest@0.16.0: - resolution: - { - integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} + engines: {node: '>=10'} type-fest@0.18.1: - resolution: - { - integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} + engines: {node: '>=10'} type-fest@0.20.2: - resolution: - { - integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} type-fest@0.21.3: - resolution: - { - integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} type-fest@0.6.0: - resolution: - { - integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} type-fest@0.7.1: - resolution: - { - integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} + engines: {node: '>=8'} type-fest@0.8.1: - resolution: - { - integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} type-is@1.6.18: - resolution: - { - integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} typed-array-buffer@1.0.2: - resolution: - { - integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} + engines: {node: '>= 0.4'} typed-array-byte-length@1.0.1: - resolution: - { - integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} + engines: {node: '>= 0.4'} typed-array-byte-offset@1.0.2: - resolution: - { - integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} + engines: {node: '>= 0.4'} typed-array-length@1.0.6: - resolution: - { - integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} + engines: {node: '>= 0.4'} typedarray.prototype.slice@1.0.3: - resolution: - { - integrity: sha512-8WbVAQAUlENo1q3c3zZYuy5k9VzBQvp8AX9WOtbvyWlLM1v5JaSRmjubLjzHF4JFtptjH/5c/i95yaElvcjC0A==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-8WbVAQAUlENo1q3c3zZYuy5k9VzBQvp8AX9WOtbvyWlLM1v5JaSRmjubLjzHF4JFtptjH/5c/i95yaElvcjC0A==} + engines: {node: '>= 0.4'} typedarray@0.0.6: - resolution: - { - integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==, - } + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} typeorm@0.3.12: - resolution: - { - integrity: sha512-sYSxBmCf1nJLLTcYtwqZ+lQIRtLPyUoO93rHTOKk9vJCyT4UfRtU7oRsJvfvKP3nnZTD1hzz2SEy2zwPEN6OyA==, - } - engines: { node: '>= 12.9.0' } + resolution: {integrity: sha512-sYSxBmCf1nJLLTcYtwqZ+lQIRtLPyUoO93rHTOKk9vJCyT4UfRtU7oRsJvfvKP3nnZTD1hzz2SEy2zwPEN6OyA==} + engines: {node: '>= 12.9.0'} hasBin: true peerDependencies: '@google-cloud/spanner': ^5.18.0 @@ -14688,263 +8720,146 @@ packages: optional: true typescript@4.9.5: - resolution: - { - integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==, - } - engines: { node: '>=4.2.0' } + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} + engines: {node: '>=4.2.0'} hasBin: true typescript@5.5.2: - resolution: - { - integrity: sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==, - } - engines: { node: '>=14.17' } + resolution: {integrity: sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==} + engines: {node: '>=14.17'} hasBin: true uc.micro@2.1.0: - resolution: - { - integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==, - } + resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} uglify-js@3.18.0: - resolution: - { - integrity: sha512-SyVVbcNBCk0dzr9XL/R/ySrmYf0s372K6/hFklzgcp2lBFyXtw4I7BOdDjlLhE1aVqaI/SHWXWmYdlZxuyF38A==, - } - engines: { node: '>=0.8.0' } + resolution: {integrity: sha512-SyVVbcNBCk0dzr9XL/R/ySrmYf0s372K6/hFklzgcp2lBFyXtw4I7BOdDjlLhE1aVqaI/SHWXWmYdlZxuyF38A==} + engines: {node: '>=0.8.0'} hasBin: true uid-safe@2.1.5: - resolution: - { - integrity: sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==} + engines: {node: '>= 0.8'} unbox-primitive@1.0.2: - resolution: - { - integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==, - } + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} undefsafe@2.0.5: - resolution: - { - integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==, - } + resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==} underscore.deep@0.5.3: - resolution: - { - integrity: sha512-4OuSOlFNkiVFVc3khkeG112Pdu1gbitMj7t9B9ENb61uFmN70Jq7Iluhi3oflcSgexkKfDdJ5XAJET2gEq6ikA==, - } - engines: { node: '>=0.10.x' } + resolution: {integrity: sha512-4OuSOlFNkiVFVc3khkeG112Pdu1gbitMj7t9B9ENb61uFmN70Jq7Iluhi3oflcSgexkKfDdJ5XAJET2gEq6ikA==} + engines: {node: '>=0.10.x'} peerDependencies: underscore: 1.x underscore@1.13.6: - resolution: - { - integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==, - } + resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==} undici-types@5.26.5: - resolution: - { - integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==, - } + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} unicode-canonical-property-names-ecmascript@2.0.0: - resolution: - { - integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} unicode-emoji-utils@1.2.0: - resolution: - { - integrity: sha512-djUB91p/6oYpgps4W5K/MAvM+UspoAANHSUW495BrxeLRoned3iNPEDQgrKx9LbLq93VhNz0NWvI61vcfrwYoA==, - } + resolution: {integrity: sha512-djUB91p/6oYpgps4W5K/MAvM+UspoAANHSUW495BrxeLRoned3iNPEDQgrKx9LbLq93VhNz0NWvI61vcfrwYoA==} unicode-match-property-ecmascript@2.0.0: - resolution: - { - integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} unicode-match-property-value-ecmascript@2.1.0: - resolution: - { - integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + engines: {node: '>=4'} unicode-property-aliases-ecmascript@2.1.0: - resolution: - { - integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} unified@10.1.2: - resolution: - { - integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==, - } + resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} unique-filename@1.1.1: - resolution: - { - integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==, - } + resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} unique-filename@2.0.1: - resolution: - { - integrity: sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==, - } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} unique-slug@2.0.2: - resolution: - { - integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==, - } + resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==} unique-slug@3.0.0: - resolution: - { - integrity: sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==, - } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} unique-string@2.0.0: - resolution: - { - integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} + engines: {node: '>=8'} unist-util-generated@2.0.1: - resolution: - { - integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==, - } + resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==} unist-util-is@5.2.1: - resolution: - { - integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==, - } + resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} unist-util-position@4.0.4: - resolution: - { - integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==, - } + resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==} unist-util-stringify-position@3.0.3: - resolution: - { - integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==, - } + resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} unist-util-visit-parents@5.1.3: - resolution: - { - integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==, - } + resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} unist-util-visit@4.1.2: - resolution: - { - integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==, - } + resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} universal-user-agent@6.0.1: - resolution: - { - integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==, - } + resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==} universalify@0.1.2: - resolution: - { - integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==, - } - engines: { node: '>= 4.0.0' } + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} universalify@0.2.0: - resolution: - { - integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==, - } - engines: { node: '>= 4.0.0' } + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} universalify@2.0.1: - resolution: - { - integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==, - } - engines: { node: '>= 10.0.0' } + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} unpipe@1.0.0: - resolution: - { - integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} untildify@4.0.0: - resolution: - { - integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} + engines: {node: '>=8'} update-browserslist-db@1.0.16: - resolution: - { - integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==, - } + resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' uri-js@4.4.1: - resolution: - { - integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, - } + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} url-join@4.0.1: - resolution: - { - integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==, - } + resolution: {integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==} url-parse@1.5.10: - resolution: - { - integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==, - } + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} urlsafe-base64@1.0.0: - resolution: - { - integrity: sha512-RtuPeMy7c1UrHwproMZN9gN6kiZ0SvJwRaEzwZY0j9MypEkFqyBaKv176jvlPtg58Zh36bOkS0NFABXMHvvGCA==, - } + resolution: {integrity: sha512-RtuPeMy7c1UrHwproMZN9gN6kiZ0SvJwRaEzwZY0j9MypEkFqyBaKv176jvlPtg58Zh36bOkS0NFABXMHvvGCA==} use-isomorphic-layout-effect@1.1.2: - resolution: - { - integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==, - } + resolution: {integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==} peerDependencies: '@types/react': '*' react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -14953,307 +8868,172 @@ packages: optional: true use-sync-external-store@1.2.2: - resolution: - { - integrity: sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==, - } + resolution: {integrity: sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 util-deprecate@1.0.2: - resolution: - { - integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==, - } + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} utils-merge@1.0.1: - resolution: - { - integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==, - } - engines: { node: '>= 0.4.0' } + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} uuid@3.4.0: - resolution: - { - integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==, - } + resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. hasBin: true uuid@8.3.2: - resolution: - { - integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==, - } + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true uuid@9.0.1: - resolution: - { - integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==, - } + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} hasBin: true uvu@0.5.6: - resolution: - { - integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} + engines: {node: '>=8'} hasBin: true v8-compile-cache-lib@3.0.1: - resolution: - { - integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==, - } + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} valid-data-url@3.0.1: - resolution: - { - integrity: sha512-jOWVmzVceKlVVdwjNSenT4PbGghU0SBIizAev8ofZVgivk/TVHXSbNL8LP6M3spZvkR9/QolkyJavGSX5Cs0UA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-jOWVmzVceKlVVdwjNSenT4PbGghU0SBIizAev8ofZVgivk/TVHXSbNL8LP6M3spZvkR9/QolkyJavGSX5Cs0UA==} + engines: {node: '>=10'} validate-npm-package-license@3.0.4: - resolution: - { - integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==, - } + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} vary@1.1.2: - resolution: - { - integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} verror@1.10.0: - resolution: - { - integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==, - } - engines: { '0': node >=0.6.0 } + resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} + engines: {'0': node >=0.6.0} vfile-message@3.1.4: - resolution: - { - integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==, - } + resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} vfile@5.3.7: - resolution: - { - integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==, - } + resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} vlq@1.0.1: - resolution: - { - integrity: sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==, - } + resolution: {integrity: sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==} void-elements@3.1.0: - resolution: - { - integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==} + engines: {node: '>=0.10.0'} walker@1.0.8: - resolution: - { - integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==, - } + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} warning@4.0.3: - resolution: - { - integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==, - } + resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==} wcwidth@1.0.1: - resolution: - { - integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==, - } + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} web-push@3.5.0: - resolution: - { - integrity: sha512-JC0V9hzKTqlDYJ+LTZUXtW7B175qwwaqzbbMSWDxHWxZvd3xY0C2rcotMGDavub2nAAFw+sXTsqR65/KY2A5AQ==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-JC0V9hzKTqlDYJ+LTZUXtW7B175qwwaqzbbMSWDxHWxZvd3xY0C2rcotMGDavub2nAAFw+sXTsqR65/KY2A5AQ==} + engines: {node: '>= 6'} hasBin: true web-resource-inliner@5.0.0: - resolution: - { - integrity: sha512-AIihwH+ZmdHfkJm7BjSXiEClVt4zUFqX4YlFAzjL13wLtDuUneSaFvDBTbdYRecs35SiU7iNKbMnN+++wVfb6A==, - } - engines: { node: '>=10.0.0' } + resolution: {integrity: sha512-AIihwH+ZmdHfkJm7BjSXiEClVt4zUFqX4YlFAzjL13wLtDuUneSaFvDBTbdYRecs35SiU7iNKbMnN+++wVfb6A==} + engines: {node: '>=10.0.0'} web-resource-inliner@6.0.1: - resolution: - { - integrity: sha512-kfqDxt5dTB1JhqsCUQVFDj0rmY+4HLwGQIsLPbyrsN9y9WV/1oFDSx3BQ4GfCv9X+jVeQ7rouTqwK53rA/7t8A==, - } - engines: { node: '>=10.0.0' } + resolution: {integrity: sha512-kfqDxt5dTB1JhqsCUQVFDj0rmY+4HLwGQIsLPbyrsN9y9WV/1oFDSx3BQ4GfCv9X+jVeQ7rouTqwK53rA/7t8A==} + engines: {node: '>=10.0.0'} webidl-conversions@3.0.1: - resolution: - { - integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==, - } + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} whatwg-fetch@3.6.20: - resolution: - { - integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==, - } + resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} whatwg-url@5.0.0: - resolution: - { - integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==, - } + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} which-boxed-primitive@1.0.2: - resolution: - { - integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==, - } + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} which-builtin-type@1.1.3: - resolution: - { - integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} + engines: {node: '>= 0.4'} which-collection@1.0.2: - resolution: - { - integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} which-module@2.0.1: - resolution: - { - integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==, - } + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} which-typed-array@1.1.15: - resolution: - { - integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} + engines: {node: '>= 0.4'} which@1.3.1: - resolution: - { - integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==, - } + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} hasBin: true which@2.0.2: - resolution: - { - integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} hasBin: true wide-align@1.1.5: - resolution: - { - integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==, - } + resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} winston-daily-rotate-file@4.7.1: - resolution: - { - integrity: sha512-7LGPiYGBPNyGHLn9z33i96zx/bd71pjBn9tqQzO3I4Tayv94WPmBNwKC7CO1wPHdP9uvu+Md/1nr6VSH9h0iaA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-7LGPiYGBPNyGHLn9z33i96zx/bd71pjBn9tqQzO3I4Tayv94WPmBNwKC7CO1wPHdP9uvu+Md/1nr6VSH9h0iaA==} + engines: {node: '>=8'} peerDependencies: winston: ^3 winston-transport@4.7.0: - resolution: - { - integrity: sha512-ajBj65K5I7denzer2IYW6+2bNIVqLGDHqDw3Ow8Ohh+vdW+rv4MZ6eiDvHoKhfJFZ2auyN8byXieDDJ96ViONg==, - } - engines: { node: '>= 12.0.0' } + resolution: {integrity: sha512-ajBj65K5I7denzer2IYW6+2bNIVqLGDHqDw3Ow8Ohh+vdW+rv4MZ6eiDvHoKhfJFZ2auyN8byXieDDJ96ViONg==} + engines: {node: '>= 12.0.0'} winston@3.8.2: - resolution: - { - integrity: sha512-MsE1gRx1m5jdTTO9Ld/vND4krP2To+lgDoMEHGGa4HIlAUyXJtfc7CxQcGXVyz2IBpw5hbFkj2b/AtUdQwyRew==, - } - engines: { node: '>= 12.0.0' } + resolution: {integrity: sha512-MsE1gRx1m5jdTTO9Ld/vND4krP2To+lgDoMEHGGa4HIlAUyXJtfc7CxQcGXVyz2IBpw5hbFkj2b/AtUdQwyRew==} + engines: {node: '>= 12.0.0'} with@7.0.2: - resolution: - { - integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==, - } - engines: { node: '>= 10.0.0' } + resolution: {integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==} + engines: {node: '>= 10.0.0'} word-wrap@1.2.5: - resolution: - { - integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} wordwrap@1.0.0: - resolution: - { - integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==, - } + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} wrap-ansi@6.2.0: - resolution: - { - integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} wrap-ansi@7.0.0: - resolution: - { - integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} wrap-ansi@8.1.0: - resolution: - { - integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} wrappy@1.0.2: - resolution: - { - integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, - } + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} write-file-atomic@2.4.3: - resolution: - { - integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==, - } + resolution: {integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==} ws@6.2.3: - resolution: - { - integrity: sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==, - } + resolution: {integrity: sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==} peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -15264,11 +9044,8 @@ packages: optional: true ws@7.5.10: - resolution: - { - integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==, - } - engines: { node: '>=8.3.0' } + resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} + engines: {node: '>=8.3.0'} peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -15279,186 +9056,105 @@ packages: optional: true xml2js@0.4.16: - resolution: - { - integrity: sha512-9rH7UTUNphxeDRCeJBi4Fxp/z0fd92WeXNQ1dtUYMpqO3PaK59hVDCuUmOGHRZvufJDzcX8TG+Kdty7ylM0t2w==, - } + resolution: {integrity: sha512-9rH7UTUNphxeDRCeJBi4Fxp/z0fd92WeXNQ1dtUYMpqO3PaK59hVDCuUmOGHRZvufJDzcX8TG+Kdty7ylM0t2w==} xml2js@0.4.19: - resolution: - { - integrity: sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==, - } + resolution: {integrity: sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==} xml2js@0.4.23: - resolution: - { - integrity: sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==, - } - engines: { node: '>=4.0.0' } + resolution: {integrity: sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==} + engines: {node: '>=4.0.0'} xmlbuilder@11.0.1: - resolution: - { - integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==, - } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} + engines: {node: '>=4.0'} xmlbuilder@4.2.1: - resolution: - { - integrity: sha512-oEePiEefhQhAeUnwRnIBLBWmk/fsWWbQ53EEWsRuzECbQ3m5o/Esmq6H47CYYwSLW+Ynt0rS9hd0pd2ogMAWjg==, - } - engines: { node: '>=0.8.0' } + resolution: {integrity: sha512-oEePiEefhQhAeUnwRnIBLBWmk/fsWWbQ53EEWsRuzECbQ3m5o/Esmq6H47CYYwSLW+Ynt0rS9hd0pd2ogMAWjg==} + engines: {node: '>=0.8.0'} xmlbuilder@9.0.7: - resolution: - { - integrity: sha512-7YXTQc3P2l9+0rjaUbLwMKRhtmwg1M1eDf6nag7urC7pIPYLD9W/jmzQ4ptRSUbodw5S0jfoGTflLemQibSpeQ==, - } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-7YXTQc3P2l9+0rjaUbLwMKRhtmwg1M1eDf6nag7urC7pIPYLD9W/jmzQ4ptRSUbodw5S0jfoGTflLemQibSpeQ==} + engines: {node: '>=4.0'} xtend@4.0.2: - resolution: - { - integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==, - } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} y18n@4.0.3: - resolution: - { - integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==, - } + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} y18n@5.0.8: - resolution: - { - integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} yallist@3.1.1: - resolution: - { - integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==, - } + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} yallist@4.0.0: - resolution: - { - integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, - } + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} yaml@1.10.2: - resolution: - { - integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} yaml@2.4.5: - resolution: - { - integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==, - } - engines: { node: '>= 14' } + resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==} + engines: {node: '>= 14'} hasBin: true yamljs@0.3.0: - resolution: - { - integrity: sha512-C/FsVVhht4iPQYXOInoxUM/1ELSf9EsgKH34FofQOp6hwCPrW4vG4w5++TED3xRUo8gD7l0P1J1dLlDYzODsTQ==, - } + resolution: {integrity: sha512-C/FsVVhht4iPQYXOInoxUM/1ELSf9EsgKH34FofQOp6hwCPrW4vG4w5++TED3xRUo8gD7l0P1J1dLlDYzODsTQ==} hasBin: true yargs-parser@18.1.3: - resolution: - { - integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} yargs-parser@20.2.9: - resolution: - { - integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} yargs-parser@21.1.1: - resolution: - { - integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} yargs@15.4.1: - resolution: - { - integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} yargs@16.2.0: - resolution: - { - integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} yargs@17.7.2: - resolution: - { - integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} yauzl@2.10.0: - resolution: - { - integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==, - } + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} yn@3.1.1: - resolution: - { - integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} yocto-queue@0.1.0: - resolution: - { - integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} yup@0.32.11: - resolution: - { - integrity: sha512-Z2Fe1bn+eLstG8DRR6FTavGD+MeAwyfmouhHsIUgaADz8jvFKbO/fXc2trJKZg+5EBjh4gGm3iU/t3onKlXHIg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-Z2Fe1bn+eLstG8DRR6FTavGD+MeAwyfmouhHsIUgaADz8jvFKbO/fXc2trJKZg+5EBjh4gGm3iU/t3onKlXHIg==} + engines: {node: '>=10'} zdog@1.1.3: - resolution: - { - integrity: sha512-raRj6r0gPzopFm5XWBJZr/NuV4EEnT4iE+U3dp5FV5pCb588Gmm3zLIp/j9yqqcMiHH8VNQlerLTgOqL7krh6w==, - } + resolution: {integrity: sha512-raRj6r0gPzopFm5XWBJZr/NuV4EEnT4iE+U3dp5FV5pCb588Gmm3zLIp/j9yqqcMiHH8VNQlerLTgOqL7krh6w==} zod@3.20.6: - resolution: - { - integrity: sha512-oyu0m54SGCtzh6EClBVqDDlAYRz4jrVtKwQ7ZnsEmMI9HnzuZFj8QFwAY1M5uniIYACdGvv0PBWPF2kO0aNofA==, - } + resolution: {integrity: sha512-oyu0m54SGCtzh6EClBVqDDlAYRz4jrVtKwQ7ZnsEmMI9HnzuZFj8QFwAY1M5uniIYACdGvv0PBWPF2kO0aNofA==} zustand@3.7.2: - resolution: - { - integrity: sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA==, - } - engines: { node: '>=12.7.0' } + resolution: {integrity: sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA==} + engines: {node: '>=12.7.0'} peerDependencies: react: '>=16.8' peerDependenciesMeta: @@ -15466,6 +9162,7 @@ packages: optional: true snapshots: + '@ampproject/remapping@2.3.0': dependencies: '@jridgewell/gen-mapping': 0.3.5 @@ -16529,7 +10226,7 @@ snapshots: - '@swc/core' - '@swc/wasm' - '@commitlint/load@19.2.0(@types/node@17.0.36)(typescript@4.9.5)': + '@commitlint/load@19.2.0(@types/node@20.14.8)(typescript@4.9.5)': dependencies: '@commitlint/config-validator': 19.0.3 '@commitlint/execute-rule': 19.0.0 @@ -16537,7 +10234,7 @@ snapshots: '@commitlint/types': 19.0.3 chalk: 5.3.0 cosmiconfig: 9.0.0(typescript@4.9.5) - cosmiconfig-typescript-loader: 5.0.0(@types/node@17.0.36)(cosmiconfig@9.0.0(typescript@4.9.5))(typescript@4.9.5) + cosmiconfig-typescript-loader: 5.0.0(@types/node@20.14.8)(cosmiconfig@9.0.0(typescript@4.9.5))(typescript@4.9.5) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -16895,7 +10592,7 @@ snapshots: dependencies: '@formatjs/icu-messageformat-parser': 2.3.0 '@types/json-stable-stringify': 1.0.36 - '@types/node': 17.0.45 + '@types/node': 17.0.36 chalk: 4.1.2 json-stable-stringify: 1.1.1 tslib: 2.6.3 @@ -17046,14 +10743,14 @@ snapshots: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 17.0.36 + '@types/node': 20.14.8 jest-mock: 29.7.0 '@jest/fake-timers@29.7.0': dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 17.0.36 + '@types/node': 20.14.8 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -17066,7 +10763,7 @@ snapshots: dependencies: '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 17.0.36 + '@types/node': 20.14.8 '@types/yargs': 15.0.19 chalk: 4.1.2 @@ -17075,7 +10772,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 17.0.36 + '@types/node': 20.14.8 '@types/yargs': 17.0.32 chalk: 4.1.2 @@ -18821,22 +12518,22 @@ snapshots: dependencies: '@swc/counter': 0.1.3 - '@tailwindcss/aspect-ratio@0.4.2(tailwindcss@3.2.7(postcss@8.4.21)(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@17.0.36)(typescript@4.9.5)))': + '@tailwindcss/aspect-ratio@0.4.2(tailwindcss@3.2.7(postcss@8.4.21)(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@20.14.8)(typescript@4.9.5)))': dependencies: - tailwindcss: 3.2.7(postcss@8.4.21)(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@17.0.36)(typescript@4.9.5)) + tailwindcss: 3.2.7(postcss@8.4.21)(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@20.14.8)(typescript@4.9.5)) - '@tailwindcss/forms@0.5.3(tailwindcss@3.2.7(postcss@8.4.21)(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@17.0.36)(typescript@4.9.5)))': + '@tailwindcss/forms@0.5.3(tailwindcss@3.2.7(postcss@8.4.21)(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@20.14.8)(typescript@4.9.5)))': dependencies: mini-svg-data-uri: 1.4.4 - tailwindcss: 3.2.7(postcss@8.4.21)(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@17.0.36)(typescript@4.9.5)) + tailwindcss: 3.2.7(postcss@8.4.21)(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@20.14.8)(typescript@4.9.5)) - '@tailwindcss/typography@0.5.9(tailwindcss@3.2.7(postcss@8.4.21)(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@17.0.36)(typescript@4.9.5)))': + '@tailwindcss/typography@0.5.9(tailwindcss@3.2.7(postcss@8.4.21)(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@20.14.8)(typescript@4.9.5)))': dependencies: lodash.castarray: 4.4.0 lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 postcss-selector-parser: 6.0.10 - tailwindcss: 3.2.7(postcss@8.4.21)(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@17.0.36)(typescript@4.9.5)) + tailwindcss: 3.2.7(postcss@8.4.21)(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@20.14.8)(typescript@4.9.5)) '@tanem/react-nprogress@5.0.30(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: @@ -18862,20 +12559,20 @@ snapshots: '@types/bcrypt@5.0.0': dependencies: - '@types/node': 20.14.8 + '@types/node': 17.0.36 '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.14.8 + '@types/node': 17.0.36 '@types/connect@3.4.38': dependencies: - '@types/node': 20.14.8 + '@types/node': 17.0.36 '@types/conventional-commits-parser@5.0.0': dependencies: - '@types/node': 20.14.8 + '@types/node': 17.0.36 optional: true '@types/cookie-parser@1.4.3': @@ -18911,7 +12608,7 @@ snapshots: '@types/express-serve-static-core@4.19.5': dependencies: - '@types/node': 20.14.8 + '@types/node': 17.0.36 '@types/qs': 6.9.15 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -18985,18 +12682,16 @@ snapshots: '@types/node-forge@1.3.11': dependencies: - '@types/node': 17.0.36 + '@types/node': 20.14.8 '@types/node-schedule@2.1.0': dependencies: - '@types/node': 20.14.8 + '@types/node': 17.0.36 '@types/node@14.18.63': {} '@types/node@17.0.36': {} - '@types/node@17.0.45': {} - '@types/node@18.19.39': dependencies: undici-types: 5.26.5 @@ -19009,11 +12704,11 @@ snapshots: '@types/nodemailer@6.4.15': dependencies: - '@types/node': 20.14.8 + '@types/node': 17.0.36 '@types/nodemailer@6.4.7': dependencies: - '@types/node': 20.14.8 + '@types/node': 17.0.36 '@types/normalize-package-data@2.4.4': {} @@ -19061,12 +12756,12 @@ snapshots: '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.14.8 + '@types/node': 17.0.36 '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 20.14.8 + '@types/node': 17.0.36 '@types/send': 0.17.4 '@types/sinonjs__fake-timers@8.1.1': {} @@ -19086,13 +12781,13 @@ snapshots: '@types/web-push@3.3.2': dependencies: - '@types/node': 20.14.8 + '@types/node': 17.0.36 '@types/webxr@0.5.17': {} '@types/xml2js@0.4.11': dependencies: - '@types/node': 20.14.8 + '@types/node': 17.0.36 '@types/yamljs@0.2.31': {} @@ -19108,7 +12803,7 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 20.14.8 + '@types/node': 17.0.36 optional: true '@types/yup@0.29.14': {} @@ -19562,18 +13257,6 @@ snapshots: axe-core@4.9.1: {} - axios-rate-limit@1.3.0(axios@1.3.4): - dependencies: - axios: 1.3.4 - - axios@1.3.4: - dependencies: - follow-redirects: 1.15.6 - form-data: 4.0.0 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - axobject-query@3.1.1: dependencies: deep-equal: 2.2.3 @@ -19933,7 +13616,7 @@ snapshots: chrome-launcher@0.15.2: dependencies: - '@types/node': 17.0.36 + '@types/node': 20.14.8 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.4.2 @@ -20069,10 +13752,10 @@ snapshots: commander@9.5.0: {} - commitizen@4.3.0(@types/node@17.0.36)(typescript@4.9.5): + commitizen@4.3.0(@types/node@20.14.8)(typescript@4.9.5): dependencies: cachedir: 2.3.0 - cz-conventional-changelog: 3.3.0(@types/node@17.0.36)(typescript@4.9.5) + cz-conventional-changelog: 3.3.0(@types/node@20.14.8)(typescript@4.9.5) dedent: 0.7.0 detect-indent: 6.1.0 find-node-modules: 2.1.3 @@ -20130,13 +13813,13 @@ snapshots: ini: 1.3.8 proto-list: 1.2.4 - connect-typeorm@1.1.4(typeorm@0.3.12(sqlite3@5.1.4(encoding@0.1.13))(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@17.0.36)(typescript@4.9.5))): + connect-typeorm@1.1.4(typeorm@0.3.12(sqlite3@5.1.4(encoding@0.1.13))(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@20.14.8)(typescript@4.9.5))): dependencies: '@types/debug': 0.0.31 '@types/express-session': 1.17.6 debug: 4.3.5(supports-color@8.1.1) express-session: 1.18.0 - typeorm: 0.3.12(sqlite3@5.1.4(encoding@0.1.13))(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@17.0.36)(typescript@4.9.5)) + typeorm: 0.3.12(sqlite3@5.1.4(encoding@0.1.13))(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@20.14.8)(typescript@4.9.5)) transitivePeerDependencies: - supports-color @@ -20276,9 +13959,9 @@ snapshots: ts-node: 10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@20.5.1)(typescript@5.5.2) typescript: 5.5.2 - cosmiconfig-typescript-loader@5.0.0(@types/node@17.0.36)(cosmiconfig@9.0.0(typescript@4.9.5))(typescript@4.9.5): + cosmiconfig-typescript-loader@5.0.0(@types/node@20.14.8)(cosmiconfig@9.0.0(typescript@4.9.5))(typescript@4.9.5): dependencies: - '@types/node': 17.0.36 + '@types/node': 20.14.8 cosmiconfig: 9.0.0(typescript@4.9.5) jiti: 1.21.6 typescript: 4.9.5 @@ -20445,16 +14128,16 @@ snapshots: untildify: 4.0.0 yauzl: 2.10.0 - cz-conventional-changelog@3.3.0(@types/node@17.0.36)(typescript@4.9.5): + cz-conventional-changelog@3.3.0(@types/node@20.14.8)(typescript@4.9.5): dependencies: chalk: 2.4.2 - commitizen: 4.3.0(@types/node@17.0.36)(typescript@4.9.5) + commitizen: 4.3.0(@types/node@20.14.8)(typescript@4.9.5) conventional-commit-types: 3.0.0 lodash.map: 4.6.0 longest: 2.0.1 word-wrap: 1.2.5 optionalDependencies: - '@commitlint/load': 19.2.0(@types/node@17.0.36)(typescript@4.9.5) + '@commitlint/load': 19.2.0(@types/node@20.14.8)(typescript@4.9.5) transitivePeerDependencies: - '@types/node' - typescript @@ -21593,8 +15276,6 @@ snapshots: fn.name@1.1.0: {} - follow-redirects@1.15.6: {} - for-each@0.3.3: dependencies: is-callable: 1.2.7 @@ -21612,12 +15293,6 @@ snapshots: combined-stream: 1.0.8 mime-types: 2.1.35 - form-data@4.0.0: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - formik@2.4.6(react@18.3.1): dependencies: '@types/hoist-non-react-statics': 3.3.5 @@ -22410,7 +16085,7 @@ snapshots: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 17.0.36 + '@types/node': 20.14.8 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -22431,13 +16106,13 @@ snapshots: jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 17.0.36 + '@types/node': 20.14.8 jest-util: 29.7.0 jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 17.0.36 + '@types/node': 20.14.8 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -22454,7 +16129,7 @@ snapshots: jest-worker@29.7.0: dependencies: - '@types/node': 17.0.36 + '@types/node': 20.14.8 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -24041,13 +17716,13 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.4.21 - postcss-load-config@3.1.4(postcss@8.4.21)(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@17.0.36)(typescript@4.9.5)): + postcss-load-config@3.1.4(postcss@8.4.21)(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@20.14.8)(typescript@4.9.5)): dependencies: lilconfig: 2.1.0 yaml: 1.10.2 optionalDependencies: postcss: 8.4.21 - ts-node: 10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@17.0.36)(typescript@4.9.5) + ts-node: 10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@20.14.8)(typescript@4.9.5) postcss-nested@6.0.0(postcss@8.4.21): dependencies: @@ -24167,8 +17842,6 @@ snapshots: proxy-from-env@1.0.0: {} - proxy-from-env@1.1.0: {} - psl@1.9.0: {} pstree.remy@1.1.8: {} @@ -25441,7 +19114,7 @@ snapshots: react: 18.3.1 use-sync-external-store: 1.2.2(react@18.3.1) - tailwindcss@3.2.7(postcss@8.4.21)(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@17.0.36)(typescript@4.9.5)): + tailwindcss@3.2.7(postcss@8.4.21)(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@20.14.8)(typescript@4.9.5)): dependencies: arg: 5.0.2 chokidar: 3.6.0 @@ -25460,7 +19133,7 @@ snapshots: postcss: 8.4.21 postcss-import: 14.1.0(postcss@8.4.21) postcss-js: 4.0.1(postcss@8.4.21) - postcss-load-config: 3.1.4(postcss@8.4.21)(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@17.0.36)(typescript@4.9.5)) + postcss-load-config: 3.1.4(postcss@8.4.21)(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@20.14.8)(typescript@4.9.5)) postcss-nested: 6.0.0(postcss@8.4.21) postcss-selector-parser: 6.1.0 postcss-value-parser: 4.2.0 @@ -25598,14 +19271,14 @@ snapshots: dependencies: typescript: 4.9.5 - ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@17.0.36)(typescript@4.9.5): + ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@20.14.8)(typescript@4.9.5): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 17.0.36 + '@types/node': 20.14.8 acorn: 8.12.0 acorn-walk: 8.3.3 arg: 4.1.3 @@ -25747,7 +19420,7 @@ snapshots: typedarray@0.0.6: {} - typeorm@0.3.12(sqlite3@5.1.4(encoding@0.1.13))(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@17.0.36)(typescript@4.9.5)): + typeorm@0.3.12(sqlite3@5.1.4(encoding@0.1.13))(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@20.14.8)(typescript@4.9.5)): dependencies: '@sqltools/formatter': 1.2.5 app-root-path: 3.1.0 @@ -25768,7 +19441,7 @@ snapshots: yargs: 17.7.2 optionalDependencies: sqlite3: 5.1.4(encoding@0.1.13) - ts-node: 10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@17.0.36)(typescript@4.9.5) + ts-node: 10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@20.14.8)(typescript@4.9.5) transitivePeerDependencies: - supports-color diff --git a/server/api/animelist.ts b/server/api/animelist.ts index 740f6725..175f8bf8 100644 --- a/server/api/animelist.ts +++ b/server/api/animelist.ts @@ -1,7 +1,8 @@ import logger from '@server/logger'; -import axios from 'axios'; -import fs, { promises as fsp } from 'fs'; -import path from 'path'; +import fs, { promises as fsp } from 'node:fs'; +import path from 'node:path'; +import { Readable } from 'node:stream'; +import type { ReadableStream } from 'node:stream/web'; import xml2js from 'xml2js'; const UPDATE_INTERVAL_MSEC = 24 * 3600 * 1000; // how often to download new mapping in milliseconds @@ -161,13 +162,18 @@ class AnimeListMapping { label: 'Anime-List Sync', }); try { - const response = await axios.get(MAPPING_URL, { - responseType: 'stream', - }); - await new Promise((resolve) => { + const response = await fetch(MAPPING_URL); + if (!response.ok) { + throw new Error(`Failed to fetch: ${response.statusText}`); + } + await new Promise((resolve, reject) => { const writer = fs.createWriteStream(LOCAL_PATH); writer.on('finish', resolve); - response.data.pipe(writer); + writer.on('error', reject); + if (!response.body) return reject(); + Readable.fromWeb(response.body as ReadableStream).pipe( + writer + ); }); } catch (e) { throw new Error(`Failed to download Anime-List mapping: ${e.message}`); diff --git a/server/api/externalapi.ts b/server/api/externalapi.ts index 33e40e4d..752601bf 100644 --- a/server/api/externalapi.ts +++ b/server/api/externalapi.ts @@ -1,6 +1,5 @@ -import type { AxiosInstance, AxiosRequestConfig } from 'axios'; -import axios from 'axios'; -import rateLimit from 'axios-rate-limit'; +import type { RateLimitOptions } from '@server/utils/rateLimit'; +import rateLimit from '@server/utils/rateLimit'; import type NodeCache from 'node-cache'; // 5 minute default TTL (in seconds) @@ -12,71 +11,84 @@ const DEFAULT_ROLLING_BUFFER = 10000; interface ExternalAPIOptions { nodeCache?: NodeCache; headers?: Record; - rateLimit?: { - maxRPS: number; - maxRequests: number; - }; + rateLimit?: RateLimitOptions; } class ExternalAPI { - protected axios: AxiosInstance; + protected fetch: typeof fetch; + protected params: Record; + protected defaultHeaders: { [key: string]: string }; private baseUrl: string; private cache?: NodeCache; constructor( baseUrl: string, - params: Record, + params: Record = {}, options: ExternalAPIOptions = {} ) { - this.axios = axios.create({ - baseURL: baseUrl, - params, - headers: { - 'Content-Type': 'application/json', - Accept: 'application/json', - ...options.headers, - }, - }); - if (options.rateLimit) { - this.axios = rateLimit(this.axios, { - maxRequests: options.rateLimit.maxRequests, - maxRPS: options.rateLimit.maxRPS, - }); + this.fetch = rateLimit(fetch, options.rateLimit); + } else { + this.fetch = fetch; } this.baseUrl = baseUrl; + this.params = params; + this.defaultHeaders = { + 'Content-Type': 'application/json', + Accept: 'application/json', + ...options.headers, + }; this.cache = options.nodeCache; } protected async get( endpoint: string, - config?: AxiosRequestConfig, - ttl?: number + params?: Record, + ttl?: number, + config?: RequestInit ): Promise { - const cacheKey = this.serializeCacheKey(endpoint, config?.params); + const cacheKey = this.serializeCacheKey(endpoint, { + ...this.params, + ...params, + }); const cachedItem = this.cache?.get(cacheKey); if (cachedItem) { return cachedItem; } - const response = await this.axios.get(endpoint, config); + const url = this.formatUrl(endpoint, params); + const response = await this.fetch(url, { + ...config, + headers: { + ...this.defaultHeaders, + ...config?.headers, + }, + }); + if (!response.ok) { + const text = await response.text(); + throw new Error( + `${response.status} ${response.statusText}${text ? ': ' + text : ''}` + ); + } + const data = await this.getDataFromResponse(response); if (this.cache) { - this.cache.set(cacheKey, response.data, ttl ?? DEFAULT_TTL); + this.cache.set(cacheKey, data, ttl ?? DEFAULT_TTL); } - return response.data; + return data; } protected async post( endpoint: string, data: Record, - config?: AxiosRequestConfig, - ttl?: number + params?: Record, + ttl?: number, + config?: RequestInit ): Promise { const cacheKey = this.serializeCacheKey(endpoint, { - config: config?.params, + config: { ...this.params, ...params }, data, }); const cachedItem = this.cache?.get(cacheKey); @@ -84,21 +96,89 @@ class ExternalAPI { return cachedItem; } - const response = await this.axios.post(endpoint, data, config); + const url = this.formatUrl(endpoint, params); + const response = await this.fetch(url, { + method: 'POST', + ...config, + headers: { + ...this.defaultHeaders, + ...config?.headers, + }, + body: JSON.stringify(data), + }); + const resData = await this.getDataFromResponse(response); if (this.cache) { - this.cache.set(cacheKey, response.data, ttl ?? DEFAULT_TTL); + this.cache.set(cacheKey, resData, ttl ?? DEFAULT_TTL); } - return response.data; + return resData; + } + + protected async put( + endpoint: string, + data: Record, + params?: Record, + ttl?: number, + config?: RequestInit + ): Promise { + const cacheKey = this.serializeCacheKey(endpoint, { + config: { ...this.params, ...params }, + data, + }); + const cachedItem = this.cache?.get(cacheKey); + if (cachedItem) { + return cachedItem; + } + + const url = this.formatUrl(endpoint, params); + const response = await this.fetch(url, { + method: 'PUT', + ...config, + headers: { + ...this.defaultHeaders, + ...config?.headers, + }, + body: JSON.stringify(data), + }); + const resData = await this.getDataFromResponse(response); + + if (this.cache) { + this.cache.set(cacheKey, resData, ttl ?? DEFAULT_TTL); + } + + return resData; + } + + protected async delete( + endpoint: string, + params?: Record, + config?: RequestInit + ): Promise { + const url = this.formatUrl(endpoint, params); + const response = await this.fetch(url, { + ...config, + headers: { + ...this.defaultHeaders, + ...config?.headers, + }, + }); + const data = await this.getDataFromResponse(response); + + return data; } protected async getRolling( endpoint: string, - config?: AxiosRequestConfig, - ttl?: number + params?: Record, + ttl?: number, + config?: RequestInit, + overwriteBaseUrl?: string ): Promise { - const cacheKey = this.serializeCacheKey(endpoint, config?.params); + const cacheKey = this.serializeCacheKey(endpoint, { + ...this.params, + ...params, + }); const cachedItem = this.cache?.get(cacheKey); if (cachedItem) { @@ -109,20 +189,53 @@ class ExternalAPI { keyTtl - (ttl ?? DEFAULT_TTL) * 1000 < Date.now() - DEFAULT_ROLLING_BUFFER ) { - this.axios.get(endpoint, config).then((response) => { - this.cache?.set(cacheKey, response.data, ttl ?? DEFAULT_TTL); + const url = this.formatUrl(endpoint, params, overwriteBaseUrl); + this.fetch(url, { + ...config, + headers: { + ...this.defaultHeaders, + ...config?.headers, + }, + }).then(async (response) => { + const data = await this.getDataFromResponse(response); + this.cache?.set(cacheKey, data, ttl ?? DEFAULT_TTL); }); } return cachedItem; } - const response = await this.axios.get(endpoint, config); + const url = this.formatUrl(endpoint, params, overwriteBaseUrl); + const response = await this.fetch(url, { + ...config, + headers: { + ...this.defaultHeaders, + ...config?.headers, + }, + }); + const data = await this.getDataFromResponse(response); if (this.cache) { - this.cache.set(cacheKey, response.data, ttl ?? DEFAULT_TTL); + this.cache.set(cacheKey, data, ttl ?? DEFAULT_TTL); } - return response.data; + return data; + } + + private formatUrl( + endpoint: string, + params?: Record, + overwriteBaseUrl?: string + ): string { + const baseUrl = overwriteBaseUrl || this.baseUrl; + const href = + baseUrl + + (baseUrl.endsWith('/') ? '' : '/') + + (endpoint.startsWith('/') ? endpoint.slice(1) : endpoint); + const searchParams = new URLSearchParams({ + ...this.params, + ...params, + }); + return `${href}?${searchParams.toString()}`; } private serializeCacheKey( @@ -135,6 +248,25 @@ class ExternalAPI { return `${this.baseUrl}${endpoint}${JSON.stringify(params)}`; } + + private async getDataFromResponse(response: Response) { + const contentType = response.headers.get('Content-Type')?.split(';')[0]; + if (contentType === 'application/json') { + return await response.json(); + } else if ( + contentType === 'application/xml' || + contentType === 'text/html' || + contentType === 'text/plain' + ) { + return await response.text(); + } else { + try { + return await response.json(); + } catch { + return await response.blob(); + } + } + } } export default ExternalAPI; diff --git a/server/api/github.ts b/server/api/github.ts index 86539903..c2c3fe6a 100644 --- a/server/api/github.ts +++ b/server/api/github.ts @@ -1,6 +1,6 @@ +import ExternalAPI from '@server/api/externalapi'; import cacheManager from '@server/lib/cache'; import logger from '@server/logger'; -import ExternalAPI from './externalapi'; interface GitHubRelease { url: string; @@ -67,10 +67,6 @@ class GithubAPI extends ExternalAPI { 'https://api.github.com', {}, { - headers: { - 'Content-Type': 'application/json', - Accept: 'application/json', - }, nodeCache: cacheManager.getCache('github').data, } ); @@ -85,9 +81,7 @@ class GithubAPI extends ExternalAPI { const data = await this.get( '/repos/fallenbagel/jellyseerr/releases', { - params: { - per_page: take, - }, + per_page: take.toString(), } ); @@ -112,10 +106,8 @@ class GithubAPI extends ExternalAPI { const data = await this.get( '/repos/fallenbagel/jellyseerr/commits', { - params: { - per_page: take, - branch, - }, + per_page: take.toString(), + branch, } ); diff --git a/server/api/jellyfin.ts b/server/api/jellyfin.ts index 6c72ad57..42864045 100644 --- a/server/api/jellyfin.ts +++ b/server/api/jellyfin.ts @@ -111,8 +111,6 @@ class JellyfinAPI extends ExternalAPI { { headers: { 'X-Emby-Authorization': authHeaderVal, - 'Content-Type': 'application/json', - Accept: 'application/json', }, } ); @@ -127,7 +125,7 @@ class JellyfinAPI extends ExternalAPI { ClientIP?: string ): Promise { const authenticate = async (useHeaders: boolean) => { - const headers = + const headers: { [key: string]: string } = useHeaders && ClientIP ? { 'X-Forwarded-For': ClientIP } : {}; return this.post( @@ -136,6 +134,8 @@ class JellyfinAPI extends ExternalAPI { Username, Pw: Password, }, + {}, + undefined, { headers } ); }; @@ -296,7 +296,16 @@ class JellyfinAPI extends ExternalAPI { public async getLibraryContents(id: string): Promise { try { const libraryItemsResponse = await this.get( - `/Users/${this.userId}/Items?SortBy=SortName&SortOrder=Ascending&IncludeItemTypes=Series,Movie,Others&Recursive=true&StartIndex=0&ParentId=${id}&collapseBoxSetItems=false` + `/Users/${this.userId}/Items`, + { + SortBy: 'SortName', + SortOrder: 'Ascending', + IncludeItemTypes: 'Series,Movie,Others', + Recursive: 'true', + StartIndex: '0', + ParentId: id, + collapseBoxSetItems: 'false', + } ); return libraryItemsResponse.Items.filter( @@ -315,7 +324,11 @@ class JellyfinAPI extends ExternalAPI { public async getRecentlyAdded(id: string): Promise { try { const itemResponse = await this.get( - `/Users/${this.userId}/Items/Latest?Limit=12&ParentId=${id}` + `/Users/${this.userId}/Items/Latest`, + { + Limit: '12', + ParentId: id, + } ); return itemResponse; @@ -374,7 +387,10 @@ class JellyfinAPI extends ExternalAPI { ): Promise { try { const episodeResponse = await this.get( - `/Shows/${seriesID}/Episodes?seasonId=${seasonID}` + `/Shows/${seriesID}/Episodes`, + { + seasonId: seasonID, + } ); return episodeResponse.Items.filter( diff --git a/server/api/plextv.ts b/server/api/plextv.ts index 70492689..27bed196 100644 --- a/server/api/plextv.ts +++ b/server/api/plextv.ts @@ -1,9 +1,9 @@ +import ExternalAPI from '@server/api/externalapi'; import type { PlexDevice } from '@server/interfaces/api/plexInterfaces'; import cacheManager from '@server/lib/cache'; import { getSettings } from '@server/lib/settings'; import logger from '@server/logger'; import xml2js from 'xml2js'; -import ExternalAPI from './externalapi'; interface PlexAccountResponse { user: PlexUser; @@ -137,8 +137,6 @@ class PlexTvAPI extends ExternalAPI { { headers: { 'X-Plex-Token': authToken, - 'Content-Type': 'application/json', - Accept: 'application/json', }, nodeCache: cacheManager.getCache('plextv').data, } @@ -149,15 +147,11 @@ class PlexTvAPI extends ExternalAPI { public async getDevices(): Promise { try { - const devicesResp = await this.axios.get( - '/api/resources?includeHttps=1', - { - transformResponse: [], - responseType: 'text', - } - ); + const devicesResp = await this.get('/api/resources', { + includeHttps: '1', + }); const parsedXml = await xml2js.parseStringPromise( - devicesResp.data as DeviceResponse + devicesResp as DeviceResponse ); return parsedXml?.MediaContainer?.Device?.map((pxml: DeviceResponse) => ({ name: pxml.$.name, @@ -205,11 +199,11 @@ class PlexTvAPI extends ExternalAPI { public async getUser(): Promise { try { - const account = await this.axios.get( + const account = await this.get( '/users/account.json' ); - return account.data.user; + return account.user; } catch (e) { logger.error( `Something went wrong while getting the account from plex.tv: ${e.message}`, @@ -249,13 +243,10 @@ class PlexTvAPI extends ExternalAPI { } public async getUsers(): Promise { - const response = await this.axios.get('/api/users', { - transformResponse: [], - responseType: 'text', - }); + const data = await this.get('/api/users'); const parsedXml = (await xml2js.parseStringPromise( - response.data + data as string )) as UsersResponse; return parsedXml; } @@ -270,49 +261,49 @@ class PlexTvAPI extends ExternalAPI { items: PlexWatchlistItem[]; }> { try { - const response = await this.axios.get( - '/library/sections/watchlist/all', + const params = new URLSearchParams({ + 'X-Plex-Container-Start': offset.toString(), + 'X-Plex-Container-Size': size.toString(), + }); + const response = await this.fetch( + `https://metadata.provider.plex.tv/library/sections/watchlist/all?${params.toString()}`, { - params: { - 'X-Plex-Container-Start': offset, - 'X-Plex-Container-Size': size, - }, - baseURL: 'https://metadata.provider.plex.tv', + headers: this.defaultHeaders, } ); + const data = (await response.json()) as WatchlistResponse; const watchlistDetails = await Promise.all( - (response.data.MediaContainer.Metadata ?? []).map( - async (watchlistItem) => { - const detailedResponse = await this.getRolling( - `/library/metadata/${watchlistItem.ratingKey}`, - { - baseURL: 'https://metadata.provider.plex.tv', - } - ); + (data.MediaContainer.Metadata ?? []).map(async (watchlistItem) => { + const detailedResponse = await this.getRolling( + `/library/metadata/${watchlistItem.ratingKey}`, + {}, + undefined, + {}, + 'https://metadata.provider.plex.tv' + ); - const metadata = detailedResponse.MediaContainer.Metadata[0]; + const metadata = detailedResponse.MediaContainer.Metadata[0]; - const tmdbString = metadata.Guid.find((guid) => - guid.id.startsWith('tmdb') - ); - const tvdbString = metadata.Guid.find((guid) => - guid.id.startsWith('tvdb') - ); + const tmdbString = metadata.Guid.find((guid) => + guid.id.startsWith('tmdb') + ); + const tvdbString = metadata.Guid.find((guid) => + guid.id.startsWith('tvdb') + ); - return { - ratingKey: metadata.ratingKey, - // This should always be set? But I guess it also cannot be? - // We will filter out the 0's afterwards - tmdbId: tmdbString ? Number(tmdbString.id.split('//')[1]) : 0, - tvdbId: tvdbString - ? Number(tvdbString.id.split('//')[1]) - : undefined, - title: metadata.title, - type: metadata.type, - }; - } - ) + return { + ratingKey: metadata.ratingKey, + // This should always be set? But I guess it also cannot be? + // We will filter out the 0's afterwards + tmdbId: tmdbString ? Number(tmdbString.id.split('//')[1]) : 0, + tvdbId: tvdbString + ? Number(tvdbString.id.split('//')[1]) + : undefined, + title: metadata.title, + type: metadata.type, + }; + }) ); const filteredList = watchlistDetails.filter((detail) => detail.tmdbId); @@ -320,7 +311,7 @@ class PlexTvAPI extends ExternalAPI { return { offset, size, - totalSize: response.data.MediaContainer.totalSize, + totalSize: data.MediaContainer.totalSize, items: filteredList, }; } catch (e) { diff --git a/server/api/pushover.ts b/server/api/pushover.ts index 41754368..31d0639f 100644 --- a/server/api/pushover.ts +++ b/server/api/pushover.ts @@ -1,4 +1,4 @@ -import ExternalAPI from './externalapi'; +import ExternalAPI from '@server/api/externalapi'; interface PushoverSoundsResponse { sounds: { @@ -26,24 +26,13 @@ export const mapSounds = (sounds: { class PushoverAPI extends ExternalAPI { constructor() { - super( - 'https://api.pushover.net/1', - {}, - { - headers: { - 'Content-Type': 'application/json', - Accept: 'application/json', - }, - } - ); + super('https://api.pushover.net/1'); } public async getSounds(appToken: string): Promise { try { const data = await this.get('/sounds.json', { - params: { - token: appToken, - }, + token: appToken, }); return mapSounds(data.sounds); diff --git a/server/api/rating/imdbRadarrProxy.ts b/server/api/rating/imdbRadarrProxy.ts index 0d8ec79f..a4755474 100644 --- a/server/api/rating/imdbRadarrProxy.ts +++ b/server/api/rating/imdbRadarrProxy.ts @@ -155,13 +155,13 @@ export interface IMDBRating { */ class IMDBRadarrProxy extends ExternalAPI { constructor() { - super('https://api.radarr.video/v1', { - headers: { - 'Content-Type': 'application/json', - Accept: 'application/json', - }, - nodeCache: cacheManager.getCache('imdb').data, - }); + super( + 'https://api.radarr.video/v1', + {}, + { + nodeCache: cacheManager.getCache('imdb').data, + } + ); } /** diff --git a/server/api/rating/rottentomatoes.ts b/server/api/rating/rottentomatoes.ts index 1cf9d6d8..e86c2488 100644 --- a/server/api/rating/rottentomatoes.ts +++ b/server/api/rating/rottentomatoes.ts @@ -63,15 +63,12 @@ class RottenTomatoes extends ExternalAPI { super( 'https://79frdp12pn-dsn.algolia.net/1/indexes/*', { - 'x-algolia-agent': - 'Algolia%20for%20JavaScript%20(4.14.3)%3B%20Browser%20(lite)', + 'x-algolia-agent': 'Algolia for JavaScript (4.14.3); Browser (lite)', 'x-algolia-api-key': '175588f6e5f8319b27702e4cc4013561', 'x-algolia-application-id': '79FRDP12PN', }, { headers: { - 'Content-Type': 'application/json', - Accept: 'application/json', 'x-algolia-usertoken': settings.clientId, }, nodeCache: cacheManager.getCache('rt').data, diff --git a/server/api/servarr/base.ts b/server/api/servarr/base.ts index c004b474..ae024b6e 100644 --- a/server/api/servarr/base.ts +++ b/server/api/servarr/base.ts @@ -113,9 +113,9 @@ class ServarrBase extends ExternalAPI { public getSystemStatus = async (): Promise => { try { - const response = await this.axios.get('/system/status'); + const data = await this.get('/system/status'); - return response.data; + return data; } catch (e) { throw new Error( `[${this.apiName}] Failed to retrieve system status: ${e.message}` @@ -157,16 +157,11 @@ class ServarrBase extends ExternalAPI { public getQueue = async (): Promise<(QueueItem & QueueItemAppendT)[]> => { try { - const response = await this.axios.get>( - `/queue`, - { - params: { - includeEpisode: true, - }, - } - ); + const data = await this.get>(`/queue`, { + includeEpisode: 'true', + }); - return response.data.records; + return data.records; } catch (e) { throw new Error( `[${this.apiName}] Failed to retrieve queue: ${e.message}` @@ -176,9 +171,9 @@ class ServarrBase extends ExternalAPI { public getTags = async (): Promise => { try { - const response = await this.axios.get(`/tag`); + const data = await this.get(`/tag`); - return response.data; + return data; } catch (e) { throw new Error( `[${this.apiName}] Failed to retrieve tags: ${e.message}` @@ -188,11 +183,11 @@ class ServarrBase extends ExternalAPI { public createTag = async ({ label }: { label: string }): Promise => { try { - const response = await this.axios.post(`/tag`, { + const data = await this.post(`/tag`, { label, }); - return response.data; + return data; } catch (e) { throw new Error(`[${this.apiName}] Failed to create tag: ${e.message}`); } @@ -203,7 +198,7 @@ class ServarrBase extends ExternalAPI { options: Record ): Promise { try { - await this.axios.post(`/command`, { + await this.post(`/command`, { name: commandName, ...options, }); diff --git a/server/api/servarr/radarr.ts b/server/api/servarr/radarr.ts index 809c71ef..e05d4071 100644 --- a/server/api/servarr/radarr.ts +++ b/server/api/servarr/radarr.ts @@ -37,9 +37,9 @@ class RadarrAPI extends ServarrBase<{ movieId: number }> { public getMovies = async (): Promise => { try { - const response = await this.axios.get('/movie'); + const data = await this.get('/movie'); - return response.data; + return data; } catch (e) { throw new Error(`[Radarr] Failed to retrieve movies: ${e.message}`); } @@ -47,9 +47,9 @@ class RadarrAPI extends ServarrBase<{ movieId: number }> { public getMovie = async ({ id }: { id: number }): Promise => { try { - const response = await this.axios.get(`/movie/${id}`); + const data = await this.get(`/movie/${id}`); - return response.data; + return data; } catch (e) { throw new Error(`[Radarr] Failed to retrieve movie: ${e.message}`); } @@ -57,17 +57,15 @@ class RadarrAPI extends ServarrBase<{ movieId: number }> { public async getMovieByTmdbId(id: number): Promise { try { - const response = await this.axios.get('/movie/lookup', { - params: { - term: `tmdb:${id}`, - }, + const data = await this.get('/movie/lookup', { + term: `tmdb:${id}`, }); - if (!response.data[0]) { + if (!data[0]) { throw new Error('Movie not found'); } - return response.data[0]; + return data[0]; } catch (e) { logger.error('Error retrieving movie by TMDB ID', { label: 'Radarr API', @@ -97,7 +95,7 @@ class RadarrAPI extends ServarrBase<{ movieId: number }> { // movie exists in Radarr but is neither downloaded nor monitored if (movie.id && !movie.monitored) { - const response = await this.axios.put(`/movie`, { + const data = await this.put(`/movie`, { ...movie, title: options.title, qualityProfileId: options.qualityProfileId, @@ -114,25 +112,25 @@ class RadarrAPI extends ServarrBase<{ movieId: number }> { }, }); - if (response.data.monitored) { + if (data.monitored) { logger.info( 'Found existing title in Radarr and set it to monitored.', { label: 'Radarr', - movieId: response.data.id, - movieTitle: response.data.title, + movieId: data.id, + movieTitle: data.title, } ); logger.debug('Radarr update details', { label: 'Radarr', - movie: response.data, + movie: data, }); if (options.searchNow) { - this.searchMovie(response.data.id); + this.searchMovie(data.id); } - return response.data; + return data; } else { logger.error('Failed to update existing movie in Radarr.', { label: 'Radarr', @@ -150,7 +148,7 @@ class RadarrAPI extends ServarrBase<{ movieId: number }> { return movie; } - const response = await this.axios.post(`/movie`, { + const data = await this.post(`/movie`, { title: options.title, qualityProfileId: options.qualityProfileId, profileId: options.profileId, @@ -166,11 +164,11 @@ class RadarrAPI extends ServarrBase<{ movieId: number }> { }, }); - if (response.data.id) { + if (data.id) { logger.info('Radarr accepted request', { label: 'Radarr' }); logger.debug('Radarr add details', { label: 'Radarr', - movie: response.data, + movie: data, }); } else { logger.error('Failed to add movie to Radarr', { @@ -179,7 +177,7 @@ class RadarrAPI extends ServarrBase<{ movieId: number }> { }); throw new Error('Failed to add movie to Radarr'); } - return response.data; + return data; } catch (e) { logger.error( 'Failed to add movie to Radarr. This might happen if the movie already exists, in which case you can safely ignore this error.', @@ -216,11 +214,9 @@ class RadarrAPI extends ServarrBase<{ movieId: number }> { public removeMovie = async (movieId: number): Promise => { try { const { id, title } = await this.getMovieByTmdbId(movieId); - await this.axios.delete(`/movie/${id}`, { - params: { - deleteFiles: true, - addImportExclusion: false, - }, + await this.delete(`/movie/${id}`, { + deleteFiles: 'true', + addImportExclusion: 'false', }); logger.info(`[Radarr] Removed movie ${title}`); } catch (e) { diff --git a/server/api/servarr/sonarr.ts b/server/api/servarr/sonarr.ts index bba039cf..1650b6d0 100644 --- a/server/api/servarr/sonarr.ts +++ b/server/api/servarr/sonarr.ts @@ -117,9 +117,9 @@ class SonarrAPI extends ServarrBase<{ public async getSeries(): Promise { try { - const response = await this.axios.get('/series'); + const data = await this.get('/series'); - return response.data; + return data; } catch (e) { throw new Error(`[Sonarr] Failed to retrieve series: ${e.message}`); } @@ -127,9 +127,9 @@ class SonarrAPI extends ServarrBase<{ public async getSeriesById(id: number): Promise { try { - const response = await this.axios.get(`/series/${id}`); + const data = await this.get(`/series/${id}`); - return response.data; + return data; } catch (e) { throw new Error(`[Sonarr] Failed to retrieve series by ID: ${e.message}`); } @@ -137,17 +137,15 @@ class SonarrAPI extends ServarrBase<{ public async getSeriesByTitle(title: string): Promise { try { - const response = await this.axios.get('/series/lookup', { - params: { - term: title, - }, + const data = await this.get('/series/lookup', { + term: title, }); - if (!response.data[0]) { + if (!data[0]) { throw new Error('No series found'); } - return response.data; + return data; } catch (e) { logger.error('Error retrieving series by series title', { label: 'Sonarr API', @@ -160,17 +158,15 @@ class SonarrAPI extends ServarrBase<{ public async getSeriesByTvdbId(id: number): Promise { try { - const response = await this.axios.get('/series/lookup', { - params: { - term: `tvdb:${id}`, - }, + const data = await this.get('/series/lookup', { + term: `tvdb:${id}`, }); - if (!response.data[0]) { + if (!data[0]) { throw new Error('Series not found'); } - return response.data[0]; + return data[0]; } catch (e) { logger.error('Error retrieving series by tvdb ID', { label: 'Sonarr API', @@ -191,27 +187,27 @@ class SonarrAPI extends ServarrBase<{ series.tags = options.tags ?? series.tags; series.seasons = this.buildSeasonList(options.seasons, series.seasons); - const newSeriesResponse = await this.axios.put( + const newSeriesData = await this.put( '/series', - series + series as any ); - if (newSeriesResponse.data.id) { + if (newSeriesData.id) { logger.info('Updated existing series in Sonarr.', { label: 'Sonarr', - seriesId: newSeriesResponse.data.id, - seriesTitle: newSeriesResponse.data.title, + seriesId: newSeriesData.id, + seriesTitle: newSeriesData.title, }); logger.debug('Sonarr update details', { label: 'Sonarr', - movie: newSeriesResponse.data, + movie: newSeriesData, }); if (options.searchNow) { - this.searchSeries(newSeriesResponse.data.id); + this.searchSeries(newSeriesData.id); } - return newSeriesResponse.data; + return newSeriesData; } else { logger.error('Failed to update series in Sonarr', { label: 'Sonarr', @@ -221,38 +217,35 @@ class SonarrAPI extends ServarrBase<{ } } - const createdSeriesResponse = await this.axios.post( - '/series', - { - tvdbId: options.tvdbid, - title: options.title, - qualityProfileId: options.profileId, - languageProfileId: options.languageProfileId, - seasons: this.buildSeasonList( - options.seasons, - series.seasons.map((season) => ({ - seasonNumber: season.seasonNumber, - // We force all seasons to false if its the first request - monitored: false, - })) - ), - tags: options.tags, - seasonFolder: options.seasonFolder, - monitored: options.monitored, - rootFolderPath: options.rootFolderPath, - seriesType: options.seriesType, - addOptions: { - ignoreEpisodesWithFiles: true, - searchForMissingEpisodes: options.searchNow, - }, - } as Partial - ); + const createdSeriesData = await this.post('/series', { + tvdbId: options.tvdbid, + title: options.title, + qualityProfileId: options.profileId, + languageProfileId: options.languageProfileId, + seasons: this.buildSeasonList( + options.seasons, + series.seasons.map((season) => ({ + seasonNumber: season.seasonNumber, + // We force all seasons to false if its the first request + monitored: false, + })) + ), + tags: options.tags, + seasonFolder: options.seasonFolder, + monitored: options.monitored, + rootFolderPath: options.rootFolderPath, + seriesType: options.seriesType, + addOptions: { + ignoreEpisodesWithFiles: true, + searchForMissingEpisodes: options.searchNow, + }, + } as Partial); - if (createdSeriesResponse.data.id) { + if (createdSeriesData.id) { logger.info('Sonarr accepted request', { label: 'Sonarr' }); logger.debug('Sonarr add details', { label: 'Sonarr', - movie: createdSeriesResponse.data, + movie: createdSeriesData, }); } else { logger.error('Failed to add movie to Sonarr', { @@ -262,7 +255,7 @@ class SonarrAPI extends ServarrBase<{ throw new Error('Failed to add series to Sonarr'); } - return createdSeriesResponse.data; + return createdSeriesData; } catch (e) { logger.error('Something went wrong while adding a series to Sonarr.', { label: 'Sonarr API', @@ -340,14 +333,13 @@ class SonarrAPI extends ServarrBase<{ return newSeasons; } + public removeSerie = async (serieId: number): Promise => { try { const { id, title } = await this.getSeriesByTvdbId(serieId); - await this.axios.delete(`/series/${id}`, { - params: { - deleteFiles: true, - addImportExclusion: false, - }, + await this.delete(`/series/${id}`, { + deleteFiles: 'true', + addImportExclusion: 'false', }); logger.info(`[Radarr] Removed serie ${title}`); } catch (e) { diff --git a/server/api/tautulli.ts b/server/api/tautulli.ts index 0e5e0707..a7e66703 100644 --- a/server/api/tautulli.ts +++ b/server/api/tautulli.ts @@ -1,8 +1,7 @@ +import ExternalAPI from '@server/api/externalapi'; import type { User } from '@server/entity/User'; import type { TautulliSettings } from '@server/lib/settings'; import logger from '@server/logger'; -import type { AxiosInstance } from 'axios'; -import axios from 'axios'; import { uniqWith } from 'lodash'; export interface TautulliHistoryRecord { @@ -113,25 +112,25 @@ interface TautulliInfoResponse { }; } -class TautulliAPI { - private axios: AxiosInstance; - +class TautulliAPI extends ExternalAPI { constructor(settings: TautulliSettings) { - this.axios = axios.create({ - baseURL: `${settings.useSsl ? 'https' : 'http'}://${settings.hostname}:${ + super( + `${settings.useSsl ? 'https' : 'http'}://${settings.hostname}:${ settings.port }${settings.urlBase ?? ''}`, - params: { apikey: settings.apiKey }, - }); + { + apikey: settings.apiKey || '', + } + ); } public async getInfo(): Promise { try { return ( - await this.axios.get('/api/v2', { - params: { cmd: 'get_tautulli_info' }, + await this.get('/api/v2', { + cmd: 'get_tautulli_info', }) - ).data.response.data; + ).response.data; } catch (e) { logger.error('Something went wrong fetching Tautulli server info', { label: 'Tautulli API', @@ -148,14 +147,12 @@ class TautulliAPI { ): Promise { try { return ( - await this.axios.get('/api/v2', { - params: { - cmd: 'get_item_watch_time_stats', - rating_key: ratingKey, - grouping: 1, - }, + await this.get('/api/v2', { + cmd: 'get_item_watch_time_stats', + rating_key: ratingKey, + grouping: '1', }) - ).data.response.data; + ).response.data; } catch (e) { logger.error( 'Something went wrong fetching media watch stats from Tautulli', @@ -176,14 +173,12 @@ class TautulliAPI { ): Promise { try { return ( - await this.axios.get('/api/v2', { - params: { - cmd: 'get_item_user_stats', - rating_key: ratingKey, - grouping: 1, - }, + await this.get('/api/v2', { + cmd: 'get_item_user_stats', + rating_key: ratingKey, + grouping: '1', }) - ).data.response.data; + ).response.data; } catch (e) { logger.error( 'Something went wrong fetching media watch users from Tautulli', @@ -206,15 +201,13 @@ class TautulliAPI { } return ( - await this.axios.get('/api/v2', { - params: { - cmd: 'get_user_watch_time_stats', - user_id: user.plexId, - query_days: 0, - grouping: 1, - }, + await this.get('/api/v2', { + cmd: 'get_user_watch_time_stats', + user_id: user.plexId.toString(), + query_days: '0', + grouping: '1', }) - ).data.response.data[0]; + ).response.data[0]; } catch (e) { logger.error( 'Something went wrong fetching user watch stats from Tautulli', @@ -245,19 +238,17 @@ class TautulliAPI { while (results.length < 20) { const tautulliData = ( - await this.axios.get('/api/v2', { - params: { - cmd: 'get_history', - grouping: 1, - order_column: 'date', - order_dir: 'desc', - user_id: user.plexId, - media_type: 'movie,episode', - length: take, - start, - }, + await this.get('/api/v2', { + cmd: 'get_history', + grouping: '1', + order_column: 'date', + order_dir: 'desc', + user_id: user.plexId.toString(), + media_type: 'movie,episode', + length: take.toString(), + start: start.toString(), }) - ).data.response.data.data; + ).response.data.data; if (!tautulliData.length) { return results; diff --git a/server/api/themoviedb/index.ts b/server/api/themoviedb/index.ts index ef36fcd6..922ff90f 100644 --- a/server/api/themoviedb/index.ts +++ b/server/api/themoviedb/index.ts @@ -112,8 +112,8 @@ class TheMovieDb extends ExternalAPI { { nodeCache: cacheManager.getCache('tmdb').data, rateLimit: { - maxRequests: 20, maxRPS: 50, + id: 'tmdb', }, } ); @@ -129,7 +129,10 @@ class TheMovieDb extends ExternalAPI { }: SearchOptions): Promise => { try { const data = await this.get('/search/multi', { - params: { query, page, include_adult: includeAdult, language }, + query, + page: page.toString(), + include_adult: includeAdult ? 'true' : 'false', + language, }); return data; @@ -152,13 +155,11 @@ class TheMovieDb extends ExternalAPI { }: SingleSearchOptions): Promise => { try { const data = await this.get('/search/movie', { - params: { - query, - page, - include_adult: includeAdult, - language, - primary_release_year: year, - }, + query, + page: page.toString(), + include_adult: includeAdult ? 'true' : 'false', + language, + primary_release_year: year?.toString() || '', }); return data; @@ -181,13 +182,11 @@ class TheMovieDb extends ExternalAPI { }: SingleSearchOptions): Promise => { try { const data = await this.get('/search/tv', { - params: { - query, - page, - include_adult: includeAdult, - language, - first_air_date_year: year, - }, + query, + page: page.toString(), + include_adult: includeAdult ? 'true' : 'false', + language, + first_air_date_year: year?.toString() || '', }); return data; @@ -210,7 +209,7 @@ class TheMovieDb extends ExternalAPI { }): Promise => { try { const data = await this.get(`/person/${personId}`, { - params: { language }, + language, }); return data; @@ -230,7 +229,7 @@ class TheMovieDb extends ExternalAPI { const data = await this.get( `/person/${personId}/combined_credits`, { - params: { language }, + language, } ); @@ -253,11 +252,9 @@ class TheMovieDb extends ExternalAPI { const data = await this.get( `/movie/${movieId}`, { - params: { - language, - append_to_response: - 'credits,external_ids,videos,keywords,release_dates,watch/providers', - }, + language, + append_to_response: + 'credits,external_ids,videos,keywords,release_dates,watch/providers', }, 43200 ); @@ -279,11 +276,9 @@ class TheMovieDb extends ExternalAPI { const data = await this.get( `/tv/${tvId}`, { - params: { - language, - append_to_response: - 'aggregate_credits,credits,external_ids,keywords,videos,content_ratings,watch/providers', - }, + language, + append_to_response: + 'aggregate_credits,credits,external_ids,keywords,videos,content_ratings,watch/providers', }, 43200 ); @@ -307,10 +302,8 @@ class TheMovieDb extends ExternalAPI { const data = await this.get( `/tv/${tvId}/season/${seasonNumber}`, { - params: { - language, - append_to_response: 'external_ids', - }, + language: language || '', + append_to_response: 'external_ids', } ); @@ -333,10 +326,8 @@ class TheMovieDb extends ExternalAPI { const data = await this.get( `/movie/${movieId}/recommendations`, { - params: { - page, - language, - }, + page: page.toString(), + language, } ); @@ -359,10 +350,8 @@ class TheMovieDb extends ExternalAPI { const data = await this.get( `/movie/${movieId}/similar`, { - params: { - page, - language, - }, + page: page.toString(), + language, } ); @@ -385,10 +374,8 @@ class TheMovieDb extends ExternalAPI { const data = await this.get( `/keyword/${keywordId}/movies`, { - params: { - page, - language, - }, + page: page.toString(), + language, } ); @@ -411,10 +398,8 @@ class TheMovieDb extends ExternalAPI { const data = await this.get( `/tv/${tvId}/recommendations`, { - params: { - page, - language, - }, + page: page.toString(), + language, } ); @@ -437,10 +422,8 @@ class TheMovieDb extends ExternalAPI { }): Promise { try { const data = await this.get(`/tv/${tvId}/similar`, { - params: { - page, - language, - }, + page: page.toString(), + language, }); return data; @@ -481,40 +464,38 @@ class TheMovieDb extends ExternalAPI { .split('T')[0]; const data = await this.get('/discover/movie', { - params: { - sort_by: sortBy, - page, - include_adult: includeAdult, - language, - region: this.region, - with_original_language: - originalLanguage && originalLanguage !== 'all' - ? originalLanguage - : originalLanguage === 'all' - ? undefined - : this.originalLanguage, - // Set our release date values, but check if one is set and not the other, - // so we can force a past date or a future date. TMDB Requires both values if one is set! - 'primary_release_date.gte': - !primaryReleaseDateGte && primaryReleaseDateLte - ? defaultPastDate - : primaryReleaseDateGte, - 'primary_release_date.lte': - !primaryReleaseDateLte && primaryReleaseDateGte - ? defaultFutureDate - : primaryReleaseDateLte, - with_genres: genre, - with_companies: studio, - with_keywords: keywords, - 'with_runtime.gte': withRuntimeGte, - 'with_runtime.lte': withRuntimeLte, - 'vote_average.gte': voteAverageGte, - 'vote_average.lte': voteAverageLte, - 'vote_count.gte': voteCountGte, - 'vote_count.lte': voteCountLte, - watch_region: watchRegion, - with_watch_providers: watchProviders, - }, + sort_by: sortBy, + page: page.toString(), + include_adult: includeAdult ? 'true' : 'false', + language, + region: this.region || '', + with_original_language: + originalLanguage && originalLanguage !== 'all' + ? originalLanguage + : originalLanguage === 'all' + ? '' + : this.originalLanguage || '', + // Set our release date values, but check if one is set and not the other, + // so we can force a past date or a future date. TMDB Requires both values if one is set! + 'primary_release_date.gte': + !primaryReleaseDateGte && primaryReleaseDateLte + ? defaultPastDate + : primaryReleaseDateGte || '', + 'primary_release_date.lte': + !primaryReleaseDateLte && primaryReleaseDateGte + ? defaultFutureDate + : primaryReleaseDateLte || '', + with_genres: genre || '', + with_companies: studio || '', + with_keywords: keywords || '', + 'with_runtime.gte': withRuntimeGte || '', + 'with_runtime.lte': withRuntimeLte || '', + 'vote_average.gte': voteAverageGte || '', + 'vote_average.lte': voteAverageLte || '', + 'vote_count.gte': voteCountGte || '', + 'vote_count.lte': voteCountLte || '', + watch_region: watchRegion || '', + with_watch_providers: watchProviders || '', }); return data; @@ -555,40 +536,40 @@ class TheMovieDb extends ExternalAPI { .split('T')[0]; const data = await this.get('/discover/tv', { - params: { - sort_by: sortBy, - page, - language, - region: this.region, - // Set our release date values, but check if one is set and not the other, - // so we can force a past date or a future date. TMDB Requires both values if one is set! - 'first_air_date.gte': - !firstAirDateGte && firstAirDateLte - ? defaultPastDate - : firstAirDateGte, - 'first_air_date.lte': - !firstAirDateLte && firstAirDateGte - ? defaultFutureDate - : firstAirDateLte, - with_original_language: - originalLanguage && originalLanguage !== 'all' - ? originalLanguage - : originalLanguage === 'all' - ? undefined - : this.originalLanguage, - include_null_first_air_dates: includeEmptyReleaseDate, - with_genres: genre, - with_networks: network, - with_keywords: keywords, - 'with_runtime.gte': withRuntimeGte, - 'with_runtime.lte': withRuntimeLte, - 'vote_average.gte': voteAverageGte, - 'vote_average.lte': voteAverageLte, - 'vote_count.gte': voteCountGte, - 'vote_count.lte': voteCountLte, - with_watch_providers: watchProviders, - watch_region: watchRegion, - }, + sort_by: sortBy, + page: page.toString(), + language, + region: this.region || '', + // Set our release date values, but check if one is set and not the other, + // so we can force a past date or a future date. TMDB Requires both values if one is set! + 'first_air_date.gte': + !firstAirDateGte && firstAirDateLte + ? defaultPastDate + : firstAirDateGte || '', + 'first_air_date.lte': + !firstAirDateLte && firstAirDateGte + ? defaultFutureDate + : firstAirDateLte || '', + with_original_language: + originalLanguage && originalLanguage !== 'all' + ? originalLanguage + : originalLanguage === 'all' + ? '' + : this.originalLanguage || '', + include_null_first_air_dates: includeEmptyReleaseDate + ? 'true' + : 'false', + with_genres: genre || '', + with_networks: network?.toString() || '', + with_keywords: keywords || '', + 'with_runtime.gte': withRuntimeGte || '', + 'with_runtime.lte': withRuntimeLte || '', + 'vote_average.gte': voteAverageGte || '', + 'vote_average.lte': voteAverageLte || '', + 'vote_count.gte': voteCountGte || '', + 'vote_count.lte': voteCountLte || '', + with_watch_providers: watchProviders || '', + watch_region: watchRegion || '', }); return data; @@ -608,12 +589,10 @@ class TheMovieDb extends ExternalAPI { const data = await this.get( '/movie/upcoming', { - params: { - page, - language, - region: this.region, - originalLanguage: this.originalLanguage, - }, + page: page.toString(), + language, + region: this.region || '', + originalLanguage: this.originalLanguage || '', } ); @@ -636,11 +615,9 @@ class TheMovieDb extends ExternalAPI { const data = await this.get( `/trending/all/${timeWindow}`, { - params: { - page, - language, - region: this.region, - }, + page: page.toString(), + language, + region: this.region || '', } ); @@ -661,9 +638,7 @@ class TheMovieDb extends ExternalAPI { const data = await this.get( `/trending/movie/${timeWindow}`, { - params: { - page, - }, + page: page.toString(), } ); @@ -684,9 +659,7 @@ class TheMovieDb extends ExternalAPI { const data = await this.get( `/trending/tv/${timeWindow}`, { - params: { - page, - }, + page: page.toString(), } ); @@ -715,10 +688,8 @@ class TheMovieDb extends ExternalAPI { const data = await this.get( `/find/${externalId}`, { - params: { - external_source: type === 'imdb' ? 'imdb_id' : 'tvdb_id', - language, - }, + external_source: type === 'imdb' ? 'imdb_id' : 'tvdb_id', + language, } ); @@ -808,9 +779,7 @@ class TheMovieDb extends ExternalAPI { const data = await this.get( `/collection/${collectionId}`, { - params: { - language, - }, + language, } ); @@ -883,9 +852,7 @@ class TheMovieDb extends ExternalAPI { const data = await this.get( '/genre/movie/list', { - params: { - language, - }, + language, }, 86400 // 24 hours ); @@ -897,9 +864,7 @@ class TheMovieDb extends ExternalAPI { const englishData = await this.get( '/genre/movie/list', { - params: { - language: 'en', - }, + language: 'en', }, 86400 // 24 hours ); @@ -934,9 +899,7 @@ class TheMovieDb extends ExternalAPI { const data = await this.get( '/genre/tv/list', { - params: { - language, - }, + language, }, 86400 // 24 hours ); @@ -948,9 +911,7 @@ class TheMovieDb extends ExternalAPI { const englishData = await this.get( '/genre/tv/list', { - params: { - language: 'en', - }, + language: 'en', }, 86400 // 24 hours ); @@ -1005,10 +966,8 @@ class TheMovieDb extends ExternalAPI { const data = await this.get( '/search/keyword', { - params: { - query, - page, - }, + query, + page: page.toString(), }, 86400 // 24 hours ); @@ -1030,10 +989,8 @@ class TheMovieDb extends ExternalAPI { const data = await this.get( '/search/company', { - params: { - query, - page, - }, + query, + page: page.toString(), }, 86400 // 24 hours ); @@ -1053,9 +1010,7 @@ class TheMovieDb extends ExternalAPI { const data = await this.get<{ results: TmdbWatchProviderRegion[] }>( '/watch/providers/regions', { - params: { - language: language ?? this.originalLanguage, - }, + language: language ? this.originalLanguage || '' : '', }, 86400 // 24 hours ); @@ -1079,10 +1034,8 @@ class TheMovieDb extends ExternalAPI { const data = await this.get<{ results: TmdbWatchProviderDetails[] }>( '/watch/providers/movie', { - params: { - language: language ?? this.originalLanguage, - watch_region: watchRegion, - }, + language: language ? this.originalLanguage || '' : '', + watch_region: watchRegion, }, 86400 // 24 hours ); @@ -1106,10 +1059,8 @@ class TheMovieDb extends ExternalAPI { const data = await this.get<{ results: TmdbWatchProviderDetails[] }>( '/watch/providers/tv', { - params: { - language: language ?? this.originalLanguage, - watch_region: watchRegion, - }, + language: language ? this.originalLanguage || '' : '', + watch_region: watchRegion, }, 86400 // 24 hours ); diff --git a/server/index.ts b/server/index.ts index c0d1866d..2d90f05c 100644 --- a/server/index.ts +++ b/server/index.ts @@ -32,10 +32,17 @@ import * as OpenApiValidator from 'express-openapi-validator'; import type { Store } from 'express-session'; import session from 'express-session'; import next from 'next'; +import dns from 'node:dns'; +import net from 'node:net'; import path from 'path'; import swaggerUi from 'swagger-ui-express'; import YAML from 'yamljs'; +if (process.env.forceIpv4First === 'true') { + dns.setDefaultResultOrder('ipv4first'); + net.setDefaultAutoSelectFamily(false); +} + const API_SPEC_PATH = path.join(__dirname, '../overseerr-api.yml'); logger.info(`Starting Overseerr version ${getAppVersion()}`); @@ -56,7 +63,7 @@ app } // Load Settings - const settings = getSettings().load(); + const settings = getSettings(); restartFlag.initializeSettings(settings.main); // Migrate library types diff --git a/server/lib/imageproxy.ts b/server/lib/imageproxy.ts index 38203b7b..195e96b9 100644 --- a/server/lib/imageproxy.ts +++ b/server/lib/imageproxy.ts @@ -1,6 +1,6 @@ import logger from '@server/logger'; -import axios from 'axios'; -import rateLimit, { type rateLimitOptions } from 'axios-rate-limit'; +import type { RateLimitOptions } from '@server/utils/rateLimit'; +import rateLimit from '@server/utils/rateLimit'; import { createHash } from 'crypto'; import { promises } from 'fs'; import path, { join } from 'path'; @@ -98,26 +98,29 @@ class ImageProxy { return files.length; } - private axios; + private fetch: typeof fetch; private cacheVersion; private key; + private baseUrl; constructor( key: string, baseUrl: string, options: { cacheVersion?: number; - rateLimitOptions?: rateLimitOptions; + rateLimitOptions?: RateLimitOptions; } = {} ) { this.cacheVersion = options.cacheVersion ?? 1; + this.baseUrl = baseUrl; this.key = key; - this.axios = axios.create({ - baseURL: baseUrl, - }); if (options.rateLimitOptions) { - this.axios = rateLimit(this.axios, options.rateLimitOptions); + this.fetch = rateLimit(fetch, { + ...options.rateLimitOptions, + }); + } else { + this.fetch = fetch; } } @@ -182,17 +185,20 @@ class ImageProxy { ): Promise { try { const directory = join(this.getCacheDirectory(), cacheKey); - const response = await this.axios.get(path, { - responseType: 'arraybuffer', - }); + const href = + this.baseUrl + + (this.baseUrl.endsWith('/') ? '' : '/') + + (path.startsWith('/') ? path.slice(1) : path); + const response = await this.fetch(href); + const arrayBuffer = await response.arrayBuffer(); + const buffer = Buffer.from(arrayBuffer); - const buffer = Buffer.from(response.data, 'binary'); const extension = path.split('.').pop() ?? ''; const maxAge = Number( - (response.headers['cache-control'] ?? '0').split('=')[1] + (response.headers.get('cache-control') ?? '0').split('=')[1] ); const expireAt = Date.now() + maxAge * 1000; - const etag = (response.headers.etag ?? '').replace(/"/g, ''); + const etag = (response.headers.get('etag') ?? '').replace(/"/g, ''); await this.writeToCacheDir( directory, diff --git a/server/lib/notifications/agents/discord.ts b/server/lib/notifications/agents/discord.ts index 67a278bf..1585af5a 100644 --- a/server/lib/notifications/agents/discord.ts +++ b/server/lib/notifications/agents/discord.ts @@ -4,7 +4,6 @@ import { User } from '@server/entity/User'; import type { NotificationAgentDiscord } from '@server/lib/settings'; import { getSettings, NotificationAgentKey } from '@server/lib/settings'; import logger from '@server/logger'; -import axios from 'axios'; import { hasNotificationType, Notification, @@ -292,14 +291,20 @@ class DiscordAgent } } - await axios.post(settings.options.webhookUrl, { - username: settings.options.botUsername - ? settings.options.botUsername - : getSettings().main.applicationTitle, - avatar_url: settings.options.botAvatarUrl, - embeds: [this.buildEmbed(type, payload)], - content: userMentions.join(' '), - } as DiscordWebhookPayload); + await fetch(settings.options.webhookUrl, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + username: settings.options.botUsername + ? settings.options.botUsername + : getSettings().main.applicationTitle, + avatar_url: settings.options.botAvatarUrl, + embeds: [this.buildEmbed(type, payload)], + content: userMentions.join(' '), + } as DiscordWebhookPayload), + }); return true; } catch (e) { diff --git a/server/lib/notifications/agents/gotify.ts b/server/lib/notifications/agents/gotify.ts index d07caac4..c390fbf8 100644 --- a/server/lib/notifications/agents/gotify.ts +++ b/server/lib/notifications/agents/gotify.ts @@ -2,7 +2,6 @@ import { IssueStatus, IssueTypeName } from '@server/constants/issue'; import type { NotificationAgentGotify } from '@server/lib/settings'; import { getSettings } from '@server/lib/settings'; import logger from '@server/logger'; -import axios from 'axios'; import { hasNotificationType, Notification } from '..'; import type { NotificationAgent, NotificationPayload } from './agent'; import { BaseAgent } from './agent'; @@ -133,7 +132,13 @@ class GotifyAgent const endpoint = `${settings.options.url}/message?token=${settings.options.token}`; const notificationPayload = this.getNotificationPayload(type, payload); - await axios.post(endpoint, notificationPayload); + await fetch(endpoint, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify(notificationPayload), + }); return true; } catch (e) { diff --git a/server/lib/notifications/agents/lunasea.ts b/server/lib/notifications/agents/lunasea.ts index 885b038c..1e8e3efa 100644 --- a/server/lib/notifications/agents/lunasea.ts +++ b/server/lib/notifications/agents/lunasea.ts @@ -3,7 +3,6 @@ import { MediaStatus } from '@server/constants/media'; import type { NotificationAgentLunaSea } from '@server/lib/settings'; import { getSettings } from '@server/lib/settings'; import logger from '@server/logger'; -import axios from 'axios'; import { hasNotificationType, Notification } from '..'; import type { NotificationAgent, NotificationPayload } from './agent'; import { BaseAgent } from './agent'; @@ -101,19 +100,20 @@ class LunaSeaAgent }); try { - await axios.post( - settings.options.webhookUrl, - this.buildPayload(type, payload), - settings.options.profileName + await fetch(settings.options.webhookUrl, { + method: 'POST', + headers: settings.options.profileName ? { - headers: { - Authorization: `Basic ${Buffer.from( - `${settings.options.profileName}:` - ).toString('base64')}`, - }, + 'Content-Type': 'application/json', } - : undefined - ); + : { + 'Content-Type': 'application/json', + Authorization: `Basic ${Buffer.from( + `${settings.options.profileName}:` + ).toString('base64')}`, + }, + body: JSON.stringify(this.buildPayload(type, payload)), + }); return true; } catch (e) { diff --git a/server/lib/notifications/agents/pushbullet.ts b/server/lib/notifications/agents/pushbullet.ts index eed4fda9..68aa911f 100644 --- a/server/lib/notifications/agents/pushbullet.ts +++ b/server/lib/notifications/agents/pushbullet.ts @@ -5,7 +5,6 @@ import { User } from '@server/entity/User'; import type { NotificationAgentPushbullet } from '@server/lib/settings'; import { getSettings, NotificationAgentKey } from '@server/lib/settings'; import logger from '@server/logger'; -import axios from 'axios'; import { hasNotificationType, Notification, @@ -123,15 +122,17 @@ class PushbulletAgent }); try { - await axios.post( - endpoint, - { ...notificationPayload, channel_tag: settings.options.channelTag }, - { - headers: { - 'Access-Token': settings.options.accessToken, - }, - } - ); + await fetch(endpoint, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'Access-Token': settings.options.accessToken, + }, + body: JSON.stringify({ + ...notificationPayload, + channel_tag: settings.options.channelTag, + }), + }); } catch (e) { logger.error('Error sending Pushbullet notification', { label: 'Notifications', @@ -163,10 +164,13 @@ class PushbulletAgent }); try { - await axios.post(endpoint, notificationPayload, { + await fetch(endpoint, { + method: 'POST', headers: { + 'Content-Type': 'application/json', 'Access-Token': payload.notifyUser.settings.pushbulletAccessToken, }, + body: JSON.stringify(notificationPayload), }); } catch (e) { logger.error('Error sending Pushbullet notification', { @@ -211,10 +215,13 @@ class PushbulletAgent }); try { - await axios.post(endpoint, notificationPayload, { + await fetch(endpoint, { + method: 'POST', headers: { + 'Content-Type': 'application/json', 'Access-Token': user.settings.pushbulletAccessToken, }, + body: JSON.stringify(notificationPayload), }); } catch (e) { logger.error('Error sending Pushbullet notification', { diff --git a/server/lib/notifications/agents/pushover.ts b/server/lib/notifications/agents/pushover.ts index db5176a7..e2a0650e 100644 --- a/server/lib/notifications/agents/pushover.ts +++ b/server/lib/notifications/agents/pushover.ts @@ -5,7 +5,6 @@ import { User } from '@server/entity/User'; import type { NotificationAgentPushover } from '@server/lib/settings'; import { getSettings, NotificationAgentKey } from '@server/lib/settings'; import logger from '@server/logger'; -import axios from 'axios'; import { hasNotificationType, Notification, @@ -52,12 +51,12 @@ class PushoverAgent imageUrl: string ): Promise> { try { - const response = await axios.get(imageUrl, { - responseType: 'arraybuffer', - }); - const base64 = Buffer.from(response.data, 'binary').toString('base64'); + const response = await fetch(imageUrl); + const arrayBuffer = await response.arrayBuffer(); + const base64 = Buffer.from(arrayBuffer).toString('base64'); const contentType = ( - response.headers['Content-Type'] || response.headers['content-type'] + response.headers.get('Content-Type') || + response.headers.get('content-type') )?.toString(); return { @@ -201,12 +200,18 @@ class PushoverAgent }); try { - await axios.post(endpoint, { - ...notificationPayload, - token: settings.options.accessToken, - user: settings.options.userToken, - sound: settings.options.sound, - } as PushoverPayload); + await fetch(endpoint, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + ...notificationPayload, + token: settings.options.accessToken, + user: settings.options.userToken, + sound: settings.options.sound, + } as PushoverPayload), + }); } catch (e) { logger.error('Error sending Pushover notification', { label: 'Notifications', @@ -241,12 +246,18 @@ class PushoverAgent }); try { - await axios.post(endpoint, { - ...notificationPayload, - token: payload.notifyUser.settings.pushoverApplicationToken, - user: payload.notifyUser.settings.pushoverUserKey, - sound: payload.notifyUser.settings.pushoverSound, - } as PushoverPayload); + await fetch(endpoint, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + ...notificationPayload, + token: payload.notifyUser.settings.pushoverApplicationToken, + user: payload.notifyUser.settings.pushoverUserKey, + sound: payload.notifyUser.settings.pushoverSound, + } as PushoverPayload), + }); } catch (e) { logger.error('Error sending Pushover notification', { label: 'Notifications', @@ -291,11 +302,17 @@ class PushoverAgent }); try { - await axios.post(endpoint, { - ...notificationPayload, - token: user.settings.pushoverApplicationToken, - user: user.settings.pushoverUserKey, - } as PushoverPayload); + await fetch(endpoint, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + ...notificationPayload, + token: user.settings.pushoverApplicationToken, + user: user.settings.pushoverUserKey, + } as PushoverPayload), + }); } catch (e) { logger.error('Error sending Pushover notification', { label: 'Notifications', diff --git a/server/lib/notifications/agents/slack.ts b/server/lib/notifications/agents/slack.ts index 9447cda3..175f38a5 100644 --- a/server/lib/notifications/agents/slack.ts +++ b/server/lib/notifications/agents/slack.ts @@ -2,7 +2,6 @@ import { IssueStatus, IssueTypeName } from '@server/constants/issue'; import type { NotificationAgentSlack } from '@server/lib/settings'; import { getSettings } from '@server/lib/settings'; import logger from '@server/logger'; -import axios from 'axios'; import { hasNotificationType, Notification } from '..'; import type { NotificationAgent, NotificationPayload } from './agent'; import { BaseAgent } from './agent'; @@ -238,10 +237,13 @@ class SlackAgent subject: payload.subject, }); try { - await axios.post( - settings.options.webhookUrl, - this.buildEmbed(type, payload) - ); + await fetch(settings.options.webhookUrl, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify(this.buildEmbed(type, payload)), + }); return true; } catch (e) { diff --git a/server/lib/notifications/agents/telegram.ts b/server/lib/notifications/agents/telegram.ts index 7d706212..50cea9c0 100644 --- a/server/lib/notifications/agents/telegram.ts +++ b/server/lib/notifications/agents/telegram.ts @@ -5,7 +5,6 @@ import { User } from '@server/entity/User'; import type { NotificationAgentTelegram } from '@server/lib/settings'; import { getSettings, NotificationAgentKey } from '@server/lib/settings'; import logger from '@server/logger'; -import axios from 'axios'; import { hasNotificationType, Notification, @@ -175,11 +174,17 @@ class TelegramAgent }); try { - await axios.post(endpoint, { - ...notificationPayload, - chat_id: settings.options.chatId, - disable_notification: !!settings.options.sendSilently, - } as TelegramMessagePayload | TelegramPhotoPayload); + await fetch(endpoint, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + ...notificationPayload, + chat_id: settings.options.chatId, + disable_notification: !!settings.options.sendSilently, + } as TelegramMessagePayload | TelegramPhotoPayload), + }); } catch (e) { logger.error('Error sending Telegram notification', { label: 'Notifications', @@ -210,12 +215,18 @@ class TelegramAgent }); try { - await axios.post(endpoint, { - ...notificationPayload, - chat_id: payload.notifyUser.settings.telegramChatId, - disable_notification: - !!payload.notifyUser.settings.telegramSendSilently, - } as TelegramMessagePayload | TelegramPhotoPayload); + await fetch(endpoint, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + ...notificationPayload, + chat_id: payload.notifyUser.settings.telegramChatId, + disable_notification: + !!payload.notifyUser.settings.telegramSendSilently, + } as TelegramMessagePayload | TelegramPhotoPayload), + }); } catch (e) { logger.error('Error sending Telegram notification', { label: 'Notifications', @@ -257,11 +268,17 @@ class TelegramAgent }); try { - await axios.post(endpoint, { - ...notificationPayload, - chat_id: user.settings.telegramChatId, - disable_notification: !!user.settings?.telegramSendSilently, - } as TelegramMessagePayload | TelegramPhotoPayload); + await fetch(endpoint, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + ...notificationPayload, + chat_id: user.settings.telegramChatId, + disable_notification: !!user.settings?.telegramSendSilently, + } as TelegramMessagePayload | TelegramPhotoPayload), + }); } catch (e) { logger.error('Error sending Telegram notification', { label: 'Notifications', diff --git a/server/lib/notifications/agents/webhook.ts b/server/lib/notifications/agents/webhook.ts index b8e8969d..7382f1d0 100644 --- a/server/lib/notifications/agents/webhook.ts +++ b/server/lib/notifications/agents/webhook.ts @@ -3,7 +3,6 @@ import { MediaStatus } from '@server/constants/media'; import type { NotificationAgentWebhook } from '@server/lib/settings'; import { getSettings } from '@server/lib/settings'; import logger from '@server/logger'; -import axios from 'axios'; import { get } from 'lodash'; import { hasNotificationType, Notification } from '..'; import type { NotificationAgent, NotificationPayload } from './agent'; @@ -178,17 +177,16 @@ class WebhookAgent }); try { - await axios.post( - settings.options.webhookUrl, - this.buildPayload(type, payload), - settings.options.authHeader - ? { - headers: { - Authorization: settings.options.authHeader, - }, - } - : undefined - ); + await fetch(settings.options.webhookUrl, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + ...(settings.options.authHeader + ? { Authorization: settings.options.authHeader } + : {}), + }, + body: JSON.stringify(this.buildPayload(type, payload)), + }); return true; } catch (e) { diff --git a/server/lib/scanners/jellyfin/index.ts b/server/lib/scanners/jellyfin/index.ts index fa7cdb22..baa8d963 100644 --- a/server/lib/scanners/jellyfin/index.ts +++ b/server/lib/scanners/jellyfin/index.ts @@ -595,10 +595,8 @@ class JellyfinScanner { return this.log('No admin configured. Jellyfin sync skipped.', 'warn'); } - const hostname = getHostname(); - this.jfClient = new JellyfinAPI( - hostname, + getHostname(), admin.jellyfinAuthToken, admin.jellyfinDeviceId ); diff --git a/server/lib/settings/index.ts b/server/lib/settings/index.ts index ad613cc3..7c117c11 100644 --- a/server/lib/settings/index.ts +++ b/server/lib/settings/index.ts @@ -656,6 +656,7 @@ class Settings { } } +let loaded = false; let settings: Settings | undefined; export const getSettings = (initialSettings?: AllSettings): Settings => { @@ -663,6 +664,11 @@ export const getSettings = (initialSettings?: AllSettings): Settings => { settings = new Settings(initialSettings); } + if (!loaded) { + settings.load(); + loaded = true; + } + return settings; }; diff --git a/server/routes/imageproxy.ts b/server/routes/imageproxy.ts index 6cf104f5..df4b4ffe 100644 --- a/server/routes/imageproxy.ts +++ b/server/routes/imageproxy.ts @@ -5,7 +5,6 @@ import { Router } from 'express'; const router = Router(); const tmdbImageProxy = new ImageProxy('tmdb', 'https://image.tmdb.org', { rateLimitOptions: { - maxRequests: 20, maxRPS: 50, }, }); diff --git a/server/routes/settings/index.ts b/server/routes/settings/index.ts index 64fd83a6..9e1a6220 100644 --- a/server/routes/settings/index.ts +++ b/server/routes/settings/index.ts @@ -389,6 +389,7 @@ settingsRoutes.get('/jellyfin/users', async (req, res) => { order: { id: 'ASC' }, }); const jellyfinClient = new JellyfinAPI( + getHostname(), admin.jellyfinAuthToken ?? '', admin.jellyfinDeviceId ?? '' ); diff --git a/server/routes/user/index.ts b/server/routes/user/index.ts index 6b0953e6..22ebcaa8 100644 --- a/server/routes/user/index.ts +++ b/server/routes/user/index.ts @@ -497,6 +497,7 @@ router.post( order: { id: 'ASC' }, }); const jellyfinClient = new JellyfinAPI( + getHostname(), admin.jellyfinAuthToken ?? '', admin.jellyfinDeviceId ?? '' ); diff --git a/server/utils/rateLimit.ts b/server/utils/rateLimit.ts new file mode 100644 index 00000000..3d69d6c5 --- /dev/null +++ b/server/utils/rateLimit.ts @@ -0,0 +1,73 @@ +export type RateLimitOptions = { + maxRPS: number; + id?: string; +}; + +type RateLimiteState) => Promise, U> = { + queue: { + args: Parameters; + resolve: (value: U) => void; + }[]; + activeRequests: number; + timer: NodeJS.Timeout | null; +}; + +const rateLimitById: Record = {}; + +/** + * Add a rate limit to a function so it doesn't exceed a maximum number of requests per second. Function calls exceeding the rate will be delayed. + * @param fn The function to rate limit + * @param options.maxRPS Maximum number of Requests Per Second + * @param options.id An ID to share between rate limits, so it uses the same request queue. + * @returns The function with a rate limit + */ +export default function rateLimit< + T extends (...args: Parameters) => Promise, + U +>(fn: T, options: RateLimitOptions): (...args: Parameters) => Promise { + const state: RateLimiteState = (rateLimitById[ + options.id || '' + ] as RateLimiteState) || { queue: [], activeRequests: 0, timer: null }; + if (options.id) { + rateLimitById[options.id] = state; + } + + const processQueue = () => { + if (state.queue.length === 0) { + if (state.timer) { + clearInterval(state.timer); + state.timer = null; + } + return; + } + + while (state.activeRequests < options.maxRPS) { + state.activeRequests++; + const item = state.queue.shift(); + if (!item) break; + const { args, resolve } = item; + fn(...args) + .then(resolve) + .finally(() => { + state.activeRequests--; + if (state.queue.length > 0) { + if (!state.timer) { + state.timer = setInterval(processQueue, 1000); + } + } else { + if (state.timer) { + clearInterval(state.timer); + state.timer = null; + } + } + }); + } + }; + + return (...args: Parameters): Promise => { + return new Promise((resolve) => { + state.queue.push({ args, resolve }); + processQueue(); + }); + }; +} diff --git a/src/components/Discover/CreateSlider/index.tsx b/src/components/Discover/CreateSlider/index.tsx index 32cca079..1d558faa 100644 --- a/src/components/Discover/CreateSlider/index.tsx +++ b/src/components/Discover/CreateSlider/index.tsx @@ -14,7 +14,6 @@ import { DiscoverSliderType } from '@server/constants/discover'; import type DiscoverSlider from '@server/entity/DiscoverSlider'; import type { GenreSliderItem } from '@server/interfaces/api/discoverInterfaces'; import type { Keyword, ProductionCompany } from '@server/models/common'; -import axios from 'axios'; import { Field, Form, Formik } from 'formik'; import { useCallback, useEffect, useState } from 'react'; import { useIntl } from 'react-intl'; @@ -77,11 +76,9 @@ const CreateSlider = ({ onCreate, slider }: CreateSliderProps) => { const keywords = await Promise.all( slider.data.split(',').map(async (keywordId) => { - const keyword = await axios.get( - `/api/v1/keyword/${keywordId}` - ); - - return keyword.data; + const res = await fetch(`/api/v1/keyword/${keywordId}`); + const keyword: Keyword = await res.json(); + return keyword; }) ); @@ -98,15 +95,13 @@ const CreateSlider = ({ onCreate, slider }: CreateSliderProps) => { return; } - const response = await axios.get( + const res = await fetch( `/api/v1/genres/${ slider.type === DiscoverSliderType.TMDB_MOVIE_GENRE ? 'movie' : 'tv' }` ); - - const genre = response.data.find( - (genre) => genre.id === Number(slider.data) - ); + const genres: TmdbGenre[] = await res.json(); + const genre = genres.find((genre) => genre.id === Number(slider.data)); setDefaultDataValue([ { @@ -121,11 +116,8 @@ const CreateSlider = ({ onCreate, slider }: CreateSliderProps) => { return; } - const response = await axios.get( - `/api/v1/studio/${slider.data}` - ); - - const studio = response.data; + const res = await fetch(`/api/v1/studio/${slider.data}`); + const studio: ProductionCompany = await res.json(); setDefaultDataValue([ { @@ -168,16 +160,17 @@ const CreateSlider = ({ onCreate, slider }: CreateSliderProps) => { ); const loadKeywordOptions = async (inputValue: string) => { - const results = await axios.get( - '/api/v1/search/keyword', + const res = await fetch( + `/api/v1/search/keyword?query=${encodeURIExtraParams(inputValue)}`, { - params: { - query: encodeURIExtraParams(inputValue), + headers: { + 'Content-Type': 'application/json', }, } ); + const results: TmdbKeywordSearchResponse = await res.json(); - return results.data.results.map((result) => ({ + return results.results.map((result) => ({ label: result.name, value: result.id, })); @@ -188,38 +181,37 @@ const CreateSlider = ({ onCreate, slider }: CreateSliderProps) => { return []; } - const results = await axios.get( - '/api/v1/search/company', + const res = await fetch( + `/api/v1/search/company?query=${encodeURIExtraParams(inputValue)}`, { - params: { - query: encodeURIExtraParams(inputValue), + headers: { + 'Content-Type': 'application/json', }, } ); + const results: TmdbCompanySearchResponse = await res.json(); - return results.data.results.map((result) => ({ + return results.results.map((result) => ({ label: result.name, value: result.id, })); }; const loadMovieGenreOptions = async () => { - const results = await axios.get( - '/api/v1/discover/genreslider/movie' - ); + const res = await fetch('/api/v1/discover/genreslider/movie'); + const results: GenreSliderItem[] = await res.json(); - return results.data.map((result) => ({ + return results.map((result) => ({ label: result.name, value: result.id, })); }; const loadTvGenreOptions = async () => { - const results = await axios.get( - '/api/v1/discover/genreslider/tv' - ); + const res = await fetch('/api/v1/discover/genreslider/tv'); + const results: GenreSliderItem[] = await res.json(); - return results.data.map((result) => ({ + return results.map((result) => ({ label: result.name, value: result.id, })); @@ -314,17 +306,31 @@ const CreateSlider = ({ onCreate, slider }: CreateSliderProps) => { onSubmit={async (values, { resetForm }) => { try { if (slider) { - await axios.put(`/api/v1/settings/discover/${slider.id}`, { - type: Number(values.sliderType), - title: values.title, - data: values.data, + const res = await fetch(`/api/v1/settings/discover/${slider.id}`, { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + type: Number(values.sliderType), + title: values.title, + data: values.data, + }), }); + if (!res.ok) throw new Error(); } else { - await axios.post('/api/v1/settings/discover/add', { - type: Number(values.sliderType), - title: values.title, - data: values.data, + const res = await fetch('/api/v1/settings/discover/add', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + type: Number(values.sliderType), + title: values.title, + data: values.data, + }), }); + if (!res.ok) throw new Error(); } addToast( diff --git a/src/components/Discover/DiscoverSliderEdit/index.tsx b/src/components/Discover/DiscoverSliderEdit/index.tsx index 8fd556fe..cb58b9c5 100644 --- a/src/components/Discover/DiscoverSliderEdit/index.tsx +++ b/src/components/Discover/DiscoverSliderEdit/index.tsx @@ -20,7 +20,6 @@ import { } from '@heroicons/react/24/solid'; import { DiscoverSliderType } from '@server/constants/discover'; import type DiscoverSlider from '@server/entity/DiscoverSlider'; -import axios from 'axios'; import { useRef, useState } from 'react'; import { useDrag, useDrop } from 'react-aria'; import { useIntl } from 'react-intl'; @@ -78,7 +77,10 @@ const DiscoverSliderEdit = ({ const deleteSlider = async () => { try { - await axios.delete(`/api/v1/settings/discover/${slider.id}`); + const res = await fetch(`/api/v1/settings/discover/${slider.id}`, { + method: 'DELETE', + }); + if (!res.ok) throw new Error(); addToast(intl.formatMessage(messages.deletesuccess), { appearance: 'success', autoDismiss: true, diff --git a/src/components/Discover/index.tsx b/src/components/Discover/index.tsx index d46e9955..370384f1 100644 --- a/src/components/Discover/index.tsx +++ b/src/components/Discover/index.tsx @@ -28,7 +28,6 @@ import { } from '@heroicons/react/24/solid'; import { DiscoverSliderType } from '@server/constants/discover'; import type DiscoverSlider from '@server/entity/DiscoverSlider'; -import axios from 'axios'; import { useEffect, useState } from 'react'; import { useIntl } from 'react-intl'; import { useToasts } from 'react-toast-notifications'; @@ -76,7 +75,14 @@ const Discover = () => { const updateSliders = async () => { try { - await axios.post('/api/v1/settings/discover', sliders); + const res = await fetch('/api/v1/settings/discover', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify(sliders), + }); + if (!res.ok) throw new Error(); addToast(intl.formatMessage(messages.updatesuccess), { appearance: 'success', @@ -94,7 +100,10 @@ const Discover = () => { const resetSliders = async () => { try { - await axios.get('/api/v1/settings/discover/reset'); + const res = await fetch('/api/v1/settings/discover/reset', { + method: 'GET', + }); + if (!res.ok) throw new Error(); addToast(intl.formatMessage(messages.resetsuccess), { appearance: 'success', diff --git a/src/components/IssueDetails/IssueComment/index.tsx b/src/components/IssueDetails/IssueComment/index.tsx index f0ec8a5a..aa5a65dc 100644 --- a/src/components/IssueDetails/IssueComment/index.tsx +++ b/src/components/IssueDetails/IssueComment/index.tsx @@ -5,7 +5,6 @@ import defineMessages from '@app/utils/defineMessages'; import { Menu, Transition } from '@headlessui/react'; import { EllipsisVerticalIcon } from '@heroicons/react/24/solid'; import type { default as IssueCommentType } from '@server/entity/IssueComment'; -import axios from 'axios'; import { Field, Form, Formik } from 'formik'; import Image from 'next/image'; import Link from 'next/link'; @@ -49,7 +48,10 @@ const IssueComment = ({ const deleteComment = async () => { try { - await axios.delete(`/api/v1/issueComment/${comment.id}`); + const res = await fetch(`/api/v1/issueComment/${comment.id}`, { + method: 'DELETE', + }); + if (!res.ok) throw new Error(); } catch (e) { // something went wrong deleting the comment } finally { @@ -175,9 +177,14 @@ const IssueComment = ({ { - await axios.put(`/api/v1/issueComment/${comment.id}`, { - message: values.newMessage, - }); + const res = await fetch( + `/api/v1/issueComment/${comment.id}`, + { + method: 'PUT', + body: JSON.stringify({ message: values.newMessage }), + } + ); + if (!res.ok) throw new Error(); if (onUpdate) { onUpdate(); diff --git a/src/components/IssueDetails/index.tsx b/src/components/IssueDetails/index.tsx index 0c6e831f..e4b952e2 100644 --- a/src/components/IssueDetails/index.tsx +++ b/src/components/IssueDetails/index.tsx @@ -11,7 +11,7 @@ import useDeepLinks from '@app/hooks/useDeepLinks'; import useSettings from '@app/hooks/useSettings'; import { Permission, useUser } from '@app/hooks/useUser'; import globalMessages from '@app/i18n/globalMessages'; -import Error from '@app/pages/_error'; +import ErrorPage from '@app/pages/_error'; import defineMessages from '@app/utils/defineMessages'; import { Transition } from '@headlessui/react'; import { @@ -27,7 +27,6 @@ import { MediaServerType } from '@server/constants/server'; import type Issue from '@server/entity/Issue'; import type { MovieDetails } from '@server/models/Movie'; import type { TvDetails } from '@server/models/Tv'; -import axios from 'axios'; import { Field, Form, Formik } from 'formik'; import getConfig from 'next/config'; import Image from 'next/image'; @@ -116,7 +115,7 @@ const IssueDetails = () => { } if (!data || !issueData) { - return ; + return ; } const belongsToUser = issueData.createdBy.id === currentUser?.id; @@ -125,9 +124,11 @@ const IssueDetails = () => { const editFirstComment = async (newMessage: string) => { try { - await axios.put(`/api/v1/issueComment/${firstComment.id}`, { - message: newMessage, + const res = await fetch(`/api/v1/issueComment/${firstComment.id}`, { + method: 'PUT', + body: JSON.stringify({ message: newMessage }), }); + if (!res.ok) throw new Error(); addToast(intl.formatMessage(messages.toasteditdescriptionsuccess), { appearance: 'success', @@ -144,7 +145,10 @@ const IssueDetails = () => { const updateIssueStatus = async (newStatus: 'open' | 'resolved') => { try { - await axios.post(`/api/v1/issue/${issueData.id}/${newStatus}`); + const res = await fetch(`/api/v1/issue/${issueData.id}/${newStatus}`, { + method: 'POST', + }); + if (!res.ok) throw new Error(); addToast(intl.formatMessage(messages.toaststatusupdated), { appearance: 'success', @@ -161,7 +165,10 @@ const IssueDetails = () => { const deleteIssue = async () => { try { - await axios.delete(`/api/v1/issue/${issueData.id}`); + const res = await fetch(`/api/v1/issue/${issueData.id}`, { + method: 'DELETE', + }); + if (!res.ok) throw new Error(); addToast(intl.formatMessage(messages.toastissuedeleted), { appearance: 'success', @@ -490,9 +497,14 @@ const IssueDetails = () => { }} validationSchema={CommentSchema} onSubmit={async (values, { resetForm }) => { - await axios.post(`/api/v1/issue/${issueData?.id}/comment`, { - message: values.message, - }); + const res = await fetch( + `/api/v1/issue/${issueData?.id}/comment`, + { + method: 'POST', + body: JSON.stringify({ message: values.message }), + } + ); + if (!res.ok) throw new Error(); revalidateIssue(); resetForm(); }} diff --git a/src/components/IssueModal/CreateIssueModal/index.tsx b/src/components/IssueModal/CreateIssueModal/index.tsx index 7af3e495..8db12010 100644 --- a/src/components/IssueModal/CreateIssueModal/index.tsx +++ b/src/components/IssueModal/CreateIssueModal/index.tsx @@ -11,7 +11,6 @@ import { MediaStatus } from '@server/constants/media'; import type Issue from '@server/entity/Issue'; import type { MovieDetails } from '@server/models/Movie'; import type { TvDetails } from '@server/models/Tv'; -import axios from 'axios'; import { Field, Formik } from 'formik'; import Link from 'next/link'; import { useIntl } from 'react-intl'; @@ -101,14 +100,19 @@ const CreateIssueModal = ({ validationSchema={CreateIssueModalSchema} onSubmit={async (values) => { try { - const newIssue = await axios.post('/api/v1/issue', { - issueType: values.selectedIssue.issueType, - message: values.message, - mediaId: data?.mediaInfo?.id, - problemSeason: values.problemSeason, - problemEpisode: - values.problemSeason > 0 ? values.problemEpisode : 0, + const res = await fetch('/api/v1/issue', { + method: 'POST', + body: JSON.stringify({ + issueType: values.selectedIssue.issueType, + message: values.message, + mediaId: data?.mediaInfo?.id, + problemSeason: values.problemSeason, + problemEpisode: + values.problemSeason > 0 ? values.problemEpisode : 0, + }), }); + if (!res.ok) throw new Error(); + const newIssue: Issue = await res.json(); if (data) { addToast( @@ -119,7 +123,7 @@ const CreateIssueModal = ({ strong: (msg: React.ReactNode) => {msg}, })} - + + + ) : ( + + + + )} + {title} added to watchlist successfully!', + watchlistDeleted: + '{title} Removed from watchlist successfully!', + watchlistError: 'Something went wrong try again.', + removefromwatchlist: 'Remove From Watchlist', + addtowatchlist: 'Add To Watchlist', }); interface TvDetailsProps { @@ -106,7 +122,12 @@ const TvDetails = ({ tv }: TvDetailsProps) => { router.query.manage == '1' ? true : false ); const [showIssueModal, setShowIssueModal] = useState(false); + const [isUpdating, setIsUpdating] = useState(false); + const [toggleWatchlist, setToggleWatchlist] = useState( + !tv?.onUserWatchlist + ); const { publicRuntimeConfig } = getConfig(); + const { addToast } = useToasts(); const { data, @@ -302,6 +323,82 @@ const TvDetails = ({ tv }: TvDetailsProps) => { return intl.formatMessage(messages.play4k, { mediaServerName: 'Jellyfin' }); } + const onClickWatchlistBtn = async (): Promise => { + setIsUpdating(true); + + const res = await fetch('/api/v1/watchlist', { + method: 'POST', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + tmdbId: tv?.id, + mediaType: MediaType.TV, + title: tv?.name, + }), + }); + + if (!res.ok) { + addToast(intl.formatMessage(messages.watchlistError), { + appearance: 'error', + autoDismiss: true, + }); + + setIsUpdating(false); + return; + } + + const data = await res.json(); + + if (data) { + addToast( + + {intl.formatMessage(messages.watchlistSuccess, { + title: tv?.name, + strong: (msg: React.ReactNode) => {msg}, + })} + , + { appearance: 'success', autoDismiss: true } + ); + } + + setIsUpdating(false); + setToggleWatchlist((prevState) => !prevState); + }; + + const onClickDeleteWatchlistBtn = async (): Promise => { + setIsUpdating(true); + + const res = await fetch('/api/v1/watchlist/' + tv?.id, { + method: 'DELETE', + }); + + if (!res.ok) { + addToast(intl.formatMessage(messages.watchlistError), { + appearance: 'error', + autoDismiss: true, + }); + + setIsUpdating(false); + return; + } + + if (res.status === 204) { + addToast( + + {intl.formatMessage(messages.watchlistDeleted, { + title: tv?.name, + strong: (msg: React.ReactNode) => {msg}, + })} + , + { appearance: 'info', autoDismiss: true } + ); + setIsUpdating(false); + setToggleWatchlist((prevState) => !prevState); + } + }; + return (
{
+ <> + {toggleWatchlist ? ( + + + + ) : ( + + + + )} + {title} Removed from watchlist successfully!", + "components.MovieDetails.watchlistError": "Something went wrong try again.", + "components.MovieDetails.watchlistSuccess": "{title} added to watchlist successfully!", "components.MovieDetails.watchtrailer": "Watch Trailer", "components.NotificationTypeSelector.adminissuecommentDescription": "Get notified when other users comment on issues.", "components.NotificationTypeSelector.adminissuereopenedDescription": "Get notified when issues are reopened by other users.", @@ -1071,6 +1076,7 @@ "components.TvDetails.Season.somethingwentwrong": "Something went wrong while retrieving season data.", "components.TvDetails.TvCast.fullseriescast": "Full Series Cast", "components.TvDetails.TvCrew.fullseriescrew": "Full Series Crew", + "components.TvDetails.addtowatchlist": "Add To Watchlist", "components.TvDetails.anime": "Anime", "components.TvDetails.cast": "Cast", "components.TvDetails.episodeCount": "{episodeCount, plural, one {# Episode} other {# Episodes}}", @@ -1088,6 +1094,7 @@ "components.TvDetails.play4k": "Play 4K on {mediaServerName}", "components.TvDetails.productioncountries": "Production {countryCount, plural, one {Country} other {Countries}}", "components.TvDetails.recommendations": "Recommendations", + "components.TvDetails.removefromwatchlist": "Remove From Watchlist", "components.TvDetails.reportissue": "Report an Issue", "components.TvDetails.rtaudiencescore": "Rotten Tomatoes Audience Score", "components.TvDetails.rtcriticsscore": "Rotten Tomatoes Tomatometer", @@ -1100,6 +1107,9 @@ "components.TvDetails.streamingproviders": "Currently Streaming On", "components.TvDetails.tmdbuserscore": "TMDB User Score", "components.TvDetails.viewfullcrew": "View Full Crew", + "components.TvDetails.watchlistDeleted": "{title} Removed from watchlist successfully!", + "components.TvDetails.watchlistError": "Something went wrong try again.", + "components.TvDetails.watchlistSuccess": "{title} added to watchlist successfully!", "components.TvDetails.watchtrailer": "Watch Trailer", "components.UserList.accounttype": "Type", "components.UserList.admin": "Admin", From 9aee8887d3cca6e018f4be1c8400c22e86bf8dab Mon Sep 17 00:00:00 2001 From: Gauthier Date: Wed, 7 Aug 2024 14:33:44 +0200 Subject: [PATCH 47/51] fix: rewrite request from axios to Fetch (#920) --- src/components/MovieDetails/index.tsx | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/components/MovieDetails/index.tsx b/src/components/MovieDetails/index.tsx index b565fdb1..b18d506c 100644 --- a/src/components/MovieDetails/index.tsx +++ b/src/components/MovieDetails/index.tsx @@ -26,7 +26,7 @@ import useLocale from '@app/hooks/useLocale'; import useSettings from '@app/hooks/useSettings'; import { Permission, useUser } from '@app/hooks/useUser'; import globalMessages from '@app/i18n/globalMessages'; -import Error from '@app/pages/_error'; +import ErrorPage from '@app/pages/_error'; import { sortCrewPriority } from '@app/utils/creditHelpers'; import defineMessages from '@app/utils/defineMessages'; import { refreshIntervalHelper } from '@app/utils/refreshIntervalHelper'; @@ -49,9 +49,7 @@ import { type RatingResponse } from '@server/api/ratings'; import { IssueStatus } from '@server/constants/issue'; import { MediaStatus, MediaType } from '@server/constants/media'; import { MediaServerType } from '@server/constants/server'; -import type { Watchlist } from '@server/entity/Watchlist'; import type { MovieDetails as MovieDetailsType } from '@server/models/Movie'; -import axios from 'axios'; import { countries } from 'country-flag-icons'; import 'country-flag-icons/3x2/flags.css'; import { uniqBy } from 'lodash'; @@ -171,7 +169,7 @@ const MovieDetails = ({ movie }: MovieDetailsProps) => { } if (!data) { - return ; + return ; } const showAllStudios = data.productionCompanies.length <= minStudios + 1; @@ -351,11 +349,12 @@ const MovieDetails = ({ movie }: MovieDetailsProps) => { const onClickDeleteWatchlistBtn = async (): Promise => { setIsUpdating(true); try { - const response = await axios.delete( - '/api/v1/watchlist/' + movie?.id - ); + const res = await fetch(`/api/v1/watchlist/${movie?.id}`, { + method: 'DELETE', + }); + if (!res.ok) throw new Error(); - if (response.status === 204) { + if (res.status === 204) { addToast( {intl.formatMessage(messages.watchlistDeleted, { From 61dcd8e487d7886773ccb12501623c17838476e5 Mon Sep 17 00:00:00 2001 From: Gauthier Date: Sun, 11 Aug 2024 19:25:17 +0200 Subject: [PATCH 48/51] fix: update the filter removing existing users from Jellyfin import modal (#924) Currently import button sometimes shows already imported users and this would break it if an admin tries to import an already imported user. --- .../UserList/JellyfinImportModal.tsx | 115 +++++++++--------- 1 file changed, 57 insertions(+), 58 deletions(-) diff --git a/src/components/UserList/JellyfinImportModal.tsx b/src/components/UserList/JellyfinImportModal.tsx index ed549ac5..64ca1861 100644 --- a/src/components/UserList/JellyfinImportModal.tsx +++ b/src/components/UserList/JellyfinImportModal.tsx @@ -56,14 +56,6 @@ const JellyfinImportModal: React.FC = ({ `/api/v1/user?take=${children}` ); - data?.forEach((user, pos) => { - if ( - existingUsers?.results.some((data) => data.jellyfinUserId === user.id) - ) { - data?.splice(pos, 1); - } - }); - const importUsers = async () => { setImporting(true); @@ -209,64 +201,71 @@ const JellyfinImportModal: React.FC = ({ - {data?.map((user) => ( - - - toggleUser(user.id)} - onKeyDown={(e) => { - if (e.key === 'Enter' || e.key === 'Space') { - toggleUser(user.id); - } - }} - className="relative inline-flex h-5 w-10 flex-shrink-0 cursor-pointer items-center justify-center pt-2 focus:outline-none" - > + {data + ?.filter( + (user) => + !existingUsers?.results.some( + (u) => u.jellyfinUserId === user.id + ) + ) + .map((user) => ( + + - - - - -
- -
-
- {user.username} -
- {/* {user.username && + role="checkbox" + tabIndex={0} + aria-checked={isSelectedUser(user.id)} + onClick={() => toggleUser(user.id)} + onKeyDown={(e) => { + if (e.key === 'Enter' || e.key === 'Space') { + toggleUser(user.id); + } + }} + className="relative inline-flex h-5 w-10 flex-shrink-0 cursor-pointer items-center justify-center pt-2 focus:outline-none" + > + + + + + +
+ +
+
+ {user.username} +
+ {/* {user.username && user.username.toLowerCase() !== user.email && (
{user.email}
)} */} +
-
- - - ))} + + + ))}
From 12f908de7f5fbd717a5f151858b6edee3be13ed9 Mon Sep 17 00:00:00 2001 From: Gauthier Date: Tue, 13 Aug 2024 10:41:59 +0200 Subject: [PATCH 49/51] fix(tmdb): fallback movie/show overview to English when none is available in requested locale (#928) This PR adds a second call to TMDB to retried the overview in English if no overview is available in the requested locale fix #925 --- server/routes/movie.ts | 12 +++++++++--- server/routes/tv.ts | 10 +++++++++- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/server/routes/movie.ts b/server/routes/movie.ts index 833e9255..80b8a300 100644 --- a/server/routes/movie.ts +++ b/server/routes/movie.ts @@ -33,9 +33,15 @@ movieRoutes.get('/:id', async (req, res, next) => { }, }); - return res - .status(200) - .json(mapMovieDetails(tmdbMovie, media, onUserWatchlist)); + const data = mapMovieDetails(tmdbMovie, media, onUserWatchlist); + + // TMDB issue where it doesnt fallback to English when no overview is available in requested locale. + if (!data.overview) { + const tvEnglish = await tmdb.getMovie({ movieId: Number(req.params.id) }); + data.overview = tvEnglish.overview; + } + + return res.status(200).json(data); } catch (e) { logger.debug('Something went wrong retrieving movie', { label: 'API', diff --git a/server/routes/tv.ts b/server/routes/tv.ts index 2f42c0dc..4a106d60 100644 --- a/server/routes/tv.ts +++ b/server/routes/tv.ts @@ -30,7 +30,15 @@ tvRoutes.get('/:id', async (req, res, next) => { }, }); - return res.status(200).json(mapTvDetails(tv, media, onUserWatchlist)); + const data = mapTvDetails(tv, media, onUserWatchlist); + + // TMDB issue where it doesnt fallback to English when no overview is available in requested locale. + if (!data.overview) { + const tvEnglish = await tmdb.getTvShow({ tvId: Number(req.params.id) }); + data.overview = tvEnglish.overview; + } + + return res.status(200).json(data); } catch (e) { logger.debug('Something went wrong retrieving series', { label: 'API', From bd4da6d5fc8cb55c2bc3d9a8336787cbd30814d0 Mon Sep 17 00:00:00 2001 From: Gauthier Date: Tue, 13 Aug 2024 16:01:45 +0200 Subject: [PATCH 50/51] feat(jellyfinapi): switch to API tokens instead of auth tokens (#868) * feat(jellyfinapi): create Jellyfin API key from admin user * fix(jellyfinapi): add migration script for Jellyfin API key * feat(jellyfinapi): use Jellyfin API key instead of admin auth token * fix(jellyfinapi): fix api key migration * feat(jellyfinapi): add API key field to Jellyfin settings * fix: move the API key field in the Jellyfin settings --- server/api/externalapi.ts | 11 +- server/api/jellyfin.ts | 22 +- server/index.ts | 2 +- server/lib/availabilitySync.ts | 9 +- server/lib/scanners/jellyfin/index.ts | 9 +- server/lib/settings/index.ts | 12 +- .../migrations/0002_migrate_apitokens.ts | 36 ++ server/lib/settings/migrator.ts | 16 +- server/routes/auth.ts | 15 +- server/routes/settings/index.ts | 15 +- server/routes/user/index.ts | 14 +- src/components/Settings/SettingsJellyfin.tsx | 381 ++++++++++-------- src/i18n/locale/en.json | 2 +- 13 files changed, 309 insertions(+), 235 deletions(-) create mode 100644 server/lib/settings/migrations/0002_migrate_apitokens.ts diff --git a/server/api/externalapi.ts b/server/api/externalapi.ts index 2788db1e..4f0ded02 100644 --- a/server/api/externalapi.ts +++ b/server/api/externalapi.ts @@ -85,7 +85,7 @@ class ExternalAPI { protected async post( endpoint: string, - data: Record, + data?: Record, params?: Record, ttl?: number, config?: RequestInit @@ -107,7 +107,7 @@ class ExternalAPI { ...this.defaultHeaders, ...config?.headers, }, - body: JSON.stringify(data), + body: data ? JSON.stringify(data) : undefined, }); if (!response.ok) { const text = await response.text(); @@ -286,7 +286,12 @@ class ExternalAPI { ...this.params, ...params, }); - return `${href}?${searchParams.toString()}`; + return ( + href + + (searchParams.toString().length + ? '?' + searchParams.toString() + : searchParams.toString()) + ); } private serializeCacheKey( diff --git a/server/api/jellyfin.ts b/server/api/jellyfin.ts index ff5144ce..f6550347 100644 --- a/server/api/jellyfin.ts +++ b/server/api/jellyfin.ts @@ -93,9 +93,7 @@ export interface JellyfinLibraryItemExtended extends JellyfinLibraryItem { } class JellyfinAPI extends ExternalAPI { - private authToken?: string; private userId?: string; - private jellyfinHost: string; constructor(jellyfinHost: string, authToken?: string, deviceId?: string) { let authHeaderVal: string; @@ -114,9 +112,6 @@ class JellyfinAPI extends ExternalAPI { }, } ); - - this.jellyfinHost = jellyfinHost; - this.authToken = authToken; } public async login( @@ -405,6 +400,23 @@ class JellyfinAPI extends ExternalAPI { throw new ApiError(e.cause?.status, ApiErrorCode.InvalidAuthToken); } } + + public async createApiToken(appName: string): Promise { + try { + await this.post(`/Auth/Keys?App=${appName}`); + const apiKeys = await this.get(`/Auth/Keys`); + return apiKeys.Items.reverse().find( + (item: any) => item.AppName === appName + ).AccessToken; + } catch (e) { + logger.error( + `Something went wrong while creating an API key the Jellyfin server: ${e.message}`, + { label: 'Jellyfin API' } + ); + + throw new ApiError(e.response?.status, ApiErrorCode.InvalidAuthToken); + } + } } export default JellyfinAPI; diff --git a/server/index.ts b/server/index.ts index 2d90f05c..ef20674d 100644 --- a/server/index.ts +++ b/server/index.ts @@ -63,7 +63,7 @@ app } // Load Settings - const settings = getSettings(); + const settings = await getSettings().load(); restartFlag.initializeSettings(settings.main); // Migrate library types diff --git a/server/lib/availabilitySync.ts b/server/lib/availabilitySync.ts index 4ecd9107..b85d29e4 100644 --- a/server/lib/availabilitySync.ts +++ b/server/lib/availabilitySync.ts @@ -63,12 +63,7 @@ class AvailabilitySync { ) { admin = await userRepository.findOne({ where: { id: 1 }, - select: [ - 'id', - 'jellyfinAuthToken', - 'jellyfinUserId', - 'jellyfinDeviceId', - ], + select: ['id', 'jellyfinUserId', 'jellyfinDeviceId'], order: { id: 'ASC' }, }); } @@ -86,7 +81,7 @@ class AvailabilitySync { if (admin) { this.jellyfinClient = new JellyfinAPI( getHostname(), - admin.jellyfinAuthToken, + settings.jellyfin.apiKey, admin.jellyfinDeviceId ); diff --git a/server/lib/scanners/jellyfin/index.ts b/server/lib/scanners/jellyfin/index.ts index baa8d963..4ccf5485 100644 --- a/server/lib/scanners/jellyfin/index.ts +++ b/server/lib/scanners/jellyfin/index.ts @@ -582,12 +582,7 @@ class JellyfinScanner { const userRepository = getRepository(User); const admin = await userRepository.findOne({ where: { id: 1 }, - select: [ - 'id', - 'jellyfinAuthToken', - 'jellyfinUserId', - 'jellyfinDeviceId', - ], + select: ['id', 'jellyfinUserId', 'jellyfinDeviceId'], order: { id: 'ASC' }, }); @@ -597,7 +592,7 @@ class JellyfinScanner { this.jfClient = new JellyfinAPI( getHostname(), - admin.jellyfinAuthToken, + settings.jellyfin.apiKey, admin.jellyfinDeviceId ); diff --git a/server/lib/settings/index.ts b/server/lib/settings/index.ts index 7c117c11..8c55d6c3 100644 --- a/server/lib/settings/index.ts +++ b/server/lib/settings/index.ts @@ -47,6 +47,7 @@ export interface JellyfinSettings { jellyfinForgotPasswordUrl?: string; libraries: Library[]; serverId: string; + apiKey: string; } export interface TautulliSettings { hostname?: string; @@ -342,6 +343,7 @@ class Settings { jellyfinForgotPasswordUrl: '', libraries: [], serverId: '', + apiKey: '', }, tautulli: {}, radarr: [], @@ -629,7 +631,7 @@ class Settings { * @param overrideSettings If passed in, will override all existing settings with these * values */ - public load(overrideSettings?: AllSettings): Settings { + public async load(overrideSettings?: AllSettings): Promise { if (overrideSettings) { this.data = overrideSettings; return this; @@ -642,7 +644,7 @@ class Settings { if (data) { const parsedJson = JSON.parse(data); - this.data = runMigrations(parsedJson); + this.data = await runMigrations(parsedJson); this.data = merge(this.data, parsedJson); @@ -656,7 +658,6 @@ class Settings { } } -let loaded = false; let settings: Settings | undefined; export const getSettings = (initialSettings?: AllSettings): Settings => { @@ -664,11 +665,6 @@ export const getSettings = (initialSettings?: AllSettings): Settings => { settings = new Settings(initialSettings); } - if (!loaded) { - settings.load(); - loaded = true; - } - return settings; }; diff --git a/server/lib/settings/migrations/0002_migrate_apitokens.ts b/server/lib/settings/migrations/0002_migrate_apitokens.ts new file mode 100644 index 00000000..46340433 --- /dev/null +++ b/server/lib/settings/migrations/0002_migrate_apitokens.ts @@ -0,0 +1,36 @@ +import JellyfinAPI from '@server/api/jellyfin'; +import { MediaServerType } from '@server/constants/server'; +import { getRepository } from '@server/datasource'; +import { User } from '@server/entity/User'; +import type { AllSettings } from '@server/lib/settings'; +import { getHostname } from '@server/utils/getHostname'; + +const migrateApiTokens = async (settings: any): Promise => { + const mediaServerType = settings.main.mediaServerType; + if ( + !settings.jellyfin.apiKey && + (mediaServerType === MediaServerType.JELLYFIN || + mediaServerType === MediaServerType.EMBY) + ) { + const userRepository = getRepository(User); + const admin = await userRepository.findOne({ + where: { id: 1 }, + select: ['id', 'jellyfinAuthToken', 'jellyfinUserId', 'jellyfinDeviceId'], + order: { id: 'ASC' }, + }); + if (!admin) { + return settings; + } + const jellyfinClient = new JellyfinAPI( + getHostname(settings.jellyfin), + admin.jellyfinAuthToken, + admin.jellyfinDeviceId + ); + jellyfinClient.setUserId(admin.jellyfinUserId ?? ''); + const apiKey = await jellyfinClient.createApiToken('Jellyseerr'); + settings.jellyfin.apiKey = apiKey; + } + return settings; +}; + +export default migrateApiTokens; diff --git a/server/lib/settings/migrator.ts b/server/lib/settings/migrator.ts index 9d709590..856016e1 100644 --- a/server/lib/settings/migrator.ts +++ b/server/lib/settings/migrator.ts @@ -1,10 +1,13 @@ import type { AllSettings } from '@server/lib/settings'; +import logger from '@server/logger'; import fs from 'fs'; import path from 'path'; const migrationsDir = path.join(__dirname, 'migrations'); -export const runMigrations = (settings: AllSettings): AllSettings => { +export const runMigrations = async ( + settings: AllSettings +): Promise => { const migrations = fs .readdirSync(migrationsDir) .filter((file) => file.endsWith('.js') || file.endsWith('.ts')) @@ -13,8 +16,15 @@ export const runMigrations = (settings: AllSettings): AllSettings => { let migrated = settings; - for (const migration of migrations) { - migrated = migration(migrated); + try { + for (const migration of migrations) { + migrated = await migration(migrated); + } + } catch (e) { + logger.error( + `Something went wrong while running settings migrations: ${e.message}`, + { label: 'Settings Migrator' } + ); } return migrated; diff --git a/server/routes/auth.ts b/server/routes/auth.ts index 966dc269..6f01135d 100644 --- a/server/routes/auth.ts +++ b/server/routes/auth.ts @@ -324,7 +324,6 @@ authRoutes.post('/jellyfin', async (req, res, next) => { jellyfinUsername: account.User.Name, jellyfinUserId: account.User.Id, jellyfinDeviceId: deviceId, - jellyfinAuthToken: account.AccessToken, permissions: Permission.ADMIN, avatar: account.User.PrimaryImageTag ? `${jellyfinHost}/Users/${account.User.Id}/Images/Primary/?tag=${account.User.PrimaryImageTag}&quality=90` @@ -335,6 +334,14 @@ authRoutes.post('/jellyfin', async (req, res, next) => { userType: UserType.JELLYFIN, }); + // Create an API key on Jellyfin from this admin user + const jellyfinClient = new JellyfinAPI( + hostname, + account.AccessToken, + deviceId + ); + const apiKey = await jellyfinClient.createApiToken('Jellyseerr'); + const serverName = await jellyfinserver.getServerName(); settings.jellyfin.name = serverName; @@ -343,6 +350,7 @@ authRoutes.post('/jellyfin', async (req, res, next) => { settings.jellyfin.port = body.port ?? 8096; settings.jellyfin.urlBase = body.urlBase ?? ''; settings.jellyfin.useSsl = body.useSsl ?? false; + settings.jellyfin.apiKey = apiKey; settings.save(); startJobs(); @@ -366,10 +374,6 @@ authRoutes.post('/jellyfin', async (req, res, next) => { jellyfinUsername: account.User.Name, } ); - // Let's check if their authtoken is up to date - if (user.jellyfinAuthToken !== account.AccessToken) { - user.jellyfinAuthToken = account.AccessToken; - } // Update the users avatar with their jellyfin profile pic (incase it changed) if (account.User.PrimaryImageTag) { user.avatar = `${jellyfinHost}/Users/${account.User.Id}/Images/Primary/?tag=${account.User.PrimaryImageTag}&quality=90`; @@ -421,7 +425,6 @@ authRoutes.post('/jellyfin', async (req, res, next) => { jellyfinUsername: account.User.Name, jellyfinUserId: account.User.Id, jellyfinDeviceId: deviceId, - jellyfinAuthToken: account.AccessToken, permissions: settings.main.defaultPermissions, avatar: account.User.PrimaryImageTag ? `${jellyfinHost}/Users/${account.User.Id}/Images/Primary/?tag=${account.User.PrimaryImageTag}&quality=90` diff --git a/server/routes/settings/index.ts b/server/routes/settings/index.ts index 9e1a6220..30898d2a 100644 --- a/server/routes/settings/index.ts +++ b/server/routes/settings/index.ts @@ -262,7 +262,7 @@ settingsRoutes.post('/jellyfin', async (req, res, next) => { try { const admin = await userRepository.findOneOrFail({ where: { id: 1 }, - select: ['id', 'jellyfinAuthToken', 'jellyfinUserId', 'jellyfinDeviceId'], + select: ['id', 'jellyfinUserId', 'jellyfinDeviceId'], order: { id: 'ASC' }, }); @@ -270,7 +270,7 @@ settingsRoutes.post('/jellyfin', async (req, res, next) => { const jellyfinClient = new JellyfinAPI( getHostname(tempJellyfinSettings), - admin.jellyfinAuthToken ?? '', + tempJellyfinSettings.apiKey, admin.jellyfinDeviceId ?? '' ); @@ -318,13 +318,13 @@ settingsRoutes.get('/jellyfin/library', async (req, res, next) => { if (req.query.sync) { const userRepository = getRepository(User); const admin = await userRepository.findOneOrFail({ - select: ['id', 'jellyfinAuthToken', 'jellyfinDeviceId', 'jellyfinUserId'], + select: ['id', 'jellyfinDeviceId', 'jellyfinUserId'], where: { id: 1 }, order: { id: 'ASC' }, }); const jellyfinClient = new JellyfinAPI( getHostname(), - admin.jellyfinAuthToken ?? '', + settings.jellyfin.apiKey, admin.jellyfinDeviceId ?? '' ); @@ -376,7 +376,8 @@ settingsRoutes.get('/jellyfin/library', async (req, res, next) => { }); settingsRoutes.get('/jellyfin/users', async (req, res) => { - const { externalHostname } = getSettings().jellyfin; + const settings = getSettings(); + const { externalHostname } = settings.jellyfin; const jellyfinHost = externalHostname && externalHostname.length > 0 ? externalHostname @@ -384,13 +385,13 @@ settingsRoutes.get('/jellyfin/users', async (req, res) => { const userRepository = getRepository(User); const admin = await userRepository.findOneOrFail({ - select: ['id', 'jellyfinAuthToken', 'jellyfinDeviceId', 'jellyfinUserId'], + select: ['id', 'jellyfinDeviceId', 'jellyfinUserId'], where: { id: 1 }, order: { id: 'ASC' }, }); const jellyfinClient = new JellyfinAPI( getHostname(), - admin.jellyfinAuthToken ?? '', + settings.jellyfin.apiKey, admin.jellyfinDeviceId ?? '' ); diff --git a/server/routes/user/index.ts b/server/routes/user/index.ts index 016709c6..da9b649c 100644 --- a/server/routes/user/index.ts +++ b/server/routes/user/index.ts @@ -501,17 +501,14 @@ router.post( // taken from auth.ts const admin = await userRepository.findOneOrFail({ where: { id: 1 }, - select: [ - 'id', - 'jellyfinAuthToken', - 'jellyfinDeviceId', - 'jellyfinUserId', - ], + select: ['id', 'jellyfinDeviceId', 'jellyfinUserId'], order: { id: 'ASC' }, }); + + const hostname = getHostname(); const jellyfinClient = new JellyfinAPI( - getHostname(), - admin.jellyfinAuthToken ?? '', + hostname, + settings.jellyfin.apiKey, admin.jellyfinDeviceId ?? '' ); jellyfinClient.setUserId(admin.jellyfinUserId ?? ''); @@ -519,7 +516,6 @@ router.post( //const jellyfinUsersResponse = await jellyfinClient.getUsers(); const createdUsers: User[] = []; const { externalHostname } = getSettings().jellyfin; - const hostname = getHostname(); const jellyfinHost = externalHostname && externalHostname.length > 0 diff --git a/src/components/Settings/SettingsJellyfin.tsx b/src/components/Settings/SettingsJellyfin.tsx index 91c44e12..a627f6d3 100644 --- a/src/components/Settings/SettingsJellyfin.tsx +++ b/src/components/Settings/SettingsJellyfin.tsx @@ -1,6 +1,7 @@ import Badge from '@app/components/Common/Badge'; import Button from '@app/components/Common/Button'; import LoadingSpinner from '@app/components/Common/LoadingSpinner'; +import SensitiveInput from '@app/components/Common/SensitiveInput'; import LibraryItem from '@app/components/Settings/LibraryItem'; import globalMessages from '@app/i18n/globalMessages'; import defineMessages from '@app/utils/defineMessages'; @@ -30,13 +31,14 @@ const messages = defineMessages('components.Settings', { jellyfinSettingsSuccess: '{mediaServerName} settings saved successfully!', jellyfinSettings: '{mediaServerName} Settings', jellyfinSettingsDescription: - 'Optionally configure the internal and external endpoints for your {mediaServerName} server. In most cases, the external URL is different to the internal URL. A custom password reset URL can also be set for {mediaServerName} login, in case you would like to redirect to a different password reset page.', + 'Optionally configure the internal and external endpoints for your {mediaServerName} server. In most cases, the external URL is different to the internal URL. A custom password reset URL can also be set for {mediaServerName} login, in case you would like to redirect to a different password reset page. You can also change the Jellyfin API key, which was automatically generated previously.', externalUrl: 'External URL', hostname: 'Hostname or IP Address', port: 'Port', enablessl: 'Use SSL', urlBase: 'URL Base', jellyfinForgotPasswordUrl: 'Forgot Password URL', + apiKey: 'API key', jellyfinSyncFailedNoLibrariesFound: 'No libraries were found', jellyfinSyncFailedAutomaticGroupedFolders: 'Custom authentication with Automatic Library Grouping not supported', @@ -444,119 +446,121 @@ const SettingsJellyfin: React.FC = ({
- {showAdvancedSettings && ( - <> -
-

- {publicRuntimeConfig.JELLYFIN_TYPE == 'emby' - ? intl.formatMessage(messages.jellyfinSettings, { - mediaServerName: 'Emby', - }) - : intl.formatMessage(messages.jellyfinSettings, { - mediaServerName: 'Jellyfin', - })} -

-

- {publicRuntimeConfig.JELLYFIN_TYPE == 'emby' - ? intl.formatMessage(messages.jellyfinSettingsDescription, { - mediaServerName: 'Emby', - }) - : intl.formatMessage(messages.jellyfinSettingsDescription, { - mediaServerName: 'Jellyfin', - })} -

-
- { - try { - const res = await fetch('/api/v1/settings/jellyfin', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify({ - ip: values.hostname, - port: Number(values.port), - useSsl: values.useSsl, - urlBase: values.urlBase, - externalHostname: values.jellyfinExternalUrl, - jellyfinForgotPasswordUrl: values.jellyfinForgotPasswordUrl, - } as JellyfinSettings), - }); - if (!res.ok) throw new Error(res.statusText, { cause: res }); +
+

+ {publicRuntimeConfig.JELLYFIN_TYPE == 'emby' + ? intl.formatMessage(messages.jellyfinSettings, { + mediaServerName: 'Emby', + }) + : intl.formatMessage(messages.jellyfinSettings, { + mediaServerName: 'Jellyfin', + })} +

+

+ {publicRuntimeConfig.JELLYFIN_TYPE == 'emby' + ? intl.formatMessage(messages.jellyfinSettingsDescription, { + mediaServerName: 'Emby', + }) + : intl.formatMessage(messages.jellyfinSettingsDescription, { + mediaServerName: 'Jellyfin', + })} +

+
+ { + try { + const res = await fetch('/api/v1/settings/jellyfin', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + ip: values.hostname, + port: Number(values.port), + useSsl: values.useSsl, + urlBase: values.urlBase, + externalHostname: values.jellyfinExternalUrl, + jellyfinForgotPasswordUrl: values.jellyfinForgotPasswordUrl, + apiKey: values.apiKey, + } as JellyfinSettings), + }); + if (!res.ok) throw new Error(res.statusText, { cause: res }); - addToast( - intl.formatMessage(messages.jellyfinSettingsSuccess, { - mediaServerName: - publicRuntimeConfig.JELLYFIN_TYPE == 'emby' - ? 'Emby' - : 'Jellyfin', - }), - { - autoDismiss: true, - appearance: 'success', - } - ); - } catch (e) { - let errorData; - try { - errorData = await e.cause?.text(); - errorData = JSON.parse(errorData); - } catch { - /* empty */ - } - if (errorData?.message === ApiErrorCode.InvalidUrl) { - addToast( - intl.formatMessage(messages.invalidurlerror, { - mediaServerName: - publicRuntimeConfig.JELLYFIN_TYPE == 'emby' - ? 'Emby' - : 'Jellyfin', - }), - { - autoDismiss: true, - appearance: 'error', - } - ); - } else { - addToast( - intl.formatMessage(messages.jellyfinSettingsFailure, { - mediaServerName: - publicRuntimeConfig.JELLYFIN_TYPE == 'emby' - ? 'Emby' - : 'Jellyfin', - }), - { - autoDismiss: true, - appearance: 'error', - } - ); - } - } finally { - revalidate(); + addToast( + intl.formatMessage(messages.jellyfinSettingsSuccess, { + mediaServerName: + publicRuntimeConfig.JELLYFIN_TYPE == 'emby' + ? 'Emby' + : 'Jellyfin', + }), + { + autoDismiss: true, + appearance: 'success', } - }} - > - {({ - errors, - touched, - values, - setFieldValue, - handleSubmit, - isSubmitting, - isValid, - }) => { - return ( - + ); + } catch (e) { + let errorData; + try { + errorData = await e.cause?.text(); + errorData = JSON.parse(errorData); + } catch { + /* empty */ + } + if (errorData?.message === ApiErrorCode.InvalidUrl) { + addToast( + intl.formatMessage(messages.invalidurlerror, { + mediaServerName: + publicRuntimeConfig.JELLYFIN_TYPE == 'emby' + ? 'Emby' + : 'Jellyfin', + }), + { + autoDismiss: true, + appearance: 'error', + } + ); + } else { + addToast( + intl.formatMessage(messages.jellyfinSettingsFailure, { + mediaServerName: + publicRuntimeConfig.JELLYFIN_TYPE == 'emby' + ? 'Emby' + : 'Jellyfin', + }), + { + autoDismiss: true, + appearance: 'error', + } + ); + } + } finally { + revalidate(); + } + }} + > + {({ + errors, + touched, + values, + setFieldValue, + handleSubmit, + isSubmitting, + isValid, + }) => { + return ( + + {showAdvancedSettings && ( + <>
+ + )} +
+ +
+
+ +
+ {errors.apiKey && touched.apiKey && ( +
{errors.apiKey}
+ )} +
+
+ {showAdvancedSettings && ( + <>
-
- -
-
- -
- {errors.jellyfinExternalUrl && - touched.jellyfinExternalUrl && ( -
- {errors.jellyfinExternalUrl} -
- )} -
+ + )} +
+ +
+
+
-
-
+ )} +
+
+
+ +
+
+ +
+ {errors.jellyfinForgotPasswordUrl && + touched.jellyfinForgotPasswordUrl && ( +
+ {errors.jellyfinForgotPasswordUrl} +
+ )} +
+
+
+
+ +
-
-
- - + + + {isSubmitting + ? intl.formatMessage(globalMessages.saving) + : intl.formatMessage(globalMessages.save)} -
-
- - ); - }} - - - )} + + +
+
+ + ); + }} +
); }; diff --git a/src/i18n/locale/en.json b/src/i18n/locale/en.json index e24e2dc5..f34aa5b4 100644 --- a/src/i18n/locale/en.json +++ b/src/i18n/locale/en.json @@ -955,7 +955,7 @@ "components.Settings.is4k": "4K", "components.Settings.jellyfinForgotPasswordUrl": "Forgot Password URL", "components.Settings.jellyfinSettings": "{mediaServerName} Settings", - "components.Settings.jellyfinSettingsDescription": "Optionally configure the internal and external endpoints for your {mediaServerName} server. In most cases, the external URL is different to the internal URL. A custom password reset URL can also be set for {mediaServerName} login, in case you would like to redirect to a different password reset page.", + "components.Settings.jellyfinSettingsDescription": "Optionally configure the internal and external endpoints for your {mediaServerName} server. In most cases, the external URL is different to the internal URL. A custom password reset URL can also be set for {mediaServerName} login, in case you would like to redirect to a different password reset page. You can also change the Jellyfin API key, which was automatically generated previously.", "components.Settings.jellyfinSettingsFailure": "Something went wrong while saving {mediaServerName} settings.", "components.Settings.jellyfinSettingsSuccess": "{mediaServerName} settings saved successfully!", "components.Settings.jellyfinSyncFailedAutomaticGroupedFolders": "Custom authentication with Automatic Library Grouping not supported", From 0c7e65267248d6cb38a4304e201b0d38e9df2fb4 Mon Sep 17 00:00:00 2001 From: jellyseerr-weblate <155525085+jellyseerr-weblate@users.noreply.github.com> Date: Fri, 16 Aug 2024 23:02:16 +0500 Subject: [PATCH 51/51] refactor(i18n): merge weblate (#934) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Added translation using Weblate (Slovenian) * Translated using Weblate (German) Currently translated at 93.1% (1216 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/de/ * Translated using Weblate (Slovenian) Currently translated at 4.1% (54 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/sl/ * Translated using Weblate (Dutch) Currently translated at 99.4% (1299 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/nl/ * Added translation using Weblate (Turkish) * Translated using Weblate (Turkish) Currently translated at 7.2% (95 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/tr/ * Translated using Weblate (German) Currently translated at 100.0% (1306 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/de/ * Translated using Weblate (Romanian) Currently translated at 33.5% (438 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/ro/ * Translated using Weblate (Russian) Currently translated at 96.6% (1262 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/ru/ * Translated using Weblate (Russian) Currently translated at 97.4% (1273 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/ru/ * Translated using Weblate (Russian) Currently translated at 100.0% (1306 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/ru/ * Translated using Weblate (Dutch) Currently translated at 100.0% (1306 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/nl/ * Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (1306 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/zh_Hans/ * Translated using Weblate (Spanish) Currently translated at 100.0% (1306 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/es/ * Translated using Weblate (French) Currently translated at 100.0% (1306 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/fr/ * Translated using Weblate (Portuguese (Brazil)) Currently translated at 96.0% (1254 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/pt_BR/ * Translated using Weblate (Hebrew) Currently translated at 15.2% (199 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/he/ * Translated using Weblate (Polish) Currently translated at 82.6% (1079 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/pl/ * Translated using Weblate (Polish) Currently translated at 83.9% (1096 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/pl/ * Translated using Weblate (Spanish) Currently translated at 100.0% (1306 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/es/ * Translated using Weblate (Ukrainian) Currently translated at 93.7% (1225 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/uk/ * Translated using Weblate (Ukrainian) Currently translated at 94.3% (1232 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/uk/ * Translated using Weblate (Ukrainian) Currently translated at 94.3% (1232 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/uk/ * Translated using Weblate (Polish) Currently translated at 84.1% (1099 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/pl/ * Translated using Weblate (Ukrainian) Currently translated at 99.8% (1304 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/uk/ * Translated using Weblate (Ukrainian) Currently translated at 99.8% (1304 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/uk/ * Translated using Weblate (Ukrainian) Currently translated at 99.8% (1304 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/uk/ * Translated using Weblate (Catalan) Currently translated at 94.1% (1230 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/ca/ * Translated using Weblate (Ukrainian) Currently translated at 99.8% (1304 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/uk/ * Translated using Weblate (Hebrew) Currently translated at 23.0% (301 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/he/ * Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (1306 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/zh_Hans/ * Translated using Weblate (Hebrew) Currently translated at 26.4% (346 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/he/ * Translated using Weblate (German) Currently translated at 100.0% (1306 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/de/ * Translated using Weblate (Polish) Currently translated at 94.4% (1233 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/pl/ * Translated using Weblate (Turkish) Currently translated at 19.2% (252 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/tr/ * Translated using Weblate (Slovenian) Currently translated at 4.2% (56 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/sl/ * Translated using Weblate (Turkish) Currently translated at 42.7% (558 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/tr/ * Translated using Weblate (Turkish) Currently translated at 44.6% (583 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/tr/ * Translated using Weblate (Turkish) Currently translated at 75.6% (988 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/tr/ * Translated using Weblate (Turkish) Currently translated at 85.0% (1111 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/tr/ * Translated using Weblate (Turkish) Currently translated at 100.0% (1306 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/tr/ * Translated using Weblate (Swedish) Currently translated at 99.7% (1303 of 1306 strings) Translate-URL: http://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/sv/ * style(i18n): ran prettier * style(i18n): ran prettier --------- Co-authored-by: Boštjan KOLAR Co-authored-by: Alex F Co-authored-by: Bas <910100490+weblate@proton.me> Co-authored-by: N/A Co-authored-by: Ramon Stohr Co-authored-by: Cosmin Mocan Co-authored-by: Aleksandr Co-authored-by: Aleksandr Co-authored-by: Bas Muldder Co-authored-by: 宿命 <331874545@qq.com> Co-authored-by: Eduard Perez Mendez Co-authored-by: Quack6765 Co-authored-by: grayair Co-authored-by: osh Co-authored-by: uqlel Co-authored-by: Flashk Co-authored-by: michael Co-authored-by: A a Co-authored-by: Albert Einstien Co-authored-by: C W Co-authored-by: Nir Israel Hen Co-authored-by: Adrian Konopczynski Co-authored-by: Wiktor Kowalski Co-authored-by: Jakob Števanec Co-authored-by: Mattias Magnusson Co-authored-by: fallenbagel <98979876+Fallenbagel@users.noreply.github.com> --- src/i18n/locale/ca.json | 31 +- src/i18n/locale/de.json | 1055 +++++++++++----------- src/i18n/locale/es.json | 136 ++- src/i18n/locale/fr.json | 76 +- src/i18n/locale/he.json | 1609 +++++++--------------------------- src/i18n/locale/nl.json | 191 ++-- src/i18n/locale/pl.json | 342 ++++---- src/i18n/locale/pt_BR.json | 36 +- src/i18n/locale/ro.json | 90 +- src/i18n/locale/ru.json | 129 ++- src/i18n/locale/sl.json | 59 ++ src/i18n/locale/sv.json | 660 +++++++------- src/i18n/locale/tr.json | 1308 +++++++++++++++++++++++++++ src/i18n/locale/uk.json | 409 +++++---- src/i18n/locale/zh_Hans.json | 112 ++- 15 files changed, 3582 insertions(+), 2661 deletions(-) create mode 100644 src/i18n/locale/sl.json create mode 100644 src/i18n/locale/tr.json diff --git a/src/i18n/locale/ca.json b/src/i18n/locale/ca.json index 0cca1f6c..fb9b26d9 100644 --- a/src/i18n/locale/ca.json +++ b/src/i18n/locale/ca.json @@ -191,7 +191,7 @@ "components.Discover.TvGenreSlider.tvgenres": "Gèneres de Sèries", "components.Discover.TvGenreList.seriesgenres": "Gèneres de Sèries", "components.Discover.StudioSlider.studios": "Estudis", - "components.Discover.NetworkSlider.networks": "Plataformes", + "components.Discover.NetworkSlider.networks": "Emissors", "components.Discover.MovieGenreSlider.moviegenres": "Gèneres de Pel·lícules", "components.Discover.MovieGenreList.moviegenres": "Gèneres de Pel·lícules", "components.Discover.DiscoverTvLanguage.languageSeries": "Sèries en {language}", @@ -397,7 +397,7 @@ "components.TvDetails.originaltitle": "Títol original", "components.TvDetails.originallanguage": "Idioma original", "components.TvDetails.nextAirDate": "Pròxima data d'emissió", - "components.TvDetails.network": "{networkCount, plural, one {Plataforma} other {Plataformes}}", + "components.TvDetails.network": "{networkCount, plural, one {Emissor} other {Emissors}}", "components.TvDetails.firstAirDate": "Primera data d'emissió", "components.TvDetails.episodeRuntimeMinutes": "{runtime} minuts", "components.TvDetails.episodeRuntime": "Duració de l'episodi", @@ -494,7 +494,7 @@ "components.Settings.SonarrModal.validationNameRequired": "Heu de proporcionar un nom de servidor", "components.Settings.SonarrModal.validationLanguageProfileRequired": "Heu de seleccionar un perfil d'idioma", "components.Settings.SonarrModal.validationHostnameRequired": "Heu de proporcionar un nom d’amfitrió o una adreça IP vàlides", - "components.Settings.SonarrModal.validationBaseUrlTrailingSlash": "L'URL base no ha d'acabar amb una barra inclinada final", + "components.Settings.SonarrModal.validationBaseUrlTrailingSlash": "L'URL base no pot acabar amb una barra inclinada final", "components.Settings.SonarrModal.validationBaseUrlLeadingSlash": "L'URL base ha de tenir una barra inclinada", "components.Settings.SonarrModal.validationApplicationUrlTrailingSlash": "L'URL no pot acabar amb una barra inclinada final", "components.Settings.SonarrModal.validationApplicationUrl": "Heu de proporcionar un URL vàlid", @@ -1135,7 +1135,7 @@ "components.Discover.CreateSlider.needresults": "Cal tenir almenys 1 resultat.", "components.Discover.CreateSlider.nooptions": "Sense resultats.", "components.Discover.CreateSlider.providetmdbgenreid": "Proporciona un ID de categoria TMDB", - "components.Discover.CreateSlider.providetmdbnetwork": "Proporciona l'ID de la plataforma TMDB", + "components.Discover.CreateSlider.providetmdbnetwork": "Proporciona l'ID d'emissor TMDB", "components.Discover.CreateSlider.providetmdbstudio": "Proporciona l'ID d'estudi TMDB", "components.Discover.CreateSlider.searchGenres": "Cercar per gènere…", "components.Discover.CreateSlider.searchKeywords": "Cercar per paraules clau…", @@ -1167,7 +1167,7 @@ "components.Discover.networks": "Emissors", "components.Discover.resetwarning": "Restablir tots els controls lliscants al valor predeterminat. Això també suprimirà els controls lliscants personalitzats!", "components.Discover.tmdbmoviekeyword": "Paraula clau de pel·lícula TMDB", - "components.Discover.tmdbnetwork": "Plataformes TMDB", + "components.Discover.tmdbnetwork": "Emissors TMDB", "components.Discover.FilterSlideover.tmdbuserscore": "Puntuació d'usuaris TMDB", "components.Discover.tvgenres": "Gèneres de sèries", "components.Discover.DiscoverTvKeyword.keywordSeries": "Sèries {keywordTitle}", @@ -1241,18 +1241,11 @@ "components.Settings.SettingsJobsCache.availability-sync": "Sincronització de disponibilitat de contingut", "components.Discover.tmdbmoviestreamingservices": "Serveis de transmissió de pel·lícules TMDB", "components.Discover.tmdbtvstreamingservices": "Serveis de transmissió de TV TMDB", - "components.Discover.FilterSlideover.tmdbuservotecount": "Recompte de vots dels usuaris de TMDB", - "components.Discover.FilterSlideover.voteCount": "Número de vots entre {minValue} i {maxValue}", - "components.UserProfile.UserSettings.UserNotificationSettings.sound": "So per a les notificacions", - "components.Settings.Notifications.NotificationsPushover.deviceDefault": "Dispositiu per defecte", - "components.Settings.Notifications.NotificationsPushover.sound": "So per a les notificacions", - "components.Settings.SonarrModal.animeSeriesType": "Tipus d'Anime", - "components.Settings.SonarrModal.seriesType": "Tipus de sèrie", - "components.Settings.SonarrModal.tagRequests": "Sol·licituds d'etiquetes", - "components.UserProfile.UserSettings.UserNotificationSettings.deviceDefault": "Dispositiu per defecte", - "i18n.collection": "Col·lecció", - "components.MovieDetails.imdbuserscore": "Puntuació dels usuaris de IMDB", - "components.Settings.RadarrModal.tagRequests": "Sol·licituds d'etiqueta", - "components.Settings.RadarrModal.tagRequestsInfo": "Automàticament afegeix una etiqueta addicional amb el nom d'usuari i nom complet del sol·licitant", - "components.Settings.SonarrModal.tagRequestsInfo": "Automàticament afegeix una etiqueta addicional amb el nom d'usuari i nom complet del sol·licitant" + "components.Layout.UserWarnings.emailRequired": "És requereix un n correu electrònic.", + "components.Layout.UserWarnings.passwordRequired": "Es requereix una contrasenya.", + "components.Login.description": "Com que és la primera vegada que inicieu sessió a {applicationName}, es necessita afegir un correu electrònic vàlid.", + "components.Discover.FilterSlideover.tmdbuservotecount": "Recompte de vots d'usuaris de TMDB", + "components.Discover.FilterSlideover.voteCount": "Nombre de vots entre {minValue} i {maxValue}", + "components.Layout.UserWarnings.emailInvalid": "El correu electrònic no és vàlid.", + "components.Login.credentialerror": "El nom d'usuari o la contrasenya són incorrectes." } diff --git a/src/i18n/locale/de.json b/src/i18n/locale/de.json index 6f8cdadc..f475b6ec 100644 --- a/src/i18n/locale/de.json +++ b/src/i18n/locale/de.json @@ -6,135 +6,37 @@ "components.CollectionDetails.overview": "Übersicht", "components.CollectionDetails.requestcollection": "Sammlung anfragen", "components.CollectionDetails.requestcollection4k": "Sammlung in 4K anfragen", - "components.Discover.createnewslider": "Neuen Slider erstellen", - "components.Discover.CreateSlider.addcustomslider": "Benutzerdefinierten Slider erstellen", - "components.Discover.CreateSlider.addfail": "Neuer Slider konnte nicht erstellt werden.", - "components.Discover.CreateSlider.addSlider": "Slider hinzufügen", - "components.Discover.CreateSlider.addsuccess": "Ein neuer Slider wurde erstellt und die Einstellungen wurden gespeichert.", - "components.Discover.CreateSlider.editfail": "Slider konnte nicht bearbeitet werden.", - "components.Discover.CreateSlider.editSlider": "Slider bearbeiten", - "components.Discover.CreateSlider.editsuccess": "Slider bearbeitet und Einstellung gespeichert.", - "components.Discover.CreateSlider.needresults": "Es muss mindestens 1 Ergebnis vorhanden sein.", - "components.Discover.CreateSlider.nooptions": "Keine Ergebnisse.", - "components.Discover.CreateSlider.providetmdbgenreid": "Hinterlege eine TMDB Genre ID", - "components.Discover.CreateSlider.providetmdbkeywordid": "Hinterlege eine TMDB Keyword ID", - "components.Discover.CreateSlider.providetmdbnetwork": "Hinterlege eine TMDB Network ID", - "components.Discover.CreateSlider.providetmdbsearch": "Geben Sie eine Suchanfrage an", - "components.Discover.CreateSlider.providetmdbstudio": "TMDB Studio ID angeben", - "components.Discover.CreateSlider.searchGenres": "Genres suchen…", - "components.Discover.CreateSlider.searchKeywords": "Stichwörter suchen…", - "components.Discover.CreateSlider.searchStudios": "Studios suchen…", - "components.Discover.CreateSlider.slidernameplaceholder": "Name des Slider", - "components.Discover.CreateSlider.starttyping": "Start der Suche durch Tippen.", - "components.Discover.CreateSlider.validationDatarequired": "Du musst einen Datenwert angeben.", - "components.Discover.CreateSlider.validationTitlerequired": "Du musst einen Titel eingeben.", - "components.Discover.customizediscover": "Discover anpassen", - "components.Discover.discover": "Entdecken", "components.Discover.DiscoverMovieGenre.genreMovies": "{genre}-Filme", - "components.Discover.DiscoverMovieKeyword.keywordMovies": "{keywordTitle} Filme", "components.Discover.DiscoverMovieLanguage.languageMovies": "Filme auf {language}", - "components.Discover.discovermovies": "Beliebte Filme", - "components.Discover.DiscoverMovies.activefilters": "{count, plural, one {# Aktiver Filter} other {# Aktive Filter}}", - "components.Discover.DiscoverMovies.discovermovies": "Filme", - "components.Discover.DiscoverMovies.sortPopularityAsc": "Beliebtheit Aufsteigend", - "components.Discover.DiscoverMovies.sortPopularityDesc": "Beliebtheit Absteigend", - "components.Discover.DiscoverMovies.sortReleaseDateAsc": "Erscheinungsdatum Aufsteigend", - "components.Discover.DiscoverMovies.sortReleaseDateDesc": "Erscheinungsdatum Absteigend", - "components.Discover.DiscoverMovies.sortTitleAsc": "Titel (A-Z) Aufsteigend", - "components.Discover.DiscoverMovies.sortTitleDesc": "Titel (Z-A) Absteigend", - "components.Discover.DiscoverMovies.sortTmdbRatingAsc": "TMDB-Bewertung Aufsteigend", - "components.Discover.DiscoverMovies.sortTmdbRatingDesc": "TMDB-Bewertung Absteigend", "components.Discover.DiscoverNetwork.networkSeries": "{network}-Serien", - "components.Discover.DiscoverSliderEdit.deletefail": "Slider konnte nicht gelöscht werden.", - "components.Discover.DiscoverSliderEdit.deletesuccess": "Slider erfolgreich entfernt.", - "components.Discover.DiscoverSliderEdit.enable": "Sichtbarkeit umschalten", - "components.Discover.DiscoverSliderEdit.remove": "Entfernen", "components.Discover.DiscoverStudio.studioMovies": "{studio}-Filme", - "components.Discover.discovertv": "Beliebte Serien", - "components.Discover.DiscoverTv.activefilters": "{count, plural, one {# Aktiver Filter} other {# Aktive Filter}}", - "components.Discover.DiscoverTv.discovertv": "Serien", - "components.Discover.DiscoverTv.sortFirstAirDateAsc": "Erstausstrahlung Aufsteigend", - "components.Discover.DiscoverTv.sortFirstAirDateDesc": "Erstausstrahlung Absteigend", - "components.Discover.DiscoverTv.sortPopularityAsc": "Beliebtheit Aufsteigend", - "components.Discover.DiscoverTv.sortPopularityDesc": "Beliebtheit Absteigend", - "components.Discover.DiscoverTv.sortTitleAsc": "Titel (A-Z) Aufsteigend", - "components.Discover.DiscoverTv.sortTitleDesc": "Titel (Z-A) Absteigend", - "components.Discover.DiscoverTv.sortTmdbRatingAsc": "TMDB-Bewertung Aufsteigend", - "components.Discover.DiscoverTv.sortTmdbRatingDesc": "TMDB-Bewertung Absteigend", "components.Discover.DiscoverTvGenre.genreSeries": "{genre}-Serien", - "components.Discover.DiscoverTvKeyword.keywordSeries": "{keywordTitle} Serien", "components.Discover.DiscoverTvLanguage.languageSeries": "Serien auf {language}", - "components.Discover.DiscoverWatchlist.discoverwatchlist": "Deine Plex-Watchlist", + "components.Discover.DiscoverWatchlist.discoverwatchlist": "Deine Beobachtungsliste", "components.Discover.DiscoverWatchlist.watchlist": "Plex Merkliste", - "components.Discover.emptywatchlist": "Hier erscheinen deine zur Plex Watchlist hinzugefügte Medien.", - "components.Discover.FilterSlideover.activefilters": "{count, plural, one {# Aktiver Filter} other {# Aktive Filter}}", - "components.Discover.FilterSlideover.clearfilters": "Aktive Filter löschen", - "components.Discover.FilterSlideover.filters": "Filter", - "components.Discover.FilterSlideover.firstAirDate": "Datum der Erstausstrahlung", - "components.Discover.FilterSlideover.from": "Vom", - "components.Discover.FilterSlideover.genres": "Genres", - "components.Discover.FilterSlideover.keywords": "Stichwörter", - "components.Discover.FilterSlideover.originalLanguage": "Originalsprache", - "components.Discover.FilterSlideover.ratingText": "Bewertungen zwischen {minValue} und {maxValue}", - "components.Discover.FilterSlideover.releaseDate": "Erscheinungsdatum", - "components.Discover.FilterSlideover.runtime": "Laufzeit", - "components.Discover.FilterSlideover.runtimeText": "{minValue}-{maxValue} Minuten Laufzeit", - "components.Discover.FilterSlideover.streamingservices": "Streaming-Dienste", - "components.Discover.FilterSlideover.studio": "Studio", - "components.Discover.FilterSlideover.tmdbuserscore": "TMDB-Benutzerbewertung", - "components.Discover.FilterSlideover.tmdbuservotecount": "Anzahl an TMDB Benutzerbewertungen", - "components.Discover.FilterSlideover.to": "Bis", - "components.Discover.FilterSlideover.voteCount": "Anzahl Abstimmungen zwischen {minValue} und {maxValue}", "components.Discover.MovieGenreList.moviegenres": "Filmgenres", - "components.Discover.moviegenres": "Film Genre", "components.Discover.MovieGenreSlider.moviegenres": "Filmgenres", - "components.Discover.networks": "Sender", "components.Discover.NetworkSlider.networks": "Sender", + "components.Discover.StudioSlider.studios": "Filmstudio", + "components.Discover.TvGenreList.seriesgenres": "Seriengenres", + "components.Discover.TvGenreSlider.tvgenres": "Seriengenres", + "components.Discover.discover": "Entdecken", + "components.Discover.discovermovies": "Beliebte Filme", + "components.Discover.discovertv": "Beliebte Serien", + "components.Discover.emptywatchlist": "Hier erscheinen deine zur Plex Watchlist hinzugefügte Medien.", "components.Discover.noRequests": "Keine Anfragen.", "components.Discover.plexwatchlist": "Deine Plex Watchlist", - "components.Discover.PlexWatchlistSlider.emptywatchlist": "Medien in deiner Plex Watchlist erscheinen hier.", - "components.Discover.PlexWatchlistSlider.plexwatchlist": "Deine Plex Watchlist", + "components.Discover.RecentlyAddedSlider.recentlyAdded": "Kürzlich hinzugefügt", "components.Discover.popularmovies": "Beliebte Filme", "components.Discover.populartv": "Beliebte Serien", "components.Discover.recentlyAdded": "Kürzlich hinzugefügt", - "components.Discover.RecentlyAddedSlider.recentlyAdded": "Kürzlich hinzugefügt", "components.Discover.recentrequests": "Vorherige Anfragen", - "components.Discover.resetfailed": "Beim Zurücksetzen der Entdecken-Einstellungen ist etwas schief gegangen.", - "components.Discover.resetsuccess": "Die Entdecken-Einstellungen wurden erfolgreich zurückgesetzt.", - "components.Discover.resettodefault": "Zurücksetzen auf Standard", - "components.Discover.resetwarning": "Setzt alle Slider auf die Standardwerte zurück. Dadurch werden auch alle benutzerdefinierten Slider gelöscht!", - "components.Discover.stopediting": "Bearbeitung stoppen", - "components.Discover.studios": "Studios", - "components.Discover.StudioSlider.studios": "Filmstudio", - "components.Discover.tmdbmoviegenre": "TMDB Film Genre", - "components.Discover.tmdbmoviekeyword": "TMDB Film Keyword", - "components.Discover.tmdbmoviestreamingservices": "TMDB Film-Streaming-Dienste", - "components.Discover.tmdbnetwork": "TMDB Sender", - "components.Discover.tmdbsearch": "TMDB Suche", - "components.Discover.tmdbstudio": "TMDB Studio", - "components.Discover.tmdbtvgenre": "TMDB Serien Genre", - "components.Discover.tmdbtvkeyword": "TMDB Serien Keyword", - "components.Discover.tmdbtvstreamingservices": "TMDB TV-Streaming-Dienste", "components.Discover.trending": "Trends", - "components.Discover.TvGenreList.seriesgenres": "Seriengenres", - "components.Discover.tvgenres": "Serien Genre", - "components.Discover.TvGenreSlider.tvgenres": "Seriengenres", "components.Discover.upcoming": "Kommende Filme", "components.Discover.upcomingmovies": "Kommende Filme", "components.Discover.upcomingtv": "Kommende Serien", - "components.Discover.updatefailed": "Bei der Aktualisierung der Entdecken-Einstellungen ist ein Fehler aufgetreten.", - "components.Discover.updatesuccess": "Die Einstellungen für die Entdecken-Anpassung wurden aktualisiert.", "components.DownloadBlock.estimatedtime": "Geschätzte {time}", "components.DownloadBlock.formattedTitle": "{title}: Staffel {seasonNumber} Episode {episodeNumber}", - "components.IssueDetails.allepisodes": "Alle Folgen", - "components.IssueDetails.allseasons": "Alle Staffeln", - "components.IssueDetails.closeissue": "Problem schließen", - "components.IssueDetails.closeissueandcomment": "Schließen mit Kommentar", - "components.IssueDetails.commentplaceholder": "Kommentar hinzufügen…", - "components.IssueDetails.comments": "Kommentare", - "components.IssueDetails.deleteissue": "Problem löschen", - "components.IssueDetails.deleteissueconfirm": "Soll dieses Problem wirklich gelöscht werden?", - "components.IssueDetails.episode": "Folge {episodeNumber}", "components.IssueDetails.IssueComment.areyousuredelete": "Soll dieser Kommentar wirklich gelöscht werden?", "components.IssueDetails.IssueComment.delete": "Kommentar löschen", "components.IssueDetails.IssueComment.edit": "Kommentar bearbeiten", @@ -144,6 +46,15 @@ "components.IssueDetails.IssueDescription.deleteissue": "Problem löschen", "components.IssueDetails.IssueDescription.description": "Beschreibung", "components.IssueDetails.IssueDescription.edit": "Beschreibung bearbeiten", + "components.IssueDetails.allepisodes": "Alle Folgen", + "components.IssueDetails.allseasons": "Alle Staffeln", + "components.IssueDetails.closeissue": "Problem schließen", + "components.IssueDetails.closeissueandcomment": "Schließen mit Kommentar", + "components.IssueDetails.commentplaceholder": "Kommentar hinzufügen…", + "components.IssueDetails.comments": "Kommentare", + "components.IssueDetails.deleteissue": "Problem löschen", + "components.IssueDetails.deleteissueconfirm": "Soll dieses Problem wirklich gelöscht werden?", + "components.IssueDetails.episode": "Folge {episodeNumber}", "components.IssueDetails.issuepagetitle": "Problem", "components.IssueDetails.issuetype": "Art", "components.IssueDetails.lastupdated": "Letzte Aktualisierung", @@ -202,8 +113,6 @@ "components.LanguageSelector.originalLanguageDefault": "Alle Sprachen", "components.Layout.LanguagePicker.displaylanguage": "Sprache darstellen", "components.Layout.SearchInput.searchPlaceholder": "Nach Filmen und Serien suchen", - "components.Layout.Sidebar.browsemovies": "Filme", - "components.Layout.Sidebar.browsetv": "Serien", "components.Layout.Sidebar.dashboard": "Entdecken", "components.Layout.Sidebar.issues": "Probleme", "components.Layout.Sidebar.requests": "Anfragen", @@ -215,42 +124,21 @@ "components.Layout.UserDropdown.requests": "Anfragen", "components.Layout.UserDropdown.settings": "Einstellungen", "components.Layout.UserDropdown.signout": "Abmelden", - "components.Layout.UserWarnings.emailInvalid": "E-Mail-Adresse ist nicht gültig.", - "components.Layout.UserWarnings.emailRequired": "Eine E-Mail-Adresse ist erforderlich.", - "components.Layout.UserWarnings.passwordRequired": "Ein Passwort ist erforderlich.", "components.Layout.VersionStatus.commitsbehind": "{commitsBehind} {commitsBehind, plural, one {Version} other {Versionen}} hinterher", "components.Layout.VersionStatus.outofdate": "Veraltet", "components.Layout.VersionStatus.streamdevelop": "Jellyseerr Entwicklung", "components.Layout.VersionStatus.streamstable": "Jellyseerr Stable", - "components.Login.adminerror": "Es ist ein Admin Account für den Login erforderlich.", - "components.Login.credentialerror": "Der Benutzername oder das Passwort ist falsch.", - "components.Login.description": "Da es sich um deine erste Anmeldung bei {applicationName} handelt, musst du eine E-Mail-Addresse hinterlegen.", "components.Login.email": "E-Mail-Adresse", - "components.Login.emailtooltip": "Die Adresse muss nicht mit Ihrer {mediaServerName}-Instanz verbunden sein.", "components.Login.forgotpassword": "Passwort vergessen?", - "components.Login.host": "{mediaServerName} URL", - "components.Login.initialsignin": "Verbinde", - "components.Login.initialsigningin": "Verbindet…", "components.Login.loginerror": "Beim Anmelden ist etwas schief gelaufen.", "components.Login.password": "Passwort", - "components.Login.save": "Speichern", - "components.Login.saving": "Speichert…", "components.Login.signin": "Anmelden", "components.Login.signingin": "Anmelden …", "components.Login.signinheader": "Anmelden um fortzufahren", - "components.Login.signinwithjellyfin": "Verwende dein {mediaServerName}-Konto", "components.Login.signinwithoverseerr": "Verwende dein {applicationTitle}-Konto", "components.Login.signinwithplex": "Benutze dein Plex-Konto", - "components.Login.title": "E-Mail-Adresse hinzufügen", - "components.Login.username": "Benutzername", - "components.Login.validationemailformat": "Gültige E-Mail-Adresse benötigt", - "components.Login.validationEmailFormat": "Ungültige E-Mail-Adresse", "components.Login.validationemailrequired": "Du musst eine gültige E-Mail-Adresse angeben", - "components.Login.validationEmailRequired": "Du musst eine E-Mail-Adresse angeben", - "components.Login.validationhostformat": "Gültige URL benötigt", - "components.Login.validationhostrequired": "{mediaServerName} URL benötigt", "components.Login.validationpasswordrequired": "Du musst ein Passwort angeben", - "components.Login.validationusernamerequired": "Benutzername benötigt", "components.ManageSlideOver.alltime": "Gesamte Zeit", "components.ManageSlideOver.downloadstatus": "Downloads", "components.ManageSlideOver.manageModalAdvanced": "Fortgeschrittene", @@ -260,7 +148,6 @@ "components.ManageSlideOver.manageModalMedia": "Medien", "components.ManageSlideOver.manageModalMedia4k": "4K Medien", "components.ManageSlideOver.manageModalNoRequests": "Keine Anfragen.", - "components.ManageSlideOver.manageModalRemoveMediaWarning": "* Dadurch wird {mediaType} unwiderruflich aus {arr} entfernt, einschließlich aller Dateien.", "components.ManageSlideOver.manageModalRequests": "Anfragen", "components.ManageSlideOver.manageModalTitle": "{mediaType} verwalten", "components.ManageSlideOver.mark4kavailable": "Als in 4K verfügbar markieren", @@ -274,29 +161,23 @@ "components.ManageSlideOver.pastdays": "Vergangene {days, number} Tage", "components.ManageSlideOver.playedby": "Abgespielt von", "components.ManageSlideOver.plays": "{playCount, number} {playCount, plural, one {abgespielt} other {abgespielt}}", - "components.ManageSlideOver.removearr": "Aus {arr} entfernen", - "components.ManageSlideOver.removearr4k": "4K aus {arr} entfernen", "components.ManageSlideOver.tvshow": "Serie", - "components.MediaSlider.ShowMoreCard.seemore": "Mehr anzeigen", + "components.MediaSlider.ShowMoreCard.seemore": "Mehr anschauen", + "components.MovieDetails.MovieCast.fullcast": "Komplette Besetzung", + "components.MovieDetails.MovieCrew.fullcrew": "Komplette Crew", "components.MovieDetails.budget": "Budget", "components.MovieDetails.cast": "Besetzung", "components.MovieDetails.digitalrelease": "Digitale Veröffentlichung", - "components.MovieDetails.downloadstatus": "Download Status", - "components.MovieDetails.imdbuserscore": "IMDB Nutzer Bewertung", "components.MovieDetails.managemovie": "Film verwalten", "components.MovieDetails.mark4kavailable": "4K als verfügbar markieren", "components.MovieDetails.markavailable": "Als verfügbar markieren", - "components.MovieDetails.openradarr": "Film in Radarr öffnen", - "components.MovieDetails.openradarr4k": "Film in 4K Radarr öffnen", - "components.MovieDetails.MovieCast.fullcast": "Komplette Besetzung", - "components.MovieDetails.MovieCrew.fullcrew": "Komplette Crew", "components.MovieDetails.originallanguage": "Originalsprache", "components.MovieDetails.originaltitle": "Originaltitel", "components.MovieDetails.overview": "Übersicht", "components.MovieDetails.overviewunavailable": "Übersicht nicht verfügbar.", "components.MovieDetails.physicalrelease": "DVD/Bluray-Veröffentlichungen", - "components.MovieDetails.play": "Auf {mediaServerName} abspielen", - "components.MovieDetails.play4k": "Auf {mediaServerName} in 4K abspielen", + "components.MovieDetails.play4konplex": "In 4K auf Plex abspielen", + "components.MovieDetails.playonplex": "Auf Plex abspielen", "components.MovieDetails.productioncountries": "Produktions {countryCount, plural, one {Land} other {Länder}}", "components.MovieDetails.recommendations": "Empfehlungen", "components.MovieDetails.releasedate": "{releaseCount, plural, one {Veröffentlichungstermin} other {Veröffentlichungstermine}}", @@ -325,10 +206,10 @@ "components.NotificationTypeSelector.issuereopenedDescription": "Sende eine Benachrichtigung, wenn Probleme wieder geöffnet werden.", "components.NotificationTypeSelector.issueresolved": "Problem gelöst", "components.NotificationTypeSelector.issueresolvedDescription": "Senden Benachrichtigungen, wenn Probleme gelöst sind.", - "components.NotificationTypeSelector.mediaapproved": "Anfrage genehmigt", - "components.NotificationTypeSelector.mediaapprovedDescription": "Sende Benachrichtigungen, wenn angeforderte Medien manuell genehmigt wurden.", "components.NotificationTypeSelector.mediaAutoApproved": "Anfrage automatisch genehmigt", "components.NotificationTypeSelector.mediaAutoApprovedDescription": "Sende eine Benachrichtigung, wenn das angeforderte Medium automatisch genehmigt wird.", + "components.NotificationTypeSelector.mediaapproved": "Anfrage genehmigt", + "components.NotificationTypeSelector.mediaapprovedDescription": "Sende Benachrichtigungen, wenn angeforderte Medien manuell genehmigt wurden.", "components.NotificationTypeSelector.mediaautorequested": "Automatisch übermittelte Anfrage", "components.NotificationTypeSelector.mediaautorequestedDescription": "Erhalten eine Benachrichtigung, wenn neue Medienanfragen für Objekte auf deiner Plex Watchlist automatisch übermittelt werden.", "components.NotificationTypeSelector.mediaavailable": "Anfrage verfügbar", @@ -344,8 +225,8 @@ "components.NotificationTypeSelector.userissuecreatedDescription": "Lassen dich benachrichtigen, wenn andere Benutzer Probleme melden.", "components.NotificationTypeSelector.userissuereopenedDescription": "Sende eine Benachrichtigung, wenn die von dir gemeldeten Probleme wieder geöffnet werden.", "components.NotificationTypeSelector.userissueresolvedDescription": "Sende eine Benachrichtigung, wenn andere Benutzer Kommentare zu Problemen abgeben.", - "components.NotificationTypeSelector.usermediaapprovedDescription": "Werde benachrichtigt, wenn Ihre Medienanfrage angenommen wurde.", "components.NotificationTypeSelector.usermediaAutoApprovedDescription": "Werde benachrichtigt, wenn andere Nutzer Medien anfordern, welche automatisch angenommen werden.", + "components.NotificationTypeSelector.usermediaapprovedDescription": "Werde benachrichtigt, wenn Ihre Medienanfrage angenommen wurde.", "components.NotificationTypeSelector.usermediaavailableDescription": "Sende eine Benachrichtigung, wenn Ihre Medienanfragen verfügbar sind.", "components.NotificationTypeSelector.usermediadeclinedDescription": "Werde benachrichtigt, wenn deine Medienanfrage abgelehnt wurde.", "components.NotificationTypeSelector.usermediafailedDescription": "Werde benachrichtigt, wenn die angeforderten Medien bei der Hinzufügung zu Radarr oder Sonarr fehlschlagen.", @@ -431,14 +312,14 @@ "components.RequestBlock.rootfolder": "Stammordner", "components.RequestBlock.seasons": "{seasonCount, plural, one {Staffel} other {Staffeln}}", "components.RequestBlock.server": "Zielserver", - "components.RequestButton.approve4krequests": "Genehmige {requestCount, plural, one {4K Anfrage} other {{requestCount} 4K Anfragen}}", + "components.RequestButton.approve4krequests": "Genehmige {requestCount, plural, one {4K Anfrage} other {{requestCount} 4K Requests}}", "components.RequestButton.approverequest": "Anfrage genehmigen", "components.RequestButton.approverequest4k": "4K Anfrage genehmigen", - "components.RequestButton.approverequests": "Genehmige {requestCount, plural, one {Anfrage} other {{requestCount} Anfragen}}", - "components.RequestButton.decline4krequests": "Lehne {requestCount, plural, one {4K Anfrage} other {{requestCount} 4K Anfragen}} ab", + "components.RequestButton.approverequests": "Genehmige {requestCount, plural, one {Anfrage} other {{requestCount} Requests}}", + "components.RequestButton.decline4krequests": "Lehne {requestCount, plural, one {4K Anfrage} other {{requestCount} 4K Requests}} ab", "components.RequestButton.declinerequest": "Anfrage ablehnen", "components.RequestButton.declinerequest4k": "4K Anfrage ablehnen", - "components.RequestButton.declinerequests": "Lehne {requestCount, plural, one {Anfrage} other {{requestCount} Anfragen}} ab", + "components.RequestButton.declinerequests": "Lehne {requestCount, plural, one {Anfrage} other {{requestCount} Requests}} ab", "components.RequestButton.requestmore": "Mehr anfragen", "components.RequestButton.requestmore4k": "Mehr in 4K anfragen", "components.RequestButton.viewrequest": "Anfrage anzeigen", @@ -483,17 +364,6 @@ "components.RequestModal.AdvancedRequester.rootfolder": "Stammordner", "components.RequestModal.AdvancedRequester.selecttags": "Wähle Tags aus", "components.RequestModal.AdvancedRequester.tags": "Tags", - "components.RequestModal.alreadyrequested": "Bereits Angefragt", - "components.RequestModal.approve": "Anfrage genehmigen", - "components.RequestModal.autoapproval": "Automatische Genehmigung", - "components.RequestModal.cancel": "Anfrage abbrechen", - "components.RequestModal.edit": "Anfrage bearbeiten", - "components.RequestModal.errorediting": "Beim Bearbeiten der Anfrage ist etwas schief gelaufen.", - "components.RequestModal.extras": "Extras", - "components.RequestModal.numberofepisodes": "Anzahl der Folgen", - "components.RequestModal.pending4krequest": "Ausstehende 4K Anfrage", - "components.RequestModal.pendingapproval": "Deine Anfrage steht noch aus.", - "components.RequestModal.pendingrequest": "Ausstehende Anfrage", "components.RequestModal.QuotaDisplay.allowedRequests": "Du darfst {limit} {type} Anfragen alle {days} Tage machen.", "components.RequestModal.QuotaDisplay.allowedRequestsUser": "Dieser Benutzer darf {limit} {type} Anfragen alle {days} Tage machen.", "components.RequestModal.QuotaDisplay.movie": "Filme", @@ -506,9 +376,23 @@ "components.RequestModal.QuotaDisplay.requiredquotaUser": "Dieser Benutzer muss mindestens {seasons} {seasons, plural, one {Staffel Anfrage} other {Staffel Anfragen}} verbleibend haben, um eine Anfrage für diese Serie einzureichen.", "components.RequestModal.QuotaDisplay.season": "Staffeln", "components.RequestModal.QuotaDisplay.seasonlimit": "{limit, plural, one {Staffel} other {Staffeln}}", - "components.RequestModal.requestadmin": "Diese Anfrage wird automatisch genehmigt.", + "components.RequestModal.SearchByNameModal.nomatches": "Wir konnten keine Übereinstimmung für diese Serie finden.", + "components.RequestModal.SearchByNameModal.notvdbiddescription": "Wir konnten diese Serie nicht automatisch zuordnen. Bitte wähle unten eine korrekte Übereinstimmung aus.", + "components.RequestModal.alreadyrequested": "Bereits Angefragt", + "components.RequestModal.approve": "Anfrage genehmigen", + "components.RequestModal.autoapproval": "Automatische Genehmigung", + "components.RequestModal.cancel": "Anfrage abbrechen", + "components.RequestModal.edit": "Anfrage bearbeiten", + "components.RequestModal.errorediting": "Beim Bearbeiten der Anfrage ist etwas schief gelaufen.", + "components.RequestModal.extras": "Extras", + "components.RequestModal.numberofepisodes": "Anzahl der Folgen", + "components.RequestModal.pending4krequest": "Ausstehende 4K Anfrage", + "components.RequestModal.pendingapproval": "Deine Anfrage steht noch aus.", + "components.RequestModal.pendingrequest": "Ausstehende Anfrage", "components.RequestModal.requestApproved": "Anfrage für {title} genehmigt!", "components.RequestModal.requestCancel": "Anfrage für {title} abgebrochen.", + "components.RequestModal.requestSuccess": "{title} erfolgreich angefragt!", + "components.RequestModal.requestadmin": "Diese Anfrage wird automatisch genehmigt.", "components.RequestModal.requestcancelled": "Anfrage für {title} abgebrochen.", "components.RequestModal.requestcollection4ktitle": "Sammlung in 4k anfragen", "components.RequestModal.requestcollectiontitle": "Sammlung anfragen", @@ -523,9 +407,6 @@ "components.RequestModal.requestseasons4k": "Anfrage {seasonCount} {seasonCount, plural, one {Serie} other {Serien}} in 4K", "components.RequestModal.requestseries4ktitle": "Serie in 4k anfragen", "components.RequestModal.requestseriestitle": "Serie anfragen", - "components.RequestModal.requestSuccess": "{title} erfolgreich angefragt!", - "components.RequestModal.SearchByNameModal.nomatches": "Wir konnten keine Übereinstimmung für diese Serie finden.", - "components.RequestModal.SearchByNameModal.notvdbiddescription": "Wir konnten diese Serie nicht automatisch zuordnen. Bitte wähle unten eine korrekte Übereinstimmung aus.", "components.RequestModal.season": "Staffel", "components.RequestModal.seasonnumber": "Staffel {number}", "components.RequestModal.selectmovies": "Wähle Film(e)", @@ -545,101 +426,6 @@ "components.ResetPassword.validationpasswordrequired": "Du musst ein Passwort angeben", "components.Search.search": "Suchen", "components.Search.searchresults": "Suchergebnisse", - "components.Selector.nooptions": "Keine Ergebnisse.", - "components.Selector.searchGenres": "Genres auswählen…", - "components.Selector.searchKeywords": "Stichwörter suchen…", - "components.Selector.searchStudios": "Studios suchen…", - "components.Selector.showless": "Weniger anzeigen", - "components.Selector.showmore": "Mehr anzeigen", - "components.Selector.starttyping": "Start der Suche durch Tippen.", - "components.Settings.activeProfile": "Aktives Profil", - "components.Settings.addradarr": "Radarr-Server hinzufügen", - "components.Settings.address": "Adresse", - "components.Settings.addsonarr": "Sonarr-Server hinzufügen", - "components.Settings.advancedTooltip": "Bei falscher Konfiguration dieser Einstellung, kann dies zu einer Funktionsstörung führen", - "components.Settings.apikey": "API-Schlüssel", - "components.Settings.applicationTitle": "Anwendungstitel", - "components.Settings.applicationurl": "Anwendungs-URL", - "components.Settings.cacheImages": "Bild-Caching aktivieren", - "components.Settings.cacheImagesTip": "Alle Bilder Optimieren und lokal speichern (verbraucht viel Speicherplatz)", - "components.Settings.cancelscan": "Durchsuchung abbrechen", - "components.Settings.copied": "API-Schlüssel in die Zwischenablage kopiert.", - "components.Settings.csrfProtection": "Aktiviere CSRF Schutz", - "components.Settings.csrfProtectionHoverTip": "Aktiviere diese Option NICHT, es sei denn du weißt, was du tust!", - "components.Settings.csrfProtectionTip": "Macht den externen API Zugang schreibgeschützt (setzt HTTPS voraus und Jellyseerr muss neu gestartet werden, damit die Änderungen wirksam werden)", - "components.Settings.currentlibrary": "Aktuelle Bibliothek: {name}", - "components.Settings.default": "Standardmäßig", - "components.Settings.default4k": "Standard-4K", - "components.Settings.deleteServer": "{serverType} Server löschen", - "components.Settings.deleteserverconfirm": "Bist du sicher, dass du diesen Server löschen möchtest?", - "components.Settings.email": "E-Mail", - "components.Settings.enablessl": "SSL aktivieren", - "components.Settings.experimentalTooltip": "Die Aktivierung dieser Einstellung kann zu einem unerwarteten Verhalten der Anwendung führen", - "components.Settings.externalUrl": "Externe URL", - "components.Settings.general": "Allgemein", - "components.Settings.generalsettings": "Allgemeine Einstellungen", - "components.Settings.generalsettingsDescription": "Konfiguriere Globale und Standard Jellyseerr-Einstellungen.", - "components.Settings.hideAvailable": "Verfügbare Medien ausblenden", - "components.Settings.hostname": "Hostname oder IP-Adresse", - "components.Settings.internalUrl": "Interne URL", - "components.Settings.is4k": "4K", - "components.Settings.jellyfinSettings": "{mediaServerName} Einstellungen", - "components.Settings.jellyfinSettingsDescription": "Konfiguriere optional die internen ud externen Endpunkte für deinen {mediaServerName}-Server. In den meisten Fällen ist die externe URL nicht die gleiche wie die interne URL. Außerdem kann eine eigene URL zum Zurücksetzen des Passworts angegeben werden, falls du an eine andere Seite weitergeleitet werden möchtest.", - "components.Settings.jellyfinSettingsFailure": "Etwas ist beim Speichern der {mediaServerName} Einstellungen schiefgelaufen.", - "components.Settings.jellyfinSettingsSuccess": "{mediaServerName} Einstellungen erfolgreich gespeichert!", - "components.Settings.jellyfinlibraries": "{mediaServerName} Bibliotheken", - "components.Settings.jellyfinlibrariesDescription": "Die Bibliotheken in denen {mediaServerName} nach Titeln sucht. Klicke auf den Knopf unten, falls keine Bibliotheken gelistet werden.", - "components.Settings.jellyfinsettings": "{mediaServerName} Einstellungen", - "components.Settings.jellyfinsettingsDescription": "Konfiguriere die Einstellungen für deinen {mediaServerName}-Server. {mediaServerName} wird deine {mediaServerName}-Bibliothek durchsuchen um zu schauen, was verfügbar ist.", - "components.Settings.jellyfinSyncFailedNoLibrariesFound": "Keine Bibliotheken gefunden", - "components.Settings.jellyfinSyncFailedAutomaticGroupedFolders": "Automatische Bibliotheksgruppierung wird mit Benutzerdefinierter Anmeldung nicht unterstützt", - "components.Settings.jellyfinSyncFailedGenericError": "Etwas ist beim synchronisieren der Bibliotheken schiefgelaufen", - "components.Settings.librariesRemaining": "Verbleibende Bibliotheken: {count}", - "components.Settings.locale": "Sprache darstellen", - "components.Settings.manualscan": "Manuelle Bibliotheksdurchsuchung", - "components.Settings.manualscanDescription": "Normalerweise wird dies nur einmal alle 24 Stunden ausgeführt. Jellyseerr überprüft die kürzlich hinzugefügten Plex-Server aggressiver. Falls du Plex zum ersten Mal konfigurierst, wird eine einmalige vollständige manuelle Bibliotheksdurchsuchung empfohlen!", - "components.Settings.manualscanDescriptionJellyfin": "Normalerweise wird dies nur einmal alle 24 Stunden ausgeführt. Jellyseerr überprüft die kürzlich hinzugefügten {mediaServerName}-Server aggressiver. Falls du Plex zum ersten Mal konfigurierst, wird eine einmalige vollständige manuelle Bibliotheksdurchsuchung empfohlen!", - "components.Settings.manualscanJellyfin": "Manuelle Bibliotheksdurchsuchung", - "components.Settings.mediaTypeMovie": "Film", - "components.Settings.mediaTypeSeries": "Serie", - "components.Settings.menuAbout": "Über", - "components.Settings.menuGeneralSettings": "Allgemein", - "components.Settings.menuJellyfinSettings": "{mediaServerName}", - "components.Settings.menuJobs": "Aufgaben und Cache", - "components.Settings.menuLogs": "Protokolle", - "components.Settings.menuNotifications": "Benachrichtigungen", - "components.Settings.menuPlexSettings": "Plex", - "components.Settings.menuServices": "Dienste", - "components.Settings.menuUsers": "Benutzer", - "components.Settings.noDefault4kServer": "Ein 4K {serverType} Server muss als Standart markiert werden um Nutzern zu ermöglichen 4K {mediaType} anfragen zu senden.", - "components.Settings.noDefaultNon4kServer": "Wenn du nur einen einzigen {serverType}-Server für Nicht-4K- und 4K-Inhalte hast (oder wenn du nur 4K-Inhalte herunterlädst), solltest du den {serverType}-Server NICHT als 4K-Server festgelegen.", - "components.Settings.noDefaultServer": "Mindestens ein {serverType}-Server muss als Standard markiert sein, damit {mediaType}-Anfragen verarbeitet werden können.", - "components.Settings.notificationAgentSettingsDescription": "Konfiguriere und aktiviere Benachrichtigungsagenten.", - "components.Settings.notifications": "Benachrichtigungen", - "components.Settings.Notifications.agentenabled": "Agent aktivieren", - "components.Settings.Notifications.NotificationsPushover.deviceDefault": "Geräte Standard", - "components.Settings.Notifications.allowselfsigned": "Selbstsignierte Zertifikate erlauben", - "components.Settings.Notifications.authPass": "SMTP-Passwort", - "components.Settings.Notifications.authUser": "SMTP-Benutzername", - "components.Settings.Notifications.botAPI": "Bot-Autorisierungstoken", - "components.Settings.Notifications.botApiTip": "Erstelle einen Bot für die Verwendung mit Jellyseerr", - "components.Settings.Notifications.botAvatarUrl": "Bot Avatar URL", - "components.Settings.Notifications.botUsername": "Bot Benutzername", - "components.Settings.Notifications.botUsernameTip": "Benutzern erlauben, einen Chat mit dem Bot zu starten und ihre eigenen Benachrichtigungen konfigurieren", - "components.Settings.Notifications.chatId": "Chat-ID", - "components.Settings.Notifications.chatIdTip": "Starte einen Chat mit dem Bot, füge @get_id_bot hinzu, und erteile den /my_id Befehl", - "components.Settings.Notifications.discordsettingsfailed": "Discord-Benachrichtigungseinstellungen konnten nicht gespeichert werden.", - "components.Settings.Notifications.discordsettingssaved": "Discord-Benachrichtigungseinstellungen erfolgreich gespeichert!", - "components.Settings.Notifications.emailsender": "Absenderadresse", - "components.Settings.Notifications.emailsettingsfailed": "E-Mail-Benachrichtigungseinstellungen konnten nicht gespeichert werden.", - "components.Settings.Notifications.emailsettingssaved": "E-Mail-Benachrichtigungseinstellungen erfolgreich gespeichert!", - "components.Settings.Notifications.enableMentions": "Erwähnungen aktivieren", - "components.Settings.Notifications.encryption": "Verschlüsselungsmethode", - "components.Settings.Notifications.encryptionDefault": "Verwende STARTTLS wenn verfügbar", - "components.Settings.Notifications.encryptionImplicitTls": "Benutze Implizit TLS", - "components.Settings.Notifications.encryptionNone": "Keine", - "components.Settings.Notifications.encryptionOpportunisticTls": "STARTTLS immer verwenden", - "components.Settings.Notifications.encryptionTip": "Im Regelfall verwendet Implicit TLS Port 465 und STARTTLS Port 587", "components.Settings.Notifications.NotificationsGotify.agentenabled": "Agent aktivieren", "components.Settings.Notifications.NotificationsGotify.gotifysettingsfailed": "Die Gotify-Benachrichtigungseinstellungen konnten nicht gespeichert werden.", "components.Settings.Notifications.NotificationsGotify.gotifysettingssaved": "Gotify Benachrichtigungseinstellungen erfolgreich gespeichert!", @@ -680,7 +466,6 @@ "components.Settings.Notifications.NotificationsPushover.agentenabled": "Agent aktivieren", "components.Settings.Notifications.NotificationsPushover.pushoversettingsfailed": "Pushover-Benachrichtigungseinstellungen konnten nicht gespeichert werden.", "components.Settings.Notifications.NotificationsPushover.pushoversettingssaved": "Pushover-Benachrichtigungseinstellungen erfolgreich gespeichert!", - "components.Settings.Notifications.NotificationsPushover.sound": "Benachrichtigungston", "components.Settings.Notifications.NotificationsPushover.toastPushoverTestFailed": "Pushover Test Benachrichtigung fehlgeschlagen.", "components.Settings.Notifications.NotificationsPushover.toastPushoverTestSending": "Pushover Test Benachrichtigung wird gesendet…", "components.Settings.Notifications.NotificationsPushover.toastPushoverTestSuccess": "Pushover Test Benachrichtigung gesendet!", @@ -699,6 +484,13 @@ "components.Settings.Notifications.NotificationsSlack.validationWebhookUrl": "Du musst eine gültige URL angeben", "components.Settings.Notifications.NotificationsSlack.webhookUrl": "Webhook URL", "components.Settings.Notifications.NotificationsSlack.webhookUrlTip": "Erstelle eine Eingehende Webhook integration", + "components.Settings.Notifications.NotificationsWebPush.agentenabled": "Agent aktivieren", + "components.Settings.Notifications.NotificationsWebPush.httpsRequirement": "Um web push Benachrichtigungen zu erhalten, muss Jellyseerr über HTTPS gehen.", + "components.Settings.Notifications.NotificationsWebPush.toastWebPushTestFailed": "Web push Test Benachrichtigung fehlgeschlagen.", + "components.Settings.Notifications.NotificationsWebPush.toastWebPushTestSending": "Web push test Benachrichtigung wird gesendet…", + "components.Settings.Notifications.NotificationsWebPush.toastWebPushTestSuccess": "Web push test Benachrichtigung gesendet!", + "components.Settings.Notifications.NotificationsWebPush.webpushsettingsfailed": "Web push Benachrichtigungseinstellungen konnten nicht gespeichert werden.", + "components.Settings.Notifications.NotificationsWebPush.webpushsettingssaved": "Web push Benachrichtigungseinstellungen erfolgreich gespeichert!", "components.Settings.Notifications.NotificationsWebhook.agentenabled": "Dienst aktivieren", "components.Settings.Notifications.NotificationsWebhook.authheader": "Autorisierungsüberschrift", "components.Settings.Notifications.NotificationsWebhook.customJson": "JSON-Inhalt", @@ -711,23 +503,39 @@ "components.Settings.Notifications.NotificationsWebhook.validationJsonPayloadRequired": "Du musst einen gültigen JSON-Inhalt angeben", "components.Settings.Notifications.NotificationsWebhook.validationTypes": "Sie müssen mindestens einen Benachrichtigungstypen auswählen", "components.Settings.Notifications.NotificationsWebhook.validationWebhookUrl": "Du musst eine gültige URL angeben", + "components.Settings.Notifications.NotificationsWebhook.webhookUrl": "Webhook-URL", "components.Settings.Notifications.NotificationsWebhook.webhooksettingsfailed": "Webhook-Benachrichtigungseinstellungen konnten nicht gespeichert werden.", "components.Settings.Notifications.NotificationsWebhook.webhooksettingssaved": "Webhook-Benachrichtigungseinstellungen erfolgreich gespeichert!", - "components.Settings.Notifications.NotificationsWebhook.webhookUrl": "Webhook-URL", - "components.Settings.Notifications.NotificationsWebPush.agentenabled": "Agent aktivieren", - "components.Settings.Notifications.NotificationsWebPush.httpsRequirement": "Um web push Benachrichtigungen zu erhalten, muss Jellyseerr über HTTPS gehen.", - "components.Settings.Notifications.NotificationsWebPush.toastWebPushTestFailed": "Web push Test Benachrichtigung fehlgeschlagen.", - "components.Settings.Notifications.NotificationsWebPush.toastWebPushTestSending": "Web push test Benachrichtigung wird gesendet…", - "components.Settings.Notifications.NotificationsWebPush.toastWebPushTestSuccess": "Web push test Benachrichtigung gesendet!", - "components.Settings.Notifications.NotificationsWebPush.webpushsettingsfailed": "Web push Benachrichtigungseinstellungen konnten nicht gespeichert werden.", - "components.Settings.Notifications.NotificationsWebPush.webpushsettingssaved": "Web push Benachrichtigungseinstellungen erfolgreich gespeichert!", + "components.Settings.Notifications.agentenabled": "Agent aktivieren", + "components.Settings.Notifications.allowselfsigned": "Selbstsignierte Zertifikate erlauben", + "components.Settings.Notifications.authPass": "SMTP-Passwort", + "components.Settings.Notifications.authUser": "SMTP-Benutzername", + "components.Settings.Notifications.botAPI": "Bot-Autorisierungstoken", + "components.Settings.Notifications.botApiTip": "Erstelle einen Bot für die Verwendung mit Jellyseerr", + "components.Settings.Notifications.botAvatarUrl": "Bot Avatar URL", + "components.Settings.Notifications.botUsername": "Bot Benutzername", + "components.Settings.Notifications.botUsernameTip": "Benutzern erlauben, einen Chat mit dem Bot zu starten und ihre eigenen Benachrichtigungen konfigurieren", + "components.Settings.Notifications.chatId": "Chat-ID", + "components.Settings.Notifications.chatIdTip": "Starte einen Chat mit dem Bot, füge @get_id_bot hinzu, und erteile den /my_id Befehl", + "components.Settings.Notifications.discordsettingsfailed": "Discord-Benachrichtigungseinstellungen konnten nicht gespeichert werden.", + "components.Settings.Notifications.discordsettingssaved": "Discord-Benachrichtigungseinstellungen erfolgreich gespeichert!", + "components.Settings.Notifications.emailsender": "Absenderadresse", + "components.Settings.Notifications.emailsettingsfailed": "E-Mail-Benachrichtigungseinstellungen konnten nicht gespeichert werden.", + "components.Settings.Notifications.emailsettingssaved": "E-Mail-Benachrichtigungseinstellungen erfolgreich gespeichert!", + "components.Settings.Notifications.enableMentions": "Erwähnungen aktivieren", + "components.Settings.Notifications.encryption": "Verschlüsselungsmethode", + "components.Settings.Notifications.encryptionDefault": "Verwende STARTTLS wenn verfügbar", + "components.Settings.Notifications.encryptionImplicitTls": "Benutze Implizit TLS", + "components.Settings.Notifications.encryptionNone": "Keine", + "components.Settings.Notifications.encryptionOpportunisticTls": "STARTTLS immer verwenden", + "components.Settings.Notifications.encryptionTip": "Im Regelfall verwendet Implicit TLS Port 465 und STARTTLS Port 587", "components.Settings.Notifications.pgpPassword": "PGP Passwort", "components.Settings.Notifications.pgpPasswordTip": "Signiere verschlüsselte E-Mail-Nachrichten mit OpenPGP", "components.Settings.Notifications.pgpPrivateKey": "PGP Privater Schlüssel", "components.Settings.Notifications.pgpPrivateKeyTip": "Signiere verschlüsselte E-Mail-Nachrichten mit OpenPGP", - "components.Settings.Notifications.senderName": "Absendername", "components.Settings.Notifications.sendSilently": "Sende stumm", "components.Settings.Notifications.sendSilentlyTip": "Sende Benachrichtigungen ohne Ton", + "components.Settings.Notifications.senderName": "Absendername", "components.Settings.Notifications.smtpHost": "SMTP-Host", "components.Settings.Notifications.smtpPort": "SMTP-Port", "components.Settings.Notifications.telegramsettingsfailed": "Telegram-Benachrichtigungseinstellungen konnten nicht gespeichert werden.", @@ -741,7 +549,6 @@ "components.Settings.Notifications.toastTelegramTestFailed": "Telegram test Benachrichtigung fehlgeschlagen.", "components.Settings.Notifications.toastTelegramTestSending": "Telegram test Benachrichtigung wird gesendet…", "components.Settings.Notifications.toastTelegramTestSuccess": "Telegram test Benachrichtigung gesendet!", - "components.Settings.Notifications.userEmailRequired": "Benötigt Benutzer E-Mail-Adresse", "components.Settings.Notifications.validationBotAPIRequired": "Du musst ein Bot-Autorisierungstoken angeben", "components.Settings.Notifications.validationChatIdRequired": "Du musst eine gültige Chat-ID angeben", "components.Settings.Notifications.validationEmail": "Du musst eine gültige E-Mail-Adresse angeben", @@ -753,17 +560,6 @@ "components.Settings.Notifications.validationUrl": "Du musst eine gültige URL angeben", "components.Settings.Notifications.webhookUrl": "Webhook-URL", "components.Settings.Notifications.webhookUrlTip": "Erstelle eine webhook Integration auf dem Server", - "components.Settings.notificationsettings": "Benachrichtigungseinstellungen", - "components.Settings.notrunning": "Nicht aktiv", - "components.Settings.originallanguage": "Sprache Entdecken", - "components.Settings.originallanguageTip": "Filtere Inhalte nach Originalsprache", - "components.Settings.partialRequestsEnabled": "Teilserienanfragen erlauben", - "components.Settings.plex": "Plex", - "components.Settings.plexlibraries": "Plex-Bibliotheken", - "components.Settings.plexlibrariesDescription": "Die Bibliotheken, welche Jellyseerr nach Titeln durchsucht. Richte deine Plex-Verbindungseinstellungen ein und speichere sie, klicke auf die Schaltfläche unten, wenn keine aufgeführt sind.", - "components.Settings.plexsettings": "Plex-Einstellungen", - "components.Settings.plexsettingsDescription": "Konfiguriere die Einstellungen für deinen Plex-Server. Jellyseerr durchsucht deine Plex-Bibliotheken, um festzustellen welche Inhalte verfügbar sind.", - "components.Settings.port": "Port", "components.Settings.RadarrModal.add": "Server hinzufügen", "components.Settings.RadarrModal.announced": "Angekündigt", "components.Settings.RadarrModal.apiKey": "API-Schlüssel", @@ -778,9 +574,9 @@ "components.Settings.RadarrModal.externalUrl": "Externe URL", "components.Settings.RadarrModal.hostname": "Hostname oder IP-Adresse", "components.Settings.RadarrModal.inCinemas": "Im Kino", + "components.Settings.RadarrModal.loadingTags": "Lade Tags…", "components.Settings.RadarrModal.loadingprofiles": "Qualitätsprofile werden geladen …", "components.Settings.RadarrModal.loadingrootfolders": "Stammordner werden geladen …", - "components.Settings.RadarrModal.loadingTags": "Lade Tags…", "components.Settings.RadarrModal.minimumAvailability": "Mindestverfügbarkeit", "components.Settings.RadarrModal.notagoptions": "Keine Tags.", "components.Settings.RadarrModal.port": "Port", @@ -795,8 +591,6 @@ "components.Settings.RadarrModal.servername": "Servername", "components.Settings.RadarrModal.ssl": "SSL aktivieren", "components.Settings.RadarrModal.syncEnabled": "Scannen aktivieren", - "components.Settings.RadarrModal.tagRequests": "Tagge Anfragen", - "components.Settings.RadarrModal.tagRequestsInfo": "Füge automatisch ein Tag hinzu mit der ID und dem Namen des anfordernden Nutzers", "components.Settings.RadarrModal.tags": "Tags", "components.Settings.RadarrModal.testFirstQualityProfiles": "Teste die Verbindung, um Qualitätsprofile zu laden", "components.Settings.RadarrModal.testFirstRootFolders": "Teste die Verbindung, um Stammordner zu laden", @@ -814,23 +608,13 @@ "components.Settings.RadarrModal.validationPortRequired": "Du musst einen Port angeben", "components.Settings.RadarrModal.validationProfileRequired": "Du musst ein Qualitätsprofil auswählen", "components.Settings.RadarrModal.validationRootFolderRequired": "Du musst einen Stammordner auswählen", - "components.Settings.radarrsettings": "Radarr-Einstellungen", - "components.Settings.region": "Region Entdecken", - "components.Settings.regionTip": "Filtere Inhalte nach regionaler Verfügbarkeit", - "components.Settings.restartrequiredTooltip": "Jellyseerr muss neu gestartet werden, damit Änderungen an dieser Einstellung wirksam werden", - "components.Settings.save": "Änderungen Speichern", - "components.Settings.saving": "Wird gespeichert...", - "components.Settings.scan": "Bibliotheken synchronisieren", - "components.Settings.scanning": "Synchronisieren…", - "components.Settings.serverLocal": "lokal", - "components.Settings.serverpreset": "Server", - "components.Settings.serverpresetLoad": "Drück den Knopf, um verfügbare Server zu laden", - "components.Settings.serverpresetManualMessage": "Manuelle Konfiguration", - "components.Settings.serverpresetRefreshing": "Rufe Server ab …", - "components.Settings.serverRemote": "entfernt", - "components.Settings.serverSecure": "Sicher", - "components.Settings.services": "Dienstleistungen", - "components.Settings.serviceSettingsDescription": "Konfiguriere unten deine {serverType}-Server. Du kannst mehrere {serverType}-Server verbinden, aber nur zwei davon können als Standard markiert werden (ein Nicht-4K- und ein 4K-Server). Administratoren können den Server überschreiben, auf dem neue Anfragen vor der Genehmigung verarbeitet werden.", + "components.Settings.SettingsAbout.Releases.currentversion": "Aktuell", + "components.Settings.SettingsAbout.Releases.latestversion": "Neuste", + "components.Settings.SettingsAbout.Releases.releasedataMissing": "Informationen der Version nicht verfügbar.", + "components.Settings.SettingsAbout.Releases.releases": "Veröffentlichungen", + "components.Settings.SettingsAbout.Releases.versionChangelog": "Änderungsprotokoll {version}", + "components.Settings.SettingsAbout.Releases.viewchangelog": "Änderungsprotokoll anzeigen", + "components.Settings.SettingsAbout.Releases.viewongithub": "Auf GitHub anzeigen", "components.Settings.SettingsAbout.about": "Über", "components.Settings.SettingsAbout.appDataPath": "Datenverzeichnis", "components.Settings.SettingsAbout.betawarning": "Dies ist eine BETA Software. Einige Funktionen könnten nicht funktionieren oder nicht stabil funktionieren. Bitte auf GitHub alle Fehler melden!", @@ -841,22 +625,13 @@ "components.Settings.SettingsAbout.outofdate": "Veraltet", "components.Settings.SettingsAbout.overseerrinformation": "Über Jellyseerr", "components.Settings.SettingsAbout.preferredmethod": "Bevorzugt", - "components.Settings.SettingsAbout.Releases.currentversion": "Aktuell", - "components.Settings.SettingsAbout.Releases.latestversion": "Neuste", - "components.Settings.SettingsAbout.Releases.releasedataMissing": "Informationen der Version nicht verfügbar.", - "components.Settings.SettingsAbout.Releases.releases": "Veröffentlichungen", - "components.Settings.SettingsAbout.Releases.versionChangelog": "Änderungsprotokoll {version}", - "components.Settings.SettingsAbout.Releases.viewchangelog": "Änderungsprotokoll anzeigen", - "components.Settings.SettingsAbout.Releases.viewongithub": "Auf GitHub anzeigen", "components.Settings.SettingsAbout.runningDevelop": "Sie benutzen den develop von Jellyseerr, der nur für diejenigen empfohlen wird, die an der Entwicklung mitwirken oder bei den neuesten Tests helfen.", - "components.Settings.SettingsAbout.supportoverseerr": "Unterstütze Overseerr", - "components.Settings.SettingsAbout.supportjellyseerr": "Unterstütze Jellyseerr", + "components.Settings.SettingsAbout.supportoverseerr": "Unterstütze Jellyseerr", "components.Settings.SettingsAbout.timezone": "Zeitzone", "components.Settings.SettingsAbout.totalmedia": "Medien insgesamt", "components.Settings.SettingsAbout.totalrequests": "Anfragen insgesamt", "components.Settings.SettingsAbout.uptodate": "Auf dem neusten Stand", "components.Settings.SettingsAbout.version": "Version", - "components.Settings.SettingsJobsCache.availability-sync": "Medienverfügbarkeit Sync", "components.Settings.SettingsJobsCache.cache": "Cache", "components.Settings.SettingsJobsCache.cacheDescription": "Jellyseerr speichert Anfragen an externe API Endpunkte zwischen, um die Leistung zu optimieren und unnötige API Aufrufe zu minimieren.", "components.Settings.SettingsJobsCache.cacheflushed": "{cachename} Cache geleert.", @@ -875,22 +650,21 @@ "components.Settings.SettingsJobsCache.editJobSchedulePrompt": "Häufigkeit", "components.Settings.SettingsJobsCache.editJobScheduleSelectorHours": "Alle {jobScheduleHours, plural, one {Stunde} other {{jobScheduleHours} Stunden}}", "components.Settings.SettingsJobsCache.editJobScheduleSelectorMinutes": "Alle {jobScheduleMinutes, plural, one {Minute} other {{jobScheduleMinutes} Minuten}}", - "components.Settings.SettingsJobsCache.editJobScheduleSelectorSeconds": "Alle {jobScheduleSeconds, plural, one {Sekunde} other {{jobScheduleSeconds} Sekunden}}", "components.Settings.SettingsJobsCache.flushcache": "Cache leeren", "components.Settings.SettingsJobsCache.image-cache-cleanup": "Bild-Cache-Bereinigung", "components.Settings.SettingsJobsCache.imagecache": "Bild-Cache", - "components.Settings.SettingsJobsCache.imagecachecount": "Bilder im Cache", "components.Settings.SettingsJobsCache.imagecacheDescription": "Wenn diese Funktion in den Einstellungen aktiviert ist, wird Jellyseerr Bilder aus vorkonfigurierten externen Quellen im Proxy-Cache zwischenspeichern. Bilder im Zwischenspeicher werden in deinem Konfigurationsordner gespeichert. Du findest die Dateien unter {appDataPath}/cache/images.", + "components.Settings.SettingsJobsCache.imagecachecount": "Bilder im Cache", "components.Settings.SettingsJobsCache.imagecachesize": "Gesamtgröße des Caches", - "components.Settings.SettingsJobsCache.jellyfin-full-scan": "Vollständiger Jellyfin Bibliotheken Scan", "components.Settings.SettingsJobsCache.jellyfin-recently-added-scan": "Scan der zuletzt hinzugefügten Jellyfin Medien", + "components.Settings.SettingsJobsCache.jellyfin-full-scan": "Vollständiger Jellyfin Bibliotheken Scan", + "components.Settings.SettingsJobsCache.jobScheduleEditFailed": "Beim Speichern des Auftrags ging etwas schief.", + "components.Settings.SettingsJobsCache.jobScheduleEditSaved": "Auftrag erfolgreich bearbeitet!", "components.Settings.SettingsJobsCache.jobcancelled": "{jobname} abgebrochen.", "components.Settings.SettingsJobsCache.jobname": "Aufgabenname", "components.Settings.SettingsJobsCache.jobs": "Aufgaben", - "components.Settings.SettingsJobsCache.jobsandcache": "Aufgaben und Cache", - "components.Settings.SettingsJobsCache.jobScheduleEditFailed": "Beim Speichern des Auftrags ging etwas schief.", - "components.Settings.SettingsJobsCache.jobScheduleEditSaved": "Auftrag erfolgreich bearbeitet!", "components.Settings.SettingsJobsCache.jobsDescription": "Jellyseerr führt bestimmte Wartungsaufgaben als regulär geplante Aufgaben durch, aber sie können auch manuell ausgeführt werden. Manuelles Ausführen einer Aufgabe ändert ihren Zeitplan nicht.", + "components.Settings.SettingsJobsCache.jobsandcache": "Aufgaben und Cache", "components.Settings.SettingsJobsCache.jobstarted": "{jobname} gestartet.", "components.Settings.SettingsJobsCache.jobtype": "Art", "components.Settings.SettingsJobsCache.nextexecution": "Nächste Ausführung", @@ -920,33 +694,6 @@ "components.Settings.SettingsLogs.showall": "Alle Protokolle anzeigen", "components.Settings.SettingsLogs.time": "Zeitstempel", "components.Settings.SettingsLogs.viewdetails": "Details anzeigen", - "components.Settings.SettingsMain.apikey": "API Schlüssel", - "components.Settings.SettingsMain.applicationTitle": "Anwendungstitel", - "components.Settings.SettingsMain.applicationurl": "Anwendung URL", - "components.Settings.SettingsMain.cacheImages": "Bild-Caching aktivieren", - "components.Settings.SettingsMain.cacheImagesTip": "Cache extern gehostete Bilder (erfordert eine beträchtliche Menge an Speicherplatz)", - "components.Settings.SettingsMain.csrfProtection": "Aktivere CSRF Schutz", - "components.Settings.SettingsMain.csrfProtectionHoverTip": "Aktiviere diese Einstellung nur wenn du weißt was du tust!", - "components.Settings.SettingsMain.csrfProtectionTip": "Limitiere externen API Zugriff auf Lese-Operationen (erfordert HTTPS)", - "components.Settings.SettingsMain.general": "Allgemein", - "components.Settings.SettingsMain.generalsettings": "Allgemeine Einstellungen", - "components.Settings.SettingsMain.generalsettingsDescription": "Konfiguration der globalen und Standardeinstellungen für Jellyseerr.", - "components.Settings.SettingsMain.hideAvailable": "Verfügbare Medien ausblenden", - "components.Settings.SettingsMain.locale": "Anzeigesprache", - "components.Settings.SettingsMain.originallanguage": "\"Entdecken\" Sprache", - "components.Settings.SettingsMain.originallanguageTip": "Inhalt nach Originalsprache filtern", - "components.Settings.SettingsMain.partialRequestsEnabled": "Teilweise Serienanfragen zulassen", - "components.Settings.SettingsMain.region": "\"Entdecken\" Region", - "components.Settings.SettingsMain.regionTip": "Inhalte nach regionaler Verfügbarkeit filtern", - "components.Settings.SettingsMain.toastApiKeyFailure": "Etwas ist schiefgelaufen während der Generierung eines neuen API Schlüssels.", - "components.Settings.SettingsMain.toastApiKeySuccess": "Neuer API Schlüssel erfolgreich generiert!", - "components.Settings.SettingsMain.toastSettingsFailure": "Beim Speichern der Einstellungen ist ein Fehler aufgetreten.", - "components.Settings.SettingsMain.toastSettingsSuccess": "Einstellungen erfolgreich gespeichert!", - "components.Settings.SettingsMain.trustProxy": "Proxyunterstützung aktivieren", - "components.Settings.SettingsMain.trustProxyTip": "Erlaube Jellyseerr, Client-IP-Adressen hinter einem Proxy korrekt zu registrieren", - "components.Settings.SettingsMain.validationApplicationTitle": "Du musst einen Anwendungstitel spezifizieren", - "components.Settings.SettingsMain.validationApplicationUrl": "Du musst eine valide URL spezifizieren", - "components.Settings.SettingsMain.validationApplicationUrlTrailingSlash": "Die URL darf nicht mit einem Slash \"/\" enden", "components.Settings.SettingsUsers.defaultPermissions": "Standardberechtigungen", "components.Settings.SettingsUsers.defaultPermissionsTip": "Iniziale Berechtigungen für neue Nutzer", "components.Settings.SettingsUsers.localLogin": "Lokale Anmeldung aktivieren", @@ -957,16 +704,14 @@ "components.Settings.SettingsUsers.toastSettingsFailure": "Beim Speichern der Einstellungen ist ein Fehler aufgetreten.", "components.Settings.SettingsUsers.toastSettingsSuccess": "Benutzereinstellungen erfolgreich gespeichert!", "components.Settings.SettingsUsers.tvRequestLimitLabel": "Globales Serienanfragenlimit", - "components.Settings.SettingsUsers.users": "Benutzer", "components.Settings.SettingsUsers.userSettings": "Benutzereinstellungen", "components.Settings.SettingsUsers.userSettingsDescription": "Globale und Standardbenutzereinstellungen konfigurieren.", - "components.Settings.settingUpPlexDescription": "Um Plex einzurichten, können die Daten manuell eintragen oder einen Server ausgewählt werden, welcher von plex.tv abgerufen wurde. Drück den Knopf rechts neben dem Dropdown-Menü, um die Liste der verfügbaren Server abzurufen.", + "components.Settings.SettingsUsers.users": "Benutzer", "components.Settings.SonarrModal.add": "Server hinzufügen", - "components.Settings.SonarrModal.animeSeriesType": "Anime Serien Typ", + "components.Settings.SonarrModal.animeTags": "Anime Tags", "components.Settings.SonarrModal.animelanguageprofile": "Anime-Sprachprofil", "components.Settings.SonarrModal.animequalityprofile": "Animequalitätsprofil", "components.Settings.SonarrModal.animerootfolder": "Animestammverzeichnis", - "components.Settings.SonarrModal.animeTags": "Anime Tags", "components.Settings.SonarrModal.apiKey": "API-Schlüssel", "components.Settings.SonarrModal.baseUrl": "Basis-URL", "components.Settings.SonarrModal.create4ksonarr": "Neuen 4K Sonarr Server hinzufügen", @@ -979,10 +724,10 @@ "components.Settings.SonarrModal.externalUrl": "Externe URL", "components.Settings.SonarrModal.hostname": "Hostname oder IP-Adresse", "components.Settings.SonarrModal.languageprofile": "Sprachprofil", + "components.Settings.SonarrModal.loadingTags": "Lade Tags…", "components.Settings.SonarrModal.loadinglanguageprofiles": "Sprachprofile werden geladen …", "components.Settings.SonarrModal.loadingprofiles": "Qualitätsprofile werden geladen …", "components.Settings.SonarrModal.loadingrootfolders": "Stammordner werden geladen …", - "components.Settings.SonarrModal.loadingTags": "Lade Tags…", "components.Settings.SonarrModal.notagoptions": "Keine Tags.", "components.Settings.SonarrModal.port": "Port", "components.Settings.SonarrModal.qualityprofile": "Qualitätsprofil", @@ -992,13 +737,10 @@ "components.Settings.SonarrModal.selectQualityProfile": "Wähle Qualitätsprofil", "components.Settings.SonarrModal.selectRootFolder": "Wähle Stammordner", "components.Settings.SonarrModal.selecttags": "Wähle Tags", - "components.Settings.SonarrModal.seriesType": "Serien Typ", "components.Settings.SonarrModal.server4k": "4K-Server", "components.Settings.SonarrModal.servername": "Servername", "components.Settings.SonarrModal.ssl": "SSL aktivieren", "components.Settings.SonarrModal.syncEnabled": "Scannen aktivieren", - "components.Settings.SonarrModal.tagRequests": "Tag Anforderungen", - "components.Settings.SonarrModal.tagRequestsInfo": "Füge automatisch einen zusätzlichen Tag mit der ID & Namen des anfordernden Nutzers", "components.Settings.SonarrModal.tags": "Tags", "components.Settings.SonarrModal.testFirstLanguageProfiles": "Teste die Verbindung zum Laden von Sprachprofilen", "components.Settings.SonarrModal.testFirstQualityProfiles": "Teste die Verbindung, um Qualitätsprofile zu laden", @@ -1017,15 +759,88 @@ "components.Settings.SonarrModal.validationPortRequired": "Du musst einen Port angeben", "components.Settings.SonarrModal.validationProfileRequired": "Du musst ein Qualitätsprofil auswählen", "components.Settings.SonarrModal.validationRootFolderRequired": "Du musst einen Stammordner auswählen", + "components.Settings.activeProfile": "Aktives Profil", + "components.Settings.addradarr": "Radarr-Server hinzufügen", + "components.Settings.address": "Adresse", + "components.Settings.addsonarr": "Sonarr-Server hinzufügen", + "components.Settings.advancedTooltip": "Bei falscher Konfiguration dieser Einstellung, kann dies zu einer Funktionsstörung führen", + "components.Settings.apikey": "API-Schlüssel", + "components.Settings.applicationTitle": "Anwendungstitel", + "components.Settings.applicationurl": "Anwendungs-URL", + "components.Settings.cacheImages": "Bild-Caching aktivieren", + "components.Settings.cacheImagesTip": "Alle Bilder Optimieren und lokal speichern (verbraucht viel Speicherplatz)", + "components.Settings.cancelscan": "Durchsuchung abbrechen", + "components.Settings.copied": "API-Schlüssel in die Zwischenablage kopiert.", + "components.Settings.csrfProtection": "Aktiviere CSRF Schutz", + "components.Settings.csrfProtectionHoverTip": "Aktiviere diese Option NICHT, es sei denn du weißt, was du tust!", + "components.Settings.csrfProtectionTip": "Macht den externen API Zugang schreibgeschützt (setzt HTTPS voraus und Jellyseerr muss neu gestartet werden, damit die Änderungen wirksam werden)", + "components.Settings.currentlibrary": "Aktuelle Bibliothek: {name}", + "components.Settings.default": "Standardmäßig", + "components.Settings.default4k": "Standard-4K", + "components.Settings.deleteServer": "{serverType} Server löschen", + "components.Settings.deleteserverconfirm": "Bist du sicher, dass du diesen Server löschen möchtest?", + "components.Settings.email": "E-Mail", + "components.Settings.enablessl": "SSL aktivieren", + "components.Settings.experimentalTooltip": "Die Aktivierung dieser Einstellung kann zu einem unerwarteten Verhalten der Anwendung führen", + "components.Settings.externalUrl": "Externe URL", + "components.Settings.general": "Allgemein", + "components.Settings.generalsettings": "Allgemeine Einstellungen", + "components.Settings.generalsettingsDescription": "Konfiguriere Globale und Standard Jellyseerr-Einstellungen.", + "components.Settings.hideAvailable": "Verfügbare Medien ausblenden", + "components.Settings.hostname": "Hostname oder IP-Adresse", + "components.Settings.is4k": "4K", + "components.Settings.librariesRemaining": "Verbleibende Bibliotheken: {count}", + "components.Settings.locale": "Sprache darstellen", + "components.Settings.manualscan": "Manuelle Bibliotheksdurchsuchung", + "components.Settings.manualscanDescription": "Normalerweise wird dies nur einmal alle 24 Stunden ausgeführt. Jellyseerr überprüft die kürzlich hinzugefügten Plex-Server aggressiver. Falls du Plex zum ersten Mal konfigurierst, wird eine einmalige vollständige manuelle Bibliotheksdurchsuchung empfohlen!", + "components.Settings.mediaTypeMovie": "Film", + "components.Settings.mediaTypeSeries": "Serie", + "components.Settings.menuAbout": "Über", + "components.Settings.menuGeneralSettings": "Allgemein", + "components.Settings.menuJobs": "Aufgaben und Cache", + "components.Settings.menuLogs": "Protokolle", + "components.Settings.menuNotifications": "Benachrichtigungen", + "components.Settings.menuPlexSettings": "Plex", + "components.Settings.menuServices": "Dienste", + "components.Settings.menuUsers": "Benutzer", + "components.Settings.noDefault4kServer": "Ein 4K {serverType} Server muss als Standart markiert werden um Nutzern zu ermöglichen 4K {mediaType} anfragen zu senden.", + "components.Settings.noDefaultNon4kServer": "Wenn du nur einen einzigen {serverType}-Server für Nicht-4K- und 4K-Inhalte hast (oder wenn du nur 4K-Inhalte herunterlädst), solltest du den {serverType}-Server NICHT als 4K-Server festgelegen.", + "components.Settings.noDefaultServer": "Mindestens ein {serverType}-Server muss als Standard markiert sein, damit {mediaType}-Anfragen verarbeitet werden können.", + "components.Settings.notificationAgentSettingsDescription": "Konfiguriere und aktiviere Benachrichtigungsagenten.", + "components.Settings.notifications": "Benachrichtigungen", + "components.Settings.notificationsettings": "Benachrichtigungseinstellungen", + "components.Settings.notrunning": "Nicht aktiv", + "components.Settings.originallanguage": "Sprache Entdecken", + "components.Settings.originallanguageTip": "Filtere Inhalte nach Originalsprache", + "components.Settings.partialRequestsEnabled": "Teilserienanfragen erlauben", + "components.Settings.plex": "Plex", + "components.Settings.plexlibraries": "Plex-Bibliotheken", + "components.Settings.plexlibrariesDescription": "Die Bibliotheken, welche Jellyseerr nach Titeln durchsucht. Richte deine Plex-Verbindungseinstellungen ein und speichere sie, klicke auf die Schaltfläche unten, wenn keine aufgeführt sind.", + "components.Settings.plexsettings": "Plex-Einstellungen", + "components.Settings.plexsettingsDescription": "Konfiguriere die Einstellungen für deinen Plex-Server. Jellyseerr durchsucht deine Plex-Bibliotheken, um festzustellen welche Inhalte verfügbar sind.", + "components.Settings.port": "Port", + "components.Settings.radarrsettings": "Radarr-Einstellungen", + "components.Settings.region": "Region Entdecken", + "components.Settings.regionTip": "Filtere Inhalte nach regionaler Verfügbarkeit", + "components.Settings.restartrequiredTooltip": "Jellyseerr muss neu gestartet werden, damit Änderungen an dieser Einstellung wirksam werden", + "components.Settings.scan": "Bibliotheken synchronisieren", + "components.Settings.scanning": "Synchronisieren…", + "components.Settings.serverLocal": "lokal", + "components.Settings.serverRemote": "entfernt", + "components.Settings.serverSecure": "Sicher", + "components.Settings.serverpreset": "Server", + "components.Settings.serverpresetLoad": "Drück den Knopf, um verfügbare Server zu laden", + "components.Settings.serverpresetManualMessage": "Manuelle Konfiguration", + "components.Settings.serverpresetRefreshing": "Rufe Server ab …", + "components.Settings.serviceSettingsDescription": "Konfiguriere unten deine {serverType}-Server. Du kannst mehrere {serverType}-Server verbinden, aber nur zwei davon können als Standard markiert werden (ein Nicht-4K- und ein 4K-Server). Administratoren können den Server überschreiben, auf dem neue Anfragen vor der Genehmigung verarbeitet werden.", + "components.Settings.services": "Dienstleistungen", + "components.Settings.settingUpPlexDescription": "Um Plex einzurichten, können die Daten manuell eintragen oder einen Server ausgewählt werden, welcher von plex.tv abgerufen wurde. Drück den Knopf rechts neben dem Dropdown-Menü, um die Liste der verfügbaren Server abzurufen.", "components.Settings.sonarrsettings": "Sonarr-Einstellungen", "components.Settings.ssl": "SSL", "components.Settings.startscan": "Durchsuchung starten", - "components.Settings.syncJellyfin": "Bibliotheken Synchronisieren", - "components.Settings.syncing": "Wird synchronisiert", "components.Settings.tautulliApiKey": "API-Schlüssel", "components.Settings.tautulliSettings": "Tautulli Einstellungen", "components.Settings.tautulliSettingsDescription": "Optional die Einstellungen für den Tautulli-Server konfigurieren. Jellyseerr holt die Überwachungsdaten für Ihre Plex-Medien von Tautulli.", - "components.Settings.timeout": "Zeitüberschreitung", "components.Settings.toastApiKeyFailure": "Bei der Generierung eines neuen API-Schlüssels ist etwas schief gelaufen.", "components.Settings.toastApiKeySuccess": "Neuer API-Schlüssel erfolgreich generiert!", "components.Settings.toastPlexConnecting": "Versuche mit Plex zu verbinden …", @@ -1055,43 +870,39 @@ "components.Settings.webAppUrlTip": "Leite Benutzer optional zur Web-App auf deinen Server statt zur „gehosteten“ Web-App weiter", "components.Settings.webhook": "Webhook", "components.Settings.webpush": "Web Push", - "components.Setup.configuremediaserver": "Konfiguriere Medien-Server", + "components.Setup.configureplex": "Plex konfigurieren", "components.Setup.configureservices": "Dienste konfigurieren", "components.Setup.continue": "Fortfahren", "components.Setup.finish": "Konfiguration beenden", - "components.Setup.finishing": "Fertigstellung…", + "components.Setup.finishing": "Fertigstellung …", "components.Setup.loginwithplex": "Mit Plex anmelden", "components.Setup.scanbackground": "Das Scannen läuft im Hintergrund. Du kannst in der Zwischenzeit das Setup fortsetzen.", "components.Setup.setup": "Einrichtung", - "components.Setup.signin": "Anmeldung", - "components.Setup.signinMessage": "Starte indem du dich anmeldest", - "components.Setup.signinWithJellyfin": "Nutze deinen {mediaServerName}-Account", - "components.Setup.signinWithPlex": "Nutze deinen Plex account", + "components.Setup.signinMessage": "Melde dich zunächst mit deinem Plex-Konto an", "components.Setup.tip": "Tipp", "components.Setup.welcome": "Willkommen bei Jellyseerr", "components.StatusBadge.managemedia": "{mediaType} verwalten", "components.StatusBadge.openinarr": "In {arr} öffnen", - "components.StatusBadge.playonplex": "Auf {mediaServerName} abspielen", + "components.StatusBadge.playonplex": "Auf Plex abspielen", "components.StatusBadge.seasonepisodenumber": "S{seasonNumber}F{episodeNumber}", "components.StatusBadge.status": "{status}", "components.StatusBadge.status4k": "4K {status}", - "components.StatusChacker.newversionavailable": "Anwendungsaktualisierung", "components.StatusChacker.newversionDescription": "Jellyseerr wurde aktualisiert! Bitte klicke auf die Schaltfläche unten, um die Seite neu zu laden.", - "components.StatusChacker.reloadOverseerr": "Jellyseerr neu laden", + "components.StatusChacker.newversionavailable": "Anwendungsaktualisierung", + "components.StatusChacker.reloadJellyseerr": "Jellyseerr neu laden", "components.StatusChecker.appUpdated": "{applicationTitle} aktualisiert", "components.StatusChecker.appUpdatedDescription": "Klicke bitte auf die Schaltfläche unten, um die Anwendung neu zu laden.", "components.StatusChecker.reloadApp": "{applicationTitle} neu laden", "components.StatusChecker.restartRequired": "Server Neustart erforderlich", "components.StatusChecker.restartRequiredDescription": "Starte bitte den Server neu, um die aktualisierten Einstellungen zu übernehmen.", - "components.TitleCard.addToWatchList": "Zur Watchlist hinzufügen", "components.TitleCard.cleardata": "Daten löschen", "components.TitleCard.mediaerror": "{mediaType} wurde nicht gefunden", "components.TitleCard.tmdbid": "TMDB-ID", "components.TitleCard.tvdbid": "TheTVDB-ID", - "components.TitleCard.watchlistCancel": "watchlist für {title} abgebrochen.", - "components.TitleCard.watchlistDeleted": "{title} wurde erfolgreich von der Watchlist entfernt!", - "components.TitleCard.watchlistError": "Etwas ist schiefgelaufen. Versuche es erneut.", - "components.TitleCard.watchlistSuccess": "{title} wurde erfolgreich zur Watchlist hinzugefügt!", + "components.TvDetails.Season.noepisodes": "Liste der Episoden nicht verfügbar.", + "components.TvDetails.Season.somethingwentwrong": "Beim Datenabruf der Staffel ist etwas schief gelaufen.", + "components.TvDetails.TvCast.fullseriescast": "Komplette Serien Besetzung", + "components.TvDetails.TvCrew.fullseriescrew": "Komplette Serien-Crew", "components.TvDetails.anime": "Anime", "components.TvDetails.cast": "Besetzung", "components.TvDetails.episodeCount": "{episodeCount, plural, one {# Episode} other {# Episoden}}", @@ -1105,15 +916,13 @@ "components.TvDetails.originaltitle": "Originaltitel", "components.TvDetails.overview": "Übersicht", "components.TvDetails.overviewunavailable": "Übersicht nicht verfügbar.", - "components.TvDetails.play": "Auf {mediaServerName} abspielen", - "components.TvDetails.play4k": "In 4K auf {mediaServerName} abspielen", + "components.TvDetails.play4konplex": "In 4K auf Plex abspielen", + "components.TvDetails.playonplex": "Auf Plex abspielen", "components.TvDetails.productioncountries": "Produktions {countryCount, plural, one {Land} other {Länder}}", "components.TvDetails.recommendations": "Empfehlungen", "components.TvDetails.reportissue": "Problem melden", "components.TvDetails.rtaudiencescore": "Rotten Tomatoes Publikumswertung", "components.TvDetails.rtcriticsscore": "Rotten Tomatoes Tomatometer", - "components.TvDetails.Season.noepisodes": "Liste der Episoden nicht verfügbar.", - "components.TvDetails.Season.somethingwentwrong": "Beim Datenabruf der Staffel ist etwas schief gelaufen.", "components.TvDetails.seasonnumber": "Staffel {seasonNumber}", "components.TvDetails.seasons": "{seasonCount, plural, one {# Staffel} other {# Staffeln}}", "components.TvDetails.seasonstitle": "Staffeln", @@ -1122,8 +931,6 @@ "components.TvDetails.status4k": "4K {status}", "components.TvDetails.streamingproviders": "Streamt derzeit auf", "components.TvDetails.tmdbuserscore": "TMDB-Nutzerwertung", - "components.TvDetails.TvCast.fullseriescast": "Komplette Serien Besetzung", - "components.TvDetails.TvCrew.fullseriescrew": "Komplette Serien-Crew", "components.TvDetails.viewfullcrew": "Komplette Crew anzeigen", "components.TvDetails.watchtrailer": "Trailer ansehen", "components.UserList.accounttype": "Art", @@ -1140,19 +947,13 @@ "components.UserList.displayName": "Anzeigename", "components.UserList.edituser": "Benutzerberechtigungen Bearbeiten", "components.UserList.email": "E-Mail-Adresse", - "components.UserList.importedfromJellyfin": "{userCount} {mediaServerName} {userCount, plural, one {Benutzer} other {Benutzer}} erfolgreich importiert!", "components.UserList.importedfromplex": "{userCount} {userCount, Plural, ein {Benutzer} other {Benutzer}} Plex-Benutzer erfolgreich importiert!", - "components.UserList.importfromJellyfin": "Importiere {mediaServerName} Benutzer", - "components.UserList.importfromJellyfinerror": "Etwas ist schiefgelaufen beim Importieren von {mediaServerName}-Benutzern.", "components.UserList.importfrommediaserver": "{mediaServerName}-Benutzer importieren", "components.UserList.importfromplex": "Plex-Benutzer importieren", "components.UserList.importfromplexerror": "Beim Importieren von Plex-Benutzern ist etwas schief gelaufen.", "components.UserList.localLoginDisabled": "Die Einstellung Lokale Anmeldung aktivieren ist derzeit deaktiviert.", "components.UserList.localuser": "Lokaler Benutzer", - "components.UserList.mediaServerUser": "{mediaServerName} Benutzer", - "components.UserList.newJellyfinsigninenabled": "Die Aktiviere neuen {mediaServerName} Log-In Einstellung ist aktuell aktiviert. {mediaServerName}-Benutzer mit Zugriff auf die Bibliothek müssen nicht importiert werden um sich anzumelden.", "components.UserList.newplexsigninenabled": "Die Einstellung Aktiviere neuen Plex Log-In ist derzeit aktiviert. Plex-Benutzer mit Bibliothekszugang müssen nicht importiert werden, um sich anmelden zu können.", - "components.UserList.noJellyfinuserstoimport": "Es sind keine {mediaServerName}-Benutzer zum Importieren vorhanden.", "components.UserList.nouserstoimport": "Es gibt keine zu importierenden Plex-Benutzer.", "components.UserList.owner": "Besitzer", "components.UserList.password": "Passwort", @@ -1165,184 +966,384 @@ "components.UserList.totalrequests": "Anfragen", "components.UserList.user": "Benutzer", "components.UserList.usercreatedfailed": "Beim Erstellen des Benutzers ist etwas schief gelaufen.", - "components.UserList.usercreatedfailedexisting": "Die angegebene E-Mail-Adresse wird bereits von einem anderen Benutzer verwendet.", - "components.UserList.usercreatedsuccess": "Benutzer erfolgreich erstellt!", - "components.UserList.userdeleted": "Benutzer erfolgreich entfernt!", - "components.UserList.userdeleteerror": "Beim Löschen des Benutzers ist etwas schiefgelaufen.", - "components.UserList.userfail": "Beim Speichern der Benutzerberechtigungen ist ein Fehler aufgetreten.", - "components.UserList.userlist": "Benutzerliste", - "components.UserList.users": "Benutzer", + "i18n.edit": "Bearbeiten", + "i18n.experimental": "Experimentell", "components.UserList.userssaved": "Benutzerberechtigungen erfolgreich gespeichert!", + "i18n.advanced": "Erweitert", "components.UserList.validationEmail": "Du musst eine gültige E-Mail-Adresse angeben", - "components.UserList.validationpasswordminchars": "Passwort ist zu kurz. Es sind mindestens 8 Zeichen notwendig", - "components.UserProfile.emptywatchlist": "Hier erscheinen deine zur Plex Watchlist hinzugefügte Medien.", - "components.UserProfile.limit": "{remaining} von {limit}", - "components.UserProfile.localWatchlist": "{username}s Watchlist", - "components.UserProfile.movierequests": "Filmanfragen", - "components.UserProfile.pastdays": "{type} (vergangene {days} Tage)", - "components.UserProfile.plexwatchlist": "Plex Watchlist", - "components.UserProfile.ProfileHeader.joindate": "Mitglied seit dem {joindate}", - "components.UserProfile.ProfileHeader.profile": "Profil anzeigen", - "components.UserProfile.ProfileHeader.settings": "Einstellungen bearbeiten", - "components.UserProfile.ProfileHeader.userid": "Benutzer-ID: {userid}", - "components.UserProfile.recentlywatched": "Kürzlich angesehen", + "components.UserList.users": "Benutzer", "components.UserProfile.recentrequests": "Kürzliche Anfragen", - "components.UserProfile.requestsperdays": "{limit} verbleibend", - "components.UserProfile.seriesrequest": "Serienanfragen", - "components.UserProfile.totalrequests": "Anfragen insgesamt", - "components.UserProfile.unlimited": "Unbegrenzt", - "components.UserProfile.UserSettings.menuChangePass": "Passwort", - "components.UserProfile.UserSettings.menuGeneralSettings": "Allgemein", - "components.UserProfile.UserSettings.menuNotifications": "Benachrichtigungen", "components.UserProfile.UserSettings.menuPermissions": "Berechtigungen", - "components.UserProfile.UserSettings.unauthorizedDescription": "Sie haben keine Berechtigung, die Einstellungen dieses Benutzers zu ändern.", - "components.UserProfile.UserSettings.UserGeneralSettings.accounttype": "Kontotyp", + "components.UserProfile.UserSettings.menuNotifications": "Benachrichtigungen", + "components.UserProfile.UserSettings.menuGeneralSettings": "Allgemein", + "components.UserProfile.UserSettings.menuChangePass": "Passwort", + "components.UserProfile.UserSettings.UserPermissions.toastSettingsSuccess": "Berechtigungen erfolgreich gespeichert!", + "components.UserProfile.UserSettings.UserPermissions.toastSettingsFailure": "Beim Speichern der Einstellungen ist etwas schief gelaufen.", + "components.UserProfile.UserSettings.UserPermissions.permissions": "Berechtigungen", + "components.UserProfile.UserSettings.UserPasswordChange.validationNewPasswordLength": "Passwort ist zu kurz; es sollte mindestens 8 Zeichen lang sein", + "components.UserProfile.UserSettings.UserPasswordChange.validationNewPassword": "Du musst ein neues Passwort angeben", + "components.UserProfile.UserSettings.UserPasswordChange.validationCurrentPassword": "Du musst dein aktuelles Passwort angeben", + "components.UserProfile.UserSettings.UserPasswordChange.validationConfirmPasswordSame": "Passwörter mussen übereinstimmen", + "components.UserProfile.UserSettings.UserPasswordChange.validationConfirmPassword": "Du musst das neue Passwort bestätigen", + "components.UserProfile.UserSettings.UserPasswordChange.toastSettingsSuccess": "Passwort erfolgreich geändert!", + "components.UserProfile.UserSettings.UserPasswordChange.toastSettingsFailure": "Beim Speichern des Passworts ist ein Fehler aufgetreten.", + "components.UserProfile.UserSettings.UserPasswordChange.password": "Passwort", + "components.UserProfile.UserSettings.UserPasswordChange.newpassword": "Neues Passwort", + "components.UserProfile.UserSettings.UserPasswordChange.currentpassword": "Aktuelles Passwort", + "components.UserProfile.UserSettings.UserPasswordChange.confirmpassword": "Passwort bestätigen", + "components.UserProfile.UserSettings.UserNotificationSettings.notificationsettings": "Benachrichtigungseinstellungen", + "components.UserProfile.UserSettings.UserNotificationSettings.discordId": "Benutzer-ID", + "components.UserProfile.UserSettings.UserGeneralSettings.toastSettingsSuccess": "Einstellungen erfolgreich gespeichert!", + "components.UserProfile.UserSettings.UserGeneralSettings.toastSettingsFailure": "Beim Speichern der Einstellungen ist etwas schief gelaufen.", + "components.UserProfile.UserSettings.UserGeneralSettings.plexuser": "Plex-Benutzer", + "components.UserProfile.UserSettings.UserGeneralSettings.localuser": "Lokaler Benutzer", + "components.UserProfile.UserSettings.UserGeneralSettings.generalsettings": "Allgemeine Einstellungen", + "components.UserProfile.UserSettings.UserGeneralSettings.displayName": "Anzeigename", + "components.UserProfile.ProfileHeader.settings": "Einstellungen bearbeiten", + "components.UserProfile.ProfileHeader.profile": "Profil anzeigen", + "components.UserList.userfail": "Beim Speichern der Benutzerberechtigungen ist ein Fehler aufgetreten.", + "components.UserProfile.UserSettings.UserNotificationSettings.validationDiscordId": "Du musst eine gültige Benutzer-ID angeben", + "components.UserProfile.UserSettings.UserNotificationSettings.discordIdTip": "Die ID Nummer für dein Benutzerkonto", + "components.UserProfile.UserSettings.UserGeneralSettings.regionTip": "Filtere Inhalte nach regionaler Verfügbarkeit", + "components.UserProfile.UserSettings.UserGeneralSettings.region": "Region Entdecken", + "components.UserProfile.UserSettings.UserGeneralSettings.originallanguageTip": "Filtere Inhalte nach Originalsprache", + "components.UserProfile.UserSettings.UserGeneralSettings.originallanguage": "Sprache Entdecken", + "components.UserProfile.UserSettings.UserPasswordChange.nopermissionDescription": "Sie haben keine Berechtigung, das Kennwort dieses Benutzers zu ändern.", + "components.UserProfile.UserSettings.UserGeneralSettings.user": "Benutzer", + "components.UserProfile.UserSettings.UserGeneralSettings.role": "Rolle", + "components.UserProfile.UserSettings.UserGeneralSettings.owner": "Besitzer", "components.UserProfile.UserSettings.UserGeneralSettings.admin": "Admin", + "components.UserProfile.UserSettings.UserGeneralSettings.accounttype": "Kontotyp", + "i18n.loading": "Lade …", + "components.UserProfile.UserSettings.UserNotificationSettings.validationTelegramChatId": "Du musst eine gültige Chat-ID angeben", + "components.UserProfile.UserSettings.UserNotificationSettings.telegramChatIdTipLong": "Starte einen Chat, füge @get_id_bot hinzu, und führe den Befehl /my_id aus", + "components.UserProfile.UserSettings.UserNotificationSettings.telegramChatId": "Chat-ID", + "components.UserProfile.UserSettings.UserNotificationSettings.sendSilentlyDescription": "Sende Benachrichtigungen ohne Ton", + "components.UserProfile.UserSettings.UserNotificationSettings.sendSilently": "Lautlos senden", + "components.UserProfile.ProfileHeader.userid": "Benutzer-ID: {userid}", + "components.UserProfile.ProfileHeader.joindate": "Mitglied seit dem {joindate}", + "components.UserProfile.UserSettings.unauthorizedDescription": "Sie haben keine Berechtigung, die Einstellungen dieses Benutzers zu ändern.", + "components.UserProfile.UserSettings.UserPermissions.unauthorizedDescription": "Sie können Ihre eigenen Berechtigungen nicht ändern.", + "pages.errormessagewithcode": "{statusCode} - {error}", + "pages.somethingwentwrong": "Etwas ist schief gelaufen", + "pages.serviceunavailable": "Dienst nicht verfügbar", + "pages.pagenotfound": "Seite nicht gefunden", + "pages.internalservererror": "Interner Serverfehler", + "i18n.usersettings": "Benutzereinstellungen", + "i18n.settings": "Einstellungen", + "components.UserProfile.UserSettings.UserPasswordChange.toastSettingsFailureVerifyCurrent": "Beim Speichern des Passworts ist ein Fehler aufgetreten. Wurde dein aktuelles Passwort korrekt eingegeben?", + "components.UserProfile.UserSettings.UserNotificationSettings.notifications": "Benachrichtigungen", + "components.UserProfile.UserSettings.UserGeneralSettings.general": "Allgemein", + "i18n.delimitedlist": "{a}, {b}", + "i18n.view": "Anzeigen", + "i18n.tvshow": "Serie", + "i18n.testing": "Testen…", + "i18n.test": "Test", + "i18n.status": "Status", + "i18n.showingresults": "Zeige {from} bis {to} von {total} Ergebnissen", + "i18n.saving": "Speichern…", + "i18n.save": "Änderungen speichern", + "i18n.retrying": "Wiederholen…", + "i18n.resultsperpage": "Zeige {pageSize} Ergebnisse pro Seite", + "i18n.requesting": "Anfordern…", + "i18n.request4k": "In 4K anfragen", + "i18n.previous": "Bisherige", + "i18n.notrequested": "Nicht Angefragt", + "i18n.noresults": "Keine Ergebnisse.", + "i18n.next": "Weiter", + "i18n.movie": "Film", + "i18n.canceling": "Abbrechen…", + "i18n.back": "Zurück", + "i18n.areyousure": "Bist du sicher?", + "i18n.all": "Alle", + "components.UserProfile.totalrequests": "Anfragen insgesamt", + "components.UserProfile.seriesrequest": "Serienanfragen", + "components.UserProfile.pastdays": "{type} (vergangene {days} Tage)", + "components.UserProfile.movierequests": "Filmanfragen", + "components.UserProfile.UserSettings.UserPasswordChange.noPasswordSetOwnAccount": "Für dein Konto ist derzeit kein Passwort festgelegt. Konfiguriere unten ein Passwort, um die Anmeldung als \"lokaler Benutzer\" mit deiner E-Mail-Adresse zu aktivieren.", + "components.UserProfile.UserSettings.UserPasswordChange.noPasswordSet": "Für dieses Benutzerkonto ist derzeit kein Kennwort festgelegt. Konfiguriere unten ein Kennwort, damit sich dieses Konto als \"lokaler Benutzer\" anmelden kann", + "components.UserProfile.UserSettings.UserNotificationSettings.validationPgpPublicKey": "Du musst einen gültigen öffentlichen PGP-Schlüssel angeben", + "components.UserProfile.UserSettings.UserNotificationSettings.telegramsettingssaved": "Telegram-Benachrichtigungseinstellungen erfolgreich gespeichert!", + "components.UserProfile.UserSettings.UserNotificationSettings.telegramsettingsfailed": "Die Einstellungen für die Telegram-Benachrichtigung konnten nicht gespeichert werden.", + "components.UserProfile.UserSettings.UserNotificationSettings.pgpPublicKeyTip": "Verschlüssele E-Mail-Nachrichten mit OpenPGP", + "components.UserProfile.UserSettings.UserNotificationSettings.pgpPublicKey": "Öffentlicher PGP-Schlüssel", + "components.UserProfile.UserSettings.UserNotificationSettings.emailsettingssaved": "E-Mail-Benachrichtigungseinstellungen erfolgreich gespeichert!", + "components.UserProfile.UserSettings.UserNotificationSettings.emailsettingsfailed": "E-Mail-Benachrichtigungseinstellungen konnten nicht gespeichert werden.", + "components.UserProfile.UserSettings.UserNotificationSettings.email": "E-Mail", + "components.UserProfile.UserSettings.UserNotificationSettings.discordsettingssaved": "Discord-Benachrichtigungseinstellungen erfolgreich gespeichert!", + "components.UserProfile.UserSettings.UserNotificationSettings.discordsettingsfailed": "Die Einstellungen für die Discord-Benachrichtigung konnten nicht gespeichert werden.", + "components.UserProfile.unlimited": "Unbegrenzt", + "components.UserProfile.requestsperdays": "{limit} verbleibend", + "components.UserProfile.limit": "{remaining} von {limit}", + "components.UserProfile.UserSettings.UserGeneralSettings.seriesrequestlimit": "Serienanfragenlimit", + "components.UserProfile.UserSettings.UserGeneralSettings.movierequestlimit": "Filmanfragenlimit", + "components.UserProfile.UserSettings.UserGeneralSettings.enableOverride": "Überschreibe globales Limit", + "components.UserList.usercreatedfailedexisting": "Die angegebene E-Mail-Adresse wird bereits von einem anderen Benutzer verwendet.", + "components.UserProfile.UserSettings.UserGeneralSettings.languageDefault": "Standard ({language})", + "components.UserProfile.UserSettings.UserNotificationSettings.webpush": "Web Push", "components.UserProfile.UserSettings.UserGeneralSettings.applanguage": "Sprache darstellen", "components.UserProfile.UserSettings.UserGeneralSettings.discordId": "Discord User ID", "components.UserProfile.UserSettings.UserGeneralSettings.discordIdTip": "Die mehrstellige ID-Nummer Deines Discord-Accounts", - "components.UserProfile.UserSettings.UserGeneralSettings.displayName": "Anzeigename", - "components.UserProfile.UserSettings.UserGeneralSettings.email": "E-Mail-Adresse", - "components.UserProfile.UserSettings.UserGeneralSettings.enableOverride": "Überschreibe globales Limit", - "components.UserProfile.UserSettings.UserGeneralSettings.general": "Allgemein", - "components.UserProfile.UserSettings.UserGeneralSettings.generalsettings": "Allgemeine Einstellungen", - "components.UserProfile.UserSettings.UserGeneralSettings.languageDefault": "Standard ({language})", - "components.UserProfile.UserSettings.UserGeneralSettings.localuser": "Lokaler Benutzer", - "components.UserProfile.UserSettings.UserGeneralSettings.mediaServerUser": "{mediaServerName} Benutzer", - "components.UserProfile.UserSettings.UserGeneralSettings.movierequestlimit": "Filmanfragenlimit", - "components.UserProfile.UserSettings.UserGeneralSettings.originallanguage": "Sprache Entdecken", - "components.UserProfile.UserSettings.UserGeneralSettings.originallanguageTip": "Filtere Inhalte nach Originalsprache", - "components.UserProfile.UserSettings.UserGeneralSettings.owner": "Besitzer", - "components.UserProfile.UserSettings.UserGeneralSettings.plexuser": "Plex-Benutzer", "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmovies": "Filme automatisch anfragen", "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmoviestip": "Automatisch Filme auf deiner Plex Watchlist anfordern", "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseries": "Serien automatisch anfragen", "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseriestip": "Automatisch Serien auf deiner Plex Watchlist anfragen", - "components.UserProfile.UserSettings.UserGeneralSettings.region": "Region Entdecken", - "components.UserProfile.UserSettings.UserGeneralSettings.regionTip": "Filtere Inhalte nach regionaler Verfügbarkeit", - "components.UserProfile.UserSettings.UserGeneralSettings.role": "Rolle", - "components.UserProfile.UserSettings.UserGeneralSettings.save": "Änderungen Speichern", - "components.UserProfile.UserSettings.UserGeneralSettings.saving": "Wird gespeichert...", - "components.UserProfile.UserSettings.UserGeneralSettings.seriesrequestlimit": "Serienanfragenlimit", - "components.UserProfile.UserSettings.UserGeneralSettings.toastSettingsFailure": "Beim Speichern der Einstellungen ist etwas schief gelaufen.", - "components.UserProfile.UserSettings.UserGeneralSettings.toastSettingsSuccess": "Einstellungen erfolgreich gespeichert!", - "components.UserProfile.UserSettings.UserGeneralSettings.user": "Benutzer", "components.UserProfile.UserSettings.UserGeneralSettings.validationDiscordId": "Du musst eine gültige Discord User ID angeben", - "components.UserProfile.UserSettings.UserNotificationSettings.deviceDefault": "Geräte Standard", - "components.UserProfile.UserSettings.UserNotificationSettings.discordId": "Benutzer-ID", - "components.UserProfile.UserSettings.UserNotificationSettings.discordIdTip": "Die ID Nummer für dein Benutzerkonto", - "components.UserProfile.UserSettings.UserNotificationSettings.discordsettingsfailed": "Die Einstellungen für die Discord-Benachrichtigung konnten nicht gespeichert werden.", - "components.UserProfile.UserSettings.UserNotificationSettings.discordsettingssaved": "Discord-Benachrichtigungseinstellungen erfolgreich gespeichert!", - "components.UserProfile.UserSettings.UserNotificationSettings.email": "E-Mail", - "components.UserProfile.UserSettings.UserNotificationSettings.emailsettingsfailed": "E-Mail-Benachrichtigungseinstellungen konnten nicht gespeichert werden.", - "components.UserProfile.UserSettings.UserNotificationSettings.emailsettingssaved": "E-Mail-Benachrichtigungseinstellungen erfolgreich gespeichert!", - "components.UserProfile.UserSettings.UserNotificationSettings.notifications": "Benachrichtigungen", - "components.UserProfile.UserSettings.UserNotificationSettings.notificationsettings": "Benachrichtigungseinstellungen", - "components.UserProfile.UserSettings.UserNotificationSettings.pgpPublicKey": "Öffentlicher PGP-Schlüssel", - "components.UserProfile.UserSettings.UserNotificationSettings.pgpPublicKeyTip": "Verschlüssele E-Mail-Nachrichten mit OpenPGP", "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletAccessToken": "Zugangs-Token", "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletAccessTokenTip": "Erstelle ein Token aus deinen Kontoeinstellungen", "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletsettingsfailed": "Die Einstellungen für Pushbullet-Benachrichtigungen konnten nicht gespeichert werden.", "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletsettingssaved": "Pushbullet-Benachrichtigungseinstellungen erfolgreich gespeichert!", "components.UserProfile.UserSettings.UserNotificationSettings.pushoverApplicationToken": "Anwendungs-API-Token", "components.UserProfile.UserSettings.UserNotificationSettings.pushoverApplicationTokenTip": "Register eine Anwendung zur Verwendung mit {applicationTitle}", - "components.UserProfile.UserSettings.UserNotificationSettings.pushoversettingsfailed": "Die Einstellungen für die Pushover-Benachrichtigung konnten nicht gespeichert werden.", - "components.UserProfile.UserSettings.UserNotificationSettings.pushoversettingssaved": "Pushover-Benachrichtigungseinstellungen erfolgreich gespeichert!", "components.UserProfile.UserSettings.UserNotificationSettings.pushoverUserKey": "Benutzer- oder Gruppenschlüssel", "components.UserProfile.UserSettings.UserNotificationSettings.pushoverUserKeyTip": "Die 30-stellige Benutzer- oder Gruppenkennung", - "components.UserProfile.UserSettings.UserNotificationSettings.sendSilently": "Lautlos senden", - "components.UserProfile.UserSettings.UserNotificationSettings.sendSilentlyDescription": "Sende Benachrichtigungen ohne Ton", - "components.UserProfile.UserSettings.UserNotificationSettings.sound": "Benachrichtigungston", - "components.UserProfile.UserSettings.UserNotificationSettings.telegramChatId": "Chat-ID", - "components.UserProfile.UserSettings.UserNotificationSettings.telegramChatIdTipLong": "Starte einen Chat, füge @get_id_bot hinzu, und führe den Befehl /my_id aus", - "components.UserProfile.UserSettings.UserNotificationSettings.telegramsettingsfailed": "Die Einstellungen für die Telegram-Benachrichtigung konnten nicht gespeichert werden.", - "components.UserProfile.UserSettings.UserNotificationSettings.telegramsettingssaved": "Telegram-Benachrichtigungseinstellungen erfolgreich gespeichert!", - "components.UserProfile.UserSettings.UserNotificationSettings.validationDiscordId": "Du musst eine gültige Benutzer-ID angeben", - "components.UserProfile.UserSettings.UserNotificationSettings.validationPgpPublicKey": "Du musst einen gültigen öffentlichen PGP-Schlüssel angeben", + "components.UserProfile.UserSettings.UserNotificationSettings.pushoversettingsfailed": "Die Einstellungen für die Pushover-Benachrichtigung konnten nicht gespeichert werden.", + "components.UserProfile.UserSettings.UserNotificationSettings.pushoversettingssaved": "Pushover-Benachrichtigungseinstellungen erfolgreich gespeichert!", "components.UserProfile.UserSettings.UserNotificationSettings.validationPushbulletAccessToken": "Ein Zugriffstoken muss angegeben werden", "components.UserProfile.UserSettings.UserNotificationSettings.validationPushoverApplicationToken": "Sie müssen ein gültiges Anwendungs-Token angeben", "components.UserProfile.UserSettings.UserNotificationSettings.validationPushoverUserKey": "Du musst einen gültigen Benutzer- oder Gruppenschlüssel angeben", - "components.UserProfile.UserSettings.UserNotificationSettings.validationTelegramChatId": "Du musst eine gültige Chat-ID angeben", - "components.UserProfile.UserSettings.UserNotificationSettings.webpush": "Web Push", - "components.UserProfile.UserSettings.UserNotificationSettings.webpushsettingsfailed": "Web push Benachrichtigungseinstellungen konnten nicht gespeichert werden.", - "components.UserProfile.UserSettings.UserNotificationSettings.webpushsettingssaved": "Web push Benachrichtigungseinstellungen wurden erfolgreich gespeichert!", - "components.UserProfile.UserSettings.UserPasswordChange.confirmpassword": "Passwort bestätigen", - "components.UserProfile.UserSettings.UserPasswordChange.currentpassword": "Aktuelles Passwort", - "components.UserProfile.UserSettings.UserPasswordChange.newpassword": "Neues Passwort", - "components.UserProfile.UserSettings.UserPasswordChange.noPasswordSet": "Für dieses Benutzerkonto ist derzeit kein Kennwort festgelegt. Konfiguriere unten ein Kennwort, damit sich dieses Konto als \"lokaler Benutzer\" anmelden kann", - "components.UserProfile.UserSettings.UserPasswordChange.noPasswordSetOwnAccount": "Für dein Konto ist derzeit kein Passwort festgelegt. Konfiguriere unten ein Passwort, um die Anmeldung als \"lokaler Benutzer\" mit deiner E-Mail-Adresse zu aktivieren.", - "components.UserProfile.UserSettings.UserPasswordChange.nopermissionDescription": "Sie haben keine Berechtigung, das Kennwort dieses Benutzers zu ändern.", - "components.UserProfile.UserSettings.UserPasswordChange.password": "Passwort", - "components.UserProfile.UserSettings.UserPasswordChange.toastSettingsFailure": "Beim Speichern des Passworts ist ein Fehler aufgetreten.", - "components.UserProfile.UserSettings.UserPasswordChange.toastSettingsFailureVerifyCurrent": "Beim Speichern des Passworts ist ein Fehler aufgetreten. Wurde dein aktuelles Passwort korrekt eingegeben?", - "components.UserProfile.UserSettings.UserPasswordChange.toastSettingsSuccess": "Passwort erfolgreich geändert!", - "components.UserProfile.UserSettings.UserPasswordChange.validationConfirmPassword": "Du musst das neue Passwort bestätigen", - "components.UserProfile.UserSettings.UserPasswordChange.validationConfirmPasswordSame": "Passwörter mussen übereinstimmen", - "components.UserProfile.UserSettings.UserPasswordChange.validationCurrentPassword": "Du musst dein aktuelles Passwort angeben", - "components.UserProfile.UserSettings.UserPasswordChange.validationNewPassword": "Du musst ein neues Passwort angeben", - "components.UserProfile.UserSettings.UserPasswordChange.validationNewPasswordLength": "Passwort ist zu kurz; es sollte mindestens 8 Zeichen lang sein", - "components.UserProfile.UserSettings.UserPermissions.permissions": "Berechtigungen", - "components.UserProfile.UserSettings.UserPermissions.toastSettingsFailure": "Beim Speichern der Einstellungen ist etwas schief gelaufen.", - "components.UserProfile.UserSettings.UserPermissions.toastSettingsSuccess": "Berechtigungen erfolgreich gespeichert!", - "components.UserProfile.UserSettings.UserPermissions.unauthorizedDescription": "Sie können Ihre eigenen Berechtigungen nicht ändern.", - "i18n.advanced": "Erweitert", - "i18n.all": "Alle", - "i18n.approve": "Genehmigen", - "i18n.approved": "Genehmigt", - "i18n.areyousure": "Bist du sicher?", - "i18n.available": "Vorhanden", - "i18n.back": "Zurück", - "i18n.cancel": "Abbrechen", - "i18n.canceling": "Wird abgebrochen...", - "i18n.close": "Schließen", + "i18n.resolved": "Gelöst", + "i18n.importing": "Importieren…", + "i18n.import": "Importieren", + "components.UserProfile.recentlywatched": "Kürzlich angesehen", + "i18n.restartRequired": "Neustart erforderlich", + "components.UserProfile.emptywatchlist": "Hier erscheinen deine zur Plex Watchlist hinzugefügte Medien.", + "components.UserProfile.plexwatchlist": "Plex Watchlist", + "components.Discover.DiscoverTvKeyword.keywordSeries": "{keywordTitle} Serien", + "components.Discover.moviegenres": "Film Genre", + "components.Discover.studios": "Studios", + "components.Discover.tmdbmoviegenre": "TMDB Film Genre", + "components.Discover.tmdbtvgenre": "TMDB Serien Genre", + "components.Discover.tmdbtvkeyword": "TMDB Serien Keyword", + "components.Discover.tvgenres": "Serien Genre", + "components.Settings.SettingsMain.apikey": "API Schlüssel", + "components.Settings.SettingsMain.csrfProtection": "Aktivere CSRF Schutz", + "components.Settings.SettingsMain.applicationTitle": "Anwendungstitel", + "components.Settings.SettingsMain.csrfProtectionTip": "Limitiere externen API Zugriff auf Lese-Operationen (erfordert HTTPS)", + "components.Settings.SettingsMain.general": "Allgemein", + "components.Settings.SettingsMain.generalsettings": "Allgemeine Einstellungen", + "components.Settings.SettingsMain.locale": "Anzeigesprache", + "components.Settings.SettingsMain.hideAvailable": "Verfügbare Medien ausblenden", + "components.Settings.SettingsMain.toastApiKeySuccess": "Neuer API Schlüssel erfolgreich generiert!", + "components.Settings.SettingsMain.trustProxy": "Proxyunterstützung aktivieren", + "components.Settings.SettingsMain.validationApplicationUrl": "Du musst eine valide URL spezifizieren", + "components.Settings.SettingsMain.validationApplicationUrlTrailingSlash": "Die URL darf nicht mit einem Slash \"/\" enden", + "components.Discover.DiscoverMovieKeyword.keywordMovies": "{keywordTitle} Filme", + "components.Discover.PlexWatchlistSlider.plexwatchlist": "Deine Plex Watchlist", + "components.Discover.tmdbsearch": "TMDB Suche", + "components.Settings.SettingsMain.toastApiKeyFailure": "Etwas ist schiefgelaufen während der Generierung eines neuen API Schlüssels.", + "components.Settings.SettingsMain.toastSettingsSuccess": "Einstellungen erfolgreich gespeichert!", + "components.Discover.tmdbmoviekeyword": "TMDB Film Keyword", + "components.Settings.SettingsMain.validationApplicationTitle": "Du musst einen Anwendungstitel spezifizieren", + "components.Discover.PlexWatchlistSlider.emptywatchlist": "Medien in deiner Plex Watchlist erscheinen hier.", + "components.Settings.SettingsMain.cacheImagesTip": "Cache extern gehostete Bilder (erfordert eine beträchtliche Menge an Speicherplatz)", + "components.Settings.SettingsMain.csrfProtectionHoverTip": "Aktiviere diese Einstellung nur wenn du weißt was du tust!", + "components.Discover.networks": "Sender", + "components.Discover.tmdbstudio": "TMDB Studio", + "components.Settings.SettingsMain.applicationurl": "Anwendung URL", + "components.Settings.SettingsMain.cacheImages": "Bild-Caching aktivieren", + "components.Settings.SettingsMain.generalsettingsDescription": "Konfiguration der globalen und Standardeinstellungen für Jellyseerr.", + "components.Settings.SettingsMain.originallanguage": "\"Entdecken\" Sprache", + "components.Settings.SettingsMain.partialRequestsEnabled": "Teilweise Serienanfragen zulassen", + "components.Settings.SettingsMain.region": "\"Entdecken\" Region", + "components.Settings.SettingsMain.toastSettingsFailure": "Beim Speichern der Einstellungen ist ein Fehler aufgetreten.", + "components.Settings.SettingsMain.regionTip": "Inhalte nach regionaler Verfügbarkeit filtern", + "components.Discover.tmdbnetwork": "TMDB Sender", + "components.Settings.SettingsMain.originallanguageTip": "Inhalt nach Originalsprache filtern", + "components.Settings.SettingsMain.trustProxyTip": "Erlaube Jellyseerr, Client-IP-Adressen hinter einem Proxy korrekt zu registrieren", + "components.Discover.CreateSlider.addSlider": "Slider hinzufügen", + "components.Discover.CreateSlider.addcustomslider": "Benutzerdefinierten Slider erstellen", + "components.Discover.CreateSlider.addfail": "Neuer Slider konnte nicht erstellt werden.", + "components.Discover.CreateSlider.addsuccess": "Ein neuer Slider wurde erstellt und die Einstellungen wurden gespeichert.", + "components.Discover.CreateSlider.editSlider": "Slider bearbeiten", + "components.Discover.CreateSlider.editfail": "Slider konnte nicht bearbeitet werden.", + "components.Discover.CreateSlider.editsuccess": "Slider bearbeitet und Einstellung gespeichert.", + "components.Discover.CreateSlider.needresults": "Es muss mindestens 1 Ergebnis vorhanden sein.", + "components.Layout.Sidebar.browsemovies": "Filme", + "components.Layout.Sidebar.browsetv": "Serien", + "components.Discover.CreateSlider.nooptions": "Keine Ergebnisse.", + "components.Discover.CreateSlider.providetmdbgenreid": "Hinterlege eine TMDB Genre ID", + "components.Discover.CreateSlider.providetmdbkeywordid": "Hinterlege eine TMDB Keyword ID", + "components.Discover.CreateSlider.providetmdbnetwork": "Hinterlege eine TMDB Network ID", + "components.Discover.CreateSlider.providetmdbsearch": "Geben Sie eine Suchanfrage an", + "components.Discover.CreateSlider.validationTitlerequired": "Du musst einen Titel eingeben.", + "components.Discover.DiscoverSliderEdit.remove": "Entfernen", + "components.Discover.DiscoverSliderEdit.deletefail": "Slider konnte nicht gelöscht werden.", + "components.Discover.DiscoverSliderEdit.deletesuccess": "Slider erfolgreich entfernt.", + "components.Discover.DiscoverMovies.discovermovies": "Filme", + "components.Discover.DiscoverMovies.sortReleaseDateAsc": "Erscheinungsdatum Aufsteigend", + "components.Discover.DiscoverMovies.sortReleaseDateDesc": "Erscheinungsdatum Absteigend", + "components.Discover.DiscoverMovies.sortTitleAsc": "Titel (A-Z) Aufsteigend", + "components.Discover.DiscoverMovies.sortTitleDesc": "Titel (Z-A) Absteigend", + "components.Discover.DiscoverTv.discovertv": "Serien", + "components.Discover.DiscoverTv.sortFirstAirDateDesc": "Erstausstrahlung (Absteigend)", + "components.Discover.DiscoverTv.sortFirstAirDateAsc": "Erstausstrahlung (Aufsteigend)", + "components.Discover.DiscoverTv.sortPopularityAsc": "Beliebtheit (Aufsteigend)", + "components.Discover.DiscoverTv.sortPopularityDesc": "Beliebtheit (Absteigend)", + "components.Discover.CreateSlider.slidernameplaceholder": "Name des Slider", + "components.Settings.SettingsJobsCache.availability-sync": "Medienverfügbarkeit Sync", + "components.Discover.FilterSlideover.activefilters": "{count, plural, one {# Aktiver Filter} other {# Aktive Filter}}", + "components.Discover.FilterSlideover.originalLanguage": "Originalsprache", + "components.Settings.SettingsJobsCache.editJobScheduleSelectorSeconds": "Alle {jobScheduleSeconds, plural, one {Sekunde} other {{jobScheduleSeconds} Sekunden}}", + "components.Discover.updatefailed": "Bei der Aktualisierung der Entdecken-Einstellungen ist ein Fehler aufgetreten.", + "components.Selector.searchGenres": "Genres auswählen…", + "components.Discover.updatesuccess": "Die Einstellungen für die Entdecken-Anpassung wurden aktualisiert.", + "components.Selector.showmore": "Mehr anzeigen", + "components.Selector.starttyping": "Start der Suche durch Tippen.", + "components.Selector.showless": "Weniger anzeigen", + "components.Discover.CreateSlider.providetmdbstudio": "TMDB Studio ID angeben", + "components.Discover.CreateSlider.searchGenres": "Genres suchen…", + "components.Discover.CreateSlider.searchKeywords": "Stichwörter suchen…", + "components.Discover.CreateSlider.searchStudios": "Studios suchen…", + "components.Discover.CreateSlider.starttyping": "Start der Suche durch Tippen.", + "components.Discover.CreateSlider.validationDatarequired": "Du musst einen Datenwert angeben.", + "components.Discover.DiscoverSliderEdit.enable": "Sichtbarkeit umschalten", + "components.Discover.customizediscover": "Discover anpassen", + "components.Discover.resetfailed": "Beim Zurücksetzen der Entdecken-Einstellungen ist etwas schief gegangen.", + "components.Discover.resetsuccess": "Die Entdecken-Einstellungen wurden erfolgreich zurückgesetzt.", + "components.Discover.stopediting": "Bearbeitung stoppen", + "components.Discover.resettodefault": "Zurücksetzen auf Standard", + "components.Discover.resetwarning": "Setzt alle Slider auf die Standardwerte zurück. Dadurch werden auch alle benutzerdefinierten Slider gelöscht!", + "components.Discover.DiscoverMovies.activefilters": "{count, plural, one {# Aktiver Filter} other {# Aktive Filter}}", + "components.Discover.DiscoverMovies.sortPopularityAsc": "Beliebtheit aufsteigend", + "components.Discover.DiscoverMovies.sortPopularityDesc": "Beliebtheit absteigend", + "components.Discover.DiscoverMovies.sortTmdbRatingAsc": "TMDB-Bewertung aufsteigend", + "components.Discover.DiscoverMovies.sortTmdbRatingDesc": "TMDB-Bewertung Absteigend", + "components.Discover.DiscoverTv.activefilters": "{count, plural, one {# Aktiver Filter} other {# Aktive Filter}}", + "components.Discover.DiscoverTv.sortTitleAsc": "Titel (A-Z) Aufsteigend", + "components.Discover.DiscoverTv.sortTitleDesc": "Titel (Z-A) Absteigend", + "components.Discover.DiscoverTv.sortTmdbRatingAsc": "TMDB-Bewertung aufsteigend", + "components.Discover.DiscoverTv.sortTmdbRatingDesc": "TMDB-Bewertung Absteigend", + "components.Discover.FilterSlideover.clearfilters": "Aktive Filter löschen", + "components.Discover.FilterSlideover.filters": "Filter", + "components.Discover.FilterSlideover.firstAirDate": "Datum der Erstausstrahlung", + "components.Discover.FilterSlideover.from": "Vom", + "components.Discover.FilterSlideover.genres": "Genres", + "components.Discover.FilterSlideover.keywords": "Stichwörter", + "components.Discover.FilterSlideover.ratingText": "Bewertungen zwischen {minValue} und {maxValue}", + "components.Discover.FilterSlideover.releaseDate": "Erscheinungsdatum", + "components.Discover.FilterSlideover.runtime": "Laufzeit", + "components.Discover.FilterSlideover.runtimeText": "{minValue}-{maxValue} Minuten Laufzeit", + "components.Discover.FilterSlideover.tmdbuserscore": "TMDB-Benutzerbewertung", + "components.Discover.FilterSlideover.to": "Bis", + "components.Discover.createnewslider": "Neuen Slider erstellen", + "components.Discover.FilterSlideover.studio": "Studio", + "components.Discover.FilterSlideover.streamingservices": "Streaming-Dienste", + "components.Selector.nooptions": "Keine Ergebnisse.", + "components.Selector.searchKeywords": "Stichwörter suchen…", + "components.Selector.searchStudios": "Studios suchen…", + "components.Discover.tmdbmoviestreamingservices": "TMDB Film-Streaming-Dienste", + "components.Discover.tmdbtvstreamingservices": "TMDB TV-Streaming-Dienste", "i18n.collection": "Sammlung", + "components.Discover.FilterSlideover.tmdbuservotecount": "Anzahl an TMDB Benutzerbewertungen", + "components.Settings.RadarrModal.tagRequestsInfo": "Füge automatisch ein Tag hinzu mit der ID und dem Namen des anfordernden Nutzers", + "components.MovieDetails.imdbuserscore": "IMDB Nutzer Bewertung", + "components.Settings.SonarrModal.tagRequests": "Tag Anforderungen", + "components.Discover.FilterSlideover.voteCount": "Anzahl Abstimmungen zwischen {minValue} und {maxValue}", + "components.Settings.SonarrModal.tagRequestsInfo": "Füge automatisch einen zusätzlichen Tag mit der ID & Namen des anfordernden Nutzers", + "components.Layout.UserWarnings.passwordRequired": "Ein Passwort ist erforderlich.", + "components.Login.description": "Da du dich zum ersten Mal bei {applicationName} anmeldest, musst du eine gültige E-Mail-Adresse angeben.", + "components.Layout.UserWarnings.emailRequired": "E-Mail ist erforderlich.", + "components.Layout.UserWarnings.emailInvalid": "E-Mail ist nicht valide.", + "components.Login.credentialerror": "Der Benutzername oder das Passwort ist falsch.", + "components.Login.emailtooltip": "Die Adresse muss nicht mit Ihrer {mediaServerName}-Instanz verbunden sein.", + "components.Login.host": "{mediaServerName} URL", + "components.Login.initialsignin": "Verbinde", + "components.Login.initialsigningin": "Verbinden…", + "components.Login.save": "hinzufügen", + "components.Login.saving": "Hinzufügen…", + "components.Login.signinwithjellyfin": "Verwende dein {mediaServerName} Konto", + "components.Login.title": "E-Mail hinzufügen", + "components.Login.username": "Benutzername", + "components.Login.validationEmailFormat": "Ungültige E-Mail", + "components.Login.validationEmailRequired": "Du musst eine E-Mail angeben", + "components.Login.validationemailformat": "Gültige E-Mail erforderlich", + "components.Login.validationhostformat": "Gültige URL erforderlich", + "components.Login.validationhostrequired": "{mediaServerName} URL erforderlich", + "components.Login.validationusernamerequired": "Benutzername erforderlich", + "components.ManageSlideOver.removearr": "Aus {arr} entfernen", + "components.ManageSlideOver.removearr4k": "Aus 4K {arr} entfernen", + "components.MovieDetails.downloadstatus": "Download-Status", + "components.MovieDetails.openradarr4k": "Film in 4K Radarr öffnen", + "components.MovieDetails.play": "Wiedergabe auf {mediaServerName}", + "components.MovieDetails.play4k": "4K abspielen auf {mediaServerName}", + "components.Settings.SonarrModal.animeSeriesType": "Anime-Serien Typ", + "components.Settings.jellyfinSettings": "{mediaServerName} Einstellungen", + "components.Settings.jellyfinSettingsSuccess": "{mediaServerName} Einstellungen erfolgreich gespeichert!", + "components.Settings.jellyfinlibraries": "{mediaServerName} Bibliotheken", + "components.Settings.jellyfinsettings": "{mediaServerName} Einstellungen", + "components.Settings.jellyfinsettingsDescription": "Konfiguriere die Einstellungen für deinen {mediaServerName} Server. {mediaServerName} scannt deine {mediaServerName} Bibliotheken, um zu sehen, welche Inhalte verfügbar sind.", + "components.Settings.manualscanJellyfin": "Manuelles Scannen der Bibliothek", + "components.Settings.menuJellyfinSettings": "{mediaServerName}", + "components.Settings.saving": "Speichern…", + "components.Settings.syncing": "Synchronisierung", + "components.Settings.timeout": "Zeitüberschreitung", + "components.Setup.signin": "Anmelden", + "components.Setup.signinWithJellyfin": "Verwende dein {mediaServerName} Konto", + "components.Setup.signinWithPlex": "Verwende dein Plex-Konto", + "components.TitleCard.watchlistDeleted": "{title} Erfolgreich von der Beobachtungsliste entfernt!", + "components.TitleCard.watchlistError": "Etwas ist schief gelaufen, versuche es noch einmal.", + "components.TitleCard.watchlistSuccess": "{title} erfolgreich zur Beobachtungsliste hinzugefügt!", + "components.TvDetails.play": "Wiedergabe auf {mediaServerName}", + "components.TvDetails.play4k": "4K abspielen auf {mediaServerName}", + "components.UserList.importfromJellyfin": "Importieren von {mediaServerName} Benutzern", + "components.UserList.mediaServerUser": "{mediaServerName} Benutzer", + "components.UserList.noJellyfinuserstoimport": "Es gibt keine {mediaServerName} Benutzer zu importieren.", + "components.UserList.userdeleted": "Benutzer erfolgreich gelöscht!", + "components.UserList.userdeleteerror": "Beim Löschen des Benutzers ist etwas schief gelaufen.", + "components.UserList.userlist": "Benutzerliste", + "components.UserProfile.UserSettings.UserGeneralSettings.email": "E-Mail", + "components.UserProfile.UserSettings.UserGeneralSettings.mediaServerUser": "{mediaServerName} Benutzer", + "components.UserProfile.UserSettings.UserGeneralSettings.saving": "Speichern…", + "components.UserProfile.UserSettings.UserNotificationSettings.webpushsettingssaved": "Web-Push-Benachrichtigungseinstellungen erfolgreich gespeichert!", + "i18n.close": "Schließen", "i18n.decline": "Ablehnen", "i18n.declined": "Abgelehnt", "i18n.delete": "Löschen", - "i18n.deleting": "Wird gelöscht...", - "i18n.delimitedlist": "{a}, {b}", - "i18n.edit": "Bearbeiten", - "i18n.experimental": "Experimentell", + "i18n.deleting": "Löschen…", "i18n.failed": "Fehlgeschlagen", - "i18n.import": "Importieren", - "i18n.importing": "Wird importiert…", - "i18n.loading": "Wird geladen…", - "i18n.movie": "Film", "i18n.movies": "Filme", - "i18n.next": "Weiter", - "i18n.noresults": "Keine Ergebnisse.", - "i18n.notrequested": "Nicht Angefragt", "i18n.open": "Öffnen", - "i18n.partiallyavailable": "Teilweise Verfügbar", "i18n.pending": "Ausstehend", - "i18n.previous": "Bisherige", - "i18n.processing": "Wird verarbeitet...", - "i18n.request": "Anfragen", - "i18n.request4k": "In 4K anfragen", + "i18n.processing": "Verarbeitung", + "i18n.request": "Anfrage", "i18n.requested": "Angefragt", - "i18n.requesting": "Wird angefordert...", - "i18n.resolved": "Gelöst", - "i18n.restartRequired": "Neustart erforderlich", - "i18n.resultsperpage": "Zeige {pageSize} Ergebnisse pro Seite", "i18n.retry": "Wiederholen", - "i18n.retrying": "Wird wiederholt…", - "i18n.save": "Änderungen speichern", - "i18n.saving": "Wird gespeichert…", - "i18n.settings": "Einstellungen", - "i18n.showingresults": "Zeige {from} bis {to} von {total} Ergebnissen", - "i18n.status": "Status", - "i18n.test": "Testen", - "i18n.testing": "Wird getestet…", - "i18n.tvshow": "Serie", - "i18n.tvshows": "Serien", - "i18n.unavailable": "Nicht Verfügbar", - "i18n.usersettings": "Benutzereinstellungen", - "i18n.view": "Anzeigen", - "pages.errormessagewithcode": "{statusCode} - {error}", - "pages.internalservererror": "Interner Serverfehler", - "pages.oops": "Hoppla", - "pages.pagenotfound": "Seite nicht gefunden", - "pages.returnHome": "Zurück zur Startseite", - "pages.serviceunavailable": "Dienst nicht verfügbar", - "pages.somethingwentwrong": "Etwas ist schief gelaufen" + "i18n.tvshows": "Serie", + "i18n.unavailable": "Nicht verfügbar", + "pages.oops": "Huch!", + "components.MovieDetails.openradarr": "Film in Radarr öffnen", + "components.Settings.Notifications.NotificationsPushover.deviceDefault": "Gerätestandard", + "components.Settings.RadarrModal.tagRequests": "Tag-Anfragen", + "components.Settings.SettingsAbout.supportjellyseerr": "Jellyseerr unterstützen", + "components.Settings.internalUrl": "Interne URL", + "components.Settings.jellyfinSettingsDescription": "Konfiguriere optional die internen und externen Endpunkte für deinen {mediaServerName} Server. In den meisten Fällen ist die externe URL eine andere als die interne URL. Für die Anmeldung bei {mediaServerName} kann auch eine benutzerdefinierte URL zum Zurücksetzen des Passworts festgelegt werden, falls du auf eine andere Seite zum Zurücksetzen des Passworts umleiten möchtest.", + "components.Settings.jellyfinSettingsFailure": "Beim Speichern der Einstellungen von {mediaServerName} ist ein Fehler aufgetreten.", + "components.Settings.manualscanDescriptionJellyfin": "Normalerweise wird dieser Vorgang nur einmal alle 24 Stunden durchgeführt. Jellyseerr wird die kürzlich hinzugefügten Bibliotheken deines {mediaServerName} Servers aggressiver überprüfen. Wenn dies das erste Mal ist, dass du Jellyseerr konfigurierst, wird ein einmaliger vollständiger manueller Bibliotheks-Scan empfohlen!", + "components.Settings.save": "Änderungen speichern", + "components.Settings.Notifications.userEmailRequired": "Benutzer-E-Mai", + "components.Settings.Notifications.NotificationsPushover.sound": "Benachrichtigungston", + "components.Settings.SonarrModal.seriesType": "TV-Serie Typ", + "components.Settings.jellyfinlibrariesDescription": "Die Bibliotheken {mediaServerName} werden nach Titeln durchsucht. Klicke auf die Schaltfläche unten, wenn keine Bibliotheken aufgelistet sind.", + "components.UserList.importfromJellyfinerror": "Beim Importieren von {mediaServerName} Benutzern ist etwas schief gelaufen.", + "components.Settings.syncJellyfin": "Bibliotheken synchronisieren", + "components.Setup.configuremediaserver": "Medienserver konfigurieren", + "components.UserProfile.UserSettings.UserGeneralSettings.save": "Änderungen speichern", + "i18n.available": "Verfügbar", + "i18n.cancel": "Abbrechen", + "components.TitleCard.addToWatchList": "Zur Beobachtungsliste hinzufügen", + "components.TitleCard.watchlistCancel": "Überwachungsliste für {title} abgebrochen.", + "components.UserList.usercreatedsuccess": "Benutzer erfolgreich angelegt!", + "components.ManageSlideOver.manageModalRemoveMediaWarning": "* Dadurch wird dieser {mediaType} unwiderruflich aus {arr} entfernt, einschließlich aller Dateien.", + "components.UserList.importedfromJellyfin": "{userCount} {mediaServerName} {userCount, plural, one {user} other {users}} erfolgreich importiert!", + "components.UserList.validationpasswordminchars": "Das Passwort ist zu kurz; es sollte mindestens 8 Zeichen lang sein", + "components.UserProfile.UserSettings.UserNotificationSettings.deviceDefault": "Gerätestandard", + "i18n.approve": "Genehmigen", + "i18n.partiallyavailable": "Teilweise verfügbar", + "components.UserList.newJellyfinsigninenabled": "Die Einstellung Enable New {mediaServerName} Sign-In ist derzeit aktiviert. {mediaServerName}-Benutzer mit Bibliothekszugang müssen nicht importiert werden, um sich anmelden zu können.", + "components.UserProfile.UserSettings.UserNotificationSettings.sound": "Benachrichtigungston", + "components.UserProfile.UserSettings.UserNotificationSettings.webpushsettingsfailed": "Die Einstellungen für Web-Push-Benachrichtigungen konnten nicht gespeichert werden.", + "components.UserProfile.localWatchlist": "Beobachtungsliste von {username}", + "i18n.approved": "Genehmigt", + "pages.returnHome": "Zurück nach Hause" } diff --git a/src/i18n/locale/es.json b/src/i18n/locale/es.json index cf82f69c..2790e6a0 100644 --- a/src/i18n/locale/es.json +++ b/src/i18n/locale/es.json @@ -201,7 +201,7 @@ "components.Settings.SonarrModal.animerootfolder": "Carpeta raíz de anime", "components.Settings.SonarrModal.animequalityprofile": "Perfil de calidad de anime", "components.Settings.SettingsAbout.timezone": "Zona horaria", - "components.Settings.SettingsAbout.supportoverseerr": "Apoya a Jellyseerr", + "components.Settings.SettingsAbout.supportoverseerr": "Apoya a Overseerr", "components.Settings.SettingsAbout.helppaycoffee": "Ayúdame invitándome a un café", "components.Settings.SettingsAbout.Releases.viewongithub": "Ver en GitHub", "components.Settings.SettingsAbout.Releases.viewchangelog": "Ver registro de cambios", @@ -299,14 +299,14 @@ "components.RequestButton.viewrequest": "Ver Solicitud", "components.RequestButton.requestmore4k": "Solicitar más en 4K", "components.RequestButton.requestmore": "Solicitar más", - "components.RequestButton.declinerequests": "Rechazar {requestCount, plural, one {solicitud} other {{requestCount} solicitudes}}", + "components.RequestButton.declinerequests": "Rechazar {requestCount, plural, one {Request} other {{requestCount} Requests}}", "components.RequestButton.declinerequest4k": "Rechazar Solicitud 4K", "components.RequestButton.declinerequest": "Rechazar Solicitud", - "components.RequestButton.decline4krequests": "Rechazar {requestCount, plural, one {solicitud en 4K} other {{requestCount} solicitudes en 4K}}", - "components.RequestButton.approverequests": "Aprobar {requestCount, plural, one {solicitud} other {{requestCount} solicitudes}}", + "components.RequestButton.decline4krequests": "Rechazar {requestCount, plural, one {4K Request} other {{requestCount} 4K Requests}}", + "components.RequestButton.approverequests": "Aprobar {requestCount, plural, one {Request} other {{requestCount} Requests}}", "components.RequestButton.approverequest4k": "Aprobar Solicitud 4K", "components.RequestButton.approverequest": "Aprobar Solicitud", - "components.RequestButton.approve4krequests": "Aprobar {requestCount, plural, one {petición en 4K} other {requestCount} peticiones en 4K}}", + "components.RequestButton.approve4krequests": "Aprobar {requestCount, plural, one {4K Request} other {{requestCount} 4K Requests}}", "components.RequestBlock.server": "Servidor de Destino", "components.RequestBlock.rootfolder": "Carpeta Raíz", "components.RequestBlock.profilechanged": "Perfil de Calidad", @@ -656,7 +656,7 @@ "components.QuotaSelector.unlimited": "Ilimitadas", "components.MovieDetails.originaltitle": "Título Original", "components.LanguageSelector.originalLanguageDefault": "Todos los Idiomas", - "components.LanguageSelector.languageServerDefault": "({Language}) por defecto", + "components.LanguageSelector.languageServerDefault": "({language}) por defecto", "components.Layout.VersionStatus.commitsbehind": "{commitsBehind} {commitsBehind, plural, one {cambio} other {cambios}} por detrás", "components.UserProfile.UserSettings.UserPasswordChange.noPasswordSetOwnAccount": "Tu cuenta no tiene configurada una contraseña actualmente. Configure una contraseña a continuación para habilitar el acceso como \"usuario local\" utilizando tu dirección de email.", "components.UserProfile.UserSettings.UserPasswordChange.noPasswordSet": "Esta cuenta de usuario no tiene configurada una contraseña actualmente. Configure una contraseña a continuación para habilitar el acceso como \"usuario local\"", @@ -784,7 +784,7 @@ "components.DownloadBlock.estimatedtime": "Estimación de {time}", "components.Settings.Notifications.encryptionOpportunisticTls": "Usa siempre STARTTLS", "components.TvDetails.streamingproviders": "Emisión Actual en", - "components.UserProfile.UserSettings.UserGeneralSettings.languageDefault": "{{Language}} por defecto", + "components.UserProfile.UserSettings.UserGeneralSettings.languageDefault": "({language}) por defecto", "components.Settings.Notifications.NotificationsWebPush.httpsRequirement": "Para recibir notificaciones web push, Jellyseerr debe servirse mediante HTTPS.", "components.Settings.Notifications.NotificationsWebhook.validationTypes": "Debes seleccionar, al menos, un tipo de notificación", "components.Settings.Notifications.validationTypes": "Debes seleccionar, al menos, un tipo de notificación", @@ -816,10 +816,10 @@ "components.Settings.Notifications.encryptionTip": "Normalmente, TLS Implícito usa el puerto 465 y STARTTLS usa el puerto 587", "components.UserList.localLoginDisabled": "El ajuste para Habilitar el Inicio de Sesión Local está actualmente deshabilitado.", "components.Settings.SettingsUsers.defaultPermissionsTip": "Permisos iniciales asignados a nuevos usuarios", - "components.Settings.SettingsAbout.runningDevelop": "Estás utilizando la rama de develop de Jellyseerr, la cual solo se recomienda para aquellos que contribuyen al desarrollo o al soporte de las pruebas de nuevos desarrollos.", + "components.Settings.SettingsAbout.runningDevelop": "Estás utilizando la rama de desarrollo de Jellyseerr, la cual solo se recomienda para aquellos que contribuyen al desarrollo o al soporte de las pruebas de nuevos desarrollos.", "components.StatusBadge.status": "{status}", - "components.Settings.SettingsJobsCache.editJobScheduleSelectorMinutes": "Cada {jobScheduleMinutes, plural, one {minuto} other {{jobScheduleMinutes} minutos}}", - "components.Settings.SettingsJobsCache.editJobScheduleSelectorHours": "Cada {jobScheduleHours, plural, one {hora} other {{jobScheduleHours} horas}}", + "components.Settings.SettingsJobsCache.editJobScheduleSelectorMinutes": "Cada {jobScheduleMinutes, plural, one {minute} other {{jobScheduleMinutes} minutes}}", + "components.Settings.SettingsJobsCache.editJobScheduleSelectorHours": "Cada {jobScheduleHours, plural, one {hour} other {{jobScheduleHours} hours}}", "components.Settings.SettingsJobsCache.jobScheduleEditFailed": "Algo fue mal al guardar la tarea programada.", "components.Settings.SettingsJobsCache.editJobSchedule": "Modificar tarea programada", "components.Settings.SettingsJobsCache.editJobSchedulePrompt": "Nueva frecuencia", @@ -848,7 +848,7 @@ "components.IssueDetails.nocomments": "Sin comentarios.", "components.IssueDetails.openedby": "#{issueId} abierta {relativeTime} por {username}", "components.IssueDetails.openin4karr": "Abrir en {arr} 4K", - "components.IssueDetails.openinarr": "Abierta en {arr}", + "components.IssueDetails.openinarr": "Abrir en {arr}", "components.IssueDetails.play4konplex": "Ver en 4K en {mediaServerName}", "components.IssueDetails.playonplex": "Ver en {mediaServerName}", "components.IssueDetails.problemepisode": "Episodio Afectado", @@ -1193,7 +1193,7 @@ "components.RequestList.RequestItem.tvdbid": "Identificador de TheTVDB", "components.Settings.SettingsJobsCache.image-cache-cleanup": "Limpieza de la caché de imágenes", "components.Settings.SettingsJobsCache.imagecache": "Caché de imágenes", - "components.Settings.SettingsJobsCache.editJobScheduleSelectorSeconds": "Cada {jobScheduleSeconds, plural, one {segundo} other {{jobScheduleSeconds} segundos}}", + "components.Settings.SettingsJobsCache.editJobScheduleSelectorSeconds": "Cada {jobScheduleSeconds, plural, one {second} other {{jobScheduleSeconds} seconds}}", "components.Settings.SettingsJobsCache.availability-sync": "Sincronización de la disponibilidad de medios", "components.Discover.tmdbmoviestreamingservices": "Servicios de streaming de películas TMDB", "components.Discover.tmdbtvstreamingservices": "Servicios de TV en streaming TMDB", @@ -1205,10 +1205,110 @@ "components.Settings.RadarrModal.tagRequestsInfo": "Añadir automáticamente una etiqueta adicional con el nombre de usuario y el nombre para mostrar del solicitante", "components.Settings.SonarrModal.tagRequestsInfo": "Añadir automáticamente una etiqueta adicional con el nombre de usuario y el nombre para mostrar del solicitante", "components.MovieDetails.imdbuserscore": "Puntuación de los usuarios de IMDB", - "components.Settings.SonarrModal.animeSeriesType": "Tipo de anime", - "components.Settings.SonarrModal.seriesType": "Tipo de series", - "components.Settings.Notifications.NotificationsPushover.sound": "Sonido para las notificaciones", - "components.UserProfile.UserSettings.UserNotificationSettings.deviceDefault": "Dispositivo predeterminado", - "components.UserProfile.UserSettings.UserNotificationSettings.sound": "Sonido para las notificaciones", - "components.Settings.Notifications.NotificationsPushover.deviceDefault": "Dispositivo predeterminado" + "components.Layout.UserWarnings.passwordRequired": "Se requiere una contraseña.", + "components.Login.credentialerror": "El usuario o contraseña es incorrecto.", + "components.Login.host": "{mediaServerName} URL", + "components.Login.initialsignin": "Conectar", + "components.Login.initialsigningin": "Conectando…", + "components.Login.emailtooltip": "No es necesario asociar la dirección con su instancia de {mediaServerName}.", + "components.Login.saving": "Añadiendo…", + "components.Login.title": "Añadir Email", + "components.Login.username": "Nombre de usuario", + "components.Login.validationEmailFormat": "El email es inválido", + "components.Login.validationEmailRequired": "Debes proporcional un email", + "components.Login.validationemailformat": "Se requiere de un email válido", + "components.Login.validationhostformat": "Se requiere de una URL válida", + "components.Login.validationusernamerequired": "Se requiere un nombre de usuario", + "components.ManageSlideOver.manageModalRemoveMediaWarning": "* Esto eliminará de manera irreversible esta {mediaType} de {arr}, incluyendo todos los archivos.", + "i18n.open": "Abierto", + "components.MovieDetails.downloadstatus": "Estado de la descarga", + "components.MovieDetails.openradarr": "Abrir Película en Radarr", + "components.MovieDetails.openradarr4k": "Abrir Película 4K en Radarr", + "components.MovieDetails.play": "Reproducir en {mediaServerName}", + "components.MovieDetails.play4k": "Reproducir 4K en {mediaServerName}", + "components.NotificationTypeSelector.issueresolved": "Incidencia Resuelta", + "components.NotificationTypeSelector.userissuecommentDescription": "Notificame cuando haya nuevos comentarios en incidencias que haya abierto.", + "components.NotificationTypeSelector.userissuecreatedDescription": "Notificame cuando otros usuarios reporten incidencias.", + "components.PermissionEdit.viewissues": "Ver incidencias", + "components.PermissionEdit.manageissuesDescription": "Dar permiso para administrar incidencias.", + "components.PermissionEdit.viewissuesDescription": "Dar permiso para ver incidencias reportadas por otros usuarios.", + "components.Settings.Notifications.NotificationsPushover.sound": "Sonido de Notificacion", + "components.Settings.SettingsJobsCache.jellyfin-recently-added-scan": "Escanear Añadidos Recientemente de Jellyfin", + "components.Settings.SettingsJobsCache.jellyfin-full-scan": "Escaneo Completo de la libreria de Jellyfin", + "components.Settings.jellyfinSettings": "Ajustes de {mediaServerName}", + "components.Settings.jellyfinsettings": "Ajustes de {mediaServerName}", + "components.Settings.jellyfinSettingsFailure": "Algo salió mal al guardar la configuración de {mediaServerName}.", + "components.Settings.jellyfinSettingsSuccess": "¡La configuración de {mediaServerName} se guardó correctamente!", + "components.Settings.jellyfinlibraries": "Bibliotecas {mediaServerName}", + "components.Settings.jellyfinlibrariesDescription": "La biblioteca {mediaServerName} busca títulos. Haga clic en el botón a continuación si no aparece ninguna biblioteca.", + "components.Settings.manualscanDescriptionJellyfin": "Normalmente, esto sólo se ejecutará una vez cada 24 horas. Jellyseerr comprobará de forma más agresiva los añadidos recientemente de su servidor {mediaServerName}. ¡Si es la primera vez que configura Jellyseerr, se recomienda un escaneo manual completo de la biblioteca!", + "components.Settings.save": "Guardar Cambios", + "components.Settings.saving": "Guardando…", + "components.Settings.syncing": "Sincronizando", + "components.Settings.timeout": "Tiempo agotado", + "components.Setup.signinWithPlex": "Usa tu cuenta de Plex", + "components.Setup.configuremediaserver": "Configurar servidor multimedia", + "components.TitleCard.addToWatchList": "Añadir a lista de seguimiento", + "components.TitleCard.watchlistCancel": "Lista de seguimiento para {title} cancelada.", + "components.TitleCard.watchlistError": "Algo salió mal, intenta de nuevo.", + "components.TitleCard.watchlistSuccess": "{title} añadido correctamente a la lista de seguimiento!", + "components.TvDetails.play": "Reproducir en {mediaServerName}", + "components.UserList.importfromJellyfin": "Importar Usuarios de {mediaServerName}", + "components.UserList.mediaServerUser": "Usuario de {mediaServerName}", + "components.UserList.importedfromJellyfin": "{userCount} {mediaServerName} {userCount, plural, one {user} other {users}} importado correctamente!", + "components.UserList.importfromJellyfinerror": "Se produjo un error al importar usuarios de {mediaServerName}.", + "components.UserProfile.UserSettings.UserGeneralSettings.save": "Guardar Cambios", + "components.UserProfile.UserSettings.UserGeneralSettings.email": "Email", + "components.UserProfile.UserSettings.UserNotificationSettings.deviceDefault": "Dispositivo Predeterminado", + "components.UserProfile.UserSettings.UserNotificationSettings.sound": "Sonido de Notificacion", + "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletsettingsfailed": "Fallo al guardar los ajustes de la notificación Pushbullet.", + "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletsettingssaved": "¡Los ajustes de notificación Pushbullet se han guardado con éxito!", + "components.UserProfile.UserSettings.UserNotificationSettings.pushoverApplicationToken": "Token de aplicación API", + "components.UserProfile.UserSettings.UserNotificationSettings.pushoverUserKey": "Clave de usuario o grupo", + "components.UserProfile.UserSettings.UserNotificationSettings.pushoverUserKeyTip": "Tu identificador de usuario o grupo de 30 caracteres", + "components.UserProfile.UserSettings.UserNotificationSettings.pushoversettingssaved": "¡Se han guardado los ajustes de notificación de Pushover!", + "components.UserProfile.UserSettings.UserNotificationSettings.pushoverApplicationTokenTip": "Registrar una aplicación para usar con {applicationTitle}", + "components.UserProfile.UserSettings.UserNotificationSettings.validationPushoverUserKey": "Debes proporcionar una clave de usuario o grupo válida", + "components.Login.validationhostrequired": "{mediaServerName} URL requerida", + "i18n.resolved": "Resuelto", + "components.UserList.importfrommediaserver": "Importar Usuarios de {mediaServerName}", + "components.Settings.Notifications.NotificationsPushover.deviceDefault": "Dispositivo Predeterminado", + "components.ManageSlideOver.removearr": "Eliminar de {arr}", + "components.NotificationTypeSelector.issuereopenedDescription": "Enviar notificación cuando se reabran incidencias.", + "components.Layout.UserWarnings.emailRequired": "Se requiere una dirección de email.", + "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletAccessToken": "Token de Acceso", + "components.UserProfile.UserSettings.UserNotificationSettings.validationPushoverApplicationToken": "Debes proporcionar un token de aplicación válido", + "components.Settings.syncJellyfin": "Sincronizar Bibliotecas", + "components.Layout.UserWarnings.emailInvalid": "La dirección de correo es inválida.", + "components.Login.description": "Como es la primera vez que inicias sesión en {applicationName}, es necesario añadir una dirección de email válida.", + "components.Login.save": "Añadir", + "components.NotificationTypeSelector.issueresolvedDescription": "Enviar notificación cuando se resuelvan incidencias.", + "components.PermissionEdit.manageissues": "Administrar incidencias", + "components.PermissionEdit.createissues": "Notificar incidencia", + "components.Settings.menuJellyfinSettings": "{mediaServerName}", + "components.UserProfile.UserSettings.UserGeneralSettings.saving": "Guardando…", + "components.UserProfile.UserSettings.UserNotificationSettings.validationPushbulletAccessToken": "Debes indicar un token de acceso", + "components.Login.signinwithjellyfin": "Utiliza tu cuenta de {mediaServerName}", + "components.ManageSlideOver.removearr4k": "Eliminar de {arr} 4K", + "components.Settings.internalUrl": "URL Interna", + "components.TvDetails.play4k": "Reproducir 4K en {mediaServerName}", + "components.Setup.signin": "Iniciar Sesión", + "components.Setup.signinWithJellyfin": "Utiliza tu cuenta de {mediaServerName}", + "components.UserList.noJellyfinuserstoimport": "No hay usuarios de {mediaServerName} que importar.", + "components.UserProfile.UserSettings.UserGeneralSettings.mediaServerUser": "Usuario de {mediaServerName}", + "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletAccessTokenTip": "Crea un token desde tu Opciones de Cuenta", + "components.UserProfile.UserSettings.UserNotificationSettings.pushoversettingsfailed": "No se pudo guardar la configuración de notificaciones de Pushover.", + "components.NotificationTypeSelector.userissuereopenedDescription": "Recibir notificaciones cuando se vuelvan a abrir incidencias que haya reportado.", + "components.NotificationTypeSelector.userissueresolvedDescription": "Reciba notificaciones cuando se resuelvan las incidencias que haya reportado.", + "components.PermissionEdit.createissuesDescription": "Dar permiso para informar incidencias.", + "components.Settings.SettingsAbout.supportjellyseerr": "Apoya a Jellyseerr", + "components.Settings.Notifications.userEmailRequired": "Requerir email de usuario", + "components.Settings.SonarrModal.animeSeriesType": "Tipo de Serie Anime", + "components.Settings.SonarrModal.seriesType": "Tipo Serie", + "components.Settings.jellyfinSettingsDescription": "Opcionalmente, configure los puntos finales internos y externos para su servidor {mediaServerName}. En la mayoría de los casos, la URL externa es diferente a la URL interna. También se puede configurar una URL de restablecimiento de contraseña personalizada para el inicio de sesión de {mediaServerName}, en caso de que desee redirigir a una página de restablecimiento de contraseña diferente.", + "components.Settings.jellyfinsettingsDescription": "Configure los ajustes para su servidor {mediaServerName}. {mediaServerName} escanea sus bibliotecas de {mediaServerName} para ver qué contenido está disponible.", + "components.Settings.manualscanJellyfin": "Escanear Libreria Manualmente", + "components.TitleCard.watchlistDeleted": "{title} Eliminado correctamente de la lista de seguimiento!", + "components.UserList.newJellyfinsigninenabled": "La configuración Habilitar nuevo inicio de sesión de {mediaServerName} está actualmente habilitada. Los usuarios de {mediaServerName} con acceso a la biblioteca no necesitan ser importados para poder iniciar sesión.", + "components.UserProfile.localWatchlist": "Lista de seguimiento de {username}" } diff --git a/src/i18n/locale/fr.json b/src/i18n/locale/fr.json index 45e62c8b..5fa1a0f5 100644 --- a/src/i18n/locale/fr.json +++ b/src/i18n/locale/fr.json @@ -59,7 +59,7 @@ "components.Discover.DiscoverTvGenre.genreSeries": "Séries {genre}", "components.Discover.DiscoverTvKeyword.keywordSeries": "{keywordTitle} Séries", "components.Discover.DiscoverTvLanguage.languageSeries": "Séries en {language}", - "components.Discover.DiscoverWatchlist.discoverwatchlist": "Votre watchlist Plex", + "components.Discover.DiscoverWatchlist.discoverwatchlist": "Votre watchlist", "components.Discover.DiscoverWatchlist.watchlist": "Watchlist Plex", "components.Discover.FilterSlideover.activefilters": "{count, plural, one {# Filtre actif} other {# Filtres actifs}}", "components.Discover.FilterSlideover.clearfilters": "Effacer les filtres actifs", @@ -176,7 +176,7 @@ "components.Settings.RadarrModal.port": "Port", "components.Settings.RadarrModal.qualityprofile": "Profil de qualité", "components.Settings.RadarrModal.rootfolder": "Dossier racine", - "components.Settings.RadarrModal.selectMinimumAvailability": "Sélectionner une disponibilité minimale", + "components.Settings.RadarrModal.selectMinimumAvailability": "Sélectionner une disponibilté minimale", "components.Settings.RadarrModal.selectQualityProfile": "Sélectionner un profil qualité", "components.Settings.RadarrModal.selectRootFolder": "Sélectionner un dossier racine", "components.Settings.RadarrModal.server4k": "Serveur 4K", @@ -277,7 +277,7 @@ "i18n.tvshows": "Séries", "i18n.unavailable": "Indisponible", "pages.oops": "Oups", - "pages.returnHome": "Retourner à l'accueil", + "pages.returnHome": "Retourner à l'acceuil", "components.TvDetails.TvCast.fullseriescast": "Casting complet de la série", "components.MovieDetails.MovieCast.fullcast": "Casting complet", "components.Settings.Notifications.emailsettingssaved": "Paramètres de notification par e-mail enregistrés avec succès !", @@ -323,7 +323,7 @@ "components.Settings.SettingsAbout.Releases.viewchangelog": "Voir le journal des modifications", "components.Settings.SettingsAbout.Releases.versionChangelog": "Journal des modifications de la version {version}", "components.Settings.SettingsAbout.Releases.releases": "Versions", - "components.Settings.SettingsAbout.Releases.releasedataMissing": "Les données de version sont actuellement indisponibles.", + "components.Settings.SettingsAbout.Releases.releasedataMissing": "Les données de version sont actuellement indisponible.", "components.Settings.SettingsAbout.Releases.latestversion": "Dernière version", "components.Settings.SettingsAbout.Releases.currentversion": "Actuelle", "components.UserList.importfromplexerror": "Une erreur s'est produite durant l'importation des utilisateurs de Plex.", @@ -1071,7 +1071,7 @@ "components.ManageSlideOver.manageModalMedia4k": "Média(s) 4K", "components.ManageSlideOver.markallseasons4kavailable": "Marquer toutes les saisons comme disponibles en 4K", "components.ManageSlideOver.playedby": "Joué par", - "components.Settings.validationUrlTrailingSlash": "L'URL ne doit pas se terminer par un slash", + "components.Settings.validationUrlTrailingSlash": "L'URL ne doit pas ce terminer par un slash", "components.Settings.externalUrl": "URL externe", "components.Settings.tautulliApiKey": "Clé API", "components.Settings.tautulliSettings": "Paramètres Tautulli", @@ -1252,10 +1252,70 @@ "components.Settings.SonarrModal.tagRequestsInfo": "Ajouter automatiquement un tag supplémentaire avec l'ID utilisateur et le nom d'affichage du demandeur", "i18n.collection": "Collection", "components.Settings.RadarrModal.tagRequestsInfo": "Ajouter automatiquement un tag supplémentaire avec l'ID utilisateur et le nom d'affichage du demandeur", - "components.Settings.SonarrModal.seriesType": "Type de série", - "components.Settings.SonarrModal.animeSeriesType": "Types d'anime", + "components.IssueModal.issueVideo": "Vidéo", + "components.Settings.Notifications.NotificationsPushover.sound": "Son de notification", + "components.Settings.jellyfinSettings": "Paramètres pour {mediaServerName}", + "components.Settings.jellyfinSettingsFailure": "Une erreur est survenue lors de l'enregistrement des paramètres pour {mediaServerName}.", + "components.Settings.jellyfinSettingsSuccess": "Les paramètres pour {mediaServerName} ont été enregistrés avec succès !", + "components.Settings.jellyfinlibraries": "Bibliothèques {mediaServerName}", + "components.Settings.jellyfinlibrariesDescription": "Les bibliothèques de {mediaServerName} sont en cours d'analyze. Cliquez sur le bouton ci-dessous si aucune bibliothèque n'est répertoriée.", + "components.Settings.jellyfinsettings": "Paramètres pour {mediaServerName}", + "components.Settings.manualscanJellyfin": "Analyse manuelle de la bibliothèque", + "components.Settings.menuJellyfinSettings": "{mediaServerName}", + "components.Settings.save": "Enregistrer les modifications", + "components.Settings.saving": "Sauvegarde en cours…", + "components.Settings.syncing": "Synchronisation en cours", + "components.Setup.signin": "Se connecter", + "components.Setup.signinWithPlex": "Utilisez votre compte Plex", + "components.StatusBadge.managemedia": "Gérer {mediaType}", + "components.StatusBadge.openinarr": "Ouvrir dans {arr}", + "components.StatusBadge.playonplex": "Lire sur {mediaServerName}", + "components.TitleCard.addToWatchList": "Ajouter à votre watchlist", + "components.TitleCard.watchlistCancel": "Watchlist pour {title} annulée.", + "components.TitleCard.watchlistError": "Une erreur est survenue. Veuillez réessayer.", + "components.TitleCard.watchlistSuccess": "{title} a été ajouté à votre watchlist avec succès !", + "components.TvDetails.Season.somethingwentwrong": "Une erreur est survenue lors de la récupération des données de la saison.", + "components.TvDetails.manageseries": "Gérer les séries", + "components.TvDetails.play": "Jouer sur {mediaServerName}", + "components.TvDetails.play4k": "Jouer en 4K sur {mediaServerName}", + "components.TvDetails.rtcriticsscore": "Tomatometer sur Rotten Tomatoes", + "components.TvDetails.seasonnumber": "Saison {seasonNumber}", + "components.TvDetails.seasonstitle": "Saisons", + "components.TvDetails.status4k": "{status} 4K", + "components.TvDetails.tmdbuserscore": "Score utilisateur sur TMDB", + "components.UserList.importfromJellyfin": "Importer les utilisateurs de {mediaServerName}", + "components.UserList.importfromJellyfinerror": "Une erreur est survenue lors de l'importation des utilisateurs de {mediaServerName}.", + "components.UserList.importfrommediaserver": "Importer les utilisateurs de {mediaServerName}", + "components.UserList.noJellyfinuserstoimport": "Il n'y a aucun utilisateur à importer pour {mediaServerName}.", + "components.UserProfile.UserSettings.UserGeneralSettings.saving": "Sauvegarde en cours…", + "components.UserProfile.plexwatchlist": "Watchlist Plex", + "components.Settings.syncJellyfin": "Synchroniser les bibliothèques", + "components.TitleCard.watchlistDeleted": "{title} a été retiré de votre watchlist avec succès !", + "components.IssueModal.issueSubtitles": "Sous-titre", + "components.Login.emailtooltip": "L'adresse ne nécessite pas d'être associée avec votre instance {mediaServerName}.", "components.Settings.Notifications.NotificationsPushover.deviceDefault": "Appareil par défaut", + "components.Settings.Notifications.userEmailRequired": "E-mail utilisateur requis", + "components.Settings.SettingsAbout.supportjellyseerr": "Soutenez Jellyseerr", + "components.Settings.SettingsJobsCache.jellyfin-full-scan": "Scan complet des bibliothèques Jellyfin", + "components.Settings.SettingsJobsCache.jellyfin-recently-added-scan": "Scan des ajouts récents aux bibliothèques Jellyfin", + "components.Settings.SonarrModal.animeSeriesType": "Type de série anime", + "components.Settings.SonarrModal.seriesType": "Type de série", + "components.Settings.internalUrl": "URL interne", + "components.Settings.jellyfinsettingsDescription": "Configurez les paramètres de votre serveur {mediaServerName}. {mediaServerName} analyse vos bibliothèques {mediaServerName} pour voir quel contenu est disponible.", + "components.Settings.jellyfinSettingsDescription": "Configurez facultativement les URL internes et externes pour votre serveur {mediaServerName}. Dans la plupart des cas, l'URL externe est différente de l'URL interne. Vous pouvez également définir une URL de réinitialisation de mot de passe personnalisée pour la connexion à {mediaServerName}, au cas où vous souhaiteriez rediriger vers une page de réinitialisation de mot de passe différente.", + "components.Settings.manualscanDescriptionJellyfin": "Normalement, cette tâche est executée qu'une fois toutes les 24 heures. Jellyseerr vérifiera plus agressivement les éléments récemment ajoutés à votre serveur {mediaServerName}. Si c'est la première fois que vous configurez Jellyseerr, une analyse complète manuelle de la bibliothèque est recommandée !", + "components.Settings.timeout": "Temps écoulé", + "components.Setup.configuremediaserver": "Configurer le serveur multimédia", + "components.TvDetails.rtaudiencescore": "Score de l'audience sur Rotten Tomatoes", + "components.UserProfile.UserSettings.UserGeneralSettings.mediaServerUser": "Utilisateur pour {mediaServerName}", + "components.Setup.signinWithJellyfin": "Utilisez votre compte {mediaServerName}", + "components.UserList.mediaServerUser": "Utilisateur de {mediaServerName}", + "components.TvDetails.episodeCount": "{episodeCount, plural, one {# Épisode} other {# Épisodes}}", + "components.UserList.newJellyfinsigninenabled": "Le paramètre Activer la nouvelle connexion à {mediaServerName} est actuellement activé. Les utilisateurs de {mediaServerName} avec accès à la bibliothèque n'ont pas besoin d'être importés pour se connecter.", + "components.UserProfile.UserSettings.UserGeneralSettings.email": "E-mail", + "components.UserProfile.UserSettings.UserGeneralSettings.save": "Enregistrer les modifications", "components.UserProfile.UserSettings.UserNotificationSettings.deviceDefault": "Appareil par défaut", + "components.UserList.importedfromJellyfin": "{userCount} {mediaServerName} {userCount, plural, one {user} other {users}} importé(s) avec succès !", "components.UserProfile.UserSettings.UserNotificationSettings.sound": "Son de notification", - "components.Settings.Notifications.NotificationsPushover.sound": "Son de notification" + "components.UserProfile.localWatchlist": "Watchlist de {username}" } diff --git a/src/i18n/locale/he.json b/src/i18n/locale/he.json index 3dfa734b..cb39d9eb 100644 --- a/src/i18n/locale/he.json +++ b/src/i18n/locale/he.json @@ -1,1324 +1,359 @@ { - "components.AirDateBadge.airedrelative": "שודר {relativeTime}", - "components.AirDateBadge.airsrelative": "ישודר {relativeTime}", - "components.AppDataWarning.dockerVolumeMissingDescription": ".בנתיב בדיקה אינה מוגדרת באופן תקין. כל המידע יימחק כאשר הקונטיינר ייעצר או יופעל מחדש {appDataPath} המחיצה", - "components.CollectionDetails.numberofmovies": "{count} סרטים", - "components.CollectionDetails.overview": "תקציר", - "components.CollectionDetails.requestcollection": "בקשת האוסף", - "components.CollectionDetails.requestcollection4k": "4K בקשת האוסף ב", - "components.Discover.CreateSlider.addSlider": "הוספת סליידר", - "components.Discover.CreateSlider.addcustomslider": "יצירת סליידר מותאם", - "components.Discover.CreateSlider.addfail": ".אין אפשרות ליצור סליידר", - "components.Discover.CreateSlider.addsuccess": ".הסליידר חדש נוצר בהצלחה", - "components.Discover.CreateSlider.editSlider": "עריכת שורת תצוגה", - "components.Discover.CreateSlider.editfail": ".אירעה שגיאה בעריכת הסליידר", - "components.Discover.CreateSlider.editsuccess": ".הסליידר נערך בהצלחה", - "components.Discover.CreateSlider.needresults": ".חייבת להיות תוצאה אחת לפחות", - "components.Discover.CreateSlider.nooptions": "אין תוצאות", - "components.Discover.CreateSlider.providetmdbgenreid": "TMDB יש לרשום מזהה ג׳אנר של", - "components.Discover.CreateSlider.providetmdbkeywordid": "TMDB יש לרשום מזהה מילת מפתח של", - "components.Discover.CreateSlider.providetmdbnetwork": "TMDB יש לרשום מזהה רשת של", - "components.Discover.CreateSlider.providetmdbsearch": "יש לרשום שאילתת חיפוש", - "components.Discover.CreateSlider.providetmdbstudio": "TMDB יש לרשום מזהה אולפן של", - "components.Discover.CreateSlider.searchGenres": "…חיפוש ג׳אנרים", - "components.Discover.CreateSlider.searchKeywords": "…מילות מפתח לחיפוש", - "components.Discover.CreateSlider.searchStudios": "…חיפוש אולפנים", - "components.Discover.CreateSlider.slidernameplaceholder": "שם הסליידר", - "components.Discover.CreateSlider.starttyping": ".יש להקליד כדי להתחיל חיפוש", - "components.Discover.CreateSlider.validationDatarequired": ".יש לרשום ערך", - "components.Discover.CreateSlider.validationTitlerequired": ".יש לרשום כותרת", - "components.Discover.DiscoverMovieGenre.genreMovies": "{genre} סרטי", - "components.Discover.DiscoverMovieKeyword.keywordMovies": "{keywordTitle} סרטי", - "components.Discover.DiscoverMovieLanguage.languageMovies": "{language} סרטי", - "components.Discover.DiscoverMovies.activefilters": "{count, plural, one {פילטר פעיל #} other {פילטרים פעילים #}}", - "components.Discover.DiscoverMovies.discovermovies": "סרטים", - "components.Discover.DiscoverMovies.sortPopularityAsc": "פופולריות בסדר עולה", - "components.Discover.DiscoverMovies.sortPopularityDesc": "פופולריות בסדר יורד", - "components.Discover.DiscoverMovies.sortTitleAsc": "כותרת (א-ת) בסדר עולה", - "components.Discover.DiscoverMovies.sortTitleDesc": "כותרת (א-ת) בסדר יורד", - "components.Discover.DiscoverMovies.sortTmdbRatingAsc": "בסדר עולה TMDB דירוג", - "components.Discover.DiscoverMovies.sortTmdbRatingDesc": "בסדר יורד TMDB דירוג", - "components.Discover.DiscoverMovies.sortReleaseDateAsc": "תאריך שיחרור בסדר עולה", - "components.Discover.DiscoverMovies.sortReleaseDateDesc": "תאריך שיחרור בסדר יורד", - "components.Discover.DiscoverNetwork.networkSeries": "{network} סדרות ברשת", - "components.Discover.DiscoverSliderEdit.deletefail": ".מחיקת הסליידר נכשלה", - "components.Discover.DiscoverSliderEdit.deletesuccess": ".הסליידר נמחק בהצלחה", - "components.Discover.DiscoverSliderEdit.enable": "הצגה או הסתרה", - "components.Discover.DiscoverSliderEdit.remove": "הסרה", - "components.Discover.DiscoverStudio.studioMovies": "{studio} סרטים מאופלני", - "components.Discover.DiscoverTv.activefilters": "{count, plural, one {פילטר פעיל #} other {פילטרים פעילים #}}", - "components.Discover.DiscoverTv.discovertv": "סדרות", - "components.Discover.DiscoverTv.sortFirstAirDateAsc": "שודר לראשונה בסדר עולה", - "components.Discover.DiscoverTv.sortFirstAirDateDesc": "שודר לראשונה בסדר יורד", - "components.Discover.DiscoverTv.sortPopularityAsc": "פופולריות בסדר עולה", - "components.Discover.DiscoverTv.sortPopularityDesc": "פופולריות בסדר יורד", - "components.Discover.DiscoverTv.sortTitleAsc": "כותרת (א-ת) בסדר עולה", - "components.Discover.DiscoverTv.sortTitleDesc": "כותרת (א-ת) בסדר יורד", - "components.Discover.DiscoverTv.sortTmdbRatingAsc": "בסדר עולה TMDB דירוג", - "components.Discover.DiscoverTv.sortTmdbRatingDesc": "בסדר יורד TMDB דירוג", - "components.Discover.DiscoverTvGenre.genreSeries": "{genre} סדרת", - "components.Discover.DiscoverTvKeyword.keywordSeries": "{keywordTitle} סדרות", - "components.Discover.DiscoverTvLanguage.languageSeries": "{language}סדרות ב", + "components.ManageSlideOver.alltime": "כל הזמנים", + "components.Login.validationemailrequired": "יש לספק מייל חוקי", + "components.NotificationTypeSelector.userissuereopenedDescription": "קבל התראה כשבעיות שפתחת נפתחות מחדש.", + "components.AppDataWarning.dockerVolumeMissingDescription": "ה {appDataPath} אחסון לא הוגדר כראוי. כל המידע יוסר כאשר הקונטיינר יעצור או יותחל מחדש.", + "components.CollectionDetails.overview": "תצוגה כללית", + "components.CollectionDetails.numberofmovies": "{כמות} סרטים", + "components.CollectionDetails.requestcollection": "אוסף בקשות", + "components.CollectionDetails.requestcollection4k": "אוסף בקשות ב4K", + "components.Discover.DiscoverMovieGenre.genreMovies": "סרטי {genre}", + "components.Discover.DiscoverMovieLanguage.languageMovies": "{language} סרטים", + "components.Discover.DiscoverNetwork.networkSeries": "{network} סדרות", + "components.Discover.DiscoverStudio.studioMovies": "{studio} סרטים", + "components.Discover.DiscoverTvGenre.genreSeries": "{genre} סדרות", + "components.Discover.DiscoverTvLanguage.languageSeries": "{language} סדרות", + "components.IssueDetails.commentplaceholder": "הוסף תגובה …", + "components.IssueDetails.comments": "תגובות", + "components.IssueDetails.deleteissue": "מחק מקרה", + "components.IssueDetails.deleteissueconfirm": "האם אתה בטוח שאתה רוצה למחוק את המקרה?", + "components.AirDateBadge.airsrelative": "ישודר בעוד {relativeTime}", "components.Discover.DiscoverWatchlist.discoverwatchlist": "רשימת הצפייה שלך", - "components.Discover.DiscoverWatchlist.watchlist": "Plex רשימת הצפייה של", - "components.Discover.FilterSlideover.activefilters": "{count, plural, one {פילטר פעיל #} other {פילטרים פעילים #}}", - "components.Discover.FilterSlideover.clearfilters": "ניקוי מסננים פעילים", - "components.Discover.FilterSlideover.filters": "מסננים", - "components.Discover.FilterSlideover.firstAirDate": "שודר לראשונה", - "components.Discover.FilterSlideover.from": "מאת", - "components.Discover.FilterSlideover.genres": "ג׳אנרים", - "components.Discover.FilterSlideover.keywords": "מילות מפתח", - "components.Discover.FilterSlideover.originalLanguage": "שפת מקור", - "components.Discover.FilterSlideover.ratingText": "{maxValue} לבין {minValue} דירוגים בין", - "components.Discover.FilterSlideover.releaseDate": "תאריך יציאה", - "components.Discover.FilterSlideover.runtime": "זמן ריצה", - "components.Discover.FilterSlideover.runtimeText": "{minValue}-{maxValue} זמן ריצה בין", - "components.Discover.FilterSlideover.streamingservices": "שירותי הזרמה", - "components.Discover.FilterSlideover.studio": "אולפן", - "components.Discover.FilterSlideover.tmdbuserscore": "TMDB ניקוד משתמשי", - "components.Discover.FilterSlideover.tmdbuservotecount": "TMDB הצבעות", - "components.Discover.FilterSlideover.to": "אל", - "components.Discover.FilterSlideover.voteCount": "{maxValue} ל {minValue} מספר הצבעות בין", - "components.Discover.MovieGenreList.moviegenres": "סרטים לפי ג׳אנר", - "components.Discover.MovieGenreSlider.moviegenres": "ג׳אנר סרטים", - "components.Discover.NetworkSlider.networks": "רשתות", - "components.Discover.PlexWatchlistSlider.emptywatchlist": ".תוצג כאן Plex רשימת צפייה של המדיה שמתווספת אל", - "components.Discover.PlexWatchlistSlider.plexwatchlist": "רשימת הצפייה שלך", - "components.Discover.RecentlyAddedSlider.recentlyAdded": "התווסף לאחרונה", + "components.Discover.MovieGenreList.moviegenres": "סוגי סרטים", "components.Discover.StudioSlider.studios": "אולפנים", - "components.Discover.TvGenreList.seriesgenres": "ג׳אנר סדרות", - "components.Discover.TvGenreSlider.tvgenres": "ג׳אנרים סדרות", - "components.Discover.createnewslider": "יצירת סליידר", - "components.Discover.customizediscover": "התאמת מה חדש", - "components.Discover.discover": "מה חדש", - "components.Discover.emptywatchlist": ".תוצג כאן Plex רשימת צפייה של המדיה שמתווספת אל", - "components.Discover.moviegenres": "סרטים לפי ג׳אנר", - "components.Discover.networks": "רשתות", - "components.Discover.plexwatchlist": "רשימת הצפייה שלך", - "components.Discover.popularmovies": "סרטים פופולריים", - "components.Discover.populartv": "הסדרות הפופולריות", - "components.Discover.recentlyAdded": "התווסף לאחרונה", - "components.Discover.recentrequests": "התבקשו לאחרונה", - "components.Discover.resetfailed": ".משהו השתבש בעת איפוס ההגדרות עבור מה חדש", - "components.Discover.resetsuccess": ".הגדרות מה חדש אופסו בהצלחה", - "components.Discover.resettodefault": "איפוס לברירת מחדל", - "components.Discover.resetwarning": "!איפוס כל הסליידרים לברירת מחדל. הדבר יוביל למחיקת סליידרים מותאמים אישית", - "components.Discover.stopediting": "הפסקת עריכה", - "components.Discover.studios": "לפי אולפנים", - "components.Discover.tmdbmoviegenre": "(TMDB) ג׳אנר סרט", - "components.Discover.tmdbmoviekeyword": "(TMDB) מילות חיפוש לסרט", - "components.Discover.tmdbmoviestreamingservices": "(TMDB) שירות הזרמת סרטים", - "components.Discover.tmdbnetwork": "(TMDB) רשת", - "components.Discover.tmdbsearch": "(TMDB) חיפוש", - "components.Discover.tmdbstudio": "(TMDB) אולפנים", - "components.Discover.tmdbtvgenre": "(TMDB) ג׳אנר של סדרה", - "components.Discover.tmdbtvkeyword": "(TMDB) מילות חיפוש לסדרה", - "components.Discover.tmdbtvstreamingservices": "TMDB שירות הזרדמת מדיה של טלויזיה", - "components.Discover.trending": "הכי נצפה", - "components.Discover.tvgenres": "סדרות לפי ג׳אנר", + "components.Discover.TvGenreList.seriesgenres": "סוגי סדרות", + "components.Discover.TvGenreSlider.tvgenres": "סוגי סדרות", + "components.Discover.recentlyAdded": "נוספו לאחרונה", + "components.Discover.recentrequests": "בקשות אחרונות", + "components.Discover.trending": "חמים", "components.Discover.upcoming": "סרטים שיצאו בקרוב", - "components.Discover.upcomingmovies": "סרטים בקרוב", + "components.Discover.upcomingmovies": "סרטים שיצאו בקרוב", "components.Discover.upcomingtv": "סדרות שיצאו בקרוב", - "components.Discover.updatefailed": ".משהו השתבש בעדכון ההגדרות וההתאמות של מה חדש", - "components.Discover.updatesuccess": ".הגדרות מה חדש נשמרו בהצלחה", - "components.DownloadBlock.estimatedtime": "{time} בערך", - "components.DownloadBlock.formattedTitle": "{title}: עונה {seasonNumber} פרק {episodeNumber}", - "components.IssueDetails.IssueComment.areyousuredelete": "?האם למחוק את התגובה", + "components.DownloadBlock.estimatedtime": "{time} משוער", "components.IssueDetails.IssueComment.delete": "מחיקת תגובה", + "components.IssueDetails.IssueComment.areyousuredelete": "למחוק את התגובה?", "components.IssueDetails.IssueComment.edit": "עריכת תגובה", - "components.IssueDetails.IssueComment.postedby": "{username} ע״י {relativeTime} נוצר", - "components.IssueDetails.IssueComment.postedbyedited": "(נערך) {username} ע״י {relativeTime} נוצר", - "components.IssueDetails.IssueComment.validationComment": "יש לרשום הודעה", - "components.IssueDetails.IssueDescription.deleteissue": "מחיקת תקלה", - "components.IssueDetails.IssueDescription.description": "תיאור", - "components.IssueDetails.IssueDescription.edit": "עריכת תיאור", + "components.IssueDetails.IssueDescription.edit": "ערוך תיאור", "components.IssueDetails.allepisodes": "כל הפרקים", "components.IssueDetails.allseasons": "כל העונות", - "components.IssueDetails.closeissue": "סגירת תקלה", - "components.IssueDetails.closeissueandcomment": "סגירה עם תגובה", - "components.IssueDetails.commentplaceholder": "…הוספת תגובה", - "components.IssueDetails.comments": "תגובות", - "components.IssueDetails.deleteissue": "מחיקת תקלה", - "components.IssueDetails.deleteissueconfirm": "?למחוק את התקלה", - "components.IssueDetails.episode": "{episodeNumber} פרק", - "components.IssueDetails.issuepagetitle": "תקלה", - "components.IssueDetails.issuetype": "סוג", - "components.IssueDetails.lastupdated": "עודכן לאחרונה", - "components.IssueDetails.leavecomment": "תגובה", - "components.IssueDetails.nocomments": "אין תגובות", - "components.IssueDetails.openedby": "{username} ע״י {relativeTime} נפתח {issueId}", - "components.IssueDetails.openin4karr": "{arr} 4K פתיחה ב", - "components.IssueDetails.openinarr": "{arr} פתיחה ב", - "components.IssueDetails.play4konplex": "{mediaServerName} 4K ניגון ב", - "components.IssueDetails.playonplex": "{mediaServerName} ניגון ב", - "components.IssueDetails.problemepisode": "בעיה בפרק", - "components.IssueDetails.problemseason": "בעיה בעונה", - "components.IssueDetails.reopenissue": "פתיחת תקלה מחדש", - "components.IssueDetails.reopenissueandcomment": "פתיחה מחדש עם הערה", - "components.IssueDetails.season": "{seasonNumber} עונה", - "components.IssueDetails.toasteditdescriptionfailed": ".משהו השתבש בעת עדכון תיאור התקלה", - "components.IssueDetails.toasteditdescriptionsuccess": "!תיאור התקלה עודכן בהצלחה", - "components.IssueDetails.toastissuedeleted": "!התקלה נמחקה בהצלחה", - "components.IssueDetails.toastissuedeletefailed": ".משהו השתבש בעת מחיקת התקלה", - "components.IssueDetails.toaststatusupdated": "!סטאטוס התקלה עודכן בהצלחה", - "components.IssueDetails.toaststatusupdatefailed": ".משהו השתבש בעת עדכון סטאטוס התקלה", - "components.IssueDetails.unknownissuetype": "ללא", - "components.IssueList.IssueItem.episodes": "{episodeCount, plural, one {פרק} other {פרקים}}", - "components.IssueList.IssueItem.issuestatus": "סטאטוס", + "components.IssueDetails.closeissue": "סגור מקרה", + "components.IssueDetails.closeissueandcomment": "סגור עם תגובה", + "components.IssueDetails.episode": "פרק {episodeNumber}", + "components.IssueDetails.issuepagetitle": "מקרה", + "components.IssueDetails.playonplex": "הפעל ב-Plex", + "components.IssueDetails.play4konplex": "הפעל 4K ב-Plex", + "components.IssueDetails.problemepisode": "פרק מושפע", + "components.IssueDetails.toastissuedeleted": "מקרה נמחק בהצלחה!", "components.IssueList.IssueItem.issuetype": "סוג", - "components.IssueList.IssueItem.opened": "נפתחה", - "components.IssueList.IssueItem.openeduserdate": "ע״י {user} לפני {time}", - "components.IssueList.IssueItem.problemepisode": "משפיע על פרק", - "components.IssueList.IssueItem.seasons": "{seasonCount, plural, one {עונה} other {עונות}}", - "components.IssueList.IssueItem.unknownissuetype": "ללא", - "components.IssueList.IssueItem.viewissue": "הצגת התקלה", - "components.IssueList.issues": "תקלות", - "components.IssueList.showallissues": "הצג את כל התקלות", - "components.IssueList.sortAdded": "הכי עדכני", - "components.IssueList.sortModified": "השתנה לאחרונה", - "components.IssueModal.CreateIssueModal.allepisodes": "כל הפרקים", - "components.IssueModal.CreateIssueModal.allseasons": "כל העונות", - "components.IssueModal.CreateIssueModal.episode": "{episodeNumber} פרק", - "components.IssueModal.CreateIssueModal.extras": "אקסטה", - "components.IssueModal.CreateIssueModal.problemepisode": "בעיה בפרק", - "components.IssueModal.CreateIssueModal.problemseason": "בעיה בעונה", - "components.IssueModal.CreateIssueModal.providedetail": ".יש לספק תיאור מפורט אודות התקלה שאירעה", - "components.IssueModal.CreateIssueModal.reportissue": "דיווח על תקלה", - "components.IssueModal.CreateIssueModal.season": "{seasonNumber} עונה", - "components.IssueModal.CreateIssueModal.submitissue": "יצירת תקלה", - "components.IssueModal.CreateIssueModal.toastFailedCreate": ".משהו השתבש בעת יצירת התקלה", - "components.IssueModal.CreateIssueModal.toastSuccessCreate": "!התקלה נוצרה בהצלחה עבור {title}", - "components.IssueModal.CreateIssueModal.toastviewissue": "צפייה בתקלה", - "components.IssueModal.CreateIssueModal.validationMessageRequired": "יש לרשום תיאור", - "components.IssueModal.CreateIssueModal.whatswrong": "?מהי התקלה", - "components.IssueModal.issueAudio": "אודיו", - "components.IssueModal.issueOther": "אחר", + "components.IssueList.IssueItem.opened": "נפתח", + "components.IssueList.IssueItem.openeduserdate": "{date} ע\"י {user}", "components.IssueModal.issueSubtitles": "כתוביות", "components.IssueModal.issueVideo": "וידאו", - "components.LanguageSelector.languageServerDefault": "({language}) ברירת מחדל", + "components.Layout.Sidebar.dashboard": "גילוי חדשים", + "components.Login.signingin": "מבצע לוגאין…", + "components.Login.signinheader": "יש להתחבר בכדי להמשיך", + "components.Login.signinwithoverseerr": "שימוש בחשבון {applicationTitle}", + "components.Login.signinwithplex": "שימוש בחשבון Plex", + "components.ManageSlideOver.downloadstatus": "הורדות", + "components.Discover.DiscoverWatchlist.watchlist": "רשימת צפייה", + "components.Discover.MovieGenreSlider.moviegenres": "סוגי סרטים", + "components.Discover.populartv": "סדרות פופולריות", + "components.IssueDetails.IssueComment.postedby": "פורסם לפני {relativeTime} ע\"י {username}", + "components.IssueDetails.IssueComment.postedbyedited": "פורסם לפני {relativeTime} ע\"י {username} (נערך)", + "components.IssueDetails.IssueDescription.description": "תיאור", + "components.IssueDetails.openedby": "#{issueId} נפתח לפני {relativeTime} ע\"י {username}", + "components.IssueDetails.openin4karr": "נפתח ב4K {arr}", + "components.IssueDetails.openinarr": "פתח ב {arr}", + "components.IssueList.IssueItem.problemepisode": "פרק מושפע", + "components.IssueList.sortAdded": "הכי עדכני", + "components.IssueList.sortModified": "עודכן לאחרונה", + "components.IssueModal.CreateIssueModal.allepisodes": "כל הפרקים", + "components.IssueModal.CreateIssueModal.providedetail": "יש לספק מידע מפורט אודות המקרה שחווית.", + "components.IssueModal.CreateIssueModal.submitissue": "הגש מקרה", "components.LanguageSelector.originalLanguageDefault": "כל השפות", - "components.Layout.LanguagePicker.displaylanguage": "שפת התצוגה", - "components.Layout.SearchInput.searchPlaceholder": "חיפוש סרטים וסדרות", - "components.Layout.Sidebar.browsemovies": "סרטים", - "components.Layout.Sidebar.browsetv": "סדרות", - "components.Layout.Sidebar.dashboard": "מה חדש", - "components.Layout.Sidebar.issues": "תקלות", "components.Layout.Sidebar.requests": "בקשות", "components.Layout.Sidebar.settings": "הגדרות", "components.Layout.Sidebar.users": "משתמשים", - "components.Layout.UserDropdown.MiniQuotaDisplay.movierequests": "בקשת סרטים", - "components.Layout.UserDropdown.MiniQuotaDisplay.seriesrequests": "בקשת סדרות", "components.Layout.UserDropdown.myprofile": "פרופיל", - "components.Layout.UserDropdown.requests": "בקשות", "components.Layout.UserDropdown.settings": "הגדרות", - "components.Layout.UserDropdown.signout": "התנתקות", - "components.Layout.UserWarnings.emailInvalid": ".כתובת דואר אינה חוקית", - "components.Layout.UserWarnings.emailRequired": ".יש לרשום כתובת מייל", - "components.Layout.UserWarnings.passwordRequired": "נדרשת סיסמה.", - "components.Layout.VersionStatus.commitsbehind": "{commitsBehind} {commitsBehind, plural, one {commit} other {commits}} behind", - "components.Layout.VersionStatus.outofdate": "נדרש עידכון", - "components.Layout.VersionStatus.streamdevelop": "Jellyseerr פיתוח", - "components.Layout.VersionStatus.streamstable": "Jellyseerr יציב", - "components.Login.adminerror": "נדרש להתחבר עם חשבון מנהל", - "components.Login.credentialerror": ".שם המשתמש או הסיסמה שגויים", - "components.Login.description": "בחיבור ראשוני אל {applicationName} יש להוסיף כתובת מייל תקינה.", - "components.Login.email": "מייל", - "components.Login.emailtooltip": ".{mediaServerName} אין צורך לשייך את הכתובת עם שרת", - "components.Login.enablessl": "SSL שימוש ב", + "components.Layout.VersionStatus.streamdevelop": "פיתוח Jellyseerr", + "components.AirDateBadge.airedrelative": "שודר ב-{relativeTime}", + "components.Discover.NetworkSlider.networks": "רשתות שידור", + "components.Discover.discover": "לגלות", + "components.Discover.plexwatchlist": "רשימת הצפייה שלך", + "components.Discover.popularmovies": "סרטים פופולרים", + "components.IssueDetails.IssueComment.validationComment": "אנא הכנס הודעה", + "components.IssueDetails.IssueDescription.deleteissue": "מחק מקרה", + "components.IssueDetails.issuetype": "סוג", + "components.IssueDetails.lastupdated": "עודכן לאחרונה", + "components.IssueDetails.leavecomment": "תגובה", + "components.IssueDetails.nocomments": "אין תגובות.", + "components.IssueDetails.problemseason": "עונה מושפעת", + "components.IssueDetails.reopenissue": "פתח בעיה מחדש", + "components.IssueDetails.reopenissueandcomment": "פתח מחדש עם תגובה", + "components.IssueDetails.season": "עונה {seasonNumber}", + "components.IssueDetails.toasteditdescriptionfailed": "משהו השתבש בזמן עריכת תיאור המקרה.", + "components.IssueDetails.toasteditdescriptionsuccess": "תיאור המקרה נערך בהצלחה!", + "components.IssueDetails.toastissuedeletefailed": "משהו השתבש בזמן מחיקת המקרה.", + "components.IssueDetails.toaststatusupdated": "סטאטוס המקרה עודכן בהצלחה!", + "components.IssueDetails.toaststatusupdatefailed": "משהו השתבש בזמן עדכון סטאטוס המקרה.", + "components.IssueDetails.unknownissuetype": "לא ידוע", + "components.IssueList.IssueItem.issuestatus": "סטאטוס", + "components.IssueList.IssueItem.unknownissuetype": "לא ידוע", + "components.IssueList.IssueItem.viewissue": "צפה במקרה", + "components.IssueList.issues": "מקרים", + "components.IssueList.showallissues": "הצג את כל המקרים", + "components.IssueModal.CreateIssueModal.allseasons": "כל העונות", + "components.IssueModal.CreateIssueModal.episode": "פרק {episodeNumber}", + "components.IssueModal.CreateIssueModal.extras": "תוספות", + "components.IssueModal.CreateIssueModal.problemepisode": "פרק מושפע", + "components.IssueModal.CreateIssueModal.season": "עונה {seasonNumber}", + "components.IssueModal.CreateIssueModal.problemseason": "עונה מושפעת", + "components.IssueModal.CreateIssueModal.toastFailedCreate": "משהו השתבש בזמן הגשת מקרה.", + "components.IssueModal.CreateIssueModal.reportissue": "דווח על מקרה", + "components.IssueModal.CreateIssueModal.whatswrong": "מה השתבש?", + "components.IssueModal.issueAudio": "אודיו", + "components.IssueModal.issueOther": "אחר", + "components.IssueModal.CreateIssueModal.toastviewissue": "צפה במקרה", + "components.IssueModal.CreateIssueModal.validationMessageRequired": "אנא כתוב תיאור", + "components.Layout.LanguagePicker.displaylanguage": "שפת תצוגה", + "components.Layout.SearchInput.searchPlaceholder": "חיפוש סרטים וסדרות", + "components.LanguageSelector.languageServerDefault": "ברירת מחדל({language})", + "components.Layout.UserDropdown.MiniQuotaDisplay.movierequests": "בקשות סרטים", + "components.Layout.UserDropdown.MiniQuotaDisplay.seriesrequests": "בקשות סדרות", "components.Login.forgotpassword": "שכחת סיסמה?", - "components.Login.hostname": "{mediaServerName} כתובת", - "components.Login.initialsignin": "התחברות", - "components.Login.initialsigningin": "…מתחבר", - "components.Login.invalidurlerror": ".{mediaServerName} אין אפשרות להתחבר אל", - "components.Login.loginerror": "משהו השתבש בעת ההחברות.", - "components.Login.password": "סיסמה", - "components.Login.port": "פורט", - "components.Login.save": "הוספה", - "components.Login.saving": "…מוסיף", - "components.Login.signin": "התחברות", - "components.Login.signingin": "…מתחבר", - "components.Login.signinheader": "יש להתחבר בכדי להמשיך", - "components.Login.signinwithjellyfin": "{mediaServerName} שימוש בחשבון", - "components.Login.signinwithoverseerr": "{applicationTitle} שימוש בחשבון", - "components.Login.signinwithplex": "שימוש בחשבון Plex", - "components.Login.title": "הוסף מייל", - "components.Login.urlBase": "תחילית לכתובת", - "components.Login.username": "משתמש", - "components.Login.validationEmailFormat": "מייל שגוי", - "components.Login.validationEmailRequired": "יש לרשום מייל", - "components.Login.validationHostnameRequired": "יש לרשום שם מארח או כתובת חוקיים", - "components.Login.validationPortRequired": "יש לרשום מספר פורט תקין", - "components.Login.validationUrlBaseLeadingSlash": "יש להתחיל עם סלאש בתחילית לכתובת", - "components.Login.validationUrlBaseTrailingSlash": "אין לסיים את תחילית הכתובת עם סלאש", - "components.Login.validationUrlTrailingSlash": "אין לסיים את הכתובת עם סלאש", - "components.Login.validationemailformat": "יש לרשום כתובת מייל", - "components.Login.validationemailrequired": "יש לרשום כתובת מייל תקינה", - "components.Login.validationhostformat": "נדרשת כתובת שרת תקינה", - "components.Login.validationhostrequired": "יש לרשום כתובת שרת", - "components.Login.validationpasswordrequired": "יש לרשום סיסמה", - "components.Login.validationusernamerequired": "יש לרשום שם משתמש", - "components.ManageSlideOver.alltime": "כל הזמנים", - "components.ManageSlideOver.downloadstatus": "הורדות", + "components.Layout.VersionStatus.streamstable": "Jellyseerr יציבה", + "components.Login.email": "כתובת מייל", "components.ManageSlideOver.manageModalAdvanced": "מתקדם", - "components.ManageSlideOver.manageModalClearMedia": "נקה מידע", - "components.ManageSlideOver.manageModalClearMediaWarning": "* {mediaServerName} הדבר יוביל למחיקה בלתי הפיכה של ה{mediaType} כל האינפורמציה תיווצר מחדש בסריקה הבאה {mediaServerName} אם זה קיים ב", + "components.ManageSlideOver.manageModalClearMedia": "ניקוי מידע", + "components.Discover.emptywatchlist": "מדיה נוספה לתוך רשימת צפייה תוצג פה.", + "components.IssueModal.CreateIssueModal.toastSuccessCreate": "דווח מקרה של {title} הוגש בהצלחה!", + "components.Layout.Sidebar.issues": "מקרים", + "components.Layout.UserDropdown.requests": "בקשות", + "components.Layout.UserDropdown.signout": "התנתק", + "components.Layout.VersionStatus.outofdate": "לא מעודכן", + "components.Login.loginerror": "משהו השתבש בלוגאין.", + "components.Login.password": "סיסמה", + "components.Login.signin": "התחברות", + "components.Login.validationpasswordrequired": "יש לספק סיסמה", + "components.Discover.CreateSlider.editSlider": "ערוך סליידר", + "components.Discover.CreateSlider.editfail": "נכשלה עריכת סליידר.", + "components.Discover.CreateSlider.needresults": "אתה צריך לפחות תוצאה אחת.", + "components.Discover.CreateSlider.nooptions": "אין תוצאות.", + "components.Discover.CreateSlider.providetmdbgenreid": "ספק מזהה ז'אנר TMDB", + "components.Discover.CreateSlider.providetmdbkeywordid": "ספק מזהה מילת מפתח TMDB", + "components.Discover.CreateSlider.providetmdbsearch": "ספק שאילתת חיפוש", + "components.Discover.CreateSlider.providetmdbstudio": "ספק מזהה סטודיו TMDB", + "components.Discover.CreateSlider.searchGenres": "חפש ז'אנרים…", + "components.Discover.CreateSlider.searchKeywords": "חפש מילות מפתח…", + "components.Discover.CreateSlider.searchStudios": "חפש אולפנים…", + "components.Discover.CreateSlider.slidernameplaceholder": "שם הסליידר", + "components.Discover.CreateSlider.validationDatarequired": "עליך לספק ערך.", + "components.Discover.CreateSlider.validationTitlerequired": "עליך לספק כותר.", + "components.Discover.DiscoverMovieKeyword.keywordMovies": "סרטים {keywordTitle}", + "components.Discover.DiscoverMovies.discovermovies": "סרטים", + "components.Discover.DiscoverMovies.sortPopularityAsc": "פופולריות בסדר עולה", + "components.Discover.DiscoverMovies.sortPopularityDesc": "פופולריות בסדר יורד", + "components.Discover.DiscoverMovies.sortReleaseDateAsc": "תאריך שחרור בסדר עולה", + "components.Discover.DiscoverMovies.sortReleaseDateDesc": "תאריך שחרור בסדר יורד", + "components.Discover.DiscoverMovies.sortTitleAsc": "כותר (א-ת, A-Z) עולה", + "components.Discover.DiscoverMovies.sortTitleDesc": "כותר (ת-א, A-Z) יורד", + "components.Discover.DiscoverMovies.sortTmdbRatingAsc": "דירוג TMDB בסדר עולה", + "components.Discover.DiscoverMovies.sortTmdbRatingDesc": "דירוג TMDB בסדר יורד", + "components.Discover.DiscoverSliderEdit.deletesuccess": "סליידר נמחק בהצלחה.", + "components.Discover.DiscoverSliderEdit.enable": "שנה נראות", + "components.Discover.DiscoverSliderEdit.remove": "הסר", + "components.Discover.DiscoverTv.activefilters": "{count, plural, one {פילטר אחד פעיל} other {# פילטרים פעילים}}", + "components.Discover.DiscoverTv.discovertv": "סדרה", + "components.Discover.CreateSlider.addfail": "נכשלה יצירת סליידר חדש.", + "components.Discover.DiscoverTv.sortPopularityAsc": "פופולריות בסדר עולה", + "components.Discover.DiscoverTv.sortPopularityDesc": "פופולריות בסדר יורד", + "components.Discover.DiscoverTv.sortTitleAsc": "כותר (א-ת, A-Z) עולה", + "components.Discover.DiscoverTv.sortTitleDesc": "כותר (א-ת, A-Z) יורד", + "components.Discover.DiscoverTv.sortTmdbRatingAsc": "דירוג TMDB בסדר עולה", + "components.Discover.DiscoverTvKeyword.keywordSeries": "סדרה {keywordTitle}", + "components.Discover.FilterSlideover.activefilters": "{count, plural, one {פילטר אחד פעיל} other {# פילטרים פעילים}}", + "components.Discover.FilterSlideover.clearfilters": "נקה פילטרים פעילים", + "components.Discover.FilterSlideover.filters": "פילטרים", + "components.Discover.FilterSlideover.firstAirDate": "תאריך שידור ראשון", + "components.Discover.FilterSlideover.from": "מאת", + "components.Discover.FilterSlideover.keywords": "מילות מפתח", + "components.Discover.FilterSlideover.originalLanguage": "שפה מקורית", + "components.Discover.FilterSlideover.ratingText": "דירוג בין {minValue} ל {maxValue}", + "components.Discover.FilterSlideover.releaseDate": "תאריך שחרור", + "components.Discover.FilterSlideover.runtime": "זמן ריצה", + "components.Discover.FilterSlideover.streamingservices": "שירותי הזרמה", + "components.Discover.FilterSlideover.studio": "אולפן", + "components.Discover.FilterSlideover.tmdbuserscore": "דירוג משתמש TMDB", + "components.Discover.CreateSlider.addSlider": "הוסף סליידר", + "components.Discover.CreateSlider.addcustomslider": "צור סליידר מותאם", + "components.Discover.CreateSlider.addsuccess": "סליידר חדש נוצר בהצלחה ונשמרו הגדרות התאמה.", + "components.Discover.CreateSlider.providetmdbnetwork": "ספק מזהה רשת TMDB", + "components.Discover.DiscoverTv.sortFirstAirDateDesc": "תאריך שידור ראשון בסדר יורד", + "components.Discover.CreateSlider.starttyping": "התחל להזין כדי לחפש.", + "components.Discover.FilterSlideover.runtimeText": "זמן ריצה בין {minValue} ל {maxValue}", + "components.Discover.DiscoverMovies.activefilters": "{count, plural, one {פילטר פעיל} other {# פילטרים פעילים}}", + "components.Discover.DiscoverSliderEdit.deletefail": "כשל במחיקת סליידר.", + "components.Discover.DiscoverTv.sortFirstAirDateAsc": "תאריך שידור ראשון בסדר עולה", + "components.Discover.CreateSlider.editsuccess": "סליידר נערך ונשמר בהצלחה.", + "components.Discover.DiscoverTv.sortTmdbRatingDesc": "דירוג TMDB בסדר יורד", + "components.Discover.FilterSlideover.genres": "ז'אנרים", + "components.Discover.FilterSlideover.tmdbuservotecount": "מספר הצבעות משתמשים בTMDB", + "components.Discover.FilterSlideover.to": "בשביל", + "components.Discover.FilterSlideover.voteCount": "מספר הצבעות בין {minValue} ל-{maxValue}", + "components.Discover.PlexWatchlistSlider.emptywatchlist": "מדיה נוספה לרשימת צפייה ב-Plexותופיע שם.", + "components.Discover.PlexWatchlistSlider.plexwatchlist": "רשימת הצפייה שלך", + "components.Discover.RecentlyAddedSlider.recentlyAdded": "נוספו לאחרונה", + "components.Discover.createnewslider": "יצירת מחוון חדש", + "components.Discover.customizediscover": "התאם אישית את הגילוי", + "components.Discover.networks": "רשתות", + "components.Discover.resetsuccess": "הגדרות הגילוי אופסו בהצלחה.", + "components.Discover.resettodefault": "אופס לברירת מחדל", + "components.Discover.stopediting": "סיים עריכה", + "components.Discover.studios": "אולפנים", + "components.Discover.tmdbmoviegenre": "ז'אנר סרט בTMDB", + "components.Discover.tmdbmoviekeyword": "מילת מפתח של סרט בTMDB", + "components.Discover.tmdbmoviestreamingservices": "רשת צפייה של סרט בTMDB", + "components.Discover.tmdbnetwork": "רשת בTMDB", + "components.Discover.tmdbsearch": "חיפוש בTMDB", + "components.Discover.tmdbstudio": "אולפן בTMDB", + "components.Discover.tmdbtvgenre": "ז'אנר סדרה בTMDB", + "components.Discover.tmdbtvkeyword": "מילת מפתח של סדרה בTMDB", + "components.Discover.tvgenres": "ז'אנרים של סדרות", + "components.Discover.updatefailed": "משהו השתבש במהלך עדכון הגדרות של גילוי.", + "components.Discover.updatesuccess": "הגדרות הגילוי התעדכנו.", + "components.IssueList.IssueItem.seasons": "{seasonCount, plural, one {Season} other {Seasons}}", + "components.Layout.Sidebar.browsetv": "סדרות", + "components.Layout.UserWarnings.emailRequired": "דרושה כתובת מייל.", + "components.Layout.UserWarnings.passwordRequired": "דרושה סיסמה.", + "components.Login.credentialerror": "שם המשתמש או הסיסמה שגויים.", + "components.Login.description": "בהתחברות ראשונית ל-{applicationName}, יש להוסיף כתובת מייל.", + "components.Login.host": "קישור {mediaServerName}", + "components.Login.initialsignin": "חיבור", + "components.Login.initialsigningin": "מתחבר…", + "components.Login.save": "הוספה", + "components.Login.saving": "מוסיף…", + "components.Login.title": "הוספת מייל", + "components.Login.username": "שם משתמש", + "components.Login.validationEmailFormat": "כתובת מייל שגוייה", + "components.Login.validationEmailRequired": "יש להוסיף מייל", + "components.Login.validationemailformat": "נדרש מייל תקין", + "components.Login.validationhostrequired": "נדרש קישור של {mediaServerName}", + "components.Login.validationusernamerequired": "נדרש שם משתמש", "components.ManageSlideOver.manageModalIssues": "תקלות פתוחות", "components.ManageSlideOver.manageModalMedia": "מדיה", - "components.ManageSlideOver.manageModalMedia4k": "4K מדיה", + "components.ManageSlideOver.manageModalMedia4k": "מדיה ב-4K", "components.ManageSlideOver.manageModalNoRequests": "אין בקשות.", - "components.ManageSlideOver.manageModalRemoveMediaWarning": "* {arr} הדבר יוביל למחיקה לצמיתות של ה{mediaType} כולל כל הקבצים ב", "components.ManageSlideOver.manageModalRequests": "בקשות", - "components.ManageSlideOver.manageModalTitle": "ניהול ה{mediaType}", - "components.ManageSlideOver.mark4kavailable": "סימון 4K כזמין", - "components.ManageSlideOver.markallseasons4kavailable": "סימון כל העונות זמינות 4K", - "components.ManageSlideOver.markallseasonsavailable": "סימון כל העונות כזמינות", - "components.ManageSlideOver.markavailable": "סימון כזמין", + "components.ManageSlideOver.manageModalTitle": "נהל {mediaType}", + "components.ManageSlideOver.mark4kavailable": "סמן כזמין באיכות 4K", + "components.ManageSlideOver.markallseasonsavailable": "סמן את כל העונות כזמינות", + "components.ManageSlideOver.markavailable": "סמן כזמין", "components.ManageSlideOver.movie": "סרט", - "components.ManageSlideOver.openarr": "{arr} - פתיחה ב", - "components.ManageSlideOver.openarr4k": "פתיחה ב 4K {arr}", - "components.ManageSlideOver.opentautulli": "Tautulli - פתיחה ב", - "components.ManageSlideOver.pastdays": "ימים האחרונים {days, number} ב", - "components.ManageSlideOver.playedby": "נוגן ע״י", - "components.ManageSlideOver.plays": "{playCount, number} {playCount, plural, one {נוגן} other {נוגנו}}", - "components.ManageSlideOver.removearr": "{arr} - הסרה מ", - "components.ManageSlideOver.removearr4k": "4K {arr} - הסרה מ", + "components.ManageSlideOver.openarr": "הפעל ב-{arr}", + "components.ManageSlideOver.openarr4k": "הפעל גרסת 4K ב-{arr}", + "components.ManageSlideOver.opentautulli": "הפעל ב-Tautulli", + "components.ManageSlideOver.pastdays": "{days, number} ימים עברו", + "components.ManageSlideOver.playedby": "משוחק על ידי", + "components.ManageSlideOver.removearr": "הסר מ-{arr}", + "components.ManageSlideOver.removearr4k": "הסר את איכות 4K מ-{arr}", "components.ManageSlideOver.tvshow": "סדרה", - "components.MediaSlider.ShowMoreCard.seemore": "הצג עוד", - "components.MovieDetails.MovieCast.fullcast": "כל הליהוק", - "components.MovieDetails.MovieCrew.fullcrew": "הצוות המלא", + "components.MediaSlider.ShowMoreCard.seemore": "ראה עוד", + "components.MovieDetails.MovieCast.fullcast": "כל השחקנים", + "components.MovieDetails.MovieCrew.fullcrew": "כל הצוות", "components.MovieDetails.budget": "תקציב", "components.MovieDetails.cast": "ליהוק", - "components.MovieDetails.digitalrelease": "שיחרור דיגטילי", - "components.MovieDetails.downloadstatus": "סטאטוס הורדה", - "components.MovieDetails.imdbuserscore": "IMDB ציון צופים", - "components.MovieDetails.managemovie": "נהל סרט", - "components.MovieDetails.mark4kavailable": "4K סימון כזמין ב", - "components.MovieDetails.markavailable": "סימון כזמין", - "components.MovieDetails.openradarr": "Radarr פתח סרט ב", - "components.MovieDetails.openradarr4k": "4K Radarr פתח סרט ב", + "components.MovieDetails.digitalrelease": "מהדורה דיגיטלית", + "components.MovieDetails.downloadstatus": "מצב הורדה", + "components.MovieDetails.imdbuserscore": "דירוג משתמש ב-IMDB", + "components.MovieDetails.mark4kavailable": "סמן כזמין באיכות 4K", + "components.MovieDetails.markavailable": "סמן כזמין", + "components.MovieDetails.openradarr": "הפעל סרט ב-Radarr", + "components.MovieDetails.openradarr4k": "הפעל סרט באיכות 4K ב-Radarr", "components.MovieDetails.originallanguage": "שפת מקור", - "components.MovieDetails.originaltitle": "שם מקורי", - "components.MovieDetails.overview": "תקציר", - "components.MovieDetails.overviewunavailable": "תקציר אינו זמין", - "components.MovieDetails.physicalrelease": "שיחרור מדיה", - "components.MovieDetails.play": "{mediaServerName} ניגון ב", - "components.MovieDetails.play4k": "{mediaServerName} 4K ניגון ב", - "components.MovieDetails.productioncountries": "מפיקה {countryCount, plural, one {מדינה} other {מדינות}}", - "components.MovieDetails.recommendations": "דומים לסרט", - "components.MovieDetails.releasedate": "{releaseCount, plural, one {תאריך שיחרור} other {תאריכי שיחרור}}", - "components.MovieDetails.reportissue": "דיווח על תקלה", - "components.MovieDetails.revenue": "מחזור הכנסות", - "components.MovieDetails.rtaudiencescore": "Rotten Tomatoes דירוג קהל", - "components.MovieDetails.rtcriticsscore": "Rotten Tomatoes טומטומטר של", + "components.MovieDetails.originaltitle": "השם במקור", + "components.MovieDetails.overview": "סקירה", + "components.MovieDetails.physicalrelease": "מהדורה פיזית", + "components.MovieDetails.play": "הפעל ב-{mediaServerName}", + "components.MovieDetails.play4k": "הפעל באיכות 4K ב-{mediaServerName}", + "components.MovieDetails.recommendations": "המלצות", + "components.MovieDetails.revenue": "רווח", + "components.MovieDetails.rtaudiencescore": "דירוג צופים ב-Rotten Tomatoes", + "components.MovieDetails.rtcriticsscore": "דירוג ב-Rotten Tomatoes", "components.MovieDetails.runtime": "{minutes} דקות", - "components.MovieDetails.showless": "הצג פחות", - "components.MovieDetails.showmore": "עוד", - "components.MovieDetails.similar": "סרטים דומים", - "components.MovieDetails.streamingproviders": "מנוגן ב", - "components.MovieDetails.studio": "{studioCount, plural, one {אולפן} other {אולפנים}}", - "components.MovieDetails.theatricalrelease": "שיחרור תיאטרלי", - "components.MovieDetails.tmdbuserscore": "TMDB דירוג", - "components.MovieDetails.viewfullcrew": "הצגת הצוות המלא", - "components.MovieDetails.watchtrailer": "צפייה בטריילר", - "components.NotificationTypeSelector.adminissuecommentDescription": "קבלת התראות כשמשתמשים מוסיפים תגובה על התקלה", - "components.NotificationTypeSelector.adminissuereopenedDescription": ".קבלת התראות כשתקלות נפתחות מחדש ע״י משתמשים", - "components.NotificationTypeSelector.adminissueresolvedDescription": ".קבלת התראות כשמשתמש אחר פותר את התקלה", - "components.NotificationTypeSelector.issuecomment": "תגובה על תקלה", - "components.NotificationTypeSelector.issuecommentDescription": ".קבלת התראות כשיש תגובות חדשות לתקלה", - "components.NotificationTypeSelector.issuecreated": "דיווח על תקלה", - "components.NotificationTypeSelector.issuecreatedDescription": ".קבלת התראות כשמדווחים על תקלות", - "components.NotificationTypeSelector.issuereopened": "תקלה נפתחה מחדש", - "components.NotificationTypeSelector.issuereopenedDescription": ".קבלת התראות כשפותחים תקלות מחדש", - "components.NotificationTypeSelector.issueresolved": "תקלה נפתרה", - "components.NotificationTypeSelector.issueresolvedDescription": ".קבלת התראות כשתקלות נפתרות", + "components.MovieDetails.showless": "הראה פחות", + "components.MovieDetails.showmore": "הראה יותר", + "components.MovieDetails.streamingproviders": "זמין כעת ב", + "components.MovieDetails.studio": "{studioCount, plural, one {Studio} other {Studios}}", + "components.Discover.moviegenres": "ז'אנרים של סרטים", + "components.Discover.resetfailed": "משהו השתבש, מאפס את ההתאמה האישית בגילוי.", + "components.Discover.resetwarning": "מאפס את כל המחוונים, זה ימחק כל מחוון מותאם אישית!", + "components.Discover.tmdbtvstreamingservices": "רשתות צפייה של סדרות בTMDB", + "components.DownloadBlock.formattedTitle": "{title}: עונה {seasonNumber} פרק {episodeNumber}", + "components.IssueList.IssueItem.episodes": "{episodeCount, plural, one {Episode} other {Episodes}}", + "components.Layout.Sidebar.browsemovies": "סרטים", + "components.Layout.UserWarnings.emailInvalid": "כתובת מייל אינה תקינה.", + "components.Layout.VersionStatus.commitsbehind": "{commitsBehind} {commitsBehind, plural, one {commit} other {commits}} מאחור", + "components.Login.signinwithjellyfin": "שימוש בחשבון {mediaServerName}", + "components.Login.validationhostformat": "נדרש קישור תקין", + "components.ManageSlideOver.manageModalClearMediaWarning": "* כל הנתונים שלך ל-{mediaType}, כולל בקשות, ימחקו. אם זה קיים בספרייה של {mediaServerName}, זה יצור אותה מחדש בסריקה הבאה.", + "components.ManageSlideOver.markallseasons4kavailable": "סמן את כל העונות כזמינות ב-4K", + "components.ManageSlideOver.plays": "{playCount, number} {playCount, plural, one {play} other {plays}}", + "components.MovieDetails.managemovie": "נהל סרט", + "components.MovieDetails.overviewunavailable": "סקירה לא זמינה.", + "components.MovieDetails.productioncountries": "נוצר ב-{countryCount, plural, one {Country} other {Countries}}", + "components.MovieDetails.releasedate": "{releaseCount, plural, one {Release Date} other {Release Dates}}", + "components.MovieDetails.reportissue": "דווח על תקלה", + "components.MovieDetails.similar": "כותרים דומים", + "components.Login.emailtooltip": "הכתובת אינה צריכה להיות משוייכת ל-{mediaServerName}.", + "components.ManageSlideOver.manageModalRemoveMediaWarning": "* הפעולה תסיר את {mediaType} מ-{arr} כולל כל הקבצים.", + "components.MovieDetails.theatricalrelease": "שיחרור מוגבל", + "components.MovieDetails.tmdbuserscore": "דיגור TMDB", + "components.MovieDetails.viewfullcrew": "צפייה בכל הצוות", + "components.MovieDetails.watchtrailer": "נגן טריילר", + "components.NotificationTypeSelector.adminissuecommentDescription": "קבלת התראות כאשר משתמשים אחרים מגיבים למקרה.", + "components.NotificationTypeSelector.adminissuereopenedDescription": "קבלת התראות כאשר משתמשים אחרים פותחים את המקרה מחדש.", + "components.NotificationTypeSelector.adminissueresolvedDescription": "קבלת התראות כאשר המקרה נפתר ע״י משתמשים אחרים.", + "components.NotificationTypeSelector.issuecomment": "תגובה למקרה", + "components.NotificationTypeSelector.issuecommentDescription": "קבלת התראות כאשר מתקבלות תגובות חדשות למקרים.", + "components.NotificationTypeSelector.issuecreated": "מקרה חדש נפתח", + "components.NotificationTypeSelector.issuecreatedDescription": "קבלת התראות כאשר מקרה חדש נפתח.", + "components.NotificationTypeSelector.issuereopened": "מקרה נפתח מחדש", + "components.NotificationTypeSelector.issuereopenedDescription": "קבלת התראות כאשר מקרים נפתחים מחדש.", + "components.NotificationTypeSelector.issueresolved": "פנייה נפתרה", + "components.NotificationTypeSelector.issueresolvedDescription": "קבלת התראות כאשר פניות נפתרות.", "components.NotificationTypeSelector.mediaAutoApproved": "בקשה אושרה אוטומטית", - "components.NotificationTypeSelector.mediaAutoApprovedDescription": ".קבלת התראות כשמשתמשים יוצרים בקשת מדיה שמאושרת אוטומטית", + "components.NotificationTypeSelector.mediaAutoApprovedDescription": "קבלת התראות כאשר משתמשים פותחים בקשה חדשה שמאושרת אוטומטית.", "components.NotificationTypeSelector.mediaapproved": "בקשה אושרה", - "components.NotificationTypeSelector.mediaapprovedDescription": ".קבלת התראות כשבקשות מדיה מאושרות ידנית", - "components.NotificationTypeSelector.mediaautorequested": "בקשה נוצרת אוטומטית", - "components.NotificationTypeSelector.mediaautorequestedDescription": ".קבלת התראות כשבקשה נוצרת אוטומטית מרשימת הצפייה שלך", - "components.NotificationTypeSelector.mediaavailable": "ניתן ליצור בקשות", - "components.NotificationTypeSelector.mediaavailableDescription": ".קבלת התראות כשניתן ליצור בקשות", + "components.NotificationTypeSelector.mediaapprovedDescription": "שליחת התראות כאשר בקשות מדיה מאושרות אוטומטית.", + "components.NotificationTypeSelector.mediaautorequested": "בקשה נפתחה אוטומטית", + "components.NotificationTypeSelector.mediaautorequestedDescription": "שליחת התראות כאשר הבקשה נוצרת אוטומטית עבור מדיה ברשימת הצפייה.", + "components.NotificationTypeSelector.mediaavailable": "בקשה זמינה", + "components.NotificationTypeSelector.mediaavailableDescription": "שליחת התראות כאשר ניתן ליצור בקשות מדיה.", "components.NotificationTypeSelector.mediadeclined": "בקשה נדחתה", - "components.NotificationTypeSelector.mediadeclinedDescription": ".קבלת הראות כשבקשות מדיה נדחות", + "components.NotificationTypeSelector.mediadeclinedDescription": "קבלת התראות כאשר בקשות מדיה נדחות.", "components.NotificationTypeSelector.mediafailed": "עיבוד הבקשה נכשל", - "components.NotificationTypeSelector.mediafailedDescription": ".Radarr או Sonarr קבלת התראות כשבקשות המדיה אינן מתווספות אל ", "components.NotificationTypeSelector.mediarequested": "בקשה ממתינה לאישור", - "components.NotificationTypeSelector.mediarequestedDescription": ".קבלת התראות כשמשתמשים יוצרים בקשות מדיה שדורשות אישור", - "components.NotificationTypeSelector.notificationTypes": "סוגי התראות", - "components.NotificationTypeSelector.userissuecommentDescription": ".קבלת התראות כשתקלות שדיווחת מקבלות תגובות חדשות", - "components.NotificationTypeSelector.userissuecreatedDescription": ".קבלת התראות כשמשתמשים מדווחים על תקלות", - "components.NotificationTypeSelector.userissuereopenedDescription": ".קבלת התראות שתקלות שדיווחת נפתחות מחדש", - "components.NotificationTypeSelector.userissueresolvedDescription": ".קבלת התראות שתקלות שדיווחת נפתרות", - "components.NotificationTypeSelector.usermediaAutoApprovedDescription": ".קבלת התראות כשמשתמשים אחרים מבקשים מדיה שאושרה אוטומטית", - "components.NotificationTypeSelector.usermediaapprovedDescription": ".קבלת התראות כשבקשות המדיה שביקשת אושרו", - "components.NotificationTypeSelector.usermediaavailableDescription": ".קבלת התראות כשניתן ליצור בקשות חדשות", - "components.NotificationTypeSelector.usermediadeclinedDescription": ".קבלת התראות כשבקשות המדיה שביקשת נדחו", - "components.NotificationTypeSelector.usermediafailedDescription": ".Radarr או Sonarr קבלת התראות כשבקשות המדיה אינן מתווספות אל ", - "components.NotificationTypeSelector.usermediarequestedDescription": ".קבלת התראות כשמשתמשים אחרים מבקשים מדיה שזקוקה לאישור", - "components.PermissionEdit.admin": "אדמין", - "components.PermissionEdit.adminDescription": ".גישת מנהל מלאה. עוקף את כל ההרשאות האחרות", + "components.NotificationTypeSelector.mediarequestedDescription": "קבלת התראות כאשר משתמשים פותחים בקשות מדיה שדורשות אישור.", + "components.NotificationTypeSelector.userissuecreatedDescription": "קבלת התראות כאשר משתמשים אחרים מדווחים על תקלות", + "components.PermissionEdit.admin": "מנהל", + "components.PermissionEdit.adminDescription": "גישת מנהל מלאה. עוקף את כל ההרשאות שסומנו.", "components.PermissionEdit.advancedrequest": "בקשות מתקדמות", - "components.PermissionEdit.advancedrequestDescription": ".הענקת הרשאות לשינוי מתקדם של אפשרויות מדיה", - "components.PermissionEdit.autoapprove": "אישור בקשות אוטומטי", - "components.PermissionEdit.autoapprove4k": "4K אישור בקשות אוטומטי", - "components.PermissionEdit.autoapprove4kDescription": ".4K הענקת הרשאה לאישור בקשות אוטומטי של מדיה", - "components.PermissionEdit.autoapprove4kMovies": "4K אישור בקשות אוטומטי לסרטים", - "components.PermissionEdit.autoapprove4kMoviesDescription": ".4K הענקת הרשאה לאישור בקשות אוטומטי של סרטים", - "components.PermissionEdit.autoapprove4kSeries": "4K אישור בקשות אוטומטי לסדרות", - "components.PermissionEdit.autoapprove4kSeriesDescription": ".4K הענקת הרשאה לאישור בקשות אוטומטי של סדרות", - "components.PermissionEdit.autoapproveDescription": ".הענקת הרשאה לאישור אוטומטי של כל בקשות המדיה באיכות גבוהה", - "components.PermissionEdit.autoapproveMovies": "אישור בקשה אוטומטי של סרטים", - "components.PermissionEdit.autoapproveMoviesDescription": ".הענקת הרשאה לאישור בקשות אוטומטי של סרטים באיכות גבוהה", - "components.PermissionEdit.autoapproveSeries": "אישור בקשה אוטומטי של סדרות", - "components.PermissionEdit.autoapproveSeriesDescription": "אישור בקשות אוטומטי עבור סדרות באיכות גבוהה", - "components.PermissionEdit.autorequest": "בקשות אוטומטיות", - "components.PermissionEdit.autorequestDescription": "Plex הענקת הרשאה ליצירה אוטומטית של בקשות עבור מדיה באיכות גבוהה באמצעות רשימת צפייה של", - "components.PermissionEdit.autorequestMovies": "בקשת סרטים אוטומטית", - "components.PermissionEdit.autorequestMoviesDescription": "Plex הענקת הרשאה ליצירה אוטומטית של בקשות סרטים באיכות גבוהה באמצעות רשימת צפייה של", - "components.PermissionEdit.autorequestSeries": "בקשת סדרות אוטומטית", - "components.PermissionEdit.autorequestSeriesDescription": "Plex הענקת הרשאה ליצירה אוטומטית של בקשות סדרות באיכות גבוהה באמצעות רשימת צפייה של", - "components.PermissionEdit.createissues": "דיווח על תקלות", - "components.PermissionEdit.createissuesDescription": ".הענקת הרשאות לדיווח על תקלות מדיה", - "components.PermissionEdit.manageissues": "ניהול תקלות", - "components.PermissionEdit.manageissuesDescription": ".הענקת הרשאות לניהול תקלות מדיה", - "components.PermissionEdit.managerequests": "ניהול בקשות", - "components.PermissionEdit.managerequestsDescription": ".הענקת הרשאות לניהול בקשות מדיה. כל הבקשות שנוצרות ע|י המשתמש עם הרשאה זו יאושרו אוטומטית", - "components.PermissionEdit.request": "בקשות", - "components.PermissionEdit.request4k": "4K בקשות", - "components.PermissionEdit.request4kDescription": ".4K הענקת הרשאות ליצירת בקשות מדיה של", - "components.PermissionEdit.request4kMovies": "4K בקשת סרטים", - "components.PermissionEdit.request4kMoviesDescription": ".4K הענקת הרשאות ליצירת בקשות מדיה של סרטים", - "components.PermissionEdit.request4kTv": "4K בקשת סדרות", - "components.PermissionEdit.request4kTvDescription": ".4K הענקת הרשאות ליצירת בקשות מדיה של סדרות", - "components.PermissionEdit.requestDescription": ".הענקת הרשאות ליצירת בקשות מדיה באיכות גבוהה", - "components.PermissionEdit.requestMovies": "בקשת סרטים", - "components.PermissionEdit.requestMoviesDescription": ".הענקת הרשאות ליצירת בקשות סרטים באיכות גבוהה", - "components.PermissionEdit.requestTv": "בקשת סדרות", - "components.PermissionEdit.requestTvDescription": ".הענקת הרשאות ליצירת בקשות סדרות באיכות גבוהה", - "components.PermissionEdit.users": "ניהול משתמשים", - "components.PermissionEdit.usersDescription": ".הענקת הרשאות לניהול משתמשים. משתמשים עם ההרשאה הזו אינם יכולים להעניק הראשת מנהל", - "components.PermissionEdit.viewissues": "צפייה בתקלות", - "components.PermissionEdit.viewissuesDescription": ".הענקת הרשאות לצפייה בתקלות מדיה שדווחו ע״י משתמשים", - "components.PermissionEdit.viewrecent": "צפייה בהתווסף לאחרונה", - "components.PermissionEdit.viewrecentDescription": ".הענקת הרשאות לצפייה ברשימה של המדיה שהתווספה לאחרונה", - "components.PermissionEdit.viewrequests": "הצגת הבקשות", - "components.PermissionEdit.viewrequestsDescription": ".הענקת הרשאות להצגת בקשות מדיה שנוצרו ע״י משתמשים", - "components.PermissionEdit.viewwatchlists": "{mediaServerName} צפייה ברשימות צפייה של", - "components.PermissionEdit.viewwatchlistsDescription": ".{mediaServerName} הענקת הרשאה לצפייה ברשימות צפייה של", - "components.PersonDetails.alsoknownas": "{names} מוכר גם כ", - "components.PersonDetails.appearsin": "הופעות", - "components.PersonDetails.ascharacter": "{character} בתור", - "components.PersonDetails.birthdate": "{birthdate} תאריך לידה", - "components.PersonDetails.crewmember": "צוות", - "components.PersonDetails.lifespan": "{birthdate} – {deathdate}", - "components.PlexLoginButton.signingin": "…מתחבר", - "components.PlexLoginButton.signinwithplex": "החברות", - "components.QuotaSelector.days": "{count, plural, one {יום} other {ימים}}", - "components.QuotaSelector.movieRequests": "{quotaLimit} {movies} per {quotaDays} {days}", - "components.QuotaSelector.movies": "{count, plural, one {סרט} other {סרטים}}", - "components.QuotaSelector.seasons": "{count, plural, one {עונה} other {seasonעונותs}}", - "components.QuotaSelector.tvRequests": "{quotaLimit} {seasons} per {quotaDays} {days}", - "components.QuotaSelector.unlimited": "ללא הגבלה", - "components.RegionSelector.regionDefault": "כל האיזורים", - "components.RegionSelector.regionServerDefault": "({region}) ברירת מחדל", - "components.RequestBlock.approve": "אישור בקשה", - "components.RequestBlock.decline": "דחיית בקשה", - "components.RequestBlock.delete": "מחיקת בקשה", - "components.RequestBlock.edit": "עריכת בקשה", - "components.RequestBlock.languageprofile": "פרופיל שפה", - "components.RequestBlock.lastmodifiedby": "שונה לאחרונה ע״י", - "components.RequestBlock.profilechanged": "פרופיל איכות", - "components.RequestBlock.requestdate": "תאריך הבקשה", - "components.RequestBlock.requestedby": "בקשה ע״י", - "components.RequestBlock.requestoverrides": "עקיפות שיש לבקשה", - "components.RequestBlock.rootfolder": "תיקיית מדיה", - "components.RequestBlock.seasons": "{seasonCount, plural, one {עונה} other {עונות}}", - "components.RequestBlock.server": "שרת יעד", - "components.RequestButton.approve4krequests": "אישור {requestCount, plural, one {4K בקשת} other {{requestCount} 4K בקשות}}", - "components.RequestButton.approverequest": "אישור בקשה", - "components.RequestButton.approverequest4k": "4K אישור בקשת", - "components.RequestButton.approverequests": "אישור {requestCount, plural, one {בקשה} other {{requestCount} בקשות}}", - "components.RequestButton.decline4krequests": "דחיית {requestCount, plural, one {4K בקשת} other {{requestCount} 4K בקשות}}", - "components.RequestButton.declinerequest": "דחיית בקשה", - "components.RequestButton.declinerequest4k": "4K דחיית בקשת", - "components.RequestButton.declinerequests": "דחיית {requestCount, plural, one {בקשה} other {{requestCount} בקשות}}", - "components.RequestButton.requestmore": "הוספה לבקשה", - "components.RequestButton.requestmore4k": "4K הוספה לבקשת", - "components.RequestButton.viewrequest": "הצגת הבקשה", - "components.RequestButton.viewrequest4k": "4K הצגת בקשת", - "components.RequestCard.approverequest": "אישור בקשה", - "components.RequestCard.cancelrequest": "ביטול בקשה", - "components.RequestCard.declinerequest": "דחיית בקשה", - "components.RequestCard.deleterequest": "מחיקת בקשה", - "components.RequestCard.editrequest": "עריכת בקשה", - "components.RequestCard.failedretry": ".משהו השתשבש בבקשה החוזרת", - "components.RequestCard.mediaerror": "חסר {mediaType}", - "components.RequestCard.seasons": "{seasonCount, plural, one {עונה} other {עונות}}", - "components.RequestCard.tmdbid": "TMDB ID", - "components.RequestCard.tvdbid": "TheTVDB ID", - "components.RequestCard.unknowntitle": "כותר חסר", - "components.RequestList.RequestItem.cancelRequest": "ביטול בקשה", - "components.RequestList.RequestItem.deleterequest": "מחיקת בקשה", - "components.RequestList.RequestItem.editrequest": "עריכת בקשה", - "components.RequestList.RequestItem.failedretry": ".משהו השתשבש בבקשה החוזרת", - "components.RequestList.RequestItem.mediaerror": "חסר {mediaType}", - "components.RequestList.RequestItem.modified": "השתנה", - "components.RequestList.RequestItem.modifieduserdate": "ע״י {date} {user} ", - "components.RequestList.RequestItem.requested": "התבקש", - "components.RequestList.RequestItem.requesteddate": "התבקש", - "components.RequestList.RequestItem.seasons": "{seasonCount, plural, one {עונה} other {עונות}}", - "components.RequestList.RequestItem.tmdbid": "TMDB ID", - "components.RequestList.RequestItem.tvdbid": "TheTVDB ID", - "components.RequestList.RequestItem.unknowntitle": "כותר חסר", - "components.RequestList.requests": "בקשות", - "components.RequestList.showallrequests": "הצגת כל הבקשות", - "components.RequestList.sortAdded": "הכי עדכני", - "components.RequestList.sortModified": "השתנה לאחרונה", - "components.RequestModal.AdvancedRequester.advancedoptions": "מתקדם", - "components.RequestModal.AdvancedRequester.animenote": ". זוהי סדרת אנימה *", - "components.RequestModal.AdvancedRequester.default": "{name} (Default)", - "components.RequestModal.AdvancedRequester.destinationserver": "שרת יעד", - "components.RequestModal.AdvancedRequester.folder": "{path} ({space})", - "components.RequestModal.AdvancedRequester.languageprofile": "פרופיל שפה", - "components.RequestModal.AdvancedRequester.notagoptions": ".אין תגיות", - "components.RequestModal.AdvancedRequester.qualityprofile": "פרופיל איכות", - "components.RequestModal.AdvancedRequester.requestas": "בקשה בתור", - "components.RequestModal.AdvancedRequester.rootfolder": "ספריית מדיה", - "components.RequestModal.AdvancedRequester.selecttags": "בחירת תגיות", - "components.RequestModal.AdvancedRequester.tags": "תגיות", - "components.RequestModal.QuotaDisplay.allowedRequests": ".ימים {days} כל {limit} {type} מותר לבקש", - "components.RequestModal.QuotaDisplay.allowedRequestsUser": ".ימים {days} כל {limit} {type} למשתמש מותר לבקש", - "components.RequestModal.QuotaDisplay.movie": "סרט", - "components.RequestModal.QuotaDisplay.movielimit": "{limit, plural, one {סרט} other {סרטים}}", - "components.RequestModal.QuotaDisplay.notenoughseasonrequests": "אין בקשות עונות שנותרו", - "components.RequestModal.QuotaDisplay.quotaLink": ".בעמוד הפרופיל ניתן לצפות בתקציר מגבלת בקשות", - "components.RequestModal.QuotaDisplay.quotaLinkUser": "You can view a summary of this user's request limits on their profile page.", - "components.RequestModal.QuotaDisplay.requestsremaining": "{remaining, plural, =0 {No} other {#}} {type} {remaining, plural, one {בקשה} other {בקשות}} remaining", - "components.RequestModal.QuotaDisplay.requiredquota": ".בכדי לבצע בקשה עבור סדרה זו {seasons} {seasons, plural, one {בקשת סדרה} other {בקשות סדרה}} צריך להיות ברשותך לפחות", - "components.RequestModal.QuotaDisplay.requiredquotaUser": ".בכדי לבצע בקשה עבור סדרה זו {seasons} {seasons, plural, one {בקשת סדרה} other {בקשות סדרה}} למשתמש זה צריך להיות לפחות", - "components.RequestModal.QuotaDisplay.season": "עונה", - "components.RequestModal.QuotaDisplay.seasonlimit": "{limit, plural, one {עונה} other {עונות}}", - "components.RequestModal.SearchByNameModal.nomatches": ".אין התאמות עבור סדרה זו", - "components.RequestModal.SearchByNameModal.notvdbiddescription": ".אין אפשרות למצוא התאמה אוטומטית. יש לבחור את הסדרה הנכונה ברשימה מטה", - "components.RequestModal.alreadyrequested": "כבר התבקש", - "components.RequestModal.approve": "אישור הבקשה", - "components.RequestModal.autoapproval": "אישור אוטומטי", - "components.RequestModal.cancel": "ביטול הבקשה", - "components.RequestModal.edit": "עריכת הבקשה", - "components.RequestModal.errorediting": ".משהו השתבש בעת עריכת הבקשה", - "components.RequestModal.extras": "אקסטרה", - "components.RequestModal.numberofepisodes": "פרקים #", - "components.RequestModal.pending4krequest": "בקשת 4K ממתינה", - "components.RequestModal.pendingapproval": ".הבקשה ממתינה לאישור", - "components.RequestModal.pendingrequest": "בקשה ממתינה", - "components.RequestModal.requestApproved": "!אושרה {title} הבקשה עבור", - "components.RequestModal.requestCancel": ".בוטלה {title} הבקשה עבור", - "components.RequestModal.requestSuccess": "!{title} התבקשה בהצלחה", - "components.RequestModal.requestadmin": ".בקשה זו תאושר אוטומטית", - "components.RequestModal.requestcancelled": ".בוטלה {title} הבקשה עבור", - "components.RequestModal.requestcollection4ktitle": "4K בקשת האוסף ב", - "components.RequestModal.requestcollectiontitle": "בקשת האוסף", - "components.RequestModal.requestedited": "!נערכה בהצלחה {title} הבקשה עבור", - "components.RequestModal.requesterror": ".משהו השתבש בהגשת הבקשה", - "components.RequestModal.requestfrom": ".ממתינה לאישור {username} הבקשה של", - "components.RequestModal.requestmovie4ktitle": "4K בקשת סרט", - "components.RequestModal.requestmovies": "בקשת {count} {count, plural, one {סרט} other {סרטים}}", - "components.RequestModal.requestmovies4k": "בקשת {count} {count, plural, one {סרט} other {סרטים}} 4K ב", - "components.RequestModal.requestmovietitle": "בקשת סרט", - "components.RequestModal.requestseasons": "בקשה של {seasonCount} {seasonCount, plural, one {עונה} other {עונות}}", - "components.RequestModal.requestseasons4k": "בקשה של {seasonCount} {seasonCount, plural, one {עונה} other {עונות}} in 4K", - "components.RequestModal.requestseries4ktitle": "4K בקשת סדרה", - "components.RequestModal.requestseriestitle": "בקשת סדרה", - "components.RequestModal.season": "עונה", - "components.RequestModal.seasonnumber": "עונה {number}", - "components.RequestModal.selectmovies": "(ים)בחירת סרט", - "components.RequestModal.selectseason": "(ות)בחירת עונה", - "components.ResetPassword.confirmpassword": "אימות סיסמה", - "components.ResetPassword.email": "כתובת מייל", - "components.ResetPassword.emailresetlink": "שליחת מייל עם קישור לשיחזור", - "components.ResetPassword.gobacklogin": "חזרה לעמוד לוגאין", - "components.ResetPassword.password": "סיסמה", - "components.ResetPassword.passwordreset": "איפוס סיסמה", - "components.ResetPassword.requestresetlinksuccessmessage": ".קישור לאיפוס הסיסמה יישלח לכתובת המייל המסופקת אם היא משוייכת למשתמש", - "components.ResetPassword.resetpassword": "איפוס סיסמה", - "components.ResetPassword.resetpasswordsuccessmessage": "!הסיסמה אופסה בהצלחה", - "components.ResetPassword.validationemailrequired": "יש לרשום כתובת מייל חוקית", - "components.ResetPassword.validationpasswordmatch": "הסיסמאות צריכות להיות זהות", - "components.ResetPassword.validationpasswordminchars": "הסיסמה צריכה להיות באורך 8 תווים", - "components.ResetPassword.validationpasswordrequired": "יש לרשום סיסמה", - "components.Search.search": "חיפוש", - "components.Search.searchresults": "תוצאות חיפוש", - "components.Selector.nooptions": "אין תוצאות", - "components.Selector.searchGenres": "…בחירת ג׳אנרים", - "components.Selector.searchKeywords": "…מילות מפתח לחיפוש", - "components.Selector.searchStudios": "…חיפוש אולפנים", - "components.Selector.showless": "הצג פחות", - "components.Selector.showmore": "עוד", - "components.Selector.starttyping": ".יש להקליד כדי להתחיל חיפוש", - "components.Settings.Notifications.NotificationsGotify.agentenabled": "איפשור יישום", - "components.Settings.Notifications.NotificationsGotify.gotifysettingsfailed": ".Gotify אירעה שגיאה בעת שמירת הגדרות התראות עבור", - "components.Settings.Notifications.NotificationsGotify.gotifysettingssaved": "!נשמרו בהצלחה Gotify הגדרות התראות", - "components.Settings.Notifications.NotificationsGotify.toastGotifyTestFailed": ".נכשלה Gotify שליחת הודעת בדיקה", - "components.Settings.Notifications.NotificationsGotify.toastGotifyTestSending": "…בתהליך שליחה Gotify הודעת בדיקה אל", - "components.Settings.Notifications.NotificationsGotify.toastGotifyTestSuccess": "!נשלחה בהצלחה Gotify הודעת בדיקה אל", - "components.Settings.Notifications.NotificationsGotify.token": "יישום Token", - "components.Settings.Notifications.NotificationsGotify.url": "כתובת השרת", - "components.Settings.Notifications.NotificationsGotify.validationTokenRequired": "עבור היישום Token יש לרשום", - "components.Settings.Notifications.NotificationsGotify.validationTypes": "יש לבחור לפחות סוג התראה אחד", - "components.Settings.Notifications.NotificationsGotify.validationUrlRequired": "יש לרשום כתובת תקינה", - "components.Settings.Notifications.NotificationsGotify.validationUrlTrailingSlash": "אין לסיים את הכתובת עם סלאש", - "components.Settings.Notifications.NotificationsLunaSea.agentenabled": "איפשור יישום", - "components.Settings.Notifications.NotificationsLunaSea.profileName": "שם הפרופיל", - "components.Settings.Notifications.NotificationsLunaSea.profileNameTip": "default נדרש רק אם משתמשים בפרופיל", - "components.Settings.Notifications.NotificationsLunaSea.settingsFailed": ".LunaSea אירעה שגיאה בשמירת הגדרות עבור", - "components.Settings.Notifications.NotificationsLunaSea.settingsSaved": "!נשמרו בהצלחה LunaSea ההגדרות עבור", - "components.Settings.Notifications.NotificationsLunaSea.toastLunaSeaTestFailed": ".נכשלה LunaSea שליחת הודעת בדיקה", - "components.Settings.Notifications.NotificationsLunaSea.toastLunaSeaTestSending": "…בתהליך שליחה LunaSea הודעת בדיקה אל", - "components.Settings.Notifications.NotificationsLunaSea.toastLunaSeaTestSuccess": "!נשלחה בהצלחה LunaSea הודעת בדיקה אל", - "components.Settings.Notifications.NotificationsLunaSea.validationTypes": "יש לבחור לפחות סוג התראה אחת", - "components.Settings.Notifications.NotificationsLunaSea.validationWebhookUrl": "יש לרשום כתובת תקינה", - "components.Settings.Notifications.NotificationsLunaSea.webhookUrl": "Webhook כתובת", - "components.Settings.Notifications.NotificationsLunaSea.webhookUrlTip": "Webhook כתובת התראות", - "components.Settings.Notifications.NotificationsPushbullet.accessToken": "Access Token", - "components.Settings.Notifications.NotificationsPushbullet.accessTokenTip": "בהגדרות החשבון Token ניתן ליצור", - "components.Settings.Notifications.NotificationsPushbullet.agentEnabled": "איפשור יישום", - "components.Settings.Notifications.NotificationsPushbullet.channelTag": "תגית ערוץ", - "components.Settings.Notifications.NotificationsPushbullet.pushbulletSettingsFailed": ".Pushbullet אירעה שגיאה בשמירת הגדרות עבור", - "components.Settings.Notifications.NotificationsPushbullet.pushbulletSettingsSaved": "!נשמרו בהצלחה Pushbullet הגדרות התראות", - "components.Settings.Notifications.NotificationsPushbullet.toastPushbulletTestFailed": ".נכשלה Pushbullet שליחת הודעת בדיקה", - "components.Settings.Notifications.NotificationsPushbullet.toastPushbulletTestSending": "…בתהליך שליחה Pushbullet הודעת בדיקה אל", - "components.Settings.Notifications.NotificationsPushbullet.toastPushbulletTestSuccess": "!נשלחה בהצלחה Pushbullet הודעת בדיקה אל", - "components.Settings.Notifications.NotificationsPushbullet.validationAccessTokenRequired": "access token יש לרשום", - "components.Settings.Notifications.NotificationsPushbullet.validationTypes": "יש לבחור לפחות סוג התראה אחד", - "components.Settings.Notifications.NotificationsPushover.accessToken": "של יישום API Token", - "components.Settings.Notifications.NotificationsPushover.accessTokenTip": "Jellyseerr רישום יישום לשימוש עם", - "components.Settings.Notifications.NotificationsPushover.agentenabled": "איפשור יישום", - "components.Settings.Notifications.NotificationsPushover.deviceDefault": "ברירת המחדל של המכשיר", - "components.Settings.Notifications.NotificationsPushover.pushoversettingsfailed": ".Pushover אירעה שגיאה בשמירת הגדרות עבור", - "components.Settings.Notifications.NotificationsPushover.pushoversettingssaved": "!נשמרו בהצלחה Pushover הגדרות התראות", - "components.Settings.Notifications.NotificationsPushover.sound": "צליל התראה", - "components.Settings.Notifications.NotificationsPushover.toastPushoverTestFailed": ".נכשלה Pushover שליחת הודעת בדיקה", - "components.Settings.Notifications.NotificationsPushover.toastPushoverTestSending": "…בתהליך שליחה Pushover הודעת בדיקה אל", - "components.Settings.Notifications.NotificationsPushover.toastPushoverTestSuccess": "!נשלחה בהצלחה Pushover הודעת בדיקה אל", - "components.Settings.Notifications.NotificationsPushover.userToken": "מפתח משתמש או קבוצה", - "components.Settings.Notifications.NotificationsPushover.userTokenTip": "מזהה מפתח או קבוצה באורך 30 תווים", - "components.Settings.Notifications.NotificationsPushover.validationAccessTokenRequired": "access token יש לרשום", - "components.Settings.Notifications.NotificationsPushover.validationTypes": "יש לבחור לפחות סוג התראה אחד", - "components.Settings.Notifications.NotificationsPushover.validationUserTokenRequired": "יש לרשום מפתח משתמש או קבוצה תקין", - "components.Settings.Notifications.NotificationsSlack.agentenabled": "איפשור יישום", - "components.Settings.Notifications.NotificationsSlack.slacksettingsfailed": ".Slack אירעה שגיאה בשמירת הגדרות עבור", - "components.Settings.Notifications.NotificationsSlack.slacksettingssaved": "!נשמרו בהצלחה Slack הגדרות התראות", - "components.Settings.Notifications.NotificationsSlack.toastSlackTestFailed": ".נכשלה Slack שליחת הודעת בדיקה", - "components.Settings.Notifications.NotificationsSlack.toastSlackTestSending": "…בתהליך שליחה Slack הודעת בדיקה אל", - "components.Settings.Notifications.NotificationsSlack.toastSlackTestSuccess": "!נשלחה בהצלחה Slack הודעת בדיקה אל", - "components.Settings.Notifications.NotificationsSlack.validationTypes": "יש לבחור לפחות סוג התראה אחד", - "components.Settings.Notifications.NotificationsSlack.validationWebhookUrl": "יש לרשום כתובת תקינה", - "components.Settings.Notifications.NotificationsSlack.webhookUrl": "Webhook כתובת", - "components.Settings.Notifications.NotificationsSlack.webhookUrlTip": "Webhook יצירת אינטגרציה של", - "components.Settings.Notifications.NotificationsWebPush.agentenabled": "איפשור יישום", - "components.Settings.Notifications.NotificationsWebPush.httpsRequirement": ".HTTPS צריך להיות מוגדר ב Jellyseerr בכדי לקבל התראות פוש", - "components.Settings.Notifications.NotificationsWebPush.toastWebPushTestFailed": ".נכשלה Web שליחת הודעת בדיקה", - "components.Settings.Notifications.NotificationsWebPush.toastWebPushTestSending": "…בתהליך שליחה Web הודעת בדיקה אל", - "components.Settings.Notifications.NotificationsWebPush.toastWebPushTestSuccess": "!נשלחה בהצלחה Web הודעת בדיקה אל", - "components.Settings.Notifications.NotificationsWebPush.webpushsettingsfailed": ".Web אירעה שגיאה בשמירת הגדרות עבור", - "components.Settings.Notifications.NotificationsWebPush.webpushsettingssaved": "!נשמרו בהצלחה Web הגדרות התראות", - "components.Settings.Notifications.NotificationsWebhook.agentenabled": "איפשור יישום", - "components.Settings.Notifications.NotificationsWebhook.authheader": "Authorization Header", - "components.Settings.Notifications.NotificationsWebhook.customJson": "JSON Payload", - "components.Settings.Notifications.NotificationsWebhook.resetPayload": "איפוס לברירת מחדל", - "components.Settings.Notifications.NotificationsWebhook.resetPayloadSuccess": "!בוצע בהצלחה JSON איפוס", - "components.Settings.Notifications.NotificationsWebhook.templatevariablehelp": "עזרה עם משתני התבנית", - "components.Settings.Notifications.NotificationsWebhook.toastWebhookTestFailed": ".נכשלה Webhook שליחת הודעת בדיקה", - "components.Settings.Notifications.NotificationsWebhook.toastWebhookTestSending": "…בתהליך שליחה Webhook הודעת בדיקה אל", - "components.Settings.Notifications.NotificationsWebhook.toastWebhookTestSuccess": "!נשלחה בהצלחה Webhook הודעת בדיקה אל", - "components.Settings.Notifications.NotificationsWebhook.validationJsonPayloadRequired": "תקין JSON יש לרשום", - "components.Settings.Notifications.NotificationsWebhook.validationTypes": "יש לבחור לפחות סוג התראה אחד", - "components.Settings.Notifications.NotificationsWebhook.validationWebhookUrl": "יש לרשום כתובת תקינה", - "components.Settings.Notifications.NotificationsWebhook.webhookUrl": "Webhook כתובת", - "components.Settings.Notifications.NotificationsWebhook.webhooksettingsfailed": ".Webhook אירעה שגיאה בשמירת הגדרות עבור", - "components.Settings.Notifications.NotificationsWebhook.webhooksettingssaved": "!נשמרו בהצלחה Webhook הגדרות התראות", - "components.Settings.Notifications.agentenabled": "איפשור יישום", - "components.Settings.Notifications.allowselfsigned": "איפשור תעודות חתומות עצמית", - "components.Settings.Notifications.authPass": "SMTP סיסמה", - "components.Settings.Notifications.authUser": "SMTP משתמש", - "components.Settings.Notifications.botAPI": "אימות של בוט Token", - "components.Settings.Notifications.botApiTip": "Jellyseerr לשימוש עם יצירת בוט", - "components.Settings.Notifications.botAvatarUrl": "כתובת של תמונת בוט", - "components.Settings.Notifications.botUsername": "משתמש בוט", - "components.Settings.Notifications.botUsernameTip": "מאפשר למשתמשים להתחיל צ׳אט עם הבוט ולהגדיר את ההתראות לעצמם", - "components.Settings.Notifications.chatId": "Chat ID", - "components.Settings.Notifications.chatIdTip": "/my_id ובדיקה של @get_id_bot התחלת צ׳אט עם הבוט הוספת,", - "components.Settings.Notifications.discordsettingsfailed": ".Discord אירעה שגיאה בעת שמירת הגדרות התראות עבור", - "components.Settings.Notifications.discordsettingssaved": "!נשמרו בהצלחה Discord הגדרות התראות", - "components.Settings.Notifications.emailsender": "כתובת השולח", - "components.Settings.Notifications.emailsettingsfailed": ".אירעה שגיאה בעת שמירת הגדרות התראות למייל", - "components.Settings.Notifications.emailsettingssaved": "!הגדרות התראות למייל נשמרו בהצלחה", - "components.Settings.Notifications.enableMentions": "אפישור איזכורים", - "components.Settings.Notifications.encryption": "סוג הצפנה", - "components.Settings.Notifications.encryptionDefault": "אם זמין STARTTLS השתמש ב", - "components.Settings.Notifications.encryptionImplicitTls": "TLS שימוש ב", - "components.Settings.Notifications.encryptionNone": "ללא", - "components.Settings.Notifications.encryptionOpportunisticTls": "STARTTLS תמיד יש להשתמש ב", - "components.Settings.Notifications.encryptionTip": "ברוב המקרים TLS משתמש בפורט 465 ו STARTLS בפורט 587", - "components.Settings.Notifications.pgpPassword": "PGP סיסמת", - "components.Settings.Notifications.pgpPasswordTip": "OpenPGP הצפן הודעת מייל באמצעות", - "components.Settings.Notifications.pgpPrivateKey": "PGP Private Key", - "components.Settings.Notifications.pgpPrivateKeyTip": "OpenPGP הצפן הודעת מייל באמצעות", - "components.Settings.Notifications.sendSilently": "שליחה שקטה", - "components.Settings.Notifications.sendSilentlyTip": "שליחת התראות ללא צליל", - "components.Settings.Notifications.senderName": "שם השולח", - "components.Settings.Notifications.smtpHost": "SMTP מארח", - "components.Settings.Notifications.smtpPort": "SMTP Port", - "components.Settings.Notifications.telegramsettingsfailed": ".Telegram אירעה שגיאה בעת שמירת הגדרות התראות עבור", - "components.Settings.Notifications.telegramsettingssaved": "!נשמרו בהצלחה Telegram הגדרות התראות", - "components.Settings.Notifications.toastDiscordTestFailed": ".נכשלה Discord שליחת הודעת בדיקה", - "components.Settings.Notifications.toastDiscordTestSending": "…בתהליך שליחה Discord הודעת בדיקה אל", - "components.Settings.Notifications.toastDiscordTestSuccess": "!נשלחה בהצלחה Discord הודעת בדיקה אל", - "components.Settings.Notifications.toastEmailTestFailed": ".שליחת הודעת מייל לבדיקה נכשלה", - "components.Settings.Notifications.toastEmailTestSending": "…שליחת הודעת מייל לבדיקה", - "components.Settings.Notifications.toastEmailTestSuccess": "!הודעת בדיקת מייל נשלחה בהצלחה", - "components.Settings.Notifications.toastTelegramTestFailed": ".נכשלה Telegram שליחת הודעת בדיקה", - "components.Settings.Notifications.toastTelegramTestSending": "…בתהליך שליחה Telegram הודעת בדיקה אל", - "components.Settings.Notifications.toastTelegramTestSuccess": "!נשלחה בהצלחה Telegram הודעת בדיקה אל", - "components.Settings.Notifications.userEmailRequired": "דרישת מייל משתמש", - "components.Settings.Notifications.validationBotAPIRequired": "authorization token יש לרשום", - "components.Settings.Notifications.validationChatIdRequired": "chat ID יש לרשום", - "components.Settings.Notifications.validationEmail": "יש לרשום כתובת מייל תקינה", - "components.Settings.Notifications.validationPgpPassword": "PGP יש לרשום סיסמת", - "components.Settings.Notifications.validationPgpPrivateKey": "תקין PGP private key יש לרשום", - "components.Settings.Notifications.validationSmtpHostRequired": "או מארח תקינים IP Address יש לרשום", - "components.Settings.Notifications.validationSmtpPortRequired": "יש לרשום מספר פורט תקין", - "components.Settings.Notifications.validationTypes": "יש לבחור לפחות סוג התראה אחד", - "components.Settings.Notifications.validationUrl": "יש לרשום כתובת", - "components.Settings.Notifications.webhookUrl": "Webhook כתובת", - "components.Settings.Notifications.webhookUrlTip": "בשרת webhook אינטגרציית יצירת", - "components.Settings.RadarrModal.add": "הוספת השרת", - "components.Settings.RadarrModal.announced": "הוכרז", - "components.Settings.RadarrModal.apiKey": "API Key", - "components.Settings.RadarrModal.baseUrl": "תחילית לכתובת השרת", - "components.Settings.RadarrModal.create4kradarr": "חדש Radarr 4K הוספת שרת", - "components.Settings.RadarrModal.createradarr": "Radarr הוספת שרת", - "components.Settings.RadarrModal.default4kserver": "4K קבע כשרת ברירת מחדל", - "components.Settings.RadarrModal.defaultserver": "שרת ברירת מחדל", - "components.Settings.RadarrModal.edit4kradarr": "4K Radarr ערוך שרת", - "components.Settings.RadarrModal.editradarr": "Radarr ערוך שרת", - "components.Settings.RadarrModal.enableSearch": "אפשר חיפוש אוטומטי", - "components.Settings.RadarrModal.externalUrl": "כתובת פומבית", - "components.Settings.RadarrModal.hostname": "IP שם מארח או כתובת", - "components.Settings.RadarrModal.inCinemas": "בקולנוע", - "components.Settings.RadarrModal.loadingTags": "טוען תגיות…", - "components.Settings.RadarrModal.loadingprofiles": "…טוען פרופילי איכות", - "components.Settings.RadarrModal.loadingrootfolders": "…טוען תיקיות מדיה", - "components.Settings.RadarrModal.minimumAvailability": "זמינות מינימאלית", - "components.Settings.RadarrModal.notagoptions": ".אין תגיות", - "components.Settings.RadarrModal.port": "פורט", - "components.Settings.RadarrModal.qualityprofile": "פרופיל איכות", - "components.Settings.RadarrModal.released": "שוחרר", - "components.Settings.RadarrModal.rootfolder": "תיקיית מדיה", - "components.Settings.RadarrModal.selectMinimumAvailability": "בחירת זמינות מינימלית", - "components.Settings.RadarrModal.selectQualityProfile": "בחירת פרופיל איכות", - "components.Settings.RadarrModal.selectRootFolder": "בחירת תקיית מדיה", - "components.Settings.RadarrModal.selecttags": "בחירת תגיות", - "components.Settings.RadarrModal.server4k": "4K שרת", - "components.Settings.RadarrModal.servername": "שם השרת", - "components.Settings.RadarrModal.ssl": "SSL שימוש ב", - "components.Settings.RadarrModal.syncEnabled": "אפשר סריקה", - "components.Settings.RadarrModal.tagRequests": "תיוג בקשות", - "components.Settings.RadarrModal.tagRequestsInfo": "הוספת תגית אוטומטית עם מזהה המשתמש ושם התצוגה", - "components.Settings.RadarrModal.tags": "תגיות", - "components.Settings.RadarrModal.testFirstQualityProfiles": "לטעינת פרופיל איכות, יש ללחוץ על בדיקה", - "components.Settings.RadarrModal.testFirstRootFolders": "לטעינת ספריות מדיה, יש ללחוץ על בדיקה", - "components.Settings.RadarrModal.testFirstTags": "לטעינת תגיות, יש ללחוץ על בדיקה", - "components.Settings.RadarrModal.toastRadarrTestFailure": ".Radarr התחברות נכשלה אל", - "components.Settings.RadarrModal.toastRadarrTestSuccess": "!נוצר בהצלחה Radarr החיבור אל", - "components.Settings.RadarrModal.validationApiKeyRequired": "תקין API Key יש לרשום", - "components.Settings.RadarrModal.validationApplicationUrl": "יש לרשום כתובת שרת תקינה", - "components.Settings.RadarrModal.validationApplicationUrlTrailingSlash": "אין לרשום סלאש בסוף הכתובת", - "components.Settings.RadarrModal.validationBaseUrlLeadingSlash": "יש להתחיל עם סלאש", - "components.Settings.RadarrModal.validationBaseUrlTrailingSlash": "אין לסיים את הכתובת עם סלאש", - "components.Settings.RadarrModal.validationHostnameRequired": "תקינה IP יש לרשום שם מאחר או כתובת", - "components.Settings.RadarrModal.validationMinimumAvailabilityRequired": "יש לבחור זמינות מינימאלית", - "components.Settings.RadarrModal.validationNameRequired": "יש לרשום שם שרת", - "components.Settings.RadarrModal.validationPortRequired": "יש לרשום פורט תקין", - "components.Settings.RadarrModal.validationProfileRequired": "יש לבחור פרופיל איכות", - "components.Settings.RadarrModal.validationRootFolderRequired": "יש לבחור תיקיית מדיה", - "components.Settings.SettingsAbout.Releases.currentversion": "נוכחית", - "components.Settings.SettingsAbout.Releases.latestversion": "עדכנית", - "components.Settings.SettingsAbout.Releases.releasedataMissing": ".מידע על גרסה אינו זמין", - "components.Settings.SettingsAbout.Releases.releases": "גרסאות", - "components.Settings.SettingsAbout.Releases.versionChangelog": "{version} שינויים לגרסה", - "components.Settings.SettingsAbout.Releases.viewchangelog": "צפייה בשינויים", - "components.Settings.SettingsAbout.Releases.viewongithub": "GitHub צפייה ב", - "components.Settings.SettingsAbout.about": "אודות", - "components.Settings.SettingsAbout.appDataPath": "תיקיית מדיה", - "components.Settings.SettingsAbout.betawarning": "!GitHub זוהי גרסת בטה. יכולות עלולות להיות שבורות או להתנהג באופן בלתי צפוי. אנא דווחו על כל תקלה", - "components.Settings.SettingsAbout.documentation": "דוקומנטציה", - "components.Settings.SettingsAbout.gettingsupport": "קבלת תמיכה", - "components.Settings.SettingsAbout.githubdiscussions": "GitHub דיונים ב", - "components.Settings.SettingsAbout.helppaycoffee": "הזמינו אותי לקפה", - "components.Settings.SettingsAbout.outofdate": "ישן", - "components.Settings.SettingsAbout.overseerrinformation": "Jellyseerr אודות", - "components.Settings.SettingsAbout.preferredmethod": "מועדף", - "components.Settings.SettingsAbout.runningDevelop": ".מומלץ להתקין ממנו רק עבור מפתחים או משתמשים שתורמים בפיתוח ו/או מוכנים לנסות את הפיתוחים האחרונים develop הבראנץ הנוכחי הוא", - "components.Settings.SettingsAbout.supportjellyseerr": "Jellyseerr תמיכה ב", - "components.Settings.SettingsAbout.supportoverseerr": "Overseerr תמיכה ב", - "components.Settings.SettingsAbout.timezone": "איזור זמן", - "components.Settings.SettingsAbout.totalmedia": "סה״כ מדיה", - "components.Settings.SettingsAbout.totalrequests": "סה״כ בקשות", - "components.Settings.SettingsAbout.uptodate": "מעודכן", - "components.Settings.SettingsAbout.version": "גרסה", - "components.Settings.SettingsJobsCache.availability-sync": "סינכרון זמינות מדיה", - "components.Settings.SettingsJobsCache.cache": "מטמון", - "components.Settings.SettingsJobsCache.cacheDescription": ".מיותרות API חיצוניות בכדי לייעל ולהימנע מקריאות API ממחזר קריאות Jellyseerr", - "components.Settings.SettingsJobsCache.cacheflushed": ".נוקה {cachename} המטמון", - "components.Settings.SettingsJobsCache.cachehits": "הפעלות", - "components.Settings.SettingsJobsCache.cachekeys": "סה״כ מפתחות", - "components.Settings.SettingsJobsCache.cacheksize": "גודל מפתח", - "components.Settings.SettingsJobsCache.cachemisses": "החמצות", - "components.Settings.SettingsJobsCache.cachename": "שם מטמון", - "components.Settings.SettingsJobsCache.cachevsize": "גודל ערך", - "components.Settings.SettingsJobsCache.canceljob": "ביטול משימה", - "components.Settings.SettingsJobsCache.command": "פעולה", - "components.Settings.SettingsJobsCache.download-sync": "סינכרון הורדות", - "components.Settings.SettingsJobsCache.download-sync-reset": "איפוס סינכון הורדות", - "components.Settings.SettingsJobsCache.editJobSchedule": "עריכת משימה", - "components.Settings.SettingsJobsCache.editJobScheduleCurrent": "תדירות נוכחית", - "components.Settings.SettingsJobsCache.editJobSchedulePrompt": "תדירות חדשה", - "components.Settings.SettingsJobsCache.editJobScheduleSelectorHours": "כל {jobScheduleHours, plural, one {שעה} other {{jobScheduleHours} שעות}}", - "components.Settings.SettingsJobsCache.editJobScheduleSelectorMinutes": "כל {jobScheduleMinutes, plural, one {דקה} other {{jobScheduleMinutes} דקות}}", - "components.Settings.SettingsJobsCache.editJobScheduleSelectorSeconds": "כל {jobScheduleSeconds, plural, one {שניה} other {{jobScheduleSeconds} שניות}}", - "components.Settings.SettingsJobsCache.flushcache": "ניקוי מטמון", - "components.Settings.SettingsJobsCache.image-cache-cleanup": "ניקוי מטמון תמונות", - "components.Settings.SettingsJobsCache.imagecache": "מטמון תמונות", - "components.Settings.SettingsJobsCache.imagecacheDescription": "מחדש יתחבר וישמור מטמון של תמונות ממקורות חיצוניים. התמונות נשמרות בתיקיית הקונפיגורציה. ניתן למצוא את הקבצים בנתיב הבא Jellyseerr ,כאשר מופעל בהגדרות {appDataPath}/cache/images", - "components.Settings.SettingsJobsCache.imagecachecount": "תמונות נשמרו במטמון", - "components.Settings.SettingsJobsCache.imagecachesize": "גודל מטמון", - "components.Settings.SettingsJobsCache.jellyfin-full-scan": "Jellyfin סריקה מלאה לספריות", - "components.Settings.SettingsJobsCache.jellyfin-recently-added-scan": "אחר התווסף לאחרונה Jellyfin סריקת", - "components.Settings.SettingsJobsCache.jobScheduleEditFailed": ".משהו השתבש בשמירת המשימה", - "components.Settings.SettingsJobsCache.jobScheduleEditSaved": "!המשימה עודכנה בהצלחה", - "components.Settings.SettingsJobsCache.jobcancelled": ".בוטלה {jobname}", - "components.Settings.SettingsJobsCache.jobname": "שם משימה", - "components.Settings.SettingsJobsCache.jobs": "משימות", - "components.Settings.SettingsJobsCache.jobsDescription": ".מבצע משימות תחזוקה כמשימות מתוזמנות מראש. משימות אלו ניתנות להפעלה באופן יזום ללא השפעה על לו״ז המשימות Jellyseerr", - "components.Settings.SettingsJobsCache.jobsandcache": "משימות & מטמון", - "components.Settings.SettingsJobsCache.jobstarted": ".התחילה {jobname}", - "components.Settings.SettingsJobsCache.jobtype": "סוג", - "components.Settings.SettingsJobsCache.nextexecution": "ההרצה הבאה", - "components.Settings.SettingsJobsCache.plex-full-scan": "מלאה Plex סריקת ספריית", - "components.Settings.SettingsJobsCache.plex-recently-added-scan": "אחר התווסף לאחרונה Plex סריקת", - "components.Settings.SettingsJobsCache.plex-watchlist-sync": "Plex סיכנרון רשימת צפייה של", - "components.Settings.SettingsJobsCache.process": "תהליך", - "components.Settings.SettingsJobsCache.radarr-scan": "Radarr סריקת", - "components.Settings.SettingsJobsCache.runnow": "הפעלה", - "components.Settings.SettingsJobsCache.sonarr-scan": "Sonarr סריקת", - "components.Settings.SettingsJobsCache.unknownJob": "משימה לא ידועה", - "components.Settings.SettingsLogs.copiedLogMessage": ".לוע הועתק ללוח", - "components.Settings.SettingsLogs.copyToClipboard": "העתקה ללוח", - "components.Settings.SettingsLogs.extraData": "מידע נוסף", - "components.Settings.SettingsLogs.filterDebug": "Debug", - "components.Settings.SettingsLogs.filterError": "Error", - "components.Settings.SettingsLogs.filterInfo": "Info", - "components.Settings.SettingsLogs.filterWarn": "Warning", - "components.Settings.SettingsLogs.label": "תווית", - "components.Settings.SettingsLogs.level": "דחיפות", - "components.Settings.SettingsLogs.logDetails": "מידע לוג", - "components.Settings.SettingsLogs.logs": "לוגים", - "components.Settings.SettingsLogs.logsDescription": "או בנתיב stdout ניתן לצפות בלוגים הללו באמצעות {appDataPath}/logs/overseerr.log", - "components.Settings.SettingsLogs.message": "הודעה", - "components.Settings.SettingsLogs.pauseLogs": "השהיית הלו״ז", - "components.Settings.SettingsLogs.resumeLogs": "המשך", - "components.Settings.SettingsLogs.showall": "הצגת כל הלוגים", - "components.Settings.SettingsLogs.time": "זמן", - "components.Settings.SettingsLogs.viewdetails": "פרטים", - "components.Settings.SettingsMain.apikey": "API Key", - "components.Settings.SettingsMain.applicationTitle": "כותרת היישום", - "components.Settings.SettingsMain.applicationurl": "תחילית עבור הכתובת", - "components.Settings.SettingsMain.cacheImages": "הפעלת מטמון לתמונות", - "components.Settings.SettingsMain.cacheImagesTip": "שמירה תמונות חיצוניות במטמון (דורש שטח דיסק גדול בהרבה)", - "components.Settings.SettingsMain.csrfProtection": "CSRF הפעלת הגנת", - "components.Settings.SettingsMain.csrfProtectionHoverTip": "!יש לאפשר הגדרה זו רק אם מבינים בנושא", - "components.Settings.SettingsMain.csrfProtectionTip": "(HTTPS דורש) לקריאה בלבד Api קבע את ה", - "components.Settings.SettingsMain.general": "כללי", - "components.Settings.SettingsMain.generalsettings": "הגדרות כלליות", - "components.Settings.SettingsMain.generalsettingsDescription": ".Jellyseerr הגדרות גלובליות וברירות מחדל עבור", - "components.Settings.SettingsMain.hideAvailable": "הסתרת מדיה זמינה", - "components.Settings.SettingsMain.locale": "שפת התצוגה", - "components.Settings.SettingsMain.originallanguage": "שפת מה חדש", - "components.Settings.SettingsMain.originallanguageTip": "סינון תכנים בשפה המועדפת", - "components.Settings.SettingsMain.partialRequestsEnabled": "בקשה חלקית של סדרות", - "components.Settings.SettingsMain.region": "איזור עבור מה חדש", - "components.Settings.SettingsMain.regionTip": "סינון תכנים לפי זמינות איזורית", - "components.Settings.SettingsMain.toastApiKeyFailure": ".חדש API key משהו השתבש ביצירת", - "components.Settings.SettingsMain.toastApiKeySuccess": "!חדש נוצר בהצלחה Api Key", - "components.Settings.SettingsMain.toastSettingsFailure": ".משהו השתבש בעת שמירת ההגדרות", - "components.Settings.SettingsMain.toastSettingsSuccess": "!ההגדרות נשמרו בהצלחה", - "components.Settings.SettingsMain.trustProxy": "הפעלת תמיכב בפרוקסי", - "components.Settings.SettingsMain.trustProxyTip": "מאחורי פרוקסי IP לרשום כתובות של Jellyseerr איפשור ל", - "components.Settings.SettingsMain.validationApplicationTitle": "יש לרשום כותרת יישום", - "components.Settings.SettingsMain.validationApplicationUrl": "יש לרשום כתובת תקינה", - "components.Settings.SettingsMain.validationApplicationUrlTrailingSlash": "אין לרשום סלאש בסוף הכתובת", - "components.Settings.SettingsUsers.defaultPermissions": "הרשאות ברירת מחדל", - "components.Settings.SettingsUsers.defaultPermissionsTip": "הרשאות התחלתיות למשתמשים חדשים", - "components.Settings.SettingsUsers.localLogin": "איפשור התחברות מקומית", - "components.Settings.SettingsUsers.localLoginTip": "{mediaServerName} OAuth אפשר למשתמשים לבצע לוגאין באמצעות מייל וסיסמה במקום", - "components.Settings.SettingsUsers.movieRequestLimitLabel": "מגבלת גלוגלית לבקשת סרטים", - "components.Settings.SettingsUsers.newPlexLogin": "חדשים לבצע לוגאין {mediaServerName} לאפשר למשתמשי", - "components.Settings.SettingsUsers.newPlexLoginTip": "לבצע לוגאין ללא ייבוא מראש {mediaServerName} אפשר למשתמשי", - "components.Settings.SettingsUsers.toastSettingsFailure": ".אירעה שגיאה בעת שמירת ההגדרות", - "components.Settings.SettingsUsers.toastSettingsSuccess": "!הגדרות המשתמש נשמרו בהצלחה", - "components.Settings.SettingsUsers.tvRequestLimitLabel": "מגבלת גלוגלית לבקשת סדרות", - "components.Settings.SettingsUsers.userSettings": "הגדרות משתמש", - "components.Settings.SettingsUsers.userSettingsDescription": ".קביעת הגדרות משתמש וערכי ברירת מחדל", - "components.Settings.SettingsUsers.users": "משתמשים", - "components.Settings.SonarrModal.add": "הוספת השרת", - "components.Settings.SonarrModal.animeSeriesType": "סוג סדרת אנימה", - "components.Settings.SonarrModal.animeTags": "תגיות אנימה", - "components.Settings.SonarrModal.animelanguageprofile": "פרופיל שפת אנימה", - "components.Settings.SonarrModal.animequalityprofile": "פרופיל איכות אנימה", - "components.Settings.SonarrModal.animerootfolder": "ספריות מדיה של אנימה", - "components.Settings.SonarrModal.apiKey": "API Key", - "components.Settings.SonarrModal.baseUrl": "תחילית לכתובת השרת", - "components.Settings.SonarrModal.create4ksonarr": "חדש Sonarr 4K הוספת שרת", - "components.Settings.SonarrModal.createsonarr": "Sonarr הוספת שרת", - "components.Settings.SonarrModal.default4kserver": "4K קבע כשרת ברירת מחדל", - "components.Settings.SonarrModal.defaultserver": "שרת ברירת מחדל", - "components.Settings.SonarrModal.edit4ksonarr": "4K Sonarr ערוך שרת", - "components.Settings.SonarrModal.editsonarr": "Sonarr ערוך שרת", - "components.Settings.SonarrModal.enableSearch": "אפשר חיפוש אוטומטי", - "components.Settings.SonarrModal.externalUrl": "כתובת פומבית", - "components.Settings.SonarrModal.hostname": "IP שם מארח או כתובת", - "components.Settings.SonarrModal.languageprofile": "פרופיל שפה", - "components.Settings.SonarrModal.loadingTags": "טוען תגיות…", - "components.Settings.SonarrModal.loadinglanguageprofiles": "…טוען פרופילי שפה", - "components.Settings.SonarrModal.loadingprofiles": "…טוען פרופילי איכות", - "components.Settings.SonarrModal.loadingrootfolders": "…טוען תיקיות מדיה", - "components.Settings.SonarrModal.notagoptions": ".אין תגיות", - "components.Settings.SonarrModal.port": "פורט", - "components.Settings.SonarrModal.qualityprofile": "פרופיל איכות", - "components.Settings.SonarrModal.rootfolder": "תיקיית מדיה", - "components.Settings.SonarrModal.seasonfolders": "תיקייה לכל עונה", - "components.Settings.SonarrModal.selectLanguageProfile": "בחירת פרופיל שפה", - "components.Settings.SonarrModal.selectQualityProfile": "בחירת פרופיל איכות", - "components.Settings.SonarrModal.selectRootFolder": "בחירת תקיית מדיה", - "components.Settings.SonarrModal.selecttags": "בחירת תגיות", - "components.Settings.SonarrModal.seriesType": "סוג סדרה", - "components.Settings.SonarrModal.server4k": "4K שרת", - "components.Settings.SonarrModal.servername": "שם השרת", - "components.Settings.SonarrModal.ssl": "SSL שימוש ב", - "components.Settings.SonarrModal.syncEnabled": "אפשר סריקה", - "components.Settings.SonarrModal.tagRequests": "תיוג בקשות", - "components.Settings.SonarrModal.tagRequestsInfo": "הוספת תגית אוטומטית עם מזהה המשתמש ושם התצוגה", - "components.Settings.SonarrModal.tags": "תגיות", - "components.Settings.SonarrModal.testFirstLanguageProfiles": "לטעינת פרופילי שפה, יש ללחוץ על בדיקה", - "components.Settings.SonarrModal.testFirstQualityProfiles": "לטעינת פרופיל איכות, יש ללחוץ על בדיקה", - "components.Settings.SonarrModal.testFirstRootFolders": "לטעינת ספריות מדיה, יש ללחוץ על בדיקה", - "components.Settings.SonarrModal.testFirstTags": "לטעינת תגיות, יש ללחוץ על בדיקה", - "components.Settings.SonarrModal.toastSonarrTestFailure": ".Sonarr התחברות נכשלה אל", - "components.Settings.SonarrModal.toastSonarrTestSuccess": "!נוצר בהצלחה Sonarr החיבור אל", - "components.Settings.SonarrModal.validationApiKeyRequired": "תקין API Key יש לרשום", - "components.Settings.SonarrModal.validationApplicationUrl": "יש לרשום כתובת שרת תקינה", - "components.Settings.SonarrModal.validationApplicationUrlTrailingSlash": "אין לרשום סלאש בסוף הכתובת", - "components.Settings.SonarrModal.validationBaseUrlLeadingSlash": "יש להתחיל עם סלאש", - "components.Settings.SonarrModal.validationBaseUrlTrailingSlash": "אין לסיים את הכתובת עם סלאש", - "components.Settings.SonarrModal.validationHostnameRequired": "תקינה IP יש לרשום שם מאחר או כתובת", - "components.Settings.SonarrModal.validationLanguageProfileRequired": "יש לבחור פרופיל שפה", - "components.Settings.SonarrModal.validationNameRequired": "יש לרשום שם שרת", - "components.Settings.SonarrModal.validationPortRequired": "יש לרשום פורט תקין", - "components.Settings.SonarrModal.validationProfileRequired": "יש לבחור פרופיל איכות", - "components.Settings.SonarrModal.validationRootFolderRequired": "יש לבחור תיקיית מדיה", - "components.Settings.activeProfile": "פרופיל נבחר", - "components.Settings.addradarr": "Radarr הוספת שרת", - "components.Settings.address": "כתובת", - "components.Settings.addsonarr": "Sonarr הוספת שרת", - "components.Settings.advancedTooltip": "הגדרה שגויה של אפשרות זו עלולה לשבש את הפונקציונאליות", - "components.Settings.cancelscan": "ביטול סריקה", - "components.Settings.copied": ".ללוח API key העתקת", - "components.Settings.currentlibrary": "{name} :ספריה נוכחית", - "components.Settings.default": "ברירת מחדל", - "components.Settings.default4k": "4K ברירת מחדל", - "components.Settings.deleteServer": "{serverType} מחיקת שרת", - "components.Settings.deleteserverconfirm": "?האם למחוק את השרת", - "components.Settings.email": "מייל", - "components.Settings.enablessl": "SSL שימוש ב", - "components.Settings.experimentalTooltip": "איפשור ההגדרה הזו עלול לגרום להתנהגות בלתי צפוייה של האפליקציה", - "components.Settings.externalUrl": "כתובת", - "components.Settings.hostname": "IP שם מארח או כתובת", - "components.Settings.invalidurlerror": ".{mediaServerName} אין אפשרות להתחבר לשרת", - "components.Settings.is4k": "4K", - "components.Settings.jellyfinForgotPasswordUrl": "כתובת עבור שכחתי סיסמה", - "components.Settings.jellyfinSettings": "{mediaServerName} הגדרות", - "components.Settings.jellyfinSettingsDescription": ".ניתן גם להגדיר כתובת עבור שכחתי סיסמה בכדי לכוון את המשתמשים לכתובת מותאמת אישית .{mediaServerName} ניתן להגדיר את הכתובות הפומביות של והפנימיות של השרת ברוב המקרים, הכתובת הפומבית שונה מהכתובת המקומית.", - "components.Settings.jellyfinSettingsFailure": ".{mediaServerName} אירעה שגיאה בשמירת הגדרות", - "components.Settings.jellyfinSettingsSuccess": "!נשמרו בהצלחה {mediaServerName} ההגדרות", - "components.Settings.jellyfinSyncFailedAutomaticGroupedFolders": "אימות מותאם אישית ביחד עם קיבוץ סיפריות אוטומטי אינו נתמך", - "components.Settings.jellyfinSyncFailedGenericError": "משהו השתבש בסינכרון ספריות", - "components.Settings.jellyfinSyncFailedNoLibrariesFound": "אין ספריות זמינות", - "components.Settings.jellyfinlibraries": "{mediaServerName} ספריות", - "components.Settings.jellyfinlibrariesDescription": "ספריות {mediaServerName} סורקות כותרים. אם אין ספריות שנמצאו, יש ללחוץ על הכפתור מטה.", - "components.Settings.jellyfinsettings": "{mediaServerName} הגדרות", - "components.Settings.jellyfinsettingsDescription": ".בכדי לראות איזה תוכן זמין {mediaServerName} סורק את ספריות {mediaServerName}. {mediaServerName} הגדרת ההגדרות של שרת", - "components.Settings.librariesRemaining": "ספריות שנותרו: {count}", - "components.Settings.manualscan": "סריקת ספריה ידנית", - "components.Settings.manualscanDescription": "בד״כ, הסריקה מבוצעת כל 24 שעות. Jellyseerr יבדוק את התסווספו לאחרונה של שרת Plex. אם זוהי הפעם הראשונה בהגדרת שרת Plex, מומלץ לבצע סריקה ידנית מלאה של כלל הספריות לפחות פעם אחת", - "components.Settings.manualscanDescriptionJellyfin": "{mediaServerName} יבדוק את התווספו לאחרונה של שרת בד״כ, הסריקה תבוצע פעם אחת כל 24 שעות. אם זוהי הפעם הראשונה בהגדרת השרת, מומלץ לבצע סריקה ידנית מלאה לפחות פעם אחת Jellyseerr.", - "components.Settings.manualscanJellyfin": "סריקת ספריה ידנית", - "components.Settings.mediaTypeMovie": "סרט", - "components.Settings.mediaTypeSeries": "סדרה", - "components.Settings.menuAbout": "אודות", - "components.Settings.menuGeneralSettings": "כללי", - "components.Settings.menuJellyfinSettings": "{mediaServerName}", - "components.Settings.menuJobs": "משימות & מטמון", - "components.Settings.menuLogs": "לוגים", - "components.Settings.menuNotifications": "התראות", - "components.Settings.menuPlexSettings": "Plex", - "components.Settings.menuServices": "שרתים", - "components.Settings.menuUsers": "משתמשים", - "components.Settings.noDefault4kServer": "כברירת מחדל 4K {serverType} יש להגדיר 4K {serverType} בכדי לאפשר למשתמשים ליצור בקשות חדשות אל", - "components.Settings.noDefaultNon4kServer": "לייעד אותו עבור איכות גבוהה מאוד אין {serverType}, אחד עבור כל האיכויות או שאם הוא משתמש רק להורדת תוכן באיכות גבוהה מאוד {serverType} אם יש ברשותך רק שרת", - "components.Settings.noDefaultServer": ". אחד בכדי שבקשות {mediaType} יטופלו {serverType} יש לסמן לפחות שרת", - "components.Settings.notificationAgentSettingsDescription": ".איפשור והגדרת של יישומי התראות", - "components.Settings.notifications": "התראות", - "components.Settings.notificationsettings": "הגדרות התראות", - "components.Settings.notrunning": "בהשהייה", - "components.Settings.plex": "Plex", - "components.Settings.plexlibraries": "Plex ספריות", - "components.Settings.plexlibrariesDescription": "ספריות Jellyseerr סורקות כותרים. אם אין ספריות שנמצאו, יש ללחוץ על הכפתור מטה.", - "components.Settings.plexsettings": "Plex הגדרות", - "components.Settings.plexsettingsDescription": ".בכדי לראות איזה תוכן זמין Jellyseerr סורק את ספריות Plex. Plex הגדרת ההגדרות של שרת", - "components.Settings.port": "פורט", - "components.Settings.radarrsettings": "Radarr הגדרות", - "components.Settings.restartrequiredTooltip": "בכדי שההגדרות ייכנסו לתוקף Jellyseerr יש לאתחל את", - "components.Settings.save": "שמירת שינויים", - "components.Settings.saving": "…שמירה", - "components.Settings.scan": "סריקת ספריות", - "components.Settings.scanning": "…סינכרון", - "components.Settings.serverLocal": "מקומי", - "components.Settings.serverRemote": "מרוחק", - "components.Settings.serverSecure": "מאובטח", - "components.Settings.serverpreset": "שרת", - "components.Settings.serverpresetLoad": "יש ללחוץ על הכפתור בכדי לטעון שרתים זמינים", - "components.Settings.serverpresetManualMessage": "הגדרה ידנית", - "components.Settings.serverpresetRefreshing": "…איחזור שרתים", - "components.Settings.serviceSettingsDescription": "רק שניים יוכלו להיות מוגדרים כברירת מחדל (אחד רגיל ואחד איכות גבוהה). מנהלים יוכלו לבחור את השרת שבו תעובד הבקשה לפני שהיא תאושר.{serverType} ניתן להגדיר מספר שרתי", - "components.Settings.services": "שירותים", - "components.Settings.settingUpPlexDescription": ".יש ללחוץ על הכפתור לצד הרשימה כדי לטעון שרתים זמינים plex.tv ניתן לרשום את הפרטים באופן ידני או לבחור שרת מתוך ,Plex בכדי להגדיר את", - "components.Settings.sonarrsettings": "Sonarr הגדרות", - "components.Settings.ssl": "SSL", - "components.Settings.startscan": "התחל סריקה", - "components.Settings.syncJellyfin": "סריקת ספריות", - "components.Settings.syncing": "מסנכרן", - "components.Settings.tautulliApiKey": "API Key", - "components.Settings.tautulliSettings": "Tautulli הגדרות", - "components.Settings.tautulliSettingsDescription": ".Tautulli הגדרת ההגדרות עבור שרת. Jellyseerr מאחזר את היסטוריית הצפייה של Plex מ Tautulli", - "components.Settings.timeout": "שגיאה", - "components.Settings.toastPlexConnecting": "…Plex מנסה להתחבר אל", - "components.Settings.toastPlexConnectingFailure": ".Plex כשל בחיבור אל", - "components.Settings.toastPlexConnectingSuccess": "!בוצע בהצלחה Plex החיבור אל", - "components.Settings.toastPlexRefresh": "…Plex איחזור רשימת שרתי", - "components.Settings.toastPlexRefreshFailure": ".נכשל Plex איחזור שרתי", - "components.Settings.toastPlexRefreshSuccess": "!בוצע בהצלחה Plex איחזור שרתי", - "components.Settings.toastTautulliSettingsFailure": ".Tautulli אירעה שגיאה בעת שמירת הגדרות", - "components.Settings.toastTautulliSettingsSuccess": "!נשמרו בהצלחה Tautulli הגדרות", - "components.Settings.urlBase": "תחילית לכתובת", - "components.Settings.validationApiKey": "API key יש לרשום", - "components.Settings.validationHostnameRequired": "יש לרשום שם מארח או כתובת חוקיים", - "components.Settings.validationPortRequired": "יש לרשום מספר פורט תקין", - "components.Settings.validationUrl": "יש לרשום כתובת", - "components.Settings.validationUrlBaseLeadingSlash": "יש להתחיל עם סלאש בתחילית לכתובת", - "components.Settings.validationUrlBaseTrailingSlash": "אין לסיים את תחילית הכתובת עם סלאש", - "components.Settings.validationUrlTrailingSlash": "אין לסיים את הכתובת עם סלאש", - "components.Settings.webAppUrl": "Web App כתובת", - "components.Settings.webAppUrlTip": "\"hosted\" web app במקום אל web app ניתן להפנות משתמשים אל", - "components.Settings.webhook": "Webhook", - "components.Settings.webpush": "Web Push", - "components.Setup.configuremediaserver": "הגדרות שרת המדיה", - "components.Setup.configureservices": "הגדרת שרתים", - "components.Setup.continue": "הבא", - "components.Setup.finish": "סיום הגדרה ראשונית", - "components.Setup.finishing": "…מסיים הגדרה", - "components.Setup.scanbackground": ".הסריקה תרוץ ברקע בכדי לאפשר את המשך ההגדרה הראשונית", - "components.Setup.setup": "Setup", - "components.Setup.signin": "התחברות", - "components.Setup.signinMessage": "יש לבצע לוגאין בכדי להתחיל", - "components.Setup.signinWithJellyfin": "{mediaServerName} שימוש בחשבון", - "components.Setup.signinWithPlex": "Plex שימוש בחשבון", - "components.Setup.tip": "טיפ", - "components.Setup.welcome": "Jellyseerr ברוך הבא אל", - "components.StatusBadge.managemedia": "ניהול ה{mediaType}", - "components.StatusBadge.openinarr": "{arr} פתיחה ב", - "components.StatusBadge.playonplex": "{mediaServerName} ניגון ב", - "components.StatusBadge.seasonepisodenumber": "{episodeNumber}פ{seasonNumber}ע", - "components.StatusBadge.status": "{status}", - "components.StatusBadge.status4k": "4K {status}", - "components.StatusChecker.appUpdated": "{applicationTitle} עודכן", - "components.StatusChecker.appUpdatedDescription": ".יש ללחוץ על השרת מטה בכדי לטעון מחדש את האפליקציה", - "components.StatusChecker.reloadApp": "{applicationTitle} טעינה חוזרת של", - "components.StatusChecker.restartRequired": "יש לאתחל את השרת", - "components.StatusChecker.restartRequiredDescription": ".יש לאתחל את השרת הכדי להחיל את ההגדרות שעודכנו", - "components.TitleCard.addToWatchList": "הוספה לרשימת צפייה", - "components.TitleCard.cleardata": "ניקוי מידע", - "components.TitleCard.mediaerror": "חסר {mediaType}", - "components.TitleCard.tmdbid": "TMDB ID", - "components.TitleCard.tvdbid": "TheTVDB ID", - "components.TitleCard.watchlistCancel": ".{title} בוטלה רשימת הצפייה עבור", - "components.TitleCard.watchlistDeleted": "!{title} הוסר מרשימת הצפייה בהצלחה", - "components.TitleCard.watchlistError": ".משהו השתבש, יש לנסות שוב", - "components.TitleCard.watchlistSuccess": "!{title} התווסף לרשימת הצפייה בהצלחה", - "components.TvDetails.Season.noepisodes": ".אין רשימת פרקים זמינה", - "components.TvDetails.Season.somethingwentwrong": ".אירעה שגיאה האיחזור נתוני עונה", - "components.TvDetails.TvCast.fullseriescast": "הצגת הליהוק המלא", - "components.TvDetails.TvCrew.fullseriescrew": "הצגת הצוות המלא", - "components.TvDetails.anime": "אנימה", - "components.TvDetails.cast": "ליהוק", - "components.TvDetails.episodeCount": "{episodeCount, plural, one {# פרק} other {פרקים #}, }", - "components.TvDetails.episodeRuntime": "זמן פרק", - "components.TvDetails.episodeRuntimeMinutes": "{runtime} דקות", - "components.TvDetails.firstAirDate": "שודר לראשונה", - "components.TvDetails.manageseries": "ניהול סדרה", - "components.TvDetails.network": "{networkCount, plural, one {רשת} other {רשתות}}", - "components.TvDetails.nextAirDate": "תאריך השידור הבא", - "components.TvDetails.originallanguage": "שפת מקור", - "components.TvDetails.originaltitle": "שם מקורי", - "components.TvDetails.overview": "תקציר", - "components.TvDetails.overviewunavailable": "תקציר אינו זמין", - "components.TvDetails.play": "{mediaServerName} ניגון ב", - "components.TvDetails.play4k": "{mediaServerName} 4K ניגון", - "components.TvDetails.productioncountries": "{countryCount, plural, one {מדינה} other {מדינות}} מפיקה", - "components.TvDetails.recommendations": "דומים לסדרה", - "components.TvDetails.reportissue": "דיווח על תקלה", - "components.TvDetails.rtaudiencescore": "Rotten Tomatoes דירוג קהל", - "components.TvDetails.rtcriticsscore": "Rotten Tomatoes טומטומטר של", - "components.TvDetails.seasonnumber": "עונה {seasonNumber}", - "components.TvDetails.seasons": "{seasonCount, plural, one {# עונה} other {# עונות}}", - "components.TvDetails.seasonstitle": "עונות", - "components.TvDetails.showtype": "סוג סדרה", - "components.TvDetails.similar": "סדרות דומות", - "components.TvDetails.status4k": "4K {status}", - "components.TvDetails.streamingproviders": "משודר ברשת", - "components.TvDetails.tmdbuserscore": "TMDB דירוג משתמשי", - "components.TvDetails.viewfullcrew": "הצגת הצוות המלא", - "components.TvDetails.watchtrailer": "צפייה בטריילר", - "components.UserList.accounttype": "סוג", - "components.UserList.admin": "מנהל", - "components.UserList.autogeneratepassword": "יצירת סיסמה באופן אוטומטי", - "components.UserList.autogeneratepasswordTip": "שליחת הסיסמה שנוצרה במייל למשתמש", - "components.UserList.bulkedit": "עריכת הכל", - "components.UserList.create": "יצירה", - "components.UserList.created": "תאריך הצטרפות", - "components.UserList.createlocaluser": "יצירת משתמש מקומי", - "components.UserList.creating": "…יצירה", - "components.UserList.deleteconfirm": ".למחוק את המשתמש? כל הבקשות והמידע גם יימחק", - "components.UserList.deleteuser": "מחיקת משתמש", - "components.UserList.displayName": "שם תצוגה", - "components.UserList.edituser": "עריכת הרשאות משתמש", - "components.UserList.email": "כתובת מייל", - "components.UserList.importedfromJellyfin": "{userCount} {mediaServerName} {userCount, plural, one {user} other {users}} יובא בהצלחה!", - "components.UserList.importedfromplex": "{userCount} Plex {userCount, plural, one {משתמש} other {משתמשים}} יובא בהצלחה!", - "components.UserList.importfromJellyfin": "{mediaServerName} ייבוא משתמשי", - "components.UserList.importfromJellyfinerror": ".{mediaServerName} משהו השתבש בעת ייבוא משתמשי", - "components.UserList.importfrommediaserver": "{mediaServerName} ייבוא משתמשי", - "components.UserList.importfromplex": "Plex ייבוא משתמשי", - "components.UserList.importfromplexerror": ".Plex משהו השתבש בעת ייבוא משתמשי", - "components.UserList.localLoginDisabled": ".כרגע מבוטלת איפשור לוגאין מקומי הגדרת", - "components.UserList.localuser": "משתמש מקומי", - "components.UserList.mediaServerUser": "{mediaServerName} משתמש", - "components.UserList.newJellyfinsigninenabled": "כרגע מאופשרת חדש {mediaServerName} איפשור לוגאין ההגדרה של. {mediaServerName} אין צורך לייבא משתמשים בעלי גישה לספרייה של", - "components.UserList.newplexsigninenabled": "כרגע מאופשרת חדש {mediaServerName} איפשור לוגאין ההגדרה של. Plex אין צורך לייבא משתמשים בעלי גישה לספרייה של", - "components.UserList.noJellyfinuserstoimport": ".לייבוא {mediaServerName} אין משתמשי", - "components.UserList.nouserstoimport": ".שניתן לייבא Plex אין משתמשי", - "components.UserList.owner": "בעלים", - "components.UserList.password": "סיסמה", - "components.UserList.passwordinfodescription": ".יש להגדיר כתובת יישום ולאפשר הודעות מייל בכדי שיהיה ניתן ליצור סיסמה באופן אוטומטי", - "components.UserList.plexuser": "Plex משתמש", - "components.UserList.role": "תפקיד", - "components.UserList.sortCreated": "תאריך הצטרפות", - "components.UserList.sortDisplayName": "שם תצוגה", - "components.UserList.sortRequests": "מספר בקשות", - "components.UserList.totalrequests": "בקשות", - "components.UserList.user": "משתמש", - "components.UserList.usercreatedfailed": ".אירעה שגיאה ביצירת המשתמש", - "components.UserList.usercreatedfailedexisting": ".כתובת המייל שנרשמה כבר שייכת למשתמש אחר", - "components.UserList.usercreatedsuccess": "!המשתמש נוצר בהצלחה", - "components.UserList.userdeleted": "!המשתמש נמחק בהצלחה", - "components.UserList.userdeleteerror": ".אירעה שגיאה בעת מחיקת המשתמש", - "components.UserList.userfail": ".אירעה שגיאה בעת שמירת הרשאות המשתמש", - "components.UserList.userlist": "רשימת משתמשים", - "components.UserList.users": "משתמשים", - "components.UserList.userssaved": "!הרשאות המשתמש נשמרו בהצלחה", - "components.UserList.validationEmail": "יש לרשום כתובת מייל תקינה", - "components.UserList.validationpasswordminchars": "הסיסמה צריכה להיות באורך 8 תווים", - "components.UserProfile.ProfileHeader.joindate": "חבר מאז {joindate}", - "components.UserProfile.ProfileHeader.profile": "צפייה בפרופיל", - "components.UserProfile.ProfileHeader.settings": "עריכת הגדרות", - "components.UserProfile.ProfileHeader.userid": "{userid} :מזהה משתמש", - "components.UserProfile.UserSettings.UserGeneralSettings.accounttype": "סוג החשבון", - "components.UserProfile.UserSettings.UserGeneralSettings.admin": "מנהל", - "components.UserProfile.UserSettings.UserGeneralSettings.applanguage": "שפת התצוגה", - "components.UserProfile.UserSettings.UserGeneralSettings.discordId": "מזהה משתמש מה חדש", - "components.UserProfile.UserSettings.UserGeneralSettings.discordIdTip": "מזהה ספרות הינו מזהה הספרות המשוייך לחשבון Discord", - "components.UserProfile.UserSettings.UserGeneralSettings.displayName": "שם תצוגה", - "components.UserProfile.UserSettings.UserGeneralSettings.email": "מייל", - "components.UserProfile.UserSettings.UserGeneralSettings.enableOverride": "עקיפת מגבלה", - "components.UserProfile.UserSettings.UserGeneralSettings.general": "כללי", - "components.UserProfile.UserSettings.UserGeneralSettings.generalsettings": "הגדרות כללות", - "components.UserProfile.UserSettings.UserGeneralSettings.languageDefault": "({language}) ברירת מחדל", - "components.UserProfile.UserSettings.UserGeneralSettings.localuser": "משתמש מקומי", - "components.UserProfile.UserSettings.UserGeneralSettings.mediaServerUser": "{mediaServerName} משתמש", - "components.UserProfile.UserSettings.UserGeneralSettings.movierequestlimit": "הגבלת בקשות סרטים", - "components.UserProfile.UserSettings.UserGeneralSettings.originallanguage": "Discover שפת", - "components.UserProfile.UserSettings.UserGeneralSettings.originallanguageTip": "סינון תוכן לפי שפת המקור", - "components.UserProfile.UserSettings.UserGeneralSettings.owner": "בעלים", - "components.UserProfile.UserSettings.UserGeneralSettings.plexuser": "Plex משתמש", - "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmovies": "בקשת סרטים אוטומטית", - "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmoviestip": "Plex רשימת צפייה של בקשת סרטים אוטומטית עבור", - "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseries": "בקשת סדרות אוטומטית", - "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseriestip": "Plex רשימת צפייה של בקשת סדרות אוטומטית עבור", - "components.UserProfile.UserSettings.UserGeneralSettings.region": "איזור מה חדש", - "components.UserProfile.UserSettings.UserGeneralSettings.regionTip": "סינון תוכן לפי זמינות איזורית", - "components.UserProfile.UserSettings.UserGeneralSettings.role": "תפקיד", - "components.UserProfile.UserSettings.UserGeneralSettings.save": "שמירת שיניים", - "components.UserProfile.UserSettings.UserGeneralSettings.saving": "…בשמירה", - "components.UserProfile.UserSettings.UserGeneralSettings.seriesrequestlimit": "הגבלת בקשת סדרות", - "components.UserProfile.UserSettings.UserGeneralSettings.toastSettingsFailure": ".אירעה שגיאה בעת שמירת ההגדרות", - "components.UserProfile.UserSettings.UserGeneralSettings.toastSettingsSuccess": "!ההגדרות נשמרו בהצלחה", - "components.UserProfile.UserSettings.UserGeneralSettings.user": "משתמש", - "components.UserProfile.UserSettings.UserGeneralSettings.validationDiscordId": "תקין Discord user ID יש לרשום", - "components.UserProfile.UserSettings.UserGeneralSettings.validationemailformat": "יש לרשום מייל תקין", - "components.UserProfile.UserSettings.UserGeneralSettings.validationemailrequired": "יש לרשום מייל", - "components.UserProfile.UserSettings.UserNotificationSettings.deviceDefault": "ברירת המחדל של המכשיר", - "components.UserProfile.UserSettings.UserNotificationSettings.discordId": "User ID", - "components.UserProfile.UserSettings.UserNotificationSettings.discordIdTip": "שמקושר לחשבון שלך multi-digit ID number ה", - "components.UserProfile.UserSettings.UserNotificationSettings.discordsettingsfailed": ".Discord אירעה שגיאה בעת שמירת הגדרות התראות עבור", - "components.UserProfile.UserSettings.UserNotificationSettings.discordsettingssaved": "!נשמרו בהצלחה Discord הגדרות התראות", - "components.UserProfile.UserSettings.UserNotificationSettings.email": "מייל", - "components.UserProfile.UserSettings.UserNotificationSettings.emailsettingsfailed": ".אירעה שגיאה בעת שמירת הגדרות התראות למייל", - "components.UserProfile.UserSettings.UserNotificationSettings.emailsettingssaved": "!הגדרות התראות למייל נשמרו בהצלחה", - "components.UserProfile.UserSettings.UserNotificationSettings.notifications": "התראות", - "components.UserProfile.UserSettings.UserNotificationSettings.notificationsettings": "הגדרות התראות", - "components.UserProfile.UserSettings.UserNotificationSettings.pgpPublicKey": "PGP Public Key", - "components.UserProfile.UserSettings.UserNotificationSettings.pgpPublicKeyTip": "OpenPGP הצפנת הודעות מייל באמצעות", - "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletAccessToken": "Access Token", - "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletAccessTokenTip": "בהגדרות חשבון Token ניתן ליצור", - "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletsettingsfailed": ".Pushbullet אירעה שגיאה בעת שמירת הגדרות התראות עבור", - "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletsettingssaved": "!נשמרו בהצלחה Pushbullet הגדרות התראות", - "components.UserProfile.UserSettings.UserNotificationSettings.pushoverApplicationToken": "Application API Token", - "components.UserProfile.UserSettings.UserNotificationSettings.pushoverApplicationTokenTip": "{applicationTitle} לשימוש עם רישום אפליקציה", - "components.UserProfile.UserSettings.UserNotificationSettings.pushoverUserKey": "User או Group Key", - "components.UserProfile.UserSettings.UserNotificationSettings.pushoverUserKeyTip": "מזהה משתמש או קבוצה יש לרשום מפתח 30 תווים של", - "components.UserProfile.UserSettings.UserNotificationSettings.pushoversettingsfailed": ".Pushover אירעה שגיאה בעת שמירת הגדרות התראות עבור", - "components.UserProfile.UserSettings.UserNotificationSettings.pushoversettingssaved": "!נשמרו בהצלחה Pushover הגדרות התראות", - "components.UserProfile.UserSettings.UserNotificationSettings.sendSilently": "שליחה שקטה", - "components.UserProfile.UserSettings.UserNotificationSettings.sendSilentlyDescription": "שליחת התראות ללא צליל", - "components.UserProfile.UserSettings.UserNotificationSettings.sound": "צליל התראה", - "components.UserProfile.UserSettings.UserNotificationSettings.telegramChatId": "Chat ID", - "components.UserProfile.UserSettings.UserNotificationSettings.telegramChatIdTipLong": "Start a chat, add @get_id_bot, and issue the /my_id command", - "components.UserProfile.UserSettings.UserNotificationSettings.telegramsettingsfailed": ".אירעה שגיאה בשמירת הגדרות התראות לטלגרם", - "components.UserProfile.UserSettings.UserNotificationSettings.telegramsettingssaved": "!נשמרו בהצלחה Telegram הגדרות התראות", - "components.UserProfile.UserSettings.UserNotificationSettings.validationDiscordId": "תקין user ID יש לרשום", - "components.UserProfile.UserSettings.UserNotificationSettings.validationPgpPublicKey": "תקין PGP public key יש לרשום", - "components.UserProfile.UserSettings.UserNotificationSettings.validationPushbulletAccessToken": "תקין access token יש לרשום", - "components.UserProfile.UserSettings.UserNotificationSettings.validationPushoverApplicationToken": "תקין application token יש לרשום", - "components.UserProfile.UserSettings.UserNotificationSettings.validationPushoverUserKey": "תקין group key יש לרשום", - "components.UserProfile.UserSettings.UserNotificationSettings.validationTelegramChatId": "תקין chat ID יש לרשום", - "components.UserProfile.UserSettings.UserNotificationSettings.webpush": "Web Push", - "components.UserProfile.UserSettings.UserNotificationSettings.webpushsettingsfailed": ".Web אירעה שגיאה בעת שמירת הגדרות התראות עבור", - "components.UserProfile.UserSettings.UserNotificationSettings.webpushsettingssaved": "!נשמרו בהצלחה Web הגדרות התראות", - "components.UserProfile.UserSettings.UserPasswordChange.confirmpassword": "אימות סיסמה", - "components.UserProfile.UserSettings.UserPasswordChange.currentpassword": "סיסמה נוכחית", - "components.UserProfile.UserSettings.UserPasswordChange.newpassword": "סיסמה חדשה", - "components.UserProfile.UserSettings.UserPasswordChange.noPasswordSet": ".אין סיסמה מוגדרת למשתמש. בכדי שיתאפשר לוגאין עם \"משתמש מקומי\" באמצעות מייל, יש להגדיר סיסמה", - "components.UserProfile.UserSettings.UserPasswordChange.noPasswordSetOwnAccount": ".אין סיסמה מוגדרת בחשבון. בכדי שיתאפשר לוגאין עם \"משתמש מקומי\" באמצעות מייל, יש להגדיר סיסמה", - "components.UserProfile.UserSettings.UserPasswordChange.nopermissionDescription": ".אין הרשאות מספקות בכדי לשנות את הסיסמה עבור המשתמש הזה", - "components.UserProfile.UserSettings.UserPasswordChange.password": "סיסמה", - "components.UserProfile.UserSettings.UserPasswordChange.toastSettingsFailure": ".משהו השתבש בשמירת הסיסמה", - "components.UserProfile.UserSettings.UserPasswordChange.toastSettingsFailureVerifyCurrent": "?משהו השתבש בשמירת הסיסמה. האם הסיסמה הנוכחית נכונה", - "components.UserProfile.UserSettings.UserPasswordChange.toastSettingsSuccess": "!הסיסמה נשמרה בהצלחה", - "components.UserProfile.UserSettings.UserPasswordChange.validationConfirmPassword": "יש לרשום סיסמה זהה", - "components.UserProfile.UserSettings.UserPasswordChange.validationConfirmPasswordSame": "הסיסמאות צריכות להיות זהות", - "components.UserProfile.UserSettings.UserPasswordChange.validationCurrentPassword": "יש לרשום את הסיסמה הנוכחית", - "components.UserProfile.UserSettings.UserPasswordChange.validationNewPassword": "יש לרשום סיסמה חדשה", - "components.UserProfile.UserSettings.UserPasswordChange.validationNewPasswordLength": "הסיסמה צריכה להיות באורך 8 תווים לפחות", - "components.UserProfile.UserSettings.UserPermissions.permissions": "הרשאות", - "components.UserProfile.UserSettings.UserPermissions.toastSettingsFailure": ".משהו השתבש בשמירת ההגדרות", - "components.UserProfile.UserSettings.UserPermissions.toastSettingsSuccess": "!הרשאות נשמרו בהצלחה", - "components.UserProfile.UserSettings.UserPermissions.unauthorizedDescription": ".אין אפשרות לשנות את ההגדרות לעצמך", - "components.UserProfile.UserSettings.menuChangePass": "סיסמה", - "components.UserProfile.UserSettings.menuGeneralSettings": "כללי", - "components.UserProfile.UserSettings.menuNotifications": "התראות", - "components.UserProfile.UserSettings.menuPermissions": "הרשאות", - "components.UserProfile.UserSettings.unauthorizedDescription": ".אין הרשאות מספקות הכדי לשנות את הגדרות המשתמש הזה", - "components.UserProfile.emptywatchlist": ".תוצג כאן Plex רשימת צפייה של המדיה שמתווספת אל", - "components.UserProfile.limit": "{limit} מתוך {remaining}", - "components.UserProfile.localWatchlist": "{username} רשימת הצפייה של", - "components.UserProfile.movierequests": "בקשות סרטים", - "components.UserProfile.pastdays": "{type} (ימים האחרונים {days} ב)", - "components.UserProfile.plexwatchlist": "Plex רשימת צפייה של", - "components.UserProfile.recentlywatched": "נצפו לאחרונה", - "components.UserProfile.recentrequests": "התבקשו לאחרונה", - "components.UserProfile.requestsperdays": "{limit} נותרו", - "components.UserProfile.seriesrequest": "בקשת סדרות", - "components.UserProfile.totalrequests": "סה״כ בקשות", - "components.UserProfile.unlimited": "חופשי", - "i18n.advanced": "מתקדם", - "i18n.all": "הכל", - "i18n.approve": "אישור", - "i18n.approved": "אושר", - "i18n.areyousure": "?בטוח", - "i18n.available": "זמינה", - "i18n.back": "חזרה", - "i18n.cancel": "ביטול", - "i18n.canceling": "…מבטל", - "i18n.close": "סגירה", - "i18n.collection": "אוסף", - "i18n.decline": "סרב", - "i18n.declined": "סורב", - "i18n.delete": "מחיקה", - "i18n.deleting": "…מוחק", - "i18n.delimitedlist": "{a}, {b}", - "i18n.edit": "עריכה", - "i18n.experimental": "נסיוני", - "i18n.failed": "נכשל", - "i18n.import": "ייבוא", - "i18n.importing": "…מייבא", - "i18n.loading": "…טוען", - "i18n.movie": "סרט", - "i18n.movies": "סרטים", - "i18n.next": "הבא", - "i18n.noresults": "אין תוצאות", - "i18n.notrequested": "אין בקשה", - "i18n.open": "פתוח", - "i18n.partiallyavailable": "זמין חלקית", - "i18n.pending": "ממתין", - "i18n.previous": "הקודם", - "i18n.processing": "מעבד", - "i18n.request": "בקשה", - "i18n.request4k": "4K בקשה של", - "i18n.requested": "בקשה ממתינה", - "i18n.requesting": "…מבקש", - "i18n.resolved": "נפתר", - "i18n.restartRequired": "נדרש איתחול", - "i18n.resultsperpage": "מציג {pageSize} תוצאות בעמוד", - "i18n.retry": "ניסיון חוזר", - "i18n.retrying": "…ניסיון חוזר", - "i18n.save": "שמירת שינויים", - "i18n.saving": "…שמירה", - "i18n.settings": "הגדרות", - "i18n.showingresults": "תוצאות {total} עד {to} מתוך {from} מציג", - "i18n.status": "סטאטוס", - "i18n.test": "בדיקה", - "i18n.testing": "…בדיקה", - "i18n.tvshow": "סדרה", - "i18n.tvshows": "סדרות", - "i18n.unavailable": "אין זמינות", - "i18n.usersettings": "הגדרות משתמש", - "i18n.view": "צפייה", - "pages.errormessagewithcode": "{statusCode} - {error}", - "pages.internalservererror": "שגיאת שרת", - "pages.oops": "אופס", - "pages.pagenotfound": "הדף חסר", - "pages.returnHome": "חזרה למסך הבית", - "pages.serviceunavailable": "השירות אינו זמין", - "pages.somethingwentwrong": "משהו השתבש" + "components.PermissionEdit.advancedrequestDescription": "הרשאות לשינוי אפשרויות בקשות מדיה.", + "components.PermissionEdit.autoapprove": "אישור אוטומטי", + "components.PermissionEdit.autoapprove4k": "אישור אוטומטי של 4K", + "components.PermissionEdit.autoapprove4kMovies": "אישור אוטומטי סרטי 4K", + "components.PermissionEdit.autoapprove4kMoviesDescription": "אישור אוטומטי של בקשות לסרטים 4K", + "components.PermissionEdit.autoapprove4kSeries": "אישור אוטומטי של סדרות 4K", + "components.PermissionEdit.autoapproveDescription": "אישור אוטומטי של בקשות לסדרות ברזולוציית נמוכה מ-4K", + "components.PermissionEdit.autoapproveMovies": "אישור סרטים אוטומטי", + "components.PermissionEdit.autoapproveMoviesDescription": "אישור בקשות סרטים אוטומטי (ללא 4K).", + "components.PermissionEdit.autoapproveSeries": "אישור סדרות אוטומטי", + "components.PermissionEdit.autorequest": "בקשה אוטומטית", + "components.NotificationTypeSelector.mediafailedDescription": "קבלת התראות כאשר יש כשל בהוספת בקשות מדיה אל Radarr או Sonarr", + "components.NotificationTypeSelector.notificationTypes": "סוגי התראות", + "components.NotificationTypeSelector.userissuecommentDescription": "קבלת התראות כאשר תקלות שדיווחת מקבלות תגובות חדשות.", + "components.PermissionEdit.autoapprove4kDescription": "אישור אוטומטי של בקשות מדיה 4K", + "components.PermissionEdit.autoapprove4kSeriesDescription": "אישור אוטומטי של בקשות לסדרות ברזולוציית 4K", + "components.PermissionEdit.autoapproveSeriesDescription": "אישור בקשות סדרות אוטומטי (ללא 4K)." } diff --git a/src/i18n/locale/nl.json b/src/i18n/locale/nl.json index 9592c3a9..39a62cc2 100644 --- a/src/i18n/locale/nl.json +++ b/src/i18n/locale/nl.json @@ -3,12 +3,12 @@ "components.Discover.discovertv": "Populaire series", "components.Discover.popularmovies": "Populaire films", "components.Discover.populartv": "Populaire series", - "components.Discover.recentlyAdded": "Recent toegevoegd", + "components.Discover.recentlyAdded": "Onlangs toegevoegd", "components.Discover.recentrequests": "Recente verzoeken", "components.Discover.trending": "Trending", "components.Discover.upcoming": "Verwachte films", "components.Discover.upcomingmovies": "Verwachte films", - "components.Layout.SearchInput.searchPlaceholder": "Zoek films en series", + "components.Layout.SearchInput.searchPlaceholder": "Films en series zoeken", "components.Layout.Sidebar.dashboard": "Ontdekken", "components.Layout.Sidebar.requests": "Verzoeken", "components.Layout.Sidebar.settings": "Instellingen", @@ -16,7 +16,7 @@ "components.Layout.UserDropdown.signout": "Uitloggen", "components.MovieDetails.budget": "Budget", "components.MovieDetails.cast": "Cast", - "components.MovieDetails.originallanguage": "Originele taal", + "components.MovieDetails.originallanguage": "Oorspronkelijke taal", "components.MovieDetails.overview": "Overzicht", "components.MovieDetails.overviewunavailable": "Overzicht niet beschikbaar.", "components.MovieDetails.recommendations": "Aanbevelingen", @@ -114,7 +114,7 @@ "components.Settings.hostname": "Hostnaam of IP-adres", "components.Settings.librariesRemaining": "Resterende bibliotheken: {count}", "components.Settings.manualscan": "Handmatige bibliotheekscan", - "components.Settings.manualscanDescription": "Normaal wordt dit eens elke 24 uur uitgevoerd. Jellyseerr controleert de recent toegevoegde items van je Plex-server agressiever. Als je Plex voor de eerste keer configureert, is een eenmalige handmatige volledige bibliotheekscan aanbevolen!", + "components.Settings.manualscanDescription": "Normaliter wordt dit eenmaal per 24 uur uitgevoerd. Jellyseerr zal de lijst met onlangs toegevoegde media op je Plex-server vaker controleren. Als dit de eerste keer is dat je Jellyseerr instelt, wordt aanbevolen eenmalig een handmatige, volledige bibliotheekscan uit te voeren!", "components.Settings.menuAbout": "Over", "components.Settings.menuGeneralSettings": "Algemeen", "components.Settings.menuJobs": "Taken en cache", @@ -127,7 +127,7 @@ "components.Settings.plexlibraries": "Plex-bibliotheken", "components.Settings.plexlibrariesDescription": "De bibliotheken die Jellyseerr scant voor titels. Stel je Plex-verbinding in en sla ze op. Klik daarna op de onderstaande knop als er geen bibliotheken staan.", "components.Settings.plexsettings": "Plex-instellingen", - "components.Settings.plexsettingsDescription": "Configureer de instellingen voor je Plex-server. Jellyseerr scant je Plex-bibliotheken om te zien welke content beschikbaar is.", + "components.Settings.plexsettingsDescription": "Configureer de instellingen voor je Plex-server. Jellyseerr scant je Plex-bibliotheken om te zien welke inhoud beschikbaar is.", "components.Settings.port": "Poort", "components.Settings.radarrsettings": "Radarr-instellingen", "components.Settings.sonarrsettings": "Sonarr-instellingen", @@ -137,12 +137,12 @@ "components.Setup.configureservices": "Diensten configureren", "components.Setup.continue": "Doorgaan", "components.Setup.finish": "Installatie voltooien", - "components.Setup.finishing": "Bezig met voltooien…", + "components.Setup.finishing": "Voltooien…", "components.Setup.loginwithplex": "Inloggen met Plex", - "components.Setup.signinMessage": "Ga aan de slag door in te loggen met je Plex-account", + "components.Setup.signinMessage": "Ga aan de slag door je aan te melden", "components.Setup.welcome": "Welkom bij Jellyseerr", "components.TvDetails.cast": "Cast", - "components.TvDetails.originallanguage": "Originele taal", + "components.TvDetails.originallanguage": "Oorspronkelijke taal", "components.TvDetails.overview": "Overzicht", "components.TvDetails.overviewunavailable": "Overzicht niet beschikbaar.", "components.TvDetails.recommendations": "Aanbevelingen", @@ -164,7 +164,7 @@ "i18n.movies": "Films", "i18n.partiallyavailable": "Deels beschikbaar", "i18n.pending": "In behandeling", - "i18n.processing": "Bezig met verwerken", + "i18n.processing": "Verwerken", "i18n.tvshows": "Series", "i18n.unavailable": "Niet beschikbaar", "pages.oops": "Oeps", @@ -187,14 +187,14 @@ "components.Setup.tip": "Tip", "components.Settings.SonarrModal.testFirstRootFolders": "Test verbinding om hoofdmappen te laden", "components.Settings.SonarrModal.testFirstQualityProfiles": "Test verbinding om kwaliteitsprofielen te laden", - "components.Settings.SonarrModal.loadingrootfolders": "Bezig met laden van hoofdmappen…", - "components.Settings.SonarrModal.loadingprofiles": "Bezig met laden van kwaliteitsprofielen…", + "components.Settings.SonarrModal.loadingrootfolders": "Hoofdmappen laden…", + "components.Settings.SonarrModal.loadingprofiles": "Kwaliteitsprofielen laden…", "components.Settings.SettingsAbout.gettingsupport": "Ondersteuning krijgen", "components.Settings.RadarrModal.validationMinimumAvailabilityRequired": "Je moet een minimale beschikbaarheid selecteren", "components.Settings.RadarrModal.testFirstRootFolders": "Test verbinding om hoofdmappen te laden", "components.Settings.RadarrModal.testFirstQualityProfiles": "Test verbinding om kwaliteitsprofielen te laden", - "components.Settings.RadarrModal.loadingrootfolders": "Bezig met laden van hoofdmappen…", - "components.Settings.RadarrModal.loadingprofiles": "Bezig met laden van kwaliteitsprofielen…", + "components.Settings.RadarrModal.loadingrootfolders": "Hoofdmappen laden…", + "components.Settings.RadarrModal.loadingprofiles": "Kwaliteitsprofielen laden…", "components.Settings.SettingsAbout.Releases.releasedataMissing": "Versiegegevens zijn momenteel niet beschikbaar.", "components.Settings.SettingsAbout.Releases.latestversion": "Nieuwste", "components.Settings.SettingsAbout.Releases.currentversion": "Huidig", @@ -208,7 +208,7 @@ "i18n.retry": "Opnieuw proberen", "i18n.requested": "Aangevraagd", "i18n.failed": "Mislukt", - "i18n.deleting": "Bezig met verwijderen…", + "i18n.deleting": "Verwijderen…", "i18n.close": "Sluiten", "components.UserList.userdeleteerror": "Er ging iets mis bij het verwijderen van de gebruiker.", "components.UserList.userdeleted": "Gebruiker succesvol verwijderd!", @@ -223,7 +223,7 @@ "components.TvDetails.network": "{networkCount, plural, one {Netwerk} other {Netwerken}}", "components.TvDetails.firstAirDate": "Datum eerste uitzending", "components.TvDetails.anime": "Anime", - "components.StatusChacker.reloadOverseerr": "Herladen", + "components.StatusChacker.reloadJellyseerr": "Herladen", "components.StatusChacker.newversionavailable": "Toepassingsupdate", "components.StatusChacker.newversionDescription": "Jellyseerr is geüpdatet! Klik op de onderstaande knop om de pagina opnieuw te laden.", "components.Settings.toastSettingsSuccess": "Instellingen succesvol opgeslagen!", @@ -303,10 +303,10 @@ "components.UserList.create": "Aanmaken", "components.UserList.createlocaluser": "Lokale gebruiker aanmaken", "components.UserList.usercreatedfailed": "Er ging iets mis bij het aanmaken van de gebruiker.", - "components.UserList.creating": "Bezig met aanmaken…", + "components.UserList.creating": "Aanmaken…", "components.UserList.validationpasswordminchars": "Wachtwoord is te kort; moet minimaal 8 tekens bevatten", "components.UserList.usercreatedsuccess": "Gebruiker succesvol aangemaakt!", - "components.UserList.passwordinfodescription": "Configureer een applicatie-URL en schakel e-mailmeldingen in om automatische wachtwoordgeneratie mogelijk te maken.", + "components.UserList.passwordinfodescription": "Stel een applicatie-URL in en schakel e-mailmeldingen in om automatische wachtwoordgeneratie mogelijk te maken.", "components.UserList.password": "Wachtwoord", "components.UserList.localuser": "Lokale gebruiker", "components.UserList.email": "E-mailadres", @@ -340,23 +340,23 @@ "components.RequestModal.SearchByNameModal.notvdbiddescription": "We kunnen deze serie niet automatisch matchen. Selecteer hieronder de juiste match.", "components.Login.signinwithplex": "Plex-account gebruiken", "components.Login.signinheader": "Log in om verder te gaan", - "components.Login.signingin": "Bezig met inloggen…", + "components.Login.signingin": "Aanmelden…", "components.Login.signin": "Inloggen", "components.Settings.notificationAgentSettingsDescription": "Meldingsagenten configureren en inschakelen.", "components.PlexLoginButton.signinwithplex": "Inloggen", - "components.PlexLoginButton.signingin": "Bezig met inloggen…", + "components.PlexLoginButton.signingin": "Aanmelden…", "components.PermissionEdit.advancedrequest": "Geavanceerde aanvragen", "components.PermissionEdit.admin": "Beheerder", "components.UserList.userssaved": "Gebruikersrechten succesvol opgeslagen!", "components.Settings.toastPlexRefreshSuccess": "Serverlijst van Plex succesvol opgehaald!", "components.Settings.toastPlexRefresh": "Bezig met serverlijst ophalen van Plex…", - "components.Settings.toastPlexConnecting": "Bezig met verbinden met Plex-server…", + "components.Settings.toastPlexConnecting": "Verbinden met Plex…", "components.UserList.bulkedit": "Meerdere bewerken", "components.Settings.toastPlexRefreshFailure": "Kan serverlijst van Plex niet ophalen.", "components.Settings.toastPlexConnectingSuccess": "Succesvol verbonden met Plex-server!", "components.Settings.toastPlexConnectingFailure": "Kan geen verbinding maken met Plex.", "components.Settings.settingUpPlexDescription": "Om Plex in te stellen, kan je de gegevens handmatig invoeren of een server selecteren die is opgehaald van plex.tv. Druk op de knop rechts van de vervolgkeuzelijst om de lijst van beschikbare servers op te halen.", - "components.Settings.serverpresetRefreshing": "Bezig met servers ophalen…", + "components.Settings.serverpresetRefreshing": "Servers ophalen…", "components.Settings.serverpresetManualMessage": "Handmatige configuratie", "components.Settings.serverpresetLoad": "Klik op de knop om de beschikbare servers te laden", "components.Settings.serverpreset": "Server", @@ -431,7 +431,7 @@ "components.RequestModal.AdvancedRequester.requestas": "Aanvragen als", "components.Discover.discover": "Ontdekken", "components.Settings.validationApplicationTitle": "Je moet een toepassingstitel opgeven", - "components.AppDataWarning.dockerVolumeMissingDescription": "De volumekoppeling {appDataPath} was niet correct geconfigureerd. Alle gegevens zullen worden gewist wanneer de container wordt gestopt of opnieuw wordt gestart.", + "components.AppDataWarning.dockerVolumeMissingDescription": "De volumekoppeling {appDataPath} is niet correct geconfigureerd. Alle gegevens zullen worden gewist wanneer de container wordt gestopt of opnieuw wordt gestart.", "components.Settings.validationApplicationUrlTrailingSlash": "URL mag niet eindigen op een schuine streep", "components.Settings.validationApplicationUrl": "Je moet een geldige URL opgeven", "components.Settings.SonarrModal.validationApplicationUrlTrailingSlash": "URL mag niet eindigen op een schuine streep", @@ -520,7 +520,7 @@ "components.Layout.UserDropdown.myprofile": "Profiel", "components.UserProfile.UserSettings.UserNotificationSettings.validationDiscordId": "Je moet een geldige gebruikers-ID opgeven", "components.UserProfile.UserSettings.UserNotificationSettings.discordIdTip": "Het meercijferige ID-nummer van je gebruikersaccount", - "components.CollectionDetails.requestcollection4k": "Collectie in 4K aanvragen", + "components.CollectionDetails.requestcollection4k": "Collectie aanvragen in 4K", "components.UserProfile.UserSettings.UserGeneralSettings.regionTip": "Inhoud filteren op regionale beschikbaarheid", "components.UserProfile.UserSettings.UserGeneralSettings.region": "Regio van Ontdekken", "components.UserProfile.UserSettings.UserGeneralSettings.originallanguageTip": "Inhoud filteren op oorspronkelijke taal", @@ -546,7 +546,7 @@ "components.Settings.SettingsJobsCache.download-sync-reset": "Reset download sync", "components.Settings.SettingsJobsCache.download-sync": "Synchronisatie downloads", "components.TvDetails.seasons": "{seasonCount, plural, one {# seizoen} other {# seizoenen}}", - "i18n.loading": "Bezig met laden…", + "i18n.loading": "Laden…", "components.UserProfile.UserSettings.UserNotificationSettings.validationTelegramChatId": "Je moet een geldige chat-ID opgeven", "components.UserProfile.UserSettings.UserNotificationSettings.telegramChatIdTipLong": "Een chat starten, @get_id_bot toevoegen en de opdracht /my_id geven", "components.UserProfile.UserSettings.UserNotificationSettings.telegramChatId": "Chat-ID", @@ -558,14 +558,14 @@ "components.Discover.DiscoverNetwork.networkSeries": "Series van {network}", "components.Discover.DiscoverMovieGenre.genreMovies": "{genre} films", "components.Setup.scanbackground": "Het scannen wordt op de achtergrond uitgevoerd. Je kunt in de tussentijd doorgaan met het installatieproces.", - "components.Settings.scanning": "Bezig met synchroniseren…", + "components.Settings.scanning": "Synchroniseren…", "components.Settings.scan": "Bibliotheken synchroniseren", "components.Settings.SettingsJobsCache.sonarr-scan": "Sonarr-scan", "components.Settings.SettingsJobsCache.radarr-scan": "Radarr-scan", "components.Settings.SettingsJobsCache.plex-recently-added-scan": "Plex recent toegevoegde scan", "components.Settings.SettingsJobsCache.plex-full-scan": "Plex volledige bibliotheekscan", "components.Settings.SettingsJobsCache.jellyfin-full-scan": "volledige bibliotheekscan Jellyfin", - "components.Settings.SettingsJobsCache.jellyfin-recently-added-scan": "Jellyfin recent toegevoegde scan", + "components.Settings.SettingsJobsCache.jellyfin-recently-added-scan": "Scan van 'onlangs toegevoegd' in Jellyfin", "components.Settings.Notifications.validationUrl": "Je moet een geldige URL opgeven", "components.Settings.Notifications.botAvatarUrl": "URL bot-avatar", "components.RequestList.RequestItem.requested": "Aangevraagd", @@ -670,27 +670,27 @@ "components.QuotaSelector.unlimited": "Onbeperkt", "i18n.view": "Bekijken", "i18n.tvshow": "Serie", - "i18n.testing": "Bezig met testen…", + "i18n.testing": "Testen…", "i18n.test": "Test", "i18n.status": "Status", "i18n.showingresults": "{from} tot {to} van de {total} resultaten worden weergegeven", - "i18n.saving": "Bezig met opslaan…", + "i18n.saving": "Opslaan…", "i18n.save": "Wijzigingen opslaan", "i18n.resultsperpage": "{pageSize} resultaten per pagina weergeven", - "i18n.requesting": "Bezig met aanvragen…", + "i18n.requesting": "Aanvragen…", "i18n.request4k": "Aanvragen in 4K", "i18n.previous": "Vorige", "i18n.notrequested": "Niet aangevraagd", "i18n.noresults": "Geen resultaten.", "i18n.next": "Volgende", "i18n.movie": "Film", - "i18n.canceling": "Bezig met annuleren…", + "i18n.canceling": "Annuleren…", "i18n.back": "Terug", "i18n.areyousure": "Weet je het zeker?", "i18n.all": "Alle", "components.RequestModal.QuotaDisplay.requiredquotaUser": "Deze gebruiker heeft nog minstens {seasons} {seasons, plural, one {seizoensverzoek} other {seizoensverzoeken}} nodig om deze serie aan te vragen.", - "components.TvDetails.originaltitle": "Originele titel", - "components.MovieDetails.originaltitle": "Originele titel", + "components.TvDetails.originaltitle": "Oorspronkelijke titel", + "components.MovieDetails.originaltitle": "Oorspronkelijke titel", "components.LanguageSelector.originalLanguageDefault": "Alle talen", "components.LanguageSelector.languageServerDefault": "Standaard ({language})", "components.Settings.SonarrModal.testFirstTags": "Test de verbinding om labels te laden", @@ -733,9 +733,9 @@ "components.RequestModal.pendingapproval": "Je verzoek is in afwachting van goedkeuring.", "components.RequestList.RequestItem.cancelRequest": "Verzoek annuleren", "components.NotificationTypeSelector.notificationTypes": "Meldingtypes", - "components.UserProfile.UserSettings.UserPasswordChange.noPasswordSetOwnAccount": "Er is voor jouw account momenteel geen wachtwoord ingesteld. Configureer hieronder een wachtwoord om in te kunnen loggen als een \"lokale gebruiker\" met uw e-mailadres.", + "components.UserProfile.UserSettings.UserPasswordChange.noPasswordSetOwnAccount": "Er is voor jouw account momenteel geen wachtwoord ingesteld. Configureer hieronder een wachtwoord om in te kunnen loggen als een \"lokale gebruiker\" met je e-mailadres.", "components.UserProfile.UserSettings.UserPasswordChange.noPasswordSet": "Deze gebruikersaccount heeft momenteel geen wachtwoord ingesteld. Configureer hieronder een wachtwoord zodat deze account in staat is om zich aan te melden als een \"lokale gebruiker\".", - "components.Settings.serviceSettingsDescription": "Configureer je {serverType} server(s) hieronder. Je kunt meerdere {serverType} servers verbinden, maar slechts twee ervan kunnen als standaard worden gemarkeerd (één niet-4K en één 4K). Beheerders kunnen vóór de goedkeuring de server die gebruikt wordt om nieuwe aanvragen te verwerken aanpassen.", + "components.Settings.serviceSettingsDescription": "Stel je {serverType}-server(s) hieronder in. Je kunt meerdere {serverType}-servers verbinden, maar slechts twee ervan kunnen als standaard worden gemarkeerd (één niet-4K en één 4K). Beheerders kunnen vóór goedkeuring de server aanpassen die voor nieuwe aanvragen gebruikt wordt.", "components.Settings.noDefaultServer": "Ten minste één {serverType} server moet als standaard worden gemarkeerd om {mediaType}verzoeken te kunnen verwerken.", "components.Settings.noDefaultNon4kServer": "Als je slechts één enkele {serverType} server hebt voor zowel niet-4K als 4K-inhoud (of als je alleen 4K-inhoud downloadt), dan moet je {serverType} server NIET aangeduid worden als een 4K-server.", "components.Settings.mediaTypeSeries": "serie", @@ -747,7 +747,7 @@ "components.Layout.VersionStatus.outofdate": "Verouderd", "components.Layout.VersionStatus.commitsbehind": "{commitsBehind} {commitsBehind, plural, one {commit} other {commits}} achter", "components.UserList.autogeneratepasswordTip": "Een door de server gegenereerd wachtwoord naar de gebruiker e-mailen", - "i18n.retrying": "Bezig met opnieuw proberen…", + "i18n.retrying": "Opnieuw proberen…", "components.Settings.serverSecure": "veilig", "components.UserList.usercreatedfailedexisting": "Het opgegeven e-mailadres wordt al gebruikt door een andere gebruiker.", "components.RequestModal.edit": "Verzoek bewerken", @@ -847,7 +847,7 @@ "components.NotificationTypeSelector.usermediadeclinedDescription": "Een melding ontvangen wanneer je mediaverzoeken worden geweigerd.", "components.NotificationTypeSelector.usermediaavailableDescription": "Een melding ontvangen wanneer je mediaverzoeken beschikbaar zijn.", "components.NotificationTypeSelector.usermediaAutoApprovedDescription": "Een melding ontvangen wanneer andere gebruikers nieuwe mediaverzoeken indienen die automatisch worden goedgekeurd.", - "components.Settings.SettingsAbout.betawarning": "Dit is BETA software. Functies kunnen kapot en/of instabiel zijn. Meld eventuele problemen op GitHub!", + "components.Settings.SettingsAbout.betawarning": "Dit is BETA-software. Functies kunnen kapot en/of instabiel zijn. Meld eventuele problemen op GitHub!", "components.Layout.LanguagePicker.displaylanguage": "Weergavetaal", "components.MovieDetails.showmore": "Meer tonen", "components.MovieDetails.showless": "Minder tonen", @@ -971,7 +971,7 @@ "components.UserProfile.UserSettings.UserNotificationSettings.validationPushoverUserKey": "Je moet een geldige gebruikers- of groepssleutel opgeven", "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletsettingssaved": "Instellingen voor Pushbullet-meldingen succesvol opgeslagen!", "components.IssueDetails.playonplex": "Afspelen op {mediaServerName}", - "components.IssueDetails.play4konplex": "Afspelen in 4K op {mediaServerName}", + "components.IssueDetails.play4konplex": "Afspelen op {mediaServerName} in 4K", "components.IssueDetails.openin4karr": "Openen in 4K {arr}", "components.IssueList.IssueItem.episodes": "{episodeCount, plural, one {aflevering} other {afleveringen}}", "components.IssueList.IssueItem.seasons": "{seasonCount, plural, one {seizoen} other {seizoenen}}", @@ -982,7 +982,7 @@ "components.NotificationTypeSelector.adminissuereopenedDescription": "Ontvang een melding wanneer problemen door andere gebruikers opnieuw worden ingediend.", "components.NotificationTypeSelector.issuereopenedDescription": "Stuur meldingen wanneer problemen opnieuw worden ingediend.", "components.NotificationTypeSelector.userissuereopenedDescription": "Ontvang een bericht wanneer problemen die jij hebt gemeld, opnieuw worden ingediend.", - "components.RequestModal.requestseasons4k": "{seasonCount} {seasonCount, plural, one {seizoen} other {seizoenen}} in 4K aanvragen", + "components.RequestModal.requestseasons4k": "{seasonCount} {seasonCount, plural, one {seizoen} other {seizoenen}} aanvragen in 4K", "components.RequestModal.requestmovies": "{count} {count, plural, one {film} other {films}} aanvragen", "components.RequestModal.selectmovies": "Film(s) selecteren", "components.MovieDetails.productioncountries": "Productie{countryCount, plural, one {land} other {landen}}", @@ -998,7 +998,7 @@ "components.Settings.Notifications.NotificationsGotify.agentenabled": "Agent inschakelen", "components.Settings.Notifications.NotificationsGotify.gotifysettingssaved": "Instellingen voor meldingen Gotify succesvol opgeslagen!", "components.Settings.Notifications.NotificationsGotify.token": "Toepassingstoken", - "i18n.importing": "Bezig met importeren…", + "i18n.importing": "Importeren…", "components.Settings.Notifications.NotificationsGotify.gotifysettingsfailed": "Instellingen voor meldingen Gotify niet opgeslagen.", "components.Settings.Notifications.NotificationsGotify.toastGotifyTestFailed": "Testmelding Gotify niet verzonden.", "components.Settings.Notifications.NotificationsGotify.toastGotifyTestSuccess": "Testmelding Gotify verzonden!", @@ -1012,7 +1012,7 @@ "components.UserList.newplexsigninenabled": "De instelling Nieuwe Plex-aanmelding inschakelen is momenteel ingeschakeld. Plex-gebruikers met bibliotheektoegang hoeven niet te worden geïmporteerd om in te loggen.", "components.ManageSlideOver.manageModalAdvanced": "Geavanceerd", "components.ManageSlideOver.alltime": "Altijd", - "components.ManageSlideOver.markallseasons4kavailable": "Alle seizoenen als beschikbaar in 4K markeren", + "components.ManageSlideOver.markallseasons4kavailable": "Alle seizoenen markeren als beschikbaar in 4K", "components.ManageSlideOver.opentautulli": "In Tautulli openen", "components.ManageSlideOver.pastdays": "Afgelopen {days, number} dagen", "components.ManageSlideOver.playedby": "Afgespeeld door", @@ -1046,8 +1046,8 @@ "components.UserProfile.emptywatchlist": "Media die zijn toegevoegd aan je Plex Kijklijst verschijnen hier.", "components.MovieDetails.digitalrelease": "Digitale release", "i18n.restartRequired": "Opnieuw opstarten vereist", - "components.PermissionEdit.viewrecentDescription": "Toestemming geven om de lijst met recent toegevoegde media te bekijken.", - "components.PermissionEdit.viewrecent": "Recent toegevoegd bekijken", + "components.PermissionEdit.viewrecentDescription": "Toestemming geven om de lijst met onlangs toegevoegde media weer te geven.", + "components.PermissionEdit.viewrecent": "Onlangs toegevoegd weergeven", "components.Settings.deleteServer": "{serverType}-server verwijderen", "components.StatusChecker.appUpdated": "{applicationTitle} bijgewerkt", "components.RequestList.RequestItem.tmdbid": "TMDB ID", @@ -1072,8 +1072,8 @@ "components.TvDetails.seasonnumber": "Seizoen {seasonNumber}", "components.TvDetails.Season.somethingwentwrong": "Er ging iets mis bij het ophalen van de seizoensgegevens.", "components.TvDetails.seasonstitle": "Seizoenen", - "components.Discover.DiscoverWatchlist.discoverwatchlist": "Je Plex-kijklijst", - "components.Discover.plexwatchlist": "Je Plex Kijklijst", + "components.Discover.DiscoverWatchlist.discoverwatchlist": "Jouw kijklijst", + "components.Discover.plexwatchlist": "Jouw kijklijst", "components.MovieDetails.physicalrelease": "Fysieke release", "components.PermissionEdit.autorequest": "Automatisch aanvragen", "components.Settings.SettingsJobsCache.plex-watchlist-sync": "Plex Kijklijst synchroniseren", @@ -1099,7 +1099,7 @@ "components.TvDetails.manageseries": "Serie beheren", "components.MovieDetails.managemovie": "Film beheren", "components.MovieDetails.reportissue": "Probleem melden", - "components.PermissionEdit.autorequestMoviesDescription": "Toestemming geven om niet-4K films in je Plex Kijklijst automatisch aan te vragen.", + "components.PermissionEdit.autorequestMoviesDescription": "Toestemming geven om niet-4K films in je Plex-kijklijst automatisch aan te vragen.", "components.PermissionEdit.autorequestSeries": "Series automatisch aanvragen", "components.PermissionEdit.autorequestMovies": "Films automatisch aanvragen", "components.Settings.experimentalTooltip": "Deze instelling inschakelen, kan leiden tot onverwacht gedrag van de toepassing", @@ -1152,8 +1152,8 @@ "components.Discover.DiscoverSliderEdit.remove": "Verwijderen", "components.Discover.resetfailed": "Er is iets fout gegaan bij het resetten van de instellingen van Ontdekken.", "components.Discover.PlexWatchlistSlider.emptywatchlist": "Media die zijn toegevoegd aan je Plex Kijklijst verschijnen hier.", - "components.Discover.PlexWatchlistSlider.plexwatchlist": "Je Plex Kijklijst", - "components.Discover.RecentlyAddedSlider.recentlyAdded": "Recent toegevoegd", + "components.Discover.PlexWatchlistSlider.plexwatchlist": "Jouw kijklijst", + "components.Discover.RecentlyAddedSlider.recentlyAdded": "Onlangs toegevoegd", "components.Discover.networks": "Netwerken", "components.Discover.CreateSlider.searchStudios": "Studio's zoeken…", "components.Discover.CreateSlider.starttyping": "Begin met typen om te zoeken.", @@ -1184,8 +1184,8 @@ "components.Discover.DiscoverMovies.sortPopularityAsc": "Populariteit oplopend", "components.Discover.DiscoverMovies.sortPopularityDesc": "Populariteit aflopend", "components.Discover.DiscoverMovies.sortReleaseDateAsc": "Releasedatum oplopend", - "components.Discover.DiscoverMovies.sortTitleAsc": "Titel (A-Z) oplopend", - "components.Discover.DiscoverMovies.sortTitleDesc": "Titel (Z-A) aflopend", + "components.Discover.DiscoverMovies.sortTitleAsc": "Titel oplopend (A-Z)", + "components.Discover.DiscoverMovies.sortTitleDesc": "Titel aflopend (Z-A)", "components.Discover.DiscoverMovies.sortTmdbRatingAsc": "TMDB-beoordeling oplopend", "components.Discover.DiscoverMovies.sortTmdbRatingDesc": "TMDB-beoordeling aflopend", "components.Discover.DiscoverSliderEdit.deletefail": "Slider verwijderen mislukt.", @@ -1202,7 +1202,7 @@ "components.Discover.FilterSlideover.from": "Van", "components.Discover.FilterSlideover.genres": "Genres", "components.Discover.FilterSlideover.keywords": "Trefwoorden", - "components.Discover.FilterSlideover.originalLanguage": "Originele taal", + "components.Discover.FilterSlideover.originalLanguage": "Oorspronkelijke taal", "components.Discover.FilterSlideover.ratingText": "Beoordelingen tussen {minValue} en {maxValue}", "components.Discover.FilterSlideover.releaseDate": "Releasedatum", "components.Discover.FilterSlideover.runtime": "Duur", @@ -1262,18 +1262,87 @@ "components.Settings.SettingsJobsCache.availability-sync": "Synchronisatie van mediabeschikbaarheid", "components.Discover.tmdbmoviestreamingservices": "Streamingdiensten voor films TMDB", "components.Discover.tmdbtvstreamingservices": "Streamingdiensten voor series TMDB", - "components.Discover.FilterSlideover.tmdbuservotecount": "Aantal stemmen TMDB-gebruikers", - "components.Discover.FilterSlideover.voteCount": "Aantal stemmen tussen {minValue} en {maxValue}", - "components.Settings.RadarrModal.tagRequests": "Tagverzoeken", - "components.Settings.RadarrModal.tagRequestsInfo": "Voeg automatisch een extra tag toe met de gebruikers-ID en weergavenaam van de aanvrager", - "components.MovieDetails.imdbuserscore": "Gebruikersscore IMDB", - "components.Settings.SonarrModal.tagRequests": "Tagverzoeken", - "components.Settings.SonarrModal.tagRequestsInfo": "Voeg automatisch een extra tag toe met de gebruikers-ID en weergavenaam van de aanvrager", - "i18n.collection": "Collectie", - "components.Settings.Notifications.NotificationsPushover.sound": "Meldingsgeluid", - "components.UserProfile.UserSettings.UserNotificationSettings.deviceDefault": "Apparaatstandaard", + "components.Login.validationhostrequired": "{mediaServerName}-URL vereist", + "components.Layout.UserWarnings.emailInvalid": "E-mailadres is ongeldig.", + "components.Login.description": "Aangezien dit de eerste keer is dat je je aanmeldt bij {applicationName}, dien je een geldig e-mailadres op te geven.", + "components.Login.saving": "Toevoegen…", + "components.ManageSlideOver.removearr": "Verwijderen van {arr}", + "components.Settings.RadarrModal.tagRequests": "Aanvragen taggen", + "components.MovieDetails.openradarr4k": "Film openen in 4K-Radarr", + "components.Settings.RadarrModal.tagRequestsInfo": "Automatisch een extra label toevoegen met de gebruikers-id en weergavenaam van de aanvrager", "components.Settings.SonarrModal.animeSeriesType": "Serietype anime", + "components.Settings.SonarrModal.tagRequestsInfo": "Automatisch een extra label toevoegen met de gebruikers-id en weergavenaam van de aanvrager", + "components.Settings.internalUrl": "Interne URL", + "components.Settings.jellyfinsettings": "{mediaServerName}-instellingen", + "components.Settings.jellyfinlibrariesDescription": "De {mediaServerName}-bibliotheken die op titels worden gescand. Klik op onderstaande knop als er geen bibliotheken in de lijst staan.", + "components.Settings.manualscanDescriptionJellyfin": "Normaliter wordt dit eenmaal per 24 uur uitgevoerd. Jellyseerr zal de lijst met onlangs toegevoegde media op je {mediaServerName}-server vaker controleren. Als dit de eerste keer is dat je Jellyseerr instelt, wordt aanbevolen eenmalig een handmatige, volledige bibliotheekscan uit te voeren!", + "components.Settings.save": "Wijzigingen opslaan", + "components.Settings.syncJellyfin": "Bibliotheken synchoniseren", + "components.TvDetails.play": "Afspelen op {mediaServerName}", + "components.Discover.FilterSlideover.tmdbuservotecount": "Aantal gebruikersstemmen TMDB", + "components.Login.save": "Toevoegen", + "components.ManageSlideOver.manageModalRemoveMediaWarning": "* Hiermee wordt deze {mediaType} onomkeerbaar verwijderd van {arr}, inclusief alle bestanden.", + "components.Settings.Notifications.NotificationsPushover.deviceDefault": "Apparaatstandaard", + "components.Settings.Notifications.userEmailRequired": "Gebruikerse-mail vereisen", + "components.Settings.SettingsAbout.supportjellyseerr": "Jellyseerr ondersteunen", "components.Settings.SonarrModal.seriesType": "Serietype", + "components.Settings.jellyfinSettings": "{mediaServerName}-instellingen", + "components.Setup.configuremediaserver": "Mediaserver instellen", + "components.TvDetails.play4k": "Afspelen op {mediaServerName} in 4K", + "components.UserList.mediaServerUser": "{mediaServerName}-gebruiker", + "components.UserList.noJellyfinuserstoimport": "Er zijn geen {mediaServerName}-gebruikers om te importeren.", + "components.UserProfile.UserSettings.UserGeneralSettings.email": "E-mail", + "components.UserProfile.UserSettings.UserNotificationSettings.deviceDefault": "Apparaatstandaard", "components.UserProfile.UserSettings.UserNotificationSettings.sound": "Meldingsgeluid", - "components.Settings.Notifications.NotificationsPushover.deviceDefault": "Apparaatstandaard" + "components.Login.signinwithjellyfin": "{mediaServerName}-account gebruiken", + "components.Discover.FilterSlideover.voteCount": "Aantal stemmen tussen {minValue} en {maxValue}", + "components.Layout.UserWarnings.emailRequired": "Een e-mailadres is vereist.", + "components.Layout.UserWarnings.passwordRequired": "Een wachtwoord is vereist.", + "components.Login.credentialerror": "Gebruikersnaam of wachtwoord is onjuist.", + "components.Login.emailtooltip": "Het adres hoeft niet gelieerd te zijn aan je {mediaServerName}-instantie.", + "components.Login.host": "{mediaServerName}-URL", + "components.Login.initialsignin": "Verbinden", + "components.Login.initialsigningin": "Verbinden…", + "components.Login.title": "E-mail toevoegen", + "components.Login.username": "Gebruikersnaam", + "components.Login.validationEmailRequired": "Je moet een e-mailadres opgeven", + "components.Login.validationEmailFormat": "Ongeldig e-mailadres", + "components.Login.validationemailformat": "Geldig e-mailadres vereist", + "components.Login.validationhostformat": "Geldige URL vereist", + "components.Login.validationusernamerequired": "Gebruikersnaam vereist", + "components.ManageSlideOver.removearr4k": "Verwijderen van 4K-{arr}", + "components.MovieDetails.downloadstatus": "Downloadstatus", + "components.MovieDetails.imdbuserscore": "Gebruikersbeoordeling IMDB", + "components.MovieDetails.openradarr": "Film openen in Radarr", + "components.MovieDetails.play": "Afspelen op {mediaServerName}", + "components.MovieDetails.play4k": "Afspelen op {mediaServerName} in 4K", + "components.Settings.Notifications.NotificationsPushover.sound": "Meldingsgeluid", + "components.Settings.SonarrModal.tagRequests": "Aanvragen taggen", + "components.Settings.jellyfinSettingsFailure": "Er is iets misgegaan bij het opslaan van de {mediaServerName}-instellingen.", + "components.Settings.jellyfinSettingsSuccess": "{mediaServerName}-instellingen opgeslagen!", + "components.Settings.jellyfinlibraries": "{mediaServerName}-bibliotheken", + "components.Settings.manualscanJellyfin": "Handmatige bibliotheekscan", + "components.Settings.menuJellyfinSettings": "{mediaServerName}", + "components.Settings.saving": "Opslaan…", + "components.Settings.syncing": "Synchroniseren", + "components.Settings.timeout": "Time-out", + "components.Setup.signin": "Aanmelden", + "components.Setup.signinWithJellyfin": "{mediaServerName}-account gebruiken", + "components.TitleCard.addToWatchList": "Toevoegen aan kijklijst", + "components.TitleCard.watchlistError": "Er is iets misgegaan. Probeer het opnieuw.", + "components.UserList.importfromJellyfin": "{mediaServerName}-gebruikers importeren", + "components.UserList.importfromJellyfinerror": "Er is iets misgegaan bij het importeren van {mediaServerName}-gebruikers.", + "components.UserProfile.UserSettings.UserGeneralSettings.mediaServerUser": "{mediaServerName}-gebruiker", + "components.UserProfile.UserSettings.UserGeneralSettings.save": "Wijzigingen opslaan", + "components.UserProfile.UserSettings.UserGeneralSettings.saving": "Opslaan…", + "i18n.collection": "Collectie", + "components.UserProfile.localWatchlist": "Kijklijst van {username}", + "components.Setup.signinWithPlex": "Plex-account gebruiken", + "components.Settings.jellyfinSettingsDescription": "Optioneel, configureer de interne en externe eindpunten voor uw {mediaServerName} server. In de meeste gevallen verschilt de externe URL met de interne URL. Een aangepaste wachtwoord reset URL kan ook gebruikt worden voor de {mediaServerName} login, voor het geval dat u doorverwezen wilt worden naar een andere wachtwoord reset pagina.", + "components.Settings.jellyfinsettingsDescription": "Configureer de instellingen voor uw {mediaServerName} server. {mediaServerName} scanned uw {mediaServerName} bibliotheken om te zien welke content beschikbaar is.", + "components.TitleCard.watchlistDeleted": "{title} Is succesvol verwijderd van de kijklijst!", + "components.TitleCard.watchlistSuccess": "{title} succesvol toegevoegd aan de kijklijst!", + "components.TitleCard.watchlistCancel": "kijklijst voor {title} is geannuleerd.", + "components.UserList.importedfromJellyfin": "{userCount} {mediaServerName} {userCount, plural, one {user} other {users}} succesvol geimporteerd!", + "components.UserList.newJellyfinsigninenabled": "De Gebruik Nieuwe {mediaServerName} Login instelling staat momenteel aan. {mediaServerName} gebruikers met toegang tot de bibliotheek, hoeven niet geïmporteerd te worden om in te kunnen loggen." } diff --git a/src/i18n/locale/pl.json b/src/i18n/locale/pl.json index 22aa6229..dba8656f 100644 --- a/src/i18n/locale/pl.json +++ b/src/i18n/locale/pl.json @@ -1061,196 +1061,212 @@ "components.MovieDetails.rtaudiencescore": "Ocena Rotten Tomatoes", "components.MovieDetails.rtcriticsscore": "Tomatometer Rotten Tomatoes", "components.MovieDetails.tmdbuserscore": "Ocena użytkowników TMDB", - "components.Settings.SettingsJobsCache.editJobScheduleCurrent": "Bieżąca częstotliwość", - "components.TvDetails.seasonnumber": "Sezon {seasonNumber}", - "components.TvDetails.seasonstitle": "Sezony", - "components.Settings.SettingsJobsCache.imagecache": "Pamięć podręczna obrazów", - "components.PermissionEdit.viewrecent": "Wyświetl ostatnio dodane", - "components.PermissionEdit.viewrecentDescription": "Przyznaj uprawnienia do przeglądania listy ostatnio dodanych multimediów.", - "components.TitleCard.cleardata": "Wyczyść dane", - "components.RequestList.RequestItem.tmdbid": "Identyfikator TMDB", - "components.RequestList.RequestItem.tvdbid": "Identyfikator TVDB", - "components.TitleCard.tmdbid": "Identyfikator TMDB", - "components.Settings.SettingsJobsCache.plex-watchlist-sync": "Synchronizacja listy obserwowanych Plex", - "components.TitleCard.mediaerror": "Nie znaleziono {mediaType}", - "components.TitleCard.tvdbid": "Identyfikator TVDB", - "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseriestip": "Automatyczne zamawianie filmów z listy obserwowanych Plex", - "components.PermissionEdit.autorequestSeriesDescription": "Udziel zgody na automatyczne przesyłanie próśb dotyczących multimediów innych niż 4K za pośrednictwem listy obserwowanych Plex.", - "components.PermissionEdit.viewwatchlists": "Wyświetlanie list obserwacyjnych Plex", - "components.PermissionEdit.viewwatchlistsDescription": "Przyznaj uprawnienia do przeglądania list obserwowanych Plex innych użytkowników.", - "components.RequestCard.tmdbid": "Identyfikator TMDB", - "components.RequestCard.tvdbid": "Identyfikator TVDB", - "components.Settings.SettingsLogs.viewdetails": "Zobacz szczegóły", - "components.Settings.restartrequiredTooltip": "Overseerr musi zostać ponownie uruchomiony, aby zmiany tego ustawienia zaczęły obowiązywać", - "components.TvDetails.reportissue": "Zgłoś problem", - "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseries": "Automatyczna prośba o serial", - "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmoviestip": "Automatyczne zamawianie filmów z listy obserwowanych Plex", - "components.UserProfile.plexwatchlist": "Lista obserwowanych Plex", - "components.RequestCard.cancelrequest": "Anuluj prośbę", - "components.RequestCard.declinerequest": "Odrzuć prośbę", - "components.RequestCard.approverequest": "Zatwierdź prośbę", - "components.DownloadBlock.formattedTitle": "{title}: Sezon {seasonNumber} Odcinek {episodeNumber}", - "components.RequestBlock.approve": "Zatwierdź prośbę", - "components.RequestBlock.decline": "Odrzuć prośbę", - "components.RequestBlock.delete": "Usuń prośbę", - "components.RequestBlock.edit": "Edytuj prośbę", - "components.RequestBlock.lastmodifiedby": "Ostatnio zmodyfikowane przez", - "components.RequestBlock.requestdate": "Data złożenia prośby", - "components.RequestBlock.requestedby": "Prośba zgłoszona przez", - "components.RequestCard.editrequest": "Edytuj prośbę", - "components.RequestModal.requestcollection4ktitle": "Poproś o kolekcję w 4K", - "components.RequestModal.requestcollectiontitle": "Poproś o kolekcję", - "components.RequestModal.requestmovie4ktitle": "Poproś o film w 4K", - "components.RequestModal.requestmovietitle": "Poproś o film", - "components.RequestModal.requestseries4ktitle": "Poproś o serial w 4K", - "components.RequestModal.requestseriestitle": "Poproś o serial", - "components.Settings.SettingsJobsCache.image-cache-cleanup": "Czyszczenie pamięci podręcznej obrazów", - "components.Settings.SettingsJobsCache.imagecacheDescription": "Po włączeniu w ustawieniach Overseerr będzie pośredniczyć i buforować obrazy ze wstępnie skonfigurowanych źródeł zewnętrznych. Obrazy z pamięci podręcznej są zapisywane w folderze konfiguracji. Możesz znaleźć pliki w {appDataPath}/cache/images.", - "components.Settings.SettingsJobsCache.imagecachecount": "Obrazy zapisane w pamięci podręcznej", - "components.Settings.SettingsJobsCache.imagecachesize": "Całkowity rozmiar pamięci podręcznej", - "components.Settings.advancedTooltip": "Nieprawidłowe skonfigurowanie tego ustawienia może spowodować nieprawidłowe działanie", - "components.Settings.experimentalTooltip": "Włączenie tego ustawienia może spowodować nieoczekiwane zachowanie aplikacji", - "components.TvDetails.rtaudiencescore": "Ocena publiczności Rotten Tomatoes", - "components.TvDetails.rtcriticsscore": "Rotten Tomatoes Tomatometr", - "components.TvDetails.status4k": "4K {status}", - "components.TvDetails.tmdbuserscore": "Ocena użytkowników TMDB", - "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmovies": "Filmy z próśb automatycznych", - "components.UserProfile.emptywatchlist": "W tym miejscu pojawią się multimedia dodane do listy obserwowanych Plex.", - "components.RequestCard.unknowntitle": "Nieznany tytuł", - "components.RequestList.RequestItem.unknowntitle": "Nieznany tytuł", - "components.StatusBadge.playonplex": "Odtwórz na Plex", - "components.StatusBadge.seasonepisodenumber": "S{seasonNumber}E{episodeNumber}", - "components.TvDetails.Season.noepisodes": "Lista odcinków jest niedostępna.", - "components.TvDetails.Season.somethingwentwrong": "Coś poszło nie tak podczas pobierania danych o sezonie.", - "components.TvDetails.manageseries": "Zarządzaj serialem", - "components.Discover.emptywatchlist": "W tym miejscu pojawią się multimedia dodane do listy obserwowanych Plex.", - "components.RequestModal.SearchByNameModal.nomatches": "Nie udało nam się znaleźć dopasowania do tej serii.", - "components.StatusBadge.managemedia": "Zarządzaj {mediaType}", - "components.StatusBadge.openinarr": "Otwórz w {arr}", - "components.TvDetails.episodeCount": "{episodeCount, plural, one {# Odcinek} other {# Odcinki}}", - "components.Discover.CreateSlider.addSlider": "Dodaj Suwak", - "components.Discover.CreateSlider.addcustomslider": "Utwórz niestandardowy Suwak", - "components.Discover.CreateSlider.addfail": "Nie udało się utworzyć nowego Suwaka.", - "components.Discover.CreateSlider.addsuccess": "Utworzono nowy Suwaki zapisano ustawienia dostosowywania odnajdywania.", - "components.Discover.CreateSlider.editSlider": "Edytuj Suwak", - "components.Discover.CreateSlider.editfail": "Nie udało się edytować Suwaka.", - "components.Discover.CreateSlider.editsuccess": "Edytowano Suwak i zapisano ustawienia odkrywania.", - "components.Discover.CreateSlider.needresults": "Musisz mieć co najmniej 1 wynik.", + "components.Discover.CreateSlider.addSlider": "Dodaj suwak", + "components.Discover.CreateSlider.addcustomslider": "Utwórz niestandardowy suwak", + "components.Discover.CreateSlider.addfail": "Nie udało się utworzyć nowego suwaka.", + "components.Discover.CreateSlider.addsuccess": "Stworzony nowy suwak i zapisano dostosowywania odkrywania.", + "components.Discover.CreateSlider.editSlider": "Edytuj suwak", + "components.Discover.CreateSlider.editfail": "Nie udało się edytować suwaka.", + "components.Discover.CreateSlider.needresults": "Musisz mieć przynajmniej 1 wynik.", "components.Discover.CreateSlider.nooptions": "Brak wyników.", - "components.Discover.CreateSlider.providetmdbgenreid": "Podaj identyfikator gatunku TMDB", - "components.Discover.CreateSlider.providetmdbkeywordid": "Podaj identyfikator słowa kluczowego TMDB", - "components.Discover.CreateSlider.providetmdbnetwork": "Podaj identyfikator platformy TMDB", + "components.Discover.CreateSlider.providetmdbgenreid": "Podaj ID gatunku TMDB", + "components.Discover.CreateSlider.providetmdbnetwork": "Podaj ID stacji TMDB", "components.Discover.CreateSlider.providetmdbsearch": "Podaj zapytanie wyszukiwania", - "components.Discover.CreateSlider.providetmdbstudio": "Podaj identyfikator studia TMDB", + "components.Discover.CreateSlider.providetmdbstudio": "Podaj ID studia TMDB", "components.Discover.CreateSlider.searchGenres": "Szukaj gatunków…", - "components.Discover.CreateSlider.searchKeywords": "Szukaj słów kluczowych…", - "components.Discover.CreateSlider.slidernameplaceholder": "Nazwa slidera", - "components.Discover.CreateSlider.starttyping": "Zacznij pisać, aby wyszukać.", - "components.Discover.CreateSlider.validationDatarequired": "Musisz uzyskać wartość danych.", - "components.Discover.CreateSlider.validationTitlerequired": "Musisz podać tytuł.", - "components.Discover.DiscoverMovieKeyword.keywordMovies": "{keywordTitle} Filmy", - "components.Discover.DiscoverSliderEdit.deletefail": "Nie udało się usunąć slidera.", - "components.Discover.DiscoverSliderEdit.remove": "Usuń", - "components.Discover.DiscoverTvKeyword.keywordSeries": "Serial {keywordTitle}", - "components.Discover.DiscoverMovies.activefilters": "{count, plural, one {# aktywny filtr} other {# aktywnych filtrów}}", + "components.Discover.CreateSlider.searchStudios": "Wyszukaj studia…", + "components.Discover.CreateSlider.slidernameplaceholder": "Nazwa suwaka", + "components.Discover.CreateSlider.starttyping": "Zacznij pisać aby wyszukać.", + "components.Discover.CreateSlider.validationDatarequired": "Należy wprowadzić wartość danych.", + "components.Discover.CreateSlider.validationTitlerequired": "Należy podać tytuł.", + "components.Discover.DiscoverMovieKeyword.keywordMovies": "Filmy: {keywordTitle}", "components.Discover.DiscoverMovies.discovermovies": "Filmy", "components.Discover.DiscoverMovies.sortPopularityAsc": "Popularność rosnąco", "components.Discover.DiscoverMovies.sortPopularityDesc": "Popularność malejąco", - "components.Discover.DiscoverMovies.sortReleaseDateAsc": "Data wydania rosnąco", "components.Discover.DiscoverMovies.sortReleaseDateDesc": "Data wydania malejąco", "components.Discover.DiscoverMovies.sortTitleAsc": "Tytuł (A-Z) rosnąco", "components.Discover.DiscoverMovies.sortTitleDesc": "Tytuł (Z-A) malejąco", "components.Discover.DiscoverMovies.sortTmdbRatingAsc": "Ocena TMDB rosnąco", "components.Discover.DiscoverMovies.sortTmdbRatingDesc": "Ocena TMDB malejąco", - "components.Discover.DiscoverSliderEdit.deletesuccess": "Pomyślnie usunięto slider.", + "components.Discover.DiscoverSliderEdit.deletefail": "Nie udało się usunąć suwaka.", + "components.Discover.DiscoverSliderEdit.deletesuccess": "Pomyślnie usunięto suwak.", "components.Discover.DiscoverSliderEdit.enable": "Przełącz widoczność", - "components.Discover.DiscoverTv.activefilters": "{count, plural, one {# aktywny filtr} other {# aktywnych filtrów}}", - "components.Discover.DiscoverTv.discovertv": "Seriale", - "components.Discover.DiscoverTv.sortFirstAirDateAsc": "Data pierwszej emisji rosnąco", - "components.Discover.DiscoverTv.sortFirstAirDateDesc": "Pierwsza data emisji malejąco", + "components.Discover.DiscoverSliderEdit.remove": "Usuń", + "components.Discover.DiscoverTv.sortFirstAirDateAsc": "Data premiery rosnąco", + "components.Discover.DiscoverTv.sortFirstAirDateDesc": "Data premiery malejąco", "components.Discover.DiscoverTv.sortPopularityAsc": "Popularność rosnąco", "components.Discover.DiscoverTv.sortPopularityDesc": "Popularność malejąco", "components.Discover.DiscoverTv.sortTitleAsc": "Tytuł (A-Z) rosnąco", "components.Discover.DiscoverTv.sortTitleDesc": "Tytuł (Z-A) malejąco", - "components.Discover.DiscoverTv.sortTmdbRatingAsc": "Ocena TMDB rosnąco", "components.Discover.DiscoverTv.sortTmdbRatingDesc": "Ocena TMDB malejąco", - "components.Discover.CreateSlider.searchStudios": "Szukaj studiów…", - "components.Settings.SettingsMain.general": "Ogólne", - "components.Settings.SettingsMain.generalsettings": "Ustawienia ogólne", - "components.Settings.SettingsMain.originallanguageTip": "Filtruj zawartość według języka oryginału", - "components.Discover.PlexWatchlistSlider.emptywatchlist": "W tym miejscu pojawią się multimedia dodane do listy obserwowanych Plex.", - "components.Discover.networks": "Platformy", - "components.Discover.moviegenres": "Gatunki filmowe", - "components.Discover.tmdbnetwork": "Platforma TMDB", - "components.Discover.tmdbstudio": "Studio TMDB", - "components.Discover.PlexWatchlistSlider.plexwatchlist": "Twoja lista obserwowanych Plex", - "components.Discover.createnewslider": "Utwórz nowy suwak", - "components.Discover.customizediscover": "Dostosowywanie funkcji Odkryj", - "components.Discover.resetfailed": "Wystąpił problem podczas resetowania ustawień odnajdywania.", - "components.Discover.resetsuccess": "Pomyślnie zresetowano ustawienia odnajdywania.", - "components.Discover.resetwarning": "Przywróć wszystkie Suwaki do ustawień domyślnych. Spowoduje to również usunięcie wszystkich niestandardowych Suwaków!", - "components.Discover.resettodefault": "Przywróć ustawienia domyślne", - "components.Discover.studios": "Studia", - "components.Discover.tmdbmoviegenre": "Gatunek filmu TMDB", - "components.Discover.tvgenres": "Gatunki serialu", - "components.Settings.SettingsMain.csrfProtectionTip": "Ustaw zewnętrzny dostęp api na tylko do odczytu (wymaga HTTPS)", - "components.Settings.SettingsMain.csrfProtectionHoverTip": "NIE włączaj tego ustawienia, chyba że rozumiesz, co robisz!", - "components.Settings.SettingsMain.generalsettingsDescription": "Skonfiguruj globalne i domyślne ustawienia dla Overseerr.", - "components.Settings.SettingsMain.hideAvailable": "Ukryj dostępne multimedia", - "components.Settings.SettingsMain.trustProxyTip": "Pozwól Overseerr poprawnie rejestrować adresy IP klientów za serwerem proxy", - "components.Settings.SettingsMain.toastSettingsSuccess": "Ustawienia zostały zapisane pomyślnie!", - "components.Settings.SettingsMain.trustProxy": "Włącz obsługę proxy", - "components.Settings.SettingsMain.validationApplicationUrlTrailingSlash": "Adres URL nie może kończyć się ukośnikiem", - "components.Discover.FilterSlideover.activefilters": "{count, plural, one {# aktywny filtr} other {# aktywnych filtrów}}", "components.Discover.FilterSlideover.clearfilters": "Wyczyść aktywne filtry", "components.Discover.FilterSlideover.filters": "Filtry", - "components.Discover.FilterSlideover.firstAirDate": "Pierwsza data emisji", + "components.Discover.FilterSlideover.firstAirDate": "Data pierwszego wyemitowania", "components.Discover.FilterSlideover.from": "Od", "components.Discover.FilterSlideover.genres": "Gatunki", "components.Discover.FilterSlideover.keywords": "Słowa kluczowe", - "components.Discover.FilterSlideover.originalLanguage": "Język oryginalny", - "components.Discover.FilterSlideover.ratingText": "Oceny pomiędzy {minValue} a {maxValue}", + "components.Discover.FilterSlideover.ratingText": "Oceny między {minValue} a {maxValue}", + "components.Discover.CreateSlider.providetmdbkeywordid": "Podaj ID słowa kluczowego TMDB", + "components.Discover.CreateSlider.searchKeywords": "Wyszukaj słowa kluczowe…", + "components.Discover.DiscoverMovies.sortReleaseDateAsc": "Data wydania rosnąco", + "components.Discover.DiscoverTv.discovertv": "Seriale", + "components.Discover.DiscoverTv.sortTmdbRatingAsc": "Ocena TMDB rosnąco", + "components.Discover.DiscoverTvKeyword.keywordSeries": "Seriale: {keywordTitle}", + "components.Discover.FilterSlideover.originalLanguage": "Oryginalny język", "components.Discover.FilterSlideover.releaseDate": "Data wydania", - "components.Discover.FilterSlideover.runtimeText": "{minValue}-{maxValue} czas odtwarzania w minutach", - "components.Discover.FilterSlideover.runtime": "Czas odtwarzania", - "components.Discover.FilterSlideover.tmdbuserscore": "Ocena użytkowników TMDB", + "components.Discover.FilterSlideover.runtime": "Długość", + "components.Discover.FilterSlideover.runtimeText": "{minValue}-{maxValue} minut trwania", + "components.Discover.FilterSlideover.streamingservices": "Serwisy streamingowe", + "components.Discover.FilterSlideover.studio": "Studio", + "components.Discover.FilterSlideover.tmdbuservotecount": "Liczba głosów użytkowników TMDB", "components.Discover.FilterSlideover.to": "Do", - "components.Discover.RecentlyAddedSlider.recentlyAdded": "Ostatnio dodane", - "components.Discover.stopediting": "Zatrzymaj edycję", - "components.Discover.tmdbmoviekeyword": "Słowo kluczowe filmu TMDB", - "components.Discover.tmdbsearch": "Wyszukiwanie TMDB", - "components.Layout.Sidebar.browsemovies": "Filmy", - "components.Layout.Sidebar.browsetv": "Seriale", - "components.Selector.searchGenres": "Wybierz gatunki…", - "components.Selector.searchKeywords": "Szukaj słów kluczowych…", - "components.Selector.showmore": "Pokaż więcej", - "components.Selector.starttyping": "Zacznij pisać, aby wyszukać.", - "components.Settings.SettingsMain.applicationTitle": "Tytuł aplikacji", - "components.Settings.SettingsMain.applicationurl": "Adres URL aplikacji", - "components.Settings.SettingsMain.cacheImages": "Włącz buforowanie obrazów", - "components.Settings.SettingsMain.csrfProtection": "Włącz ochronę CSRF", - "components.Settings.SettingsMain.locale": "Język wyświetlania", - "components.Settings.SettingsMain.originallanguage": "Odkryj język", - "components.Settings.SettingsMain.partialRequestsEnabled": "Zezwalaj na prośby o część serialu", - "components.Settings.SettingsMain.region": "Odkryj region", - "components.Settings.SettingsMain.regionTip": "Filtruj zawartość według dostępności regionalnej", - "components.Settings.SettingsMain.toastApiKeyFailure": "Coś poszło nie tak podczas generowania nowego klucza API.", - "components.Settings.SettingsMain.toastApiKeySuccess": "Nowy klucz API został pomyślnie wygenerowany!", - "components.Settings.SettingsMain.validationApplicationTitle": "Należy podać tytuł aplikacji", - "components.Settings.SettingsMain.validationApplicationUrl": "Musisz podać prawidłowy adres URL", - "components.Discover.FilterSlideover.streamingservices": "Usługi streamingowe", - "components.Discover.FilterSlideover.studio": "Studia", - "components.Discover.tmdbtvgenre": "Gatunek serialu TMDB", + "components.Discover.FilterSlideover.voteCount": "Liczba głosów między {minValue} a {maxValue}", + "components.Discover.PlexWatchlistSlider.plexwatchlist": "Twoja lista obserwowanych Plex", + "components.Discover.RecentlyAddedSlider.recentlyAdded": "Niedawno dodane", + "components.Discover.createnewslider": "Dodaj nowy suwak", + "components.Discover.customizediscover": "Dostosuj Odkryj", + "components.Discover.PlexWatchlistSlider.emptywatchlist": "Media dodane do twojej listy obserwowanych Plex zostaną wyświetlone tutaj.", + "components.Discover.emptywatchlist": "Media dodane do twojej listy obserwowanych Plex zostaną wyświetlone tutaj.", + "components.Discover.tmdbstudio": "Studio TMDB", "components.Discover.tmdbtvkeyword": "Słowo kluczowe serialu TMDB", - "components.Discover.updatesuccess": "Zaktualizowano ustawienia odnajdywania.", - "components.Selector.nooptions": "Brak wyników.", + "components.Discover.tmdbtvgenre": "Gatunek serialu TMDB", + "components.Discover.tmdbsearch": "Wyszukiwanie TMDB", + "components.Discover.FilterSlideover.tmdbuserscore": "Ocena użytkownika TMDB", + "components.Discover.moviegenres": "Gatunki filmu", + "components.Discover.networks": "Kanały", + "components.Discover.CreateSlider.editsuccess": "Edytowano suwak i zapisano ustawienia personalizacji.", + "components.Discover.stopediting": "Zakończ edytowanie", + "components.Discover.studios": "Studia", + "components.DownloadBlock.formattedTitle": "{title}: Sezon {seasonNumber} Odcinek {episodeNumber}", + "components.Discover.tvgenres": "Gatunki seriali", + "components.Discover.updatefailed": "Coś poszło nie tak podczas aktualizacji ustawień personalizacji wykrywania.", + "components.Discover.updatesuccess": "Zaktualizowano ustawienia personalizacji wykrywania.", + "components.Discover.resettodefault": "Przywróć domyślne", + "components.Discover.resetfailed": "Coś poszło nie tak podczas resetowania ustawień personalizacji wykrywania.", + "components.Discover.resetsuccess": "Pomyślnie zresetowano ustawienia wykrywania.", + "components.Discover.tmdbmoviegenre": "Gatunek filmu TMDB", + "components.Layout.Sidebar.browsetv": "Seriale", + "components.Layout.UserWarnings.emailInvalid": "Adres e-mail jest nieprawidłowy.", + "components.Layout.UserWarnings.passwordRequired": "Wymagane jest podanie hasła.", + "components.Login.credentialerror": "Nazwa użytkownika lub hasło są nieprawidłowe.", + "components.Login.emailtooltip": "Adres nie musi być powiązany z instancją {mediaServerName}.", + "components.Login.host": "{mediaServerName} URL", + "components.Login.initialsignin": "Połącz", + "components.Login.initialsigningin": "Łączenie…", + "components.Login.save": "Reklama", + "components.Login.saving": "Dodaję…", + "components.Login.signinwithjellyfin": "Użyj swojego konta {mediaServerName}", + "components.Login.title": "Dodaj e-mail", + "components.Login.username": "Nazwa użytkownika", + "components.Login.validationEmailRequired": "Musisz podać adres e-mail", + "components.Login.validationemailformat": "Wymagany poprawny adres e-mail", + "components.Login.validationhostformat": "Wymagany poprawny adres URL", + "components.Login.validationhostrequired": "{mediaServerName} URL wymagany", + "components.Login.validationusernamerequired": "Wymagana nazwa użytkownika", + "components.ManageSlideOver.removearr4k": "Usuń z 4k {arr}", + "components.MovieDetails.downloadstatus": "Status pobierania", + "components.MovieDetails.openradarr4k": "Otwórz film 4k w Radarr", + "components.MovieDetails.play": "Odtwórz na {mediaServerName}", + "components.MovieDetails.play4k": "Odtwórz w 4K na {mediaServerName}", + "components.PermissionEdit.viewrecent": "Wyświetl ostatnio dodane", + "components.PermissionEdit.viewrecentDescription": "Zezwolenie na wyświetlanie listy ostatnio dodanych multimediów.", + "components.RequestBlock.approve": "Zatwierdź żądanie", + "components.RequestBlock.decline": "Odrzuć żądanie", + "components.RequestBlock.delete": "Usuń żądanie", + "components.RequestBlock.lastmodifiedby": "Ostatnio modyfikowany przez", + "components.RequestBlock.requestdate": "Data żądania", + "components.RequestBlock.requestedby": "Żądany przez", + "components.RequestCard.cancelrequest": "Anuluj prośbę", + "components.RequestCard.declinerequest": "Odrzuć prośbę", + "components.RequestCard.editrequest": "Edytuj prośbę", + "components.RequestCard.unknowntitle": "Nieznany tytuł", + "components.RequestModal.requestcollectiontitle": "Poproś o kolekcję", + "components.RequestModal.requestmovie4ktitle": "Poproś o film w 4K", + "components.RequestModal.requestmovietitle": "Poproś o film", + "components.RequestModal.requestseries4ktitle": "Poproś o serial w 4K", + "components.RequestModal.requestseriestitle": "Poproś o serial", + "components.Selector.searchGenres": "Wybierz gatunki…", + "components.Selector.searchKeywords": "Wyszukaj słowa kluczowe…", "components.Selector.searchStudios": "Szukaj studiów…", "components.Selector.showless": "Pokaż mniej", - "components.Discover.updatefailed": "Wystąpił problem podczas aktualizowania ustawień odnajdywania.", + "components.Selector.starttyping": "Rozpocznij wpisywanie, aby wyszukać.", + "components.Settings.SettingsJobsCache.jellyfin-recently-added-scan": "Ostatnio dodane skanowanie Jellyfin", "components.Settings.SettingsMain.apikey": "Klucz API", - "components.Settings.SettingsMain.cacheImagesTip": "Pamięć podręczna dla obrazów pochodzących z zewnętrznych źródeł (wymaga znacznej ilości miejsca na dysku)", + "components.Settings.SettingsMain.applicationTitle": "Nazwa aplikacji", + "components.Settings.SettingsMain.applicationurl": "URL aplikacji", + "components.Settings.SettingsMain.csrfProtection": "Włącz ochronę CSRF", + "components.Settings.SettingsMain.csrfProtectionHoverTip": "NIE włączaj tego ustawienia, jeśli nie rozumiesz, co robisz!", + "components.Settings.SettingsMain.csrfProtectionTip": "Ustawienie dostępu do zewnętrznego API tylko do odczytu (wymaga HTTPS)", + "components.Settings.SettingsMain.general": "Ogólne", + "components.Settings.SettingsMain.generalsettings": "Ustawienia ogólne", + "components.Settings.SettingsMain.generalsettingsDescription": "Konfiguracja globalnych i domyślnych ustawień Overseerr.", + "components.Settings.SettingsMain.hideAvailable": "Ukryj dostępne media", + "components.Settings.SettingsMain.locale": "Wyświetlany język", + "components.Settings.SettingsMain.partialRequestsEnabled": "Zezwalaj na częściowe żądania seriali", + "components.Settings.SettingsMain.region": "Region odkrywania", + "components.Settings.SettingsMain.regionTip": "Filtrowanie zawartości według dostępności regionalnej", "components.Settings.SettingsMain.toastSettingsFailure": "Coś poszło nie tak podczas zapisywania ustawień.", - "i18n.collection": "Kolekcja", - "components.MovieDetails.imdbuserscore": "Ocena użytkowników IMDB", - "components.Settings.SonarrModal.seriesType": "Typ serialu" + "components.Settings.SettingsMain.trustProxyTip": "Umożliwienie Overseerr poprawnego rejestrowania adresów IP klientów za serwerem proxy", + "components.Settings.jellyfinSettings": "{mediaServerName} Ustawienia", + "components.Settings.jellyfinSettingsFailure": "Coś poszło nie tak podczas zapisywania ustawień {mediaServerName}.", + "components.Settings.jellyfinSettingsSuccess": "Ustawienia {mediaServerName} zostały pomyślnie zapisane!", + "components.Settings.jellyfinlibrariesDescription": "Biblioteki {mediaServerName} skanują w poszukiwaniu tytułów. Kliknij poniższy przycisk, jeśli na liście nie ma żadnych bibliotek.", + "components.Settings.jellyfinsettings": "{mediaServerName} ustawienia", + "components.Settings.jellyfinsettingsDescription": "Konfiguracja ustawień serwera {mediaServerName}. {mediaServerName} skanuje biblioteki {mediaServerName}, aby sprawdzić, jaka zawartość jest dostępna.", + "components.Settings.manualscanJellyfin": "Ręczne skanowanie biblioteki", + "components.Settings.saving": "Zapisywanie…", + "components.Settings.syncing": "Synchronizowanie", + "components.Setup.signinWithPlex": "Użyj konta Plex", + "components.StatusBadge.openinarr": "Otwórz w {arr}", + "components.StatusBadge.playonplex": "Odtwórz na {mediaServerName}", + "components.TitleCard.watchlistError": "Coś poszło nie tak, spróbuj ponownie.", + "components.TvDetails.Season.somethingwentwrong": "Coś poszło nie tak podczas pobierania danych sezonu.", + "components.TvDetails.seasonnumber": "Sezon {seasonNumber}", + "components.TvDetails.seasonstitle": "Sezony", + "components.TvDetails.status4k": "4K {status}", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmovies": "Automatyczne żądania filmów", + "components.UserProfile.UserSettings.UserGeneralSettings.save": "Zapisz zmiany", + "components.UserProfile.UserSettings.UserGeneralSettings.saving": "Zapisywanie…", + "components.Layout.Sidebar.browsemovies": "Filmy", + "components.Login.validationEmailFormat": "Nieprawidłowy adres e-mail", + "components.RequestModal.SearchByNameModal.nomatches": "Nie udało nam się znaleźć odpowiednika dla tego serialu.", + "components.Selector.showmore": "Pokaż więcej", + "components.Settings.SettingsMain.cacheImagesTip": "Pamięć podręczna obrazów pochodzących z zewnątrz (wymaga znacznej ilości miejsca na dysku)", + "components.Settings.SettingsMain.originallanguageTip": "Filtrowanie zawartości według oryginalnego języka", + "components.Settings.SettingsMain.toastSettingsSuccess": "Ustawienia zapisane pomyślnie!", + "components.Settings.experimentalTooltip": "Włączenie tego ustawienia może spowodować nieoczekiwane zachowanie aplikacji", + "components.UserList.mediaServerUser": "{mediaServerName} Użytkownik", + "components.UserProfile.UserSettings.UserGeneralSettings.email": "Email", + "components.Discover.resetwarning": "Przywróć domyślne ustawienia wszystkich suwaków. Spowoduje to również usunięcie wszystkich niestandardowych suwaków!", + "components.Layout.UserWarnings.emailRequired": "Wymagany jest adres e-mail.", + "components.MovieDetails.openradarr": "Otwórz film w Radarr", + "components.RequestModal.requestcollection4ktitle": "Poproś o kolekcję w 4K", + "components.Setup.signinWithJellyfin": "Użyj konta {mediaServerName}", + "components.Login.description": "Ponieważ logujesz się do {applicationName} po raz pierwszy, musisz dodać prawidłowy adres e-mail.", + "components.ManageSlideOver.manageModalRemoveMediaWarning": "* Spowoduje to nieodwracalne usunięcie tego {mediaType} z {arr}, w tym wszystkich plików.", + "components.ManageSlideOver.removearr": "Usuń z {arr}", + "components.PermissionEdit.autorequestSeriesDescription": "Zezwolenie na automatyczne przesyłanie żądań dotyczących seriali innych niż 4K za pośrednictwem listy obserwowanych Plex.", + "components.PermissionEdit.viewwatchlists": "Wyświetl {mediaServerName} watchlistę", + "components.RequestCard.approverequest": "Zaakceptuj prośbę", + "components.Settings.RadarrModal.tagRequestsInfo": "Automatycznie dodawaj dodatkowy znacznik z identyfikatorem użytkownika i wyświetlaną nazwą użytkownika", + "components.Settings.SettingsAbout.supportjellyseerr": "Wspomóż Jellyseerr", + "components.Settings.SettingsJobsCache.jellyfin-full-scan": "Pełne skanowanie bibliotek Jellyfin", + "components.Settings.SettingsLogs.viewdetails": "Zobacz szczegóły", + "components.Settings.jellyfinSettingsDescription": "Opcjonalnie skonfiguruj wewnętrzne i zewnętrzne punkty końcowe dla serwera {mediaServerName}. W większości przypadków zewnętrzny adres URL różni się od wewnętrznego adresu URL. Niestandardowy adres URL resetowania hasła można również ustawić dla logowania {mediaServerName}, na wypadek gdybyś chciał przekierować na inną stronę resetowania hasła.", + "components.Settings.save": "Zapisz zmiany", + "components.Settings.syncJellyfin": "Synchronizuj biblioteki", + "components.TvDetails.Season.noepisodes": "Lista odcinków jest niedostępna.", + "components.Settings.Notifications.NotificationsPushover.sound": "Dźwięk powiadomień", + "components.Settings.RadarrModal.tagRequests": "Żądania tagów", + "components.Settings.SettingsJobsCache.editJobScheduleCurrent": "Aktualna częstotliwość", + "components.Settings.SettingsMain.validationApplicationTitle": "Musisz podać tytuł aplikacji", + "components.Settings.SonarrModal.seriesType": "Typ seriali", + "components.Settings.advancedTooltip": "Nieprawidłowe skonfigurowanie tego ustawienia może spowodować nieprawidłowe działanie", + "components.TvDetails.reportissue": "Zgłoś problem", + "components.RequestBlock.edit": "Edytuj żądanie", + "components.RequestList.RequestItem.unknowntitle": "Nieznany tytuł", + "components.Selector.nooptions": "Brak wyników.", + "components.Settings.Notifications.NotificationsPushover.deviceDefault": "Domyślne urządzenie", + "components.Settings.Notifications.userEmailRequired": "Wymagaj adresu e-mail użytkownika", + "components.Settings.manualscanDescriptionJellyfin": "Zwykle będzie to uruchamiane tylko raz na 24 godziny. Jellyseerr będzie bardziej agresywnie sprawdzać ostatnio dodane biblioteki serwera {mediaServerName}. Jeśli po raz pierwszy konfigurujesz Jellyseerr, zalecane jest jednorazowe pełne ręczne skanowanie biblioteki!" } diff --git a/src/i18n/locale/pt_BR.json b/src/i18n/locale/pt_BR.json index bce31a5b..ca8f07a3 100644 --- a/src/i18n/locale/pt_BR.json +++ b/src/i18n/locale/pt_BR.json @@ -1257,9 +1257,35 @@ "components.Discover.FilterSlideover.tmdbuservotecount": "Qtd de Votos de Usuários TMDB", "components.Discover.FilterSlideover.voteCount": "Qtd the votos entre {minValue} e {maxValue}", "components.Settings.RadarrModal.tagRequestsInfo": "Adicione automaticamente uma tag extra com o ID de usuário e o nome de exibição do solicitante", - "i18n.collection": "Coleção", - "components.MovieDetails.imdbuserscore": "Pontuação de usuário IMDB", - "components.Settings.SonarrModal.tagRequestsInfo": "Adiciona automaticamente uma tag adicional com o ID de usuário e nome de exibição de quem pediu", - "components.Settings.SonarrModal.tagRequests": "Marcar Pedidos", - "components.Settings.RadarrModal.tagRequests": "Marcar Pedidos" + "components.Layout.UserWarnings.emailRequired": "Um endereço de e-mail é necessário.", + "components.Login.credentialerror": "O nome de usuário ou senha está incorreto.", + "components.Login.description": "Já que é sua primeira vez entrando em {applicationName}, você precisa adicionar um e-mail válido.", + "components.Login.host": "URL de {mediaServerName}", + "components.Login.initialsignin": "Conectar", + "components.Login.initialsigningin": "Conectando…", + "components.Login.save": "Adicionar", + "components.Login.saving": "Adicionando…", + "components.Login.signinwithjellyfin": "Use sua conta de {mediaServerName}", + "components.Login.title": "Adicionar E-Mail", + "components.Login.username": "Nome de usuário", + "components.Login.validationEmailFormat": "E-mail inválido", + "components.Login.validationEmailRequired": "Você precisa providenciar um e-mail", + "components.Login.validationemailformat": "E-mail válido necessário", + "components.Login.validationhostformat": "URL válido necessário", + "components.Login.validationusernamerequired": "Nome de usuário necessário", + "components.ManageSlideOver.removearr": "Remover de {arr}", + "components.ManageSlideOver.removearr4k": "Remover de {arr} 4K", + "components.MovieDetails.downloadstatus": "Status de download", + "components.MovieDetails.imdbuserscore": "Avaliação de usuário no IMDB", + "components.MovieDetails.openradarr": "Abrir filme no Radarr", + "components.Settings.Notifications.NotificationsPushover.sound": "Som de notificação", + "components.Login.emailtooltip": "Endereço não precisa ser associado à sua instância de {mediaServerName}.", + "components.Layout.UserWarnings.emailInvalid": "Endereço de e-mail inválido.", + "components.Layout.UserWarnings.passwordRequired": "Uma senha é necessária.", + "components.Settings.Notifications.NotificationsPushover.deviceDefault": "Padrão do dispositivo", + "components.Login.validationhostrequired": "URL de {mediaServerName} necessário", + "components.MovieDetails.openradarr4k": "Abrir filme em Radarr 4K", + "components.MovieDetails.play": "Reproduzir em {mediaServerName}", + "components.ManageSlideOver.manageModalRemoveMediaWarning": "* Isto irá remover este {mediaType} de {arr}, incluindo todos os arquivos.", + "components.MovieDetails.play4k": "Reproduzir em 4K em {mediaServerName}" } diff --git a/src/i18n/locale/ro.json b/src/i18n/locale/ro.json index 5b399a79..be5997a6 100644 --- a/src/i18n/locale/ro.json +++ b/src/i18n/locale/ro.json @@ -370,7 +370,7 @@ "components.PlexLoginButton.signinwithplex": "Conectat", "components.QuotaSelector.movieRequests": "{quotaLimit} {movies} per {quotaDays} {days}", "components.PersonDetails.lifespan": "{birthdate} – {deathdate}", - "components.RequestBlock.seasons": "{seasonCount, plural, one {Sezon} other {Sezoane}}", + "components.RequestBlock.seasons": "{seasonCount, plural, un {Season} alte {Seasons}}", "components.PermissionEdit.requestMoviesDescription": "Acordați permisiunea de a trimite solicitări pentru filme non-4K.", "components.PermissionEdit.viewissuesDescription": "Acordați permisiunea de a vizualiza problemele media raportate de alți utilizatori.", "components.PermissionEdit.viewwatchlistsDescription": "Acordați permisiunea de a vizualiza listele de urmărire Plex ale altor utilizatori.", @@ -403,62 +403,40 @@ "components.RequestBlock.approve": "Aprobă Solicitarea", "components.RequestBlock.decline": "Respinge Solicitarea", "components.RequestBlock.requestedby": "Solicitat de", - "components.RequestButton.approve4krequests": "Aprobă {requestCount, plural, one {Cerere 4K} other {{requestCount} Cereri 4K}}", + "components.RequestButton.approve4krequests": "Aprobă {requestCount, plural, o {4K Request} alte {{requestCount} 4K Requests}}", "components.RequestBlock.lastmodifiedby": "Ultima Dată Modificat de", "components.RequestBlock.profilechanged": "Profil Calitate", "components.RequestBlock.requestdate": "Dată Solicitare", - "components.RequestButton.approverequests": "Aprobă {requestCount, plural, one {Cerere} other {{requestCount} Cereri}}", - "components.RequestButton.requestmore4k": "Cere mai mult în 4K", - "components.RequestButton.approverequest4k": "Aproba Cereri 4K", - "components.RequestCard.tmdbid": "ID TMDB", - "components.RequestCard.failedretry": "A apărut o eroare la reîncercarea solicitării.", - "components.RequestButton.declinerequest": "Respinge Cerere", - "components.RequestCard.seasons": "{seasonCount, plural, one {Sezon} other {Sezoane}}", - "components.RequestCard.declinerequest": "Respinge Cererea", - "components.RequestButton.viewrequest": "Vezi Cerere", - "components.RequestButton.declinerequests": "Respinge {requestCount, plural, one {Cererea} other {{requestCount} Cererile}}", - "components.RequestCard.mediaerror": "{mediaType} Nu a fost găsit", - "components.RequestCard.editrequest": "Editează Cererea", - "components.RequestButton.viewrequest4k": "Vezi Cerere 4K", - "components.RequestButton.decline4krequests": "Respinge {requestCount, plural, one {Cererea 4K} other {{requestCount} Cererile 4K}}", - "components.RequestButton.declinerequest4k": "Respinge Cerere 4K", - "components.RequestCard.approverequest": "Aprobă Cererea", - "components.RequestButton.approverequest": "Cereri Aprobate", - "components.RequestCard.deleterequest": "Șterge Cererea", - "components.RequestCard.unknowntitle": "Titlu necunoscut", - "components.RequestList.RequestItem.cancelRequest": "Anulează Cerere", - "components.RequestCard.tvdbid": "ID TheTVDB", - "components.RequestButton.requestmore": "Cere mai mult", - "components.RequestList.RequestItem.deleterequest": "Șterge Cerere", - "components.RequestCard.cancelrequest": "Anulează Cererea", - "components.RequestModal.AdvancedRequester.folder": "{path} ({space})", - "components.RequestList.RequestItem.modified": "Modificat", - "components.RequestList.RequestItem.editrequest": "Editează Cererea", - "components.RequestModal.AdvancedRequester.qualityprofile": "Profil de Calitate", - "components.RequestList.requests": "Cereri", - "components.RequestModal.AdvancedRequester.advancedoptions": "Avansat", - "components.RequestModal.AdvancedRequester.notagoptions": "Fără etichete.", - "components.RequestList.RequestItem.modifieduserdate": "{date} de {user}", - "components.RequestModal.AdvancedRequester.requestas": "Cere ca", - "components.RequestList.showallrequests": "Afișează toate cererile", - "components.RequestList.RequestItem.tmdbid": "ID-ul TMDB", - "components.RequestList.RequestItem.requesteddate": "Solicitat", - "components.RequestModal.QuotaDisplay.movie": "film", - "components.RequestList.RequestItem.failedretry": "Ceva a mers greșit în timpul reîncercării cererii.", - "components.RequestList.RequestItem.unknowntitle": "Titlu Necunoscut", - "components.RequestModal.AdvancedRequester.destinationserver": "Server Destinație", - "components.RequestModal.AdvancedRequester.rootfolder": "Folder Rădăcină", - "components.RequestList.sortAdded": "Cele Mai Recente", - "components.RequestModal.AdvancedRequester.tags": "Etichete", - "components.RequestList.RequestItem.mediaerror": "{mediaType} nu a fost găsit", - "components.RequestList.sortModified": "Ultima Modificată", - "components.RequestList.RequestItem.tvdbid": "ID-ul TheTVDB", - "components.RequestModal.AdvancedRequester.selecttags": "Selectați Etichetele", - "components.RequestList.RequestItem.requested": "Solicitat", - "components.RequestModal.QuotaDisplay.notenoughseasonrequests": "Nu sunt suficiente cereri de sezon rămase", - "components.RequestModal.AdvancedRequester.default": "{name} (Implicit)", - "components.RequestModal.AdvancedRequester.languageprofile": "Profil de Limbă", - "components.RequestModal.QuotaDisplay.allowedRequestsUser": "Acest utilizator are voie sa ceara {limit} {type} la fiecare {days} zile.", - "components.RequestList.RequestItem.seasons": "", - "components.RequestModal.QuotaDisplay.allowedRequests": "Aveți voie să cereți {limit} de {type} la fiecare {days} zile." + "components.Layout.UserWarnings.emailRequired": "Este necesara o adresa de email.", + "components.Layout.UserWarnings.passwordRequired": "Este necesara o parola.", + "components.Login.credentialerror": "Numele de utilizator sau parola sunt incorecte.", + "components.Login.emailtooltip": "Nu este necesar ca adresa ta sa fie asociata cu instanta ta {mediaServerName} .", + "components.Login.save": "Adauga", + "components.Login.signinwithjellyfin": "Foloseste-ti contul de {mediaServerName}", + "components.Login.title": "Adauga email", + "components.Login.username": "Nume utilizator", + "components.Login.validationEmailFormat": "Adresa email invalida", + "components.Login.validationemailformat": "Necesar email valid", + "components.Login.validationhostformat": "Necesar URL valid", + "components.Login.validationhostrequired": "{mediaServerName} URL necesar", + "components.Login.validationusernamerequired": "Nume utilizator necesar", + "components.MovieDetails.downloadstatus": "Status descarcare", + "components.MovieDetails.openradarr": "Deschide film in Radarr", + "components.MovieDetails.openradarr4k": "Deschide film in 4K Radarr", + "components.MovieDetails.play": "Ruleaza pe {mediaServerName}", + "components.MovieDetails.play4k": "Ruleaza 4k pe {mediaServerName}", + "components.RequestButton.declinerequest": "Refuza cerere", + "components.RequestButton.declinerequest4k": "Refuza cerere 4k", + "components.Layout.UserWarnings.emailInvalid": "Adresa de email este invalida.", + "components.Login.description": "Deoarece este prima ta authentificare in {applicationName}, este necesara sa introduci o adresa de email valida.", + "components.Login.initialsigningin": "Se conecteaza…", + "components.Login.saving": "Se adauga…", + "components.RequestButton.approverequest": "Aproba cerere", + "components.RequestButton.approverequest4k": "Aproba cerere 4k", + "components.Login.host": "{mediaServerName} URL", + "components.Login.initialsignin": "Conecteaza-te", + "components.ManageSlideOver.removearr4k": "Elimina din 4K {arr}", + "components.ManageSlideOver.manageModalRemoveMediaWarning": "* Acesta va elimina ireversibil {mediaType} din {arr}, incluzand toate fisierele asociate.", + "components.Login.validationEmailRequired": "Trebuie sa introduci o adresa email", + "components.ManageSlideOver.removearr": "Elimina din {arr}" } diff --git a/src/i18n/locale/ru.json b/src/i18n/locale/ru.json index e4cb536d..21ee87dc 100644 --- a/src/i18n/locale/ru.json +++ b/src/i18n/locale/ru.json @@ -33,7 +33,7 @@ "components.RequestModal.cancel": "Отменить запрос", "components.RequestModal.extras": "Дополнительно", "components.RequestModal.numberofepisodes": "# эпизодов", - "components.RequestModal.pendingrequest": "", + "components.RequestModal.pendingrequest": "Ожидающий запрос", "components.RequestModal.requestCancel": "Запрос на {title} отменён.", "components.RequestModal.requestSuccess": "{title} успешно запрошен!", "components.RequestModal.requestadmin": "Этот запрос будет одобрен автоматически.", @@ -170,7 +170,7 @@ "pages.oops": "Упс", "pages.returnHome": "Вернуться домой", "components.CollectionDetails.overview": "Обзор", - "components.CollectionDetails.numberofmovies": "{count} {count, plural, one {фильм} few {фильма} other {фильмов}}", + "components.CollectionDetails.numberofmovies": "{count} фильмов", "components.CollectionDetails.requestcollection": "Запросить Коллекцию", "components.Login.email": "Адрес электронной почты", "components.UserList.users": "Пользователи", @@ -427,9 +427,9 @@ "components.Settings.RadarrModal.testFirstRootFolders": "Протестировать подключение для загрузки корневых каталогов", "components.Settings.RadarrModal.loadingrootfolders": "Загрузка корневых каталогов…", "components.RequestModal.AdvancedRequester.destinationserver": "Сервер-получатель", - "components.RequestList.RequestItem.mediaerror": "Название, связанное с этим запросом, больше недоступно.", + "components.RequestList.RequestItem.mediaerror": "{mediaType} не найдено", "components.RequestList.RequestItem.failedretry": "Что-то пошло не так при попытке повторить запрос.", - "components.RequestCard.mediaerror": "Название, связанное с этим запросом, больше недоступно.", + "components.RequestCard.mediaerror": "{mediaType} не найдено", "components.RequestCard.failedretry": "Что-то пошло не так при попытке повторить запрос.", "components.RequestButton.viewrequest4k": "Посмотреть 4К запрос", "components.RequestButton.requestmore4k": "Запросить больше в 4К", @@ -570,7 +570,7 @@ "components.TvDetails.seasons": "{seasonCount, plural, one {# сезон} other {# сезонов}}", "components.RequestModal.QuotaDisplay.requiredquotaUser": "Этому пользователю необходимо иметь по крайней мере {seasons} {seasons, plural, one {запрос на сезоны} other {запроса(ов) на сезоны}} для того, чтобы отправить запрос на этот сериал.", "components.RequestModal.QuotaDisplay.requiredquota": "Вам необходимо иметь по крайней мере {seasons} {seasons, plural, one {запрос на сезоны} other {запроса(ов) на сезоны}} для того, чтобы отправить запрос на этот сериал.", - "components.RequestModal.pending4krequest": "", + "components.RequestModal.pending4krequest": "Ожидающий 4K запрос", "components.RequestModal.autoapproval": "Автоматическое одобрение", "i18n.usersettings": "Настройки пользователя", "i18n.showingresults": "Показываются результаты с {from} по {to} из {total}", @@ -790,7 +790,7 @@ "components.UserList.importfromplexerror": "Что-то пошло не так при импорте пользователей из Plex.", "components.UserList.importfrommediaserver": "Импортировать пользователей из {mediaServerName}", "components.UserList.importfromplex": "Импортировать пользователей из Plex", - "components.UserList.importedfromplex": "{userCount, plural, one {# новый пользователь} other {# новых пользователя(ей)}} успешно импортированы из Plex!", + "components.UserList.importedfromplex": "{userCount} {userCount, plural, one {# новый пользователь} other {# новых пользователя(ей)}} успешно импортированы из Plex!", "components.UserList.edituser": "Изменить разрешения пользователя", "components.UserList.displayName": "Отображаемое имя", "components.UserList.deleteconfirm": "Вы уверены, что хотите удалить этого пользователя? Все данные о его запросах будут удалены без возможности восстановления.", @@ -1018,7 +1018,7 @@ "components.Discover.CreateSlider.addcustomslider": "Создать слайдер", "components.Discover.CreateSlider.nooptions": "Нет результатов.", "components.Discover.CreateSlider.providetmdbgenreid": "Введите TMDB ID жанра", - "components.Discover.CreateSlider.needresults": "Должен быть хотя бы 1 результат.", + "components.Discover.CreateSlider.needresults": "Должен быть хотя-бы 1 результат.", "components.Discover.CreateSlider.providetmdbkeywordid": "Введите TMDB ID ключевого слова", "components.Discover.CreateSlider.providetmdbnetwork": "Введите TMDB ID сети", "components.Discover.CreateSlider.providetmdbsearch": "Введите поисковой запрос", @@ -1027,7 +1027,7 @@ "components.Discover.CreateSlider.searchKeywords": "Поиск ключевых слов…", "components.Discover.CreateSlider.searchStudios": "Поиск студий…", "components.Discover.CreateSlider.slidernameplaceholder": "Название слайдера", - "components.Discover.CreateSlider.starttyping": "Начните писать для поиска.", + "components.Discover.CreateSlider.starttyping": "Начините писать для поиска.", "components.Discover.CreateSlider.validationDatarequired": "Вы должны ввести дату.", "components.Discover.CreateSlider.validationTitlerequired": "Вы должны ввести заголовок.", "components.Discover.DiscoverMovieKeyword.keywordMovies": "Фильмы по ключевому слову \"{keywordTitle}\"", @@ -1059,7 +1059,7 @@ "components.Discover.DiscoverSliderEdit.deletesuccess": "Слайдер успешно удален.", "components.Discover.DiscoverSliderEdit.enable": "Изменить видимость", "components.Discover.DiscoverSliderEdit.remove": "Удалить", - "components.Discover.DiscoverTv.activefilters": "{count, plural, one {# Активен фильтр} other {# Активные фильтры }}", + "components.Discover.DiscoverTv.activefilters": "{count, plural, one {# Активный фильтр} other {# Активные фильтры}}", "components.Discover.DiscoverTv.discovertv": "Сериалы", "components.Discover.DiscoverTv.sortPopularityAsc": "Популярность по возрастанию", "components.Discover.DiscoverTv.sortPopularityDesc": "Популярность по убыванию", @@ -1117,7 +1117,7 @@ "components.MovieDetails.digitalrelease": "Цифровой релиз", "components.MovieDetails.physicalrelease": "Физический релиз", "components.Settings.SettingsMain.toastSettingsFailure": "Что-то пошло не так при сохранении настроек.", - "components.Settings.SettingsMain.trustProxyTip": "Разрешить Overserr правильно регистрировать IP-адреса клиентов за прокси-сервером", + "components.Settings.SettingsMain.trustProxyTip": "Разрешить Jellyseerr правильно регистрировать IP-адреса клиентов за прокси-сервером", "components.Settings.experimentalTooltip": "Включение этого параметра может привести к неожиданному поведению приложения", "components.Settings.advancedTooltip": "Неправильная настройка этого параметра может привести к нарушению функциональности", "components.Settings.externalUrl": "Внешний URL-адрес", @@ -1131,7 +1131,7 @@ "components.Settings.validationApiKey": "Вы должны предоставить ключ API", "components.TitleCard.mediaerror": "{mediaType} не найдено", "components.TitleCard.tmdbid": "TMDB ID", - "components.Settings.restartrequiredTooltip": "Чтобы изменения этого параметра вступили в силу, необходимо перезапустить Overserr", + "components.Settings.restartrequiredTooltip": "Чтобы изменения этого параметра вступили в силу, необходимо перезапустить Jellyseerr", "components.ManageSlideOver.alltime": "Все время", "components.ManageSlideOver.plays": "{playCount, number} {playCount, plural, one {просмотр} other {просмотров}}", "components.Settings.Notifications.NotificationsGotify.agentenabled": "Включить агент", @@ -1214,13 +1214,13 @@ "components.Settings.Notifications.NotificationsGotify.toastGotifyTestSending": "Отправка тестового уведомления Gotify…", "components.Settings.SettingsMain.cacheImages": "Включить кэширование изображений", "components.Settings.SettingsMain.generalsettings": "Общие настройки", - "components.Settings.SettingsMain.generalsettingsDescription": "Настройте глобальные параметры и параметры по умолчанию для Overserr.", + "components.Settings.SettingsMain.generalsettingsDescription": "Настройте глобальные параметры и параметры по умолчанию для Jellyseerr.", "components.Settings.SettingsMain.hideAvailable": "Скрыть доступные медиа", "components.Settings.SettingsMain.regionTip": "Фильтровать контент по региональной доступности", "components.Settings.SettingsMain.toastApiKeyFailure": "Что-то пошло не так при создании нового ключа API.", "components.Settings.SettingsMain.locale": "Язык приложения", "components.Settings.SettingsMain.originallanguage": "Регион поиска", - "components.Settings.tautulliSettingsDescription": "При желании настройте параметры для вашего сервера Tautulli. Overserr извлекает данные истории просмотров Plex из Tautulli.", + "components.Settings.tautulliSettingsDescription": "При желании настройте параметры для вашего сервера Tautulli. Jellyseerr извлекает данные истории просмотров Plex из Tautulli.", "components.Settings.toastTautulliSettingsFailure": "Что-то пошло не так при сохранении настроек Tautulli.", "components.Settings.toastTautulliSettingsSuccess": "Настройки Tautulli успешно сохранены!", "components.Settings.validationUrlBaseTrailingSlash": "База URL не должна заканчиваться косой чертой", @@ -1241,7 +1241,7 @@ "components.Settings.Notifications.NotificationsGotify.validationTypes": "Вы должны выбрать как минимум один тип уведомления", "components.Settings.Notifications.NotificationsGotify.validationUrlRequired": "Вы должны указать действующий URL", "components.Settings.Notifications.NotificationsGotify.validationUrlTrailingSlash": "URL не должен заканчиваться слешем", - "components.Settings.SettingsJobsCache.imagecacheDescription": "Если включено, Overserr будет проксировать и кэшировать изображения из предварительно настроенных внешних источников. Кэшированные изображения сохраняются в папку конфигурации. Вы можете найти файлы в {appDataPath}/cache/images.", + "components.Settings.SettingsJobsCache.imagecacheDescription": "Если включено, Jellyseerr будет проксировать и кэшировать изображения из предварительно настроенных внешних источников. Кэшированные изображения сохраняются в папку конфигурации. Вы можете найти файлы в {appDataPath}/cache/images.", "components.Settings.tautulliSettings": "Настройки Tautulli", "components.StatusBadge.seasonepisodenumber": "S{seasonNumber}E{episodeNumber}", "components.Discover.customizediscover": "Настроить Обнаружение", @@ -1257,21 +1257,92 @@ "components.Selector.showmore": "Показать больше", "components.Settings.SettingsJobsCache.imagecachesize": "Размер кэша", "components.Settings.validationUrlBaseLeadingSlash": "Базовый URL должен начинаться с косой черты", - "components.Discover.FilterSlideover.tmdbuservotecount": "Количество голосов пользователей TMDB", - "components.Discover.FilterSlideover.voteCount": "Количество голосов между {minValue} и {maxValue}", - "components.Discover.tmdbmoviestreamingservices": "Стриминговые сервисы фильмов TMDB", - "components.Discover.tmdbtvstreamingservices": "Стриминговые сервисы сериалов TMDB", - "components.Settings.RadarrModal.tagRequestsInfo": "Автоматически добавлять дополнительный тег с ID и именем запросившего пользователя", - "components.Settings.RadarrModal.tagRequests": "Теги запросов", + "components.Layout.UserWarnings.emailRequired": "Требуется указать email адрес.", + "components.Layout.UserWarnings.passwordRequired": "Требуется указать пароль.", + "components.Login.emailtooltip": "Адрес не обязательно должен быть связан с вашим {mediaServerName} сервером.", + "components.Login.initialsignin": "Подключиться", + "components.Login.initialsigningin": "Подключение…", + "components.Login.save": "Добавить", + "components.Login.saving": "Добавление…", + "components.Login.signinwithjellyfin": "Используйте свой {mediaServerName} аккаунт", + "components.Login.host": "{mediaServerName} URL", + "components.Login.username": "Имя пользователя", + "components.Login.validationEmailFormat": "Неверный email", + "components.Login.validationemailformat": "Необходим корректный email", + "components.Login.validationhostformat": "Необходим корректный URL", + "components.Login.validationhostrequired": "Необходим {mediaServerName} URL", + "components.Login.validationusernamerequired": "Необходимо имя пользователя", + "components.ManageSlideOver.removearr": "Удалить из {arr}", + "components.ManageSlideOver.removearr4k": "Удалить из 4К {arr}", "components.MovieDetails.imdbuserscore": "Оценка пользователей IMDB", - "components.Settings.SettingsJobsCache.availability-sync": "Синхронизация доступности медиа", - "components.Settings.SonarrModal.tagRequests": "Теги запросов", - "components.Settings.SonarrModal.tagRequestsInfo": "Автоматически добавлять тег с ID и именем запросившего пользователя", - "i18n.collection": "Коллекция", - "components.Settings.Notifications.NotificationsPushover.sound": "Звук уведомления", - "components.UserProfile.UserSettings.UserNotificationSettings.deviceDefault": "Устройство по умолчанию", - "components.Settings.SonarrModal.animeSeriesType": "Тип аниме-сериала", + "components.MovieDetails.openradarr": "Открыть фильм в Radarr", + "components.MovieDetails.play": "Запустить на {mediaServerName}", + "components.MovieDetails.play4k": "Запустить 4К на {mediaServerName}", + "components.Settings.RadarrModal.tagRequests": "Тег запросов", + "components.Layout.UserWarnings.emailInvalid": "Неверный email адрес.", "components.Settings.SonarrModal.seriesType": "Тип сериала", - "components.UserProfile.UserSettings.UserNotificationSettings.sound": "Звук уведомления", - "components.Settings.Notifications.NotificationsPushover.deviceDefault": "Устройство по умолчанию" + "components.Discover.FilterSlideover.voteCount": "Количество голосов от {minValue} до {maxValue}", + "components.Login.validationEmailRequired": "Вы должны указать адрес электронной почты", + "components.Settings.Notifications.userEmailRequired": "Требуется email пользователя", + "components.Settings.SettingsJobsCache.jellyfin-recently-added-scan": "Сканировать недавно добавленное в Jellyfin", + "components.Discover.tmdbmoviestreamingservices": "Сервисы потоковой передачи фильмов TMDB", + "components.Discover.tmdbtvstreamingservices": "Сервисы потоковой передачи сериалов TMDB", + "components.Login.description": "Поскольку вы впервые входите в систему {ApplicationName}, вам необходимо добавить адрес электронной почты.", + "components.Settings.Notifications.NotificationsPushover.sound": "Звук уведомлений", + "components.Settings.RadarrModal.tagRequestsInfo": "Автодобавление тега с именем и ID пользователя, отправившего запрос", + "components.Settings.SonarrModal.animeSeriesType": "Тип аниме", + "components.Discover.FilterSlideover.tmdbuservotecount": "Количество голосов от пользователей TMDB", + "components.Login.credentialerror": "Введено неверное имя пользователя или пароль.", + "components.Login.title": "Добавить email", + "components.ManageSlideOver.manageModalRemoveMediaWarning": "* Это приведет к необратимому удалению {MediaType} из {arr}, включая все файлы.", + "components.Settings.SettingsAbout.supportjellyseerr": "Поддержать Jellyseerr", + "components.Settings.SonarrModal.tagRequests": "Тег запросов", + "components.MovieDetails.downloadstatus": "Статус загрузки", + "components.MovieDetails.openradarr4k": "Открыть фильм в 4К Radarr", + "components.Settings.Notifications.NotificationsPushover.deviceDefault": "Устройство по умолчанию", + "components.Settings.SettingsJobsCache.jellyfin-full-scan": "Сканировать всю библиотеку Jellyfin", + "components.Settings.SettingsJobsCache.availability-sync": "Синхронизировать доступность медиа", + "components.Settings.jellyfinSettingsFailure": "Что-то пошло не так во время сохранения настроек {mediaServerName}.", + "components.Settings.jellyfinSettingsSuccess": "Настройки {mediaServerName} успешно сохранены!", + "components.Settings.jellyfinlibraries": "Библиотеки {mediaServerName}", + "components.Settings.jellyfinlibrariesDescription": "Библиотеки {mediaServerName} проверяются на наличие заголовков. Нажмите кнопку ниже, если в списке не хватает библиотек.", + "components.Settings.jellyfinsettings": "Настройки {mediaServerName}", + "components.Settings.internalUrl": "Внутренний URL-адрес", + "components.Settings.SonarrModal.tagRequestsInfo": "Автодобавление тега с именем и ID пользователя, отправившего запрос", + "components.Settings.jellyfinSettings": "Настройки {mediaServerName}", + "components.Settings.jellyfinSettingsDescription": "Необязательно настраивать внутреннюю и внешнюю конечные точки для вашего сервера {mediaServerName}. В большинстве случаев внешний URL-адрес отличается от внутреннего. Пользовательский URL-адрес для сброса пароля также может быть задан для входа в систему {mediaServerName}, на случай, если вы хотите перенаправить на другую страницу для сброса пароля.", + "components.Settings.jellyfinsettingsDescription": "Настройте свой {mediaServerName} сервер. {mediaServerName} отсканирует ваши библиотеки, чтобы увидеть, какие библиотеки доступны.", + "components.Settings.manualscanJellyfin": "Сканировать библиотеки вручную", + "components.Settings.menuJellyfinSettings": "{mediaServerName}", + "components.Settings.syncJellyfin": "Синхронизировать библиотеки", + "components.Settings.syncing": "Синхронизация", + "components.Settings.timeout": "Время ожидания", + "components.Setup.signin": "Войти", + "components.Setup.signinWithPlex": "Используйте свой Plex аккаунт", + "components.TitleCard.watchlistDeleted": "{title} успешно удален из списка наблюдения!", + "components.TitleCard.watchlistError": "Что-то пошло не так, попробуйте еще раз.", + "components.TvDetails.play": "Запустить в {mediaServerName}", + "components.TvDetails.play4k": "Запустить 4К в {mediaServerName}", + "components.UserList.importedfromJellyfin": "{userCount} {userCount, plural, one {# новый пользователь} other {# новых пользователя(ей)}} успешно импортированы из {mediaServerName}!", + "components.UserList.importfromJellyfin": "Добавить пользователей из {mediaServerName}", + "components.UserList.noJellyfinuserstoimport": "Нет пользователей {mediaServerName} для импорта.", + "components.UserProfile.UserSettings.UserGeneralSettings.mediaServerUser": "Пользователь {mediaServerName}", + "components.UserProfile.UserSettings.UserGeneralSettings.saving": "Сохранение…", + "components.UserProfile.UserSettings.UserNotificationSettings.sound": "Звук уведомлений", + "i18n.collection": "Коллекция", + "components.Setup.configuremediaserver": "Настройте медиасервер", + "components.UserList.importfromJellyfinerror": "Что-то пошло не так при импорте пользователей из {mediaServerName}.", + "components.UserList.newJellyfinsigninenabled": "Параметр Включить новый вход в {mediaServerName} в настоящее время включен. Пользователей {mediaServerName} с доступом к библиотеке не нужно импортировать для входа.", + "components.UserProfile.UserSettings.UserGeneralSettings.email": "Электронная почта", + "components.UserProfile.localWatchlist": "Список наблюдения {username}", + "components.Settings.manualscanDescriptionJellyfin": "Обычно это выполняется только раз в 24 часа. Jellyseerr будет более настойчиво проверять недавно добавленный сервер {mediaServerName}. Если вы впервые настраиваете Jellyseerr, то рекомендуем однократное полное сканирование библиотеки!", + "components.TitleCard.watchlistCancel": "наблюдение за {title} отменено.", + "components.Settings.saving": "Сохранение…", + "components.TitleCard.addToWatchList": "Добавить в список наблюдения", + "components.TitleCard.watchlistSuccess": "{title} успешно добавлен в список наблюдения!", + "components.Settings.save": "Сохранить изменения", + "components.Setup.signinWithJellyfin": "Используйте свой {mediaServerName} аккаунт", + "components.UserList.mediaServerUser": "Пользователь {mediaServerName}", + "components.UserProfile.UserSettings.UserGeneralSettings.save": "Сохранить изменения", + "components.UserProfile.UserSettings.UserNotificationSettings.deviceDefault": "Устройство по умолчанию" } diff --git a/src/i18n/locale/sl.json b/src/i18n/locale/sl.json new file mode 100644 index 00000000..f4da326f --- /dev/null +++ b/src/i18n/locale/sl.json @@ -0,0 +1,59 @@ +{ + "components.Discover.CreateSlider.editsuccess": "Urejen drsnik in shranjene nastavitve prilagajanja odkrivanja.", + "components.CollectionDetails.numberofmovies": "{count} film/ov", + "components.Discover.CreateSlider.slidernameplaceholder": "Ime drsnika", + "components.Discover.DiscoverTv.sortFirstAirDateAsc": "Premiera ↓", + "components.AppDataWarning.dockerVolumeMissingDescription": "Pripenjanje nosilca {appDataPath} ni bilo pravilno konfigurirano. Vsi podatki bodo izbrisani, ko se vsebnik zaustavi ali znova zažene.", + "components.Discover.DiscoverMovies.sortPopularityDesc": "Priljubljenost ↑", + "components.AirDateBadge.airsrelative": "Predvajanje {relativeTime}", + "components.CollectionDetails.overview": "Pregled", + "components.Discover.DiscoverMovies.activefilters": "{count, plural, one {# Active Filter} drugo {# Active Filters}}", + "components.Discover.DiscoverMovies.sortTmdbRatingAsc": "Ocena TMDB ↓", + "components.AirDateBadge.airedrelative": "Predvajano {relativeTime}", + "components.Discover.CreateSlider.searchStudios": "Iskanje studiev …", + "components.Discover.DiscoverMovies.sortReleaseDateDesc": "Datum izdaje ↑", + "components.Discover.CreateSlider.providetmdbnetwork": "Navedite ID omrežja TMDB", + "components.Discover.CreateSlider.addfail": "Novega drsnika ni bilo mogoče ustvariti.", + "components.CollectionDetails.requestcollection": "Zahtevaj zbirko", + "components.Discover.DiscoverMovieGenre.genreMovies": "Filmi: {genre}", + "components.Discover.DiscoverMovieLanguage.languageMovies": "Filmi: {language}", + "components.Discover.DiscoverTv.activefilters": "{count, plural, one {# Active Filter} other {# Active Filters}}", + "components.Discover.DiscoverMovies.sortPopularityAsc": "Priljubljenost ↓", + "components.Discover.CreateSlider.needresults": "Imeti morate vsaj 1 rezultat.", + "components.Discover.CreateSlider.addcustomslider": "Ustvari drsnik po meri", + "components.Discover.DiscoverTv.sortPopularityAsc": "Priljubljenost ↓", + "components.Discover.CreateSlider.editSlider": "Uredi drsnik", + "components.Discover.DiscoverTv.sortTitleAsc": "Naslov (a-ž) ↓", + "components.Discover.CreateSlider.validationDatarequired": "Navesti morate vrednost podatkov.", + "components.Discover.DiscoverTv.sortFirstAirDateDesc": "Premiera ↑", + "components.Discover.DiscoverTv.discovertv": "Serije", + "components.Discover.DiscoverSliderEdit.deletefail": "Drsnika ni bilo mogoče izbrisati.", + "components.Discover.CreateSlider.providetmdbstudio": "Navedite ID studia v TMDB", + "components.Discover.DiscoverMovies.sortTitleDesc": "Naslov (a-ž) ↑", + "components.Discover.DiscoverStudio.studioMovies": "{studio} filmi", + "components.Discover.DiscoverTv.sortPopularityDesc": "Priljubljenost ↑", + "components.Discover.CreateSlider.searchGenres": "Išči žanre …", + "components.Discover.CreateSlider.editfail": "Drsnika ni bilo mogoče urediti.", + "components.Discover.CreateSlider.starttyping": "Tipkajte za iskanje.", + "components.Discover.DiscoverSliderEdit.enable": "Preklopi vidnost", + "components.Discover.CreateSlider.addSlider": "Dodaj drsnik", + "components.CollectionDetails.requestcollection4k": "Zahtevaj zbirko 4K", + "components.Discover.CreateSlider.providetmdbsearch": "Vnesite iskalno poizvedbo", + "components.Discover.DiscoverNetwork.networkSeries": "{network} serije", + "components.Discover.CreateSlider.providetmdbkeywordid": "Navedite ID ključne besede TMDB", + "components.Discover.DiscoverMovieKeyword.keywordMovies": "Filmi: {keywordTitle}", + "components.Discover.CreateSlider.validationTitlerequired": "Navesti morate naslov.", + "components.Discover.DiscoverMovies.sortReleaseDateAsc": "Datum izdaje ↓", + "components.Discover.CreateSlider.nooptions": "Ni zadetkov.", + "components.Discover.DiscoverMovies.sortTmdbRatingDesc": "Ocena TMDB ↑", + "components.Discover.CreateSlider.searchKeywords": "Iskanje po ključnih besedah …", + "components.Discover.CreateSlider.addsuccess": "Ustvarjen nov drsnik in shranjene nastavitve prilagajanja odkrivanja.", + "components.Discover.DiscoverSliderEdit.deletesuccess": "Drsnik je bil uspešno izbrisan.", + "components.Discover.DiscoverMovies.discovermovies": "Filmi", + "components.Discover.DiscoverMovies.sortTitleAsc": "Naslov (a-ž) ↓", + "components.Discover.CreateSlider.providetmdbgenreid": "Navedite ID žanra TMDB", + "components.Discover.DiscoverTv.sortTitleDesc": "Naslov (a-ž) ↑", + "components.Discover.DiscoverSliderEdit.remove": "Odstrani", + "components.Discover.DiscoverTv.sortTmdbRatingAsc": "Ocena TMDB ↓", + "components.Discover.DiscoverTvGenre.genreSeries": "{genre} Series" +} diff --git a/src/i18n/locale/sv.json b/src/i18n/locale/sv.json index 6d39a549..17c309a0 100644 --- a/src/i18n/locale/sv.json +++ b/src/i18n/locale/sv.json @@ -2,9 +2,9 @@ "components.Setup.finishing": "Slutför…", "components.Setup.finish": "Slutför konfiguration", "components.Setup.continue": "Fortsätt", - "components.Setup.configureservices": "Konfigurera tjänster", + "components.Setup.configureservices": "Konfigurera Tjänster", "components.Setup.configureplex": "Konfigurera Plex", - "components.Settings.validationPortRequired": "Du måste ange ett giltigt portnummer", + "components.Settings.validationPortRequired": "Du måste ange ett giltigt port nummer", "components.Settings.validationHostnameRequired": "Du måste ange giltigt värdnamn eller IP-adress", "components.Settings.toastSettingsSuccess": "Inställningar sparade!", "components.Settings.toastSettingsFailure": "Något gick fel när inställningarna skulle sparas.", @@ -12,8 +12,8 @@ "components.Settings.toastApiKeyFailure": "Något gick fel vid skapandet av ny API-nyckel.", "components.Settings.startscan": "Starta scanning", "components.Settings.ssl": "SSL", - "components.Settings.sonarrsettings": "Sonarr-inställningar", - "components.Settings.radarrsettings": "Radarr-inställningar", + "components.Settings.sonarrsettings": "Sonarrinställningar", + "components.Settings.radarrsettings": "Radarrinställningar", "components.Settings.port": "Port", "components.Settings.plexsettingsDescription": "Konfigurera inställningarna för din Plex-server. Jellyseerr scannar din Plex-server för att avgöra om innehållet är tillgängligt.", "components.Settings.plexsettings": "Plexinställningar", @@ -25,8 +25,8 @@ "components.Settings.menuPlexSettings": "Plex", "components.Settings.menuNotifications": "Notifikationer", "components.Settings.menuLogs": "Loggar", - "components.Settings.menuJobs": "Jobb & cache", - "components.Settings.menuGeneralSettings": "Allmänt", + "components.Settings.menuJobs": "Jobb & Cache", + "components.Settings.menuGeneralSettings": "Allmänna", "components.Settings.menuAbout": "Om", "components.Settings.manualscanDescription": "Normalt körs denna var tjugofjärde timme. Jellyseerr kommer kontrollera till Plex Servers \"senast tillagda\" oftare. Om detta är första gången du konfigurerar din Plex Server är det starkt rekommenderat att göra en manuell full scan av ditt mediabibliotek!", "components.Settings.manualscan": "Manuell Biblioteksscan", @@ -44,19 +44,19 @@ "components.Settings.apikey": "API-nyckel", "components.Settings.addsonarr": "Lägg till Sonarr Server", "components.Settings.address": "Adress", - "components.Settings.addradarr": "Lägg till Radarr-server", - "components.Settings.activeProfile": "Aktiv profil", + "components.Settings.addradarr": "Lägg till Radarr Server", + "components.Settings.activeProfile": "Aktiv Profil", "components.Settings.SonarrModal.validationRootFolderRequired": "Du måste ange en root-mapp", "components.Settings.SonarrModal.validationProfileRequired": "Du måste ange en kvalitetsprofil", - "components.Settings.SonarrModal.validationPortRequired": "Du måste ange ett giltigt portnummer", + "components.Settings.SonarrModal.validationPortRequired": "Du måste ange ett giltigt port nummer", "components.Settings.SonarrModal.validationNameRequired": "Du måste ange ett servernamn", "components.Settings.SonarrModal.validationHostnameRequired": "Du måste ange giltigt värdnamn eller IP-adress", "components.Settings.SonarrModal.validationApiKeyRequired": "Du måste ange en API-nyckel", - "components.Settings.SonarrModal.testFirstRootFolders": "Testa anslutningen för att ladda root-mapparna", - "components.Settings.SonarrModal.testFirstQualityProfiles": "Testa anslutningen för att ladda kvalitetsprofilerna", + "components.Settings.SonarrModal.testFirstRootFolders": "Testa anslutningen för att ladda in root-mapparna", + "components.Settings.SonarrModal.testFirstQualityProfiles": "Testa anslutningen för att ladda in kvalitetsprofilerna", "components.Settings.SonarrModal.ssl": "Använd SSL", "components.Settings.SonarrModal.servername": "Servernamn", - "components.Settings.SonarrModal.server4k": "4K-server", + "components.Settings.SonarrModal.server4k": "4K Server", "components.Settings.SonarrModal.selectRootFolder": "Välj root-mapp", "components.Settings.SonarrModal.selectQualityProfile": "Välj kvalitetsprofil", "components.Settings.SonarrModal.seasonfolders": "Säsongsmappar", @@ -71,9 +71,9 @@ "components.Settings.SonarrModal.createsonarr": "Lägg till en ny Sonarr Server", "components.Settings.SonarrModal.baseUrl": "URL-bas", "components.Settings.SonarrModal.apiKey": "API-nyckel", - "components.Settings.SonarrModal.animerootfolder": "Anime root-mapp", - "components.Settings.SonarrModal.animequalityprofile": "Anime-kvalitetsprofil", - "components.Settings.SonarrModal.add": "Lägg till server", + "components.Settings.SonarrModal.animerootfolder": "Anime Root-mapp", + "components.Settings.SonarrModal.animequalityprofile": "Anime Kvalitetsprofil", + "components.Settings.SonarrModal.add": "Lägg till Server", "components.Settings.SettingsAbout.version": "Version", "components.Settings.SettingsAbout.totalrequests": "Totalt antal förfrågningar", "components.Settings.SettingsAbout.totalmedia": "Totalt antal mediaobjekt", @@ -84,72 +84,72 @@ "components.Settings.RadarrModal.validationProfileRequired": "Du måste ange en kvalitetsprofil", "components.Settings.RadarrModal.validationPortRequired": "Du måste ange en giltig port nummer", "components.Settings.RadarrModal.validationNameRequired": "Du måste ange ett servernamn", - "components.Settings.RadarrModal.validationMinimumAvailabilityRequired": "Du måste välja lägsta tillgänglighet", - "components.Settings.RadarrModal.validationHostnameRequired": "Du måste ange ett giltigt värdnamn eller IP-adress", + "components.Settings.RadarrModal.validationMinimumAvailabilityRequired": "Du måste välja minsta tillgänglighet", + "components.Settings.RadarrModal.validationHostnameRequired": "Du måste ange giltigt hostname eller IP-adress", "components.Settings.RadarrModal.validationApiKeyRequired": "Du måste ange en API-nyckel", "components.Settings.RadarrModal.toastRadarrTestSuccess": "Anslutningen till Radarr lyckades!", "components.Settings.RadarrModal.toastRadarrTestFailure": "Misslyckades att ansluta till Radarr.", - "components.Settings.RadarrModal.testFirstRootFolders": "Testa anslutningen för att ladda root-mapparna", - "components.Settings.RadarrModal.testFirstQualityProfiles": "Testa anslutningen för att ladda kvalitetsprofiler", + "components.Settings.RadarrModal.testFirstRootFolders": "Testa anslutningen för att ladda in root-mapparna", + "components.Settings.RadarrModal.testFirstQualityProfiles": "Testa anslutningen för att ladda in kvalitetsprofiler", "components.Settings.RadarrModal.ssl": "Använd SSL", "components.Settings.RadarrModal.servername": "Servernamn", - "components.Settings.RadarrModal.server4k": "4K-server", + "components.Settings.RadarrModal.server4k": "4K Server", "components.Settings.RadarrModal.selectRootFolder": "Välj root-mapp", "components.Settings.RadarrModal.selectQualityProfile": "Välj kvalitetsprofil", - "components.Settings.RadarrModal.selectMinimumAvailability": "Ange lägsta tillgänglighet", + "components.Settings.RadarrModal.selectMinimumAvailability": "Ange minsta tillgänglighet", "components.Settings.RadarrModal.rootfolder": "Root-mapp", "components.Settings.RadarrModal.qualityprofile": "Kvalitetsprofiler", "components.Settings.RadarrModal.port": "Port", - "components.Settings.RadarrModal.minimumAvailability": "Lägsta tillgänglighet", + "components.Settings.RadarrModal.minimumAvailability": "Minsta tillgänglighet", "components.Settings.RadarrModal.loadingrootfolders": "Laddar root-mappar…", "components.Settings.RadarrModal.loadingprofiles": "Laddar kvalitetsprofiler…", - "components.Settings.RadarrModal.hostname": "Värdnamn eller IP-adress", + "components.Settings.RadarrModal.hostname": "Hostname eller IP-adress", "components.Settings.RadarrModal.editradarr": "Ändra Radarr Server", "components.Settings.RadarrModal.defaultserver": "Standard Server", "components.Settings.RadarrModal.createradarr": "Lägg till en ny Radarr Server", "components.Settings.RadarrModal.baseUrl": "URL-bas", - "components.Settings.RadarrModal.apiKey": "API-nyckel", - "components.Settings.RadarrModal.add": "Lägg till server", + "components.Settings.RadarrModal.apiKey": "API-Nyckel", + "components.Settings.RadarrModal.add": "Lägg till Server", "components.Settings.Notifications.webhookUrl": "Webhook-URL", "components.Settings.Notifications.validationSmtpPortRequired": "Du måste ange ett giltigt port nummer", "components.Settings.Notifications.validationSmtpHostRequired": "Du måste ange ett giltigt värdnamn eller IP-adress", - "components.Settings.Notifications.smtpPort": "SMTP port", - "components.Settings.Notifications.smtpHost": "SMTP-server", - "components.Settings.Notifications.emailsettingssaved": "Notifikationsinställningar för e-post sparade!", + "components.Settings.Notifications.smtpPort": "SMTP Port", + "components.Settings.Notifications.smtpHost": "SMTP Server", + "components.Settings.Notifications.emailsettingssaved": "Notiferingsinställningar för e-post sparade!", "components.Settings.Notifications.discordsettingsfailed": "Notifieringsinställningar för Discord kunde inte sparas.", "components.Settings.Notifications.emailsettingsfailed": "Notifieringsinställningar för e-post kunde inte sparas.", "components.Settings.Notifications.emailsender": "Avsändaradress", - "components.Settings.Notifications.discordsettingssaved": "Notifikationsinställningar för Discord sparade!", - "components.Settings.Notifications.authUser": "SMTP-användarnamn", - "components.Settings.Notifications.authPass": "SMTP-lösenord", + "components.Settings.Notifications.discordsettingssaved": "Notiferingsinställningar för Discord sparade!", + "components.Settings.Notifications.authUser": "SMTP Användarnamn", + "components.Settings.Notifications.authPass": "SMTP Lösenord", "components.Settings.Notifications.agentenabled": "Aktivera agenten", "components.Search.searchresults": "Sökresultat", "components.RequestModal.selectseason": "Välj säsong(er)", "components.RequestModal.seasonnumber": "Säsong {number}", "components.RequestModal.season": "Säsong", - "components.RequestModal.requestfrom": "{username}s begäran väntar på godkännande.", - "components.RequestModal.requestadmin": "Förfrågan kommer godkännas automatiskt.", + "components.RequestModal.requestfrom": "{username}'s begäran väntar på godkännande.", + "components.RequestModal.requestadmin": "Förfrågan kommer bli godkännas automatiskt.", "components.RequestModal.requestSuccess": "{title} begärd!", "components.RequestModal.requestCancel": "Förfrågan för {title} avbruten.", - "components.RequestModal.pendingrequest": "Väntande förfrågan", - "components.RequestModal.numberofepisodes": "Antal avsnitt", + "components.RequestModal.pendingrequest": "Väntande Förfrågan", + "components.RequestModal.numberofepisodes": "Antal Avsnitt", "components.RequestModal.extras": "Extramaterial", - "components.RequestModal.cancel": "Ta bort begäran", + "components.RequestModal.cancel": "Avbryt förfrågan", "components.RequestList.requests": "Förfrågningar", - "components.RequestList.RequestItem.seasons": "{seasonCount, plural, one {säsong} other {säsonger}}", - "components.RequestCard.seasons": "{seasonCount, plural, one {säsong} other {säsonger}}", - "components.RequestBlock.seasons": "{seasonCount, plural, one {säsong} other {säsonger}}", + "components.RequestList.RequestItem.seasons": "{seasonCount, plural, one {Säsong} other {Säsonger}}", + "components.RequestCard.seasons": "{seasonCount, plural, one {Säsong} other {Säsonger}}", + "components.RequestBlock.seasons": "{seasonCount, plural, one {Säsong} other {Säsonger}}", "components.PersonDetails.ascharacter": "som {character}", "components.PersonDetails.appearsin": "Kan ses i", - "components.MovieDetails.studio": "{studioCount, plural, one {studio} other {studior}}", - "components.MovieDetails.similar": "Liknande titlar", + "components.MovieDetails.studio": "{studioCount, plural, one {Studio} other {Studior}}", + "components.MovieDetails.similar": "Liknande Titlar", "components.MovieDetails.runtime": "{minutes} minuter", - "components.MovieDetails.revenue": "Intäkter", + "components.MovieDetails.revenue": "Inkomster", "components.MovieDetails.releasedate": "{releaseCount, plural, one {Utgivningsdatum} other {Utgivningsdatum}}", "components.MovieDetails.recommendations": "Rekommendationer", - "components.MovieDetails.overview": "Översikt", + "components.MovieDetails.overview": "Beskrivning", "components.MovieDetails.overviewunavailable": "Beskrivning otillgänglig.", - "components.MovieDetails.originallanguage": "Ursprungligt språk", + "components.MovieDetails.originallanguage": "Ursprungligt Språk", "components.MovieDetails.cast": "Roller", "components.MovieDetails.budget": "Budget", "components.MovieDetails.MovieCast.fullcast": "Rollista", @@ -158,7 +158,7 @@ "components.Layout.Sidebar.settings": "Inställningar", "components.Layout.Sidebar.requests": "Förfrågningar", "components.Layout.Sidebar.dashboard": "Upptäck", - "components.Layout.SearchInput.searchPlaceholder": "Sök filmer & TV-serier", + "components.Layout.SearchInput.searchPlaceholder": "Sök Filmer & TV-Serier", "components.Discover.upcomingmovies": "Kommande filmer", "components.Discover.upcoming": "Kommande filmer", "components.Discover.trending": "Trendande", @@ -173,19 +173,19 @@ "components.Setup.welcome": "Välkommen till Jellyseerr", "components.Setup.tip": "Tips", "components.Setup.signinMessage": "Kom igång genom att logga in med ditt Plex-konto", - "components.RequestModal.requestseasons": "Begär {seasonCount} {seasonCount, plural, one {säsong} other {säsonger}}", + "components.RequestModal.requestseasons": "Förfrågan {seasonCount} {seasonCount, plural, one {Season} other {Seasons}}", "pages.returnHome": "Gå tillbaka till startsidan", - "pages.oops": "Hoppsan", + "pages.oops": "Ojsan", "i18n.unavailable": "Otillgänglig", - "i18n.tvshows": "Serier", + "i18n.tvshows": "TV-serier", "i18n.processing": "Behandlar", "i18n.pending": "Väntande", - "i18n.partiallyavailable": "Delvis tillgänglig", + "i18n.partiallyavailable": "Delvis Tillgänglig", "i18n.movies": "Filmer", "i18n.deleting": "Tar bort…", "i18n.delete": "Ta bort", - "i18n.declined": "Nekad", - "i18n.decline": "Neka", + "i18n.declined": "Avböjd", + "i18n.decline": "Avböj", "i18n.cancel": "Avbryt", "i18n.available": "Tillgänglig", "i18n.approved": "Godkänd", @@ -196,18 +196,18 @@ "components.UserList.user": "Användare", "components.UserList.totalrequests": "Förfrågningar", "components.UserList.role": "Roll", - "components.UserList.plexuser": "Plex-användare", + "components.UserList.plexuser": "Plex Användare", "components.UserList.deleteuser": "Ta bort användare", "components.UserList.deleteconfirm": "Är du säker på att du vill ta bort den här användaren? Alla förfrågningsdata tas bort permanent.", - "components.UserList.created": "Gick med", + "components.UserList.created": "Anslöt sig", "components.UserList.admin": "Administratör", "components.TvDetails.similar": "Liknande TV-serier", "components.TvDetails.showtype": "Serietyp", "components.TvDetails.recommendations": "Rekommendationer", "components.TvDetails.overviewunavailable": "Beskrivning otillgänglig.", "components.TvDetails.overview": "Beskrivning", - "components.TvDetails.originallanguage": "Ursprungligt språk", - "components.TvDetails.network": "{networkCount, plural, one {nätverk} other {nätverk}}", + "components.TvDetails.originallanguage": "Ursprungligt Språk", + "components.TvDetails.network": "{networkCount, plural, one {Nätverk} other {Nätverk}}", "components.TvDetails.cast": "Roller", "i18n.close": "Stäng", "components.Setup.loginwithplex": "Logga in med Plex", @@ -219,7 +219,7 @@ "components.Settings.SettingsAbout.Releases.versionChangelog": "{version} Ändringslogg", "components.Settings.SettingsAbout.Releases.releases": "Versioner", "components.Settings.SettingsAbout.Releases.releasedataMissing": "Versionsdata är för närvarande inte tillgänglig.", - "components.Settings.SettingsAbout.Releases.latestversion": "Senaste versionen", + "components.Settings.SettingsAbout.Releases.latestversion": "Senaste Versionen", "components.Settings.SettingsAbout.Releases.currentversion": "Aktuell", "components.UserList.importfrommediaserver": "Importera {mediaServerName}användare", "components.UserList.importfromplex": "Importera Plexanvändare", @@ -230,16 +230,16 @@ "components.Settings.Notifications.NotificationsSlack.slacksettingssaved": "Notiferingsinställningar för Slack sparade!", "components.Settings.Notifications.NotificationsSlack.slacksettingsfailed": "Notifieringsinställningar för Slack kunde inte sparas.", "components.Settings.Notifications.NotificationsSlack.agentenabled": "Aktiverad", - "components.MovieDetails.watchtrailer": "Se trailer", - "components.CollectionDetails.requestcollection": "Begär samling", + "components.MovieDetails.watchtrailer": "Kolla Trailer", + "components.CollectionDetails.requestcollection": "Begär Kollektion", "components.CollectionDetails.overview": "Översikt", - "components.CollectionDetails.numberofmovies": "{count} filmer", + "components.CollectionDetails.numberofmovies": "Antal Filmer: {count}", "i18n.retry": "Försök igen", "i18n.requested": "Begärd", - "i18n.request": "Begär", + "i18n.request": "Begäran", "i18n.failed": "Misslyckades", - "components.UserList.importedfromplex": "{userCount} Plex {userCount, plural, one {användare} other {användare}} har importerats!", - "components.TvDetails.viewfullcrew": "Visa alla medarbetare", + "components.UserList.importedfromplex": "{userCount} Plex {userCount, plural, one {user} other {users}} importerades framgångsrikt!", + "components.TvDetails.viewfullcrew": "Visa hela rollistan", "components.TvDetails.firstAirDate": "Första sändningsdatum", "components.TvDetails.TvCrew.fullseriescrew": "Hela rollistan", "components.StatusChacker.reloadOverseerr": "Ladda om", @@ -249,21 +249,21 @@ "components.Settings.SettingsAbout.documentation": "Dokumentation", "components.Settings.Notifications.validationChatIdRequired": "Du måste ange ett giltigt chatt-ID", "components.Settings.Notifications.validationBotAPIRequired": "Du måste ange en bot-auktoriseringstoken", - "components.Settings.Notifications.telegramsettingssaved": "Notifikationsinställningar för Telegram sparade!", + "components.Settings.Notifications.telegramsettingssaved": "Notiferingsinställningar för Telegram sparade!", "components.Settings.Notifications.telegramsettingsfailed": "Notifieringsinställningar för Telegram kunde inte sparas.", "components.Settings.Notifications.senderName": "Avsändarens namn", "components.Settings.Notifications.chatId": "Chatt-ID", "components.Settings.Notifications.botAPI": "Bot-auktoriseringstoken", - "components.Settings.Notifications.NotificationsWebhook.webhooksettingssaved": "Notifikationsinställningar för webhook sparade!", + "components.Settings.Notifications.NotificationsWebhook.webhooksettingssaved": "Notiferingsinställningar för webhook sparade!", "components.Settings.Notifications.NotificationsWebhook.webhooksettingsfailed": "Notifieringsinställningar för Webhook kunde inte sparas.", "components.Settings.Notifications.NotificationsWebhook.webhookUrl": "Webhook-URL", "components.Settings.Notifications.NotificationsWebhook.validationJsonPayloadRequired": "Du måste ange en giltig JSON Payload", "components.Settings.Notifications.NotificationsWebhook.templatevariablehelp": "Lathund för variabler", "components.Settings.Notifications.NotificationsWebhook.resetPayloadSuccess": "JSON har återställts!", - "components.Settings.Notifications.NotificationsWebhook.resetPayload": "Återställ till standard", + "components.Settings.Notifications.NotificationsWebhook.resetPayload": "Återställ till Standard", "components.Settings.Notifications.NotificationsWebhook.customJson": "Ladda JSON", "components.Settings.Notifications.NotificationsWebhook.authheader": "Behörighetsrubrik", - "components.Settings.Notifications.NotificationsWebhook.agentenabled": "Aktivera agent", + "components.Settings.Notifications.NotificationsWebhook.agentenabled": "Aktiverad", "components.Settings.Notifications.NotificationsPushover.validationUserTokenRequired": "Du måste ange en giltig användare eller gruppnyckel", "components.Settings.Notifications.NotificationsPushover.validationAccessTokenRequired": "Du måste ange en giltig applikationstoken", "components.Settings.Notifications.NotificationsPushover.userToken": "Användar- eller gruppnyckel", @@ -280,14 +280,14 @@ "components.RequestButton.viewrequest": "Visa begäran", "components.RequestButton.requestmore4k": "Begär mer i 4K", "components.RequestButton.requestmore": "Begär mer", - "components.RequestButton.declinerequests": "Neka {requestCount, plural, one {förfrågan} other {{requestCount} förfrågningar}}", - "components.RequestButton.declinerequest4k": "Neka 4K-begäran", - "components.RequestButton.declinerequest": "Neka begäran", - "components.RequestButton.decline4krequests": "Neka {requestCount, plural, one {4K-förfrågan} other {{requestCount} 4K-förfrågningar}}", + "components.RequestButton.declinerequests": "Avvisa {requestCount, plural, one {förfrågan} other {{requestCount} förfrågningar}}", + "components.RequestButton.declinerequest4k": "Avvisa 4K-begäran", + "components.RequestButton.declinerequest": "Neka förfrågan", + "components.RequestButton.decline4krequests": "Avvisa {requestCount, plural, one {4K förfrågan} other {{requestCount} 4K förfrågan}}", "components.RequestButton.approverequests": "Godkänn {requestCount, plural, one {förfrågan} other {{requestCount} förfrågningar}}", "components.RequestButton.approverequest4k": "Godkänn 4K-begäran", "components.RequestButton.approverequest": "Godkänn begäran", - "components.RequestButton.approve4krequests": "Godkänn {requestCount, plural, one {4K-förfrågning} other {{requestCount} 4K-förfrågningar}}", + "components.RequestButton.approve4krequests": "Godkänn {requestCount, plural, one {4K förfrågning} other {{requestCount} 4K förfrågningar}}", "components.NotificationTypeSelector.mediarequestedDescription": "Skicka meddelanden när användare skickar in nya medieförfrågningar som kräver godkännande.", "components.NotificationTypeSelector.mediarequested": "Begäran väntar på godkännande", "components.NotificationTypeSelector.mediafailedDescription": "Skicka meddelanden när medieförfrågningar inte kan läggas till i Radarr eller Sonarr.", @@ -300,22 +300,22 @@ "components.MovieDetails.MovieCrew.fullcrew": "Filmteam", "components.Settings.csrfProtection": "Aktivera CSRF-skydd", "components.UserList.userssaved": "Användarbehörigheter sparade!", - "components.UserList.bulkedit": "Massredigering", + "components.UserList.bulkedit": "Mass-redigering", "components.PermissionEdit.usersDescription": "Bevilja behörighet att hantera användare. Användare med denna behörighet kan inte ändra användare med eller bevilja administratörsbehörighet.", "components.PermissionEdit.users": "Hantera Användare", "components.PermissionEdit.settingsDescription": "Ge tillstånd att ändra globala inställningar. En användare måste ha denna behörighet för att ge den till andra.", "components.PermissionEdit.settings": "Hantera Inställningar", "components.PermissionEdit.requestDescription": "Ge tillstånd att skicka förfrågningar för icke-4K-media.", - "components.PermissionEdit.request4kTvDescription": "Bevilja förfrågningar av 4K-serier.", - "components.PermissionEdit.request4kTv": "Begära 4K-serier", - "components.PermissionEdit.request4kMoviesDescription": "Bevilja förfrågningar av 4K-filmer.", + "components.PermissionEdit.request4kTvDescription": "Bevilja tillstånd att skicka förfrågningar för 4K-serien.", + "components.PermissionEdit.request4kTv": "Begära 4K Serier", + "components.PermissionEdit.request4kMoviesDescription": "Ge tillstånd att skicka in förfrågningar om 4K-filmer.", "components.PermissionEdit.request4kMovies": "Begära 4K Filmer", "components.PermissionEdit.request4kDescription": "Bevilja behörighet att skicka förfrågningar om 4K-media.", "components.PermissionEdit.request4k": "Begära 4K", "components.PermissionEdit.request": "Begära", "components.PermissionEdit.managerequestsDescription": "Bevilja behörighet att hantera medieförfrågningar. Alla förfrågningar som görs av en användare med den här behörigheten kommer att godkännas.", - "components.PermissionEdit.managerequests": "Hantera förfrågningar", - "components.PermissionEdit.adminDescription": "Fullständig administratörsbehörighet. Överskrider alla andra behörigheter.", + "components.PermissionEdit.managerequests": "Hantera Förfrågningar", + "components.PermissionEdit.adminDescription": "Fullständig administratörsbehörighet. Överskrider alla andra behörighetskontroller.", "components.PlexLoginButton.signinwithplex": "Logga in", "components.PlexLoginButton.signingin": "Loggar in…", "components.RequestModal.requesterror": "Någonting gick fel vid behandling av din begäran.", @@ -331,7 +331,7 @@ "components.RequestModal.AdvancedRequester.qualityprofile": "Kvalitetsprofil", "components.RequestModal.AdvancedRequester.destinationserver": "Destinationsserver", "components.RequestModal.AdvancedRequester.default": "{name} (Standard)", - "components.RequestModal.AdvancedRequester.animenote": "*Den här serien är en anime.", + "components.RequestModal.AdvancedRequester.animenote": "* Denna serien är en anime.", "components.RequestModal.AdvancedRequester.advancedoptions": "Avancerat", "components.RequestBlock.server": "Destinationsserver", "components.RequestBlock.rootfolder": "Root-mapp", @@ -340,31 +340,31 @@ "components.UserList.validationpasswordminchars": "Lösenordet är för kort; det behöver innehålla minst 8 bokstäver", "components.UserList.usercreatedsuccess": "Användaren skapad!", "components.UserList.usercreatedfailed": "Någonting gick fel vid skapandet av användaren.", - "components.UserList.passwordinfodescription": "Konfigurera en applikations-URL och aktivera notifikationer via e-post för att tillåta automatisk lösenordsgenerering.", + "components.UserList.passwordinfodescription": "Aktivera e-postmeddelanden för att tillåta automatisk lösenordsgenerering.", "components.UserList.password": "Lösenord", - "components.UserList.localuser": "Lokal användare", + "components.UserList.localuser": "Lokal Användare", "components.UserList.email": "E-postadress", "components.UserList.creating": "Skapar…", "components.UserList.createlocaluser": "Skapa lokal användare", "components.UserList.create": "Skapa", "components.UserList.autogeneratepassword": "Generera lösenord automatiskt", - "components.PersonDetails.crewmember": "Medarbetare", + "components.PersonDetails.crewmember": "Besättningsmedlem", "components.Login.validationemailrequired": "Du måste ange en giltig e-postadress", "components.Login.email": "E-postadress", - "components.PermissionEdit.autoapproveSeriesDescription": "Bevilja icke-4K serieförfrågningar automatiskt.", - "components.PermissionEdit.autoapproveSeries": "Godkänn serier automatiskt", - "components.PermissionEdit.autoapproveMoviesDescription": "Bevilja automatiskt godkännande av icke-4K filmförfrågningar.", - "components.PermissionEdit.autoapproveMovies": "Godkänn filmer automatiskt", + "components.PermissionEdit.autoapproveSeriesDescription": "Bevilja automatiskt godkännande för icke-4K-serieförfrågningar.", + "components.PermissionEdit.autoapproveSeries": "Auto-Godkänn Serier", + "components.PermissionEdit.autoapproveMoviesDescription": "Bevilja automatiskt godkännande för icke-4K-filmförfrågningar.", + "components.PermissionEdit.autoapproveMovies": "Auto-Godkänn Filmer", "components.PermissionEdit.autoapproveDescription": "Bevilja automatiskt godkännande för alla icke-4K-medieförfrågningar.", - "components.PermissionEdit.autoapprove": "Godkänn automatiskt", + "components.PermissionEdit.autoapprove": "Auto-Godkänn", "components.PermissionEdit.advancedrequestDescription": "Ge behörighet att redigera avancerade inställningar vid en begäran.", - "components.PermissionEdit.advancedrequest": "Avancerade förfrågningar", + "components.PermissionEdit.advancedrequest": "Avancerade Förfrågningar", "components.PermissionEdit.admin": "Admin", "components.NotificationTypeSelector.mediadeclinedDescription": "Skicka meddelanden när medieförfrågningar avvisas.", "components.NotificationTypeSelector.mediadeclined": "Begäran nekad", "components.MovieDetails.play4konplex": "Spela upp i 4K på Plex", "components.MovieDetails.playonplex": "Spela upp på Plex", - "components.MovieDetails.markavailable": "Markera som tillgänglig", + "components.MovieDetails.markavailable": "Markera som Tillgänglig", "components.MovieDetails.mark4kavailable": "Markera som tillgänglig i 4K", "components.Login.validationpasswordrequired": "Du måste ange ett lösenord", "components.Login.signinwithplex": "Använd ditt Plex-konto", @@ -374,7 +374,7 @@ "components.Login.signin": "Logga in", "components.Login.password": "Lösenord", "components.Login.loginerror": "Någonting gick fel vid inloggningen.", - "components.Login.forgotpassword": "Glömt lösenordet?", + "components.Login.forgotpassword": "Glömt Lösenordet?", "components.Discover.discover": "Upptäck", "components.AppDataWarning.dockerVolumeMissingDescription": "Monteringen för {appDataPath} volymen är inte konfigurerad ordentligt. All data kommer att rensas när behållaren stoppas eller startas om.", "components.ResetPassword.validationpasswordrequired": "Du måste ange ett lösenord", @@ -388,11 +388,11 @@ "components.ResetPassword.gobacklogin": "Gå tillbaka till Login-sidan", "components.ResetPassword.emailresetlink": "Skicka återställningslänk", "components.ResetPassword.email": "E-postadress", - "components.ResetPassword.confirmpassword": "Bekräfta lösenord", - "components.TvDetails.nextAirDate": "Nästa sändningsdatum", + "components.ResetPassword.confirmpassword": "Bekräfta Lösenord", + "components.TvDetails.nextAirDate": "Nästa släpp", "components.UserList.validationEmail": "Du måste ange en giltig e-postadress", - "components.Settings.SonarrModal.validationBaseUrlTrailingSlash": "Bas-URL:n får inte avslutas med ett snedstreck", - "components.Settings.SonarrModal.validationBaseUrlLeadingSlash": "Bas-URL:n måste inledas med ett snedstreck", + "components.Settings.SonarrModal.validationBaseUrlTrailingSlash": "Bas-URL:n får inte avslutas med ett slash", + "components.Settings.SonarrModal.validationBaseUrlLeadingSlash": "Bas-URL:n måste inledas med ett slash", "components.Settings.RadarrModal.validationBaseUrlTrailingSlash": "URL-basen får inte sluta med ett snedstreck", "components.Settings.RadarrModal.validationBaseUrlLeadingSlash": "URL-basen måste ha ett inledande snedstreck", "components.Settings.Notifications.validationEmail": "Du måste ange en giltig e-postadress", @@ -424,8 +424,8 @@ "components.Settings.SettingsJobsCache.jobs": "Jobb", "components.Settings.SettingsJobsCache.jobname": "Jobbnamn", "components.Settings.SettingsJobsCache.jobcancelled": "{jobname} avbruten.", - "components.Settings.SettingsJobsCache.flushcache": "Rensa cache", - "components.Settings.SettingsJobsCache.canceljob": "Avbryt jobb", + "components.Settings.SettingsJobsCache.flushcache": "Rensa Cache", + "components.Settings.SettingsJobsCache.canceljob": "Avbryt Jobb", "components.Settings.SettingsJobsCache.cachevsize": "Storleksvärde", "components.Settings.SettingsJobsCache.cachename": "Cache-namn", "components.Settings.SettingsJobsCache.cachemisses": "Missar", @@ -439,22 +439,22 @@ "components.Settings.trustProxy": "Aktivera Proxy-stöd", "components.TvDetails.playonplex": "Spela upp på Plex", "components.TvDetails.play4konplex": "Spela upp i 4K på Plex", - "components.Settings.SonarrModal.syncEnabled": "Aktivera genomsökning", + "components.Settings.SonarrModal.syncEnabled": "Aktivera skanning", "components.Settings.SonarrModal.externalUrl": "Extern URL", "components.Settings.RadarrModal.syncEnabled": "Aktivera skanning", "components.Settings.RadarrModal.externalUrl": "Extern URL", - "components.Settings.SonarrModal.toastSonarrTestSuccess": "Sonarr-anslutning upprättad!", - "components.Settings.SonarrModal.toastSonarrTestFailure": "Kunde inte ansluta till Sonarr.", + "components.Settings.SonarrModal.toastSonarrTestSuccess": "Sonarr-anslutning etablerad!", + "components.Settings.SonarrModal.toastSonarrTestFailure": "Misslyckades att ansluta till Sonarr.", "components.Settings.toastPlexRefreshSuccess": "Hämtning av serverlistan från Plex lyckades!", - "components.Settings.toastPlexRefreshFailure": "Kunde inte hämta serverlistan från Plex.", + "components.Settings.toastPlexRefreshFailure": "Misslyckades att hämta serverlistan från Plex.", "components.Settings.toastPlexRefresh": "Hämtar serverlistan från Plex…", - "components.Settings.toastPlexConnectingSuccess": "Anslutning till Plex lyckades!", - "components.Settings.toastPlexConnectingFailure": "Kunde inte ansluta till Plex.", + "components.Settings.toastPlexConnectingSuccess": "Anslutnignen till Plex lyckades!", + "components.Settings.toastPlexConnectingFailure": "Misslyckades med att ansluta till Plex.", "components.Settings.toastPlexConnecting": "Försöker ansluta till Plex…", - "components.Settings.settingUpPlexDescription": "För att konfigurera Plex kan du antingen ställa in inställningarna manuellt eller välja en server som hämtats via plex.tv. Tryck på knappen till höger om rullgardinsmenyn för att hämta listan över tillgängliga servrar.", + "components.Settings.settingUpPlexDescription": "För att konfigurerar Plex, kan du antingen ställa in inställningarna manuellt eller välja en server som hämtats via plex.tv. Tryck på knappen till höger om rullgardinsmenyn för att hämta listan över tillgängliga servrar.", "components.Settings.serverpresetRefreshing": "Hämtar servrar…", "components.Settings.serverpresetManualMessage": "Manuell konfiguration", - "components.Settings.serverpresetLoad": "Klicka på knappen för att hämta tillgängliga servrar", + "components.Settings.serverpresetLoad": "Klicka på knappen för att ladda in tillgängliga servrar", "components.Settings.serverpreset": "Server", "components.Settings.serverRemote": "fjärr", "components.Settings.serverLocal": "lokal", @@ -462,19 +462,19 @@ "i18n.loading": "Laddar…", "components.UserProfile.recentrequests": "Senaste förfrågningar", "components.UserProfile.UserSettings.menuPermissions": "Behörigheter", - "components.UserProfile.UserSettings.menuNotifications": "Notifikationer", - "components.UserProfile.UserSettings.menuGeneralSettings": "Allmänt", + "components.UserProfile.UserSettings.menuNotifications": "Meddelanden", + "components.UserProfile.UserSettings.menuGeneralSettings": "Allmänna", "components.UserProfile.UserSettings.menuChangePass": "Lösenord", "components.UserProfile.UserSettings.UserPermissions.toastSettingsSuccess": "Behörigheterna har sparats!", "components.UserProfile.UserSettings.UserPermissions.toastSettingsFailure": "Något gick fel när inställningarna sparades.", "components.UserProfile.UserSettings.UserPermissions.permissions": "Behörigheter", - "components.UserProfile.UserSettings.UserPasswordChange.validationNewPasswordLength": "Lösenordet är för kort; måste vara minst 8 tecken långt", + "components.UserProfile.UserSettings.UserPasswordChange.validationNewPasswordLength": "Lösenordet är för kort; den ska vara minst 8 tecken lång", "components.UserProfile.UserSettings.UserPasswordChange.validationNewPassword": "Du måste ange ett nytt lösenord", "components.UserProfile.UserSettings.UserPasswordChange.validationCurrentPassword": "Du måste ange ditt nuvarande lösenord", "components.UserProfile.UserSettings.UserPasswordChange.validationConfirmPasswordSame": "Lösenorden måste matcha", "components.UserProfile.UserSettings.UserPasswordChange.validationConfirmPassword": "Du måste bekräfta det nya lösenordet", "components.UserProfile.UserSettings.UserPasswordChange.toastSettingsSuccess": "Lösenordet har ändrats!", - "components.UserProfile.UserSettings.UserPasswordChange.toastSettingsFailure": "Något gick fel när lösenordet sparades.", + "components.UserProfile.UserSettings.UserPasswordChange.toastSettingsFailure": "Något gick fel när du sparade lösenordet.", "components.UserProfile.UserSettings.UserPasswordChange.password": "Lösenord", "components.UserProfile.UserSettings.UserPasswordChange.nopermissionDescription": "Du har inte behörighet att ändra användarens lösenord.", "components.UserProfile.UserSettings.UserPasswordChange.newpassword": "Nytt lösenord", @@ -484,21 +484,21 @@ "components.UserProfile.UserSettings.UserNotificationSettings.validationDiscordId": "Du måste ange ett giltigt användar-ID", "components.UserProfile.UserSettings.UserNotificationSettings.telegramChatIdTipLong": "Starta en chatt, lägg till @get_id_bot och använd kommandot /my_id ", "components.UserProfile.UserSettings.UserNotificationSettings.telegramChatId": "Chatt-ID", - "components.UserProfile.UserSettings.UserNotificationSettings.sendSilentlyDescription": "Skicka notifikationer utan ljud", + "components.UserProfile.UserSettings.UserNotificationSettings.sendSilentlyDescription": "Skicka meddelanden utan ljud", "components.UserProfile.UserSettings.UserNotificationSettings.sendSilently": "Skicka tyst", - "components.UserProfile.UserSettings.UserNotificationSettings.notificationsettings": "Notifikationsinställningar", + "components.UserProfile.UserSettings.UserNotificationSettings.notificationsettings": "Aviseringsinställningar", "components.UserProfile.UserSettings.UserNotificationSettings.discordIdTip": "Det flersiffriga ID-numret som är kopplat till ditt användarkonto", "components.UserProfile.UserSettings.UserNotificationSettings.discordId": "Användar-ID", "components.UserProfile.UserSettings.UserGeneralSettings.user": "Användare", "components.UserProfile.UserSettings.UserGeneralSettings.toastSettingsSuccess": "Inställningarna har sparats!", "components.UserProfile.UserSettings.UserGeneralSettings.toastSettingsFailure": "Något gick fel när inställningarna sparades.", "components.UserProfile.UserSettings.UserGeneralSettings.role": "Roll", - "components.UserProfile.UserSettings.UserGeneralSettings.regionTip": "Filtrera innehåll efter regional tillgänglighet", - "components.UserProfile.UserSettings.UserGeneralSettings.region": "Region för upptäck-fliken", + "components.UserProfile.UserSettings.UserGeneralSettings.regionTip": "Filtrera innehåll efter region tillgänglighet", + "components.UserProfile.UserSettings.UserGeneralSettings.region": "Upptäck region", "components.UserProfile.UserSettings.UserGeneralSettings.plexuser": "Plex-användare", "components.UserProfile.UserSettings.UserGeneralSettings.owner": "Ägare", "components.UserProfile.UserSettings.UserGeneralSettings.originallanguageTip": "Filtrera innehåll efter originalspråk", - "components.UserProfile.UserSettings.UserGeneralSettings.originallanguage": "Språk för upptäck-fliken", + "components.UserProfile.UserSettings.UserGeneralSettings.originallanguage": "Upptäck språk", "components.UserProfile.UserSettings.UserGeneralSettings.localuser": "Lokala användare", "components.UserProfile.UserSettings.UserGeneralSettings.generalsettings": "Allmänna Inställningar", "components.UserProfile.UserSettings.UserGeneralSettings.displayName": "Visningsnamn", @@ -511,12 +511,12 @@ "components.UserList.userfail": "Något gick fel när användarbehörigheter sparades.", "components.UserList.sortRequests": "Antal förfrågningar", "components.UserList.sortDisplayName": "Visningsnamn", - "components.UserList.sortCreated": "Registreringsdatum", + "components.UserList.sortCreated": "Datum för anslutning", "components.UserList.owner": "Ägare", - "components.UserList.edituser": "Redigera användarbehörigheter", + "components.UserList.edituser": "Redigera användarebehörigheter", "components.UserList.accounttype": "Typ", - "components.TvDetails.seasons": "{seasonCount, plural, one {# säsong} other {# säsonger}}", - "components.Setup.scanbackground": "Genomsökning körs i bakgrunden. Du kan fortsätta installationsprocessen under tiden.", + "components.TvDetails.seasons": "{seasonCount, plural, one {# Säsong} other {# Säsonger}}", + "components.Setup.scanbackground": "Skanning körs i bakgrunden. Du kan fortsätta installationsprocessen under tiden.", "components.Settings.webhook": "Webhook", "components.Settings.scanning": "Synkar…", "components.Settings.scan": "Skanna bibliotek", @@ -531,8 +531,8 @@ "components.Settings.SonarrModal.testFirstLanguageProfiles": "Testa anslutningen för att ladda språkprofiler", "components.Settings.SonarrModal.selectLanguageProfile": "Välj spåkprofil", "components.Settings.SonarrModal.loadinglanguageprofiles": "Laddar språkprofiler…", - "components.Settings.SonarrModal.languageprofile": "Språkprofil", - "components.Settings.SonarrModal.animelanguageprofile": "Anime-språkprofil", + "components.Settings.SonarrModal.languageprofile": "Spårkprofil", + "components.Settings.SonarrModal.animelanguageprofile": "Anime språkprofil", "components.Settings.SettingsUsers.userSettingsDescription": "Konfigurera globala och standardinställningar för användare.", "components.Settings.SettingsUsers.userSettings": "Anvädnarinställningar", "components.Settings.SettingsUsers.toastSettingsSuccess": "Användarinställningar sparade!", @@ -562,13 +562,13 @@ "components.RequestModal.AdvancedRequester.languageprofile": "Språkprofil", "components.RequestList.RequestItem.requested": "Begärd", "components.RequestList.RequestItem.modifieduserdate": "{date} av{user}", - "components.RequestList.RequestItem.modified": "Ändrad", + "components.RequestList.RequestItem.modified": "Modifierad", "components.RequestBlock.requestoverrides": "Begär åsidosättningar", "components.RegionSelector.regionServerDefault": "Standard ({region})", - "components.RegionSelector.regionDefault": "Alla regioner", - "components.PermissionEdit.autoapprove4kSeriesDescription": "Bevilja 4K serieförfrågningar automatiskt.", + "components.RegionSelector.regionDefault": "Alla Regioner", + "components.PermissionEdit.autoapprove4kSeriesDescription": "Bevilja automatiskt godkännande för 4K-serieförfrågningar.", "components.PermissionEdit.autoapprove4kSeries": "Godkänn automatiskt 4K-serier", - "components.PermissionEdit.autoapprove4kMoviesDescription": "Bevilja automatiskt godkännande av 4K-filmförfrågningar.", + "components.PermissionEdit.autoapprove4kMoviesDescription": "Bevilja automatiskt godkännande för 4K-filmförfrågningar.", "components.PermissionEdit.autoapprove4kMovies": "Godkänn automatiskt 4K-filmer", "components.PermissionEdit.autoapprove4kDescription": "Bevilja automatiskt godkännande för alla 4K-medieförfrågningar.", "components.PermissionEdit.autoapprove4k": "Automatiskt godkännande av 4K", @@ -577,15 +577,15 @@ "components.Layout.UserDropdown.settings": "Inställningar", "components.Layout.UserDropdown.myprofile": "Profil", "components.Discover.upcomingtv": "Kommande serier", - "components.Discover.StudioSlider.studios": "Studior", + "components.Discover.StudioSlider.studios": "Studio", "components.Discover.NetworkSlider.networks": "Nätverk", - "components.Discover.DiscoverTvLanguage.languageSeries": "{language} serier", - "components.Discover.DiscoverTvGenre.genreSeries": "{genre}serier", - "components.Discover.DiscoverStudio.studioMovies": "{studio} filmer", - "components.Discover.DiscoverNetwork.networkSeries": "{network}-serier", - "components.Discover.DiscoverMovieLanguage.languageMovies": "{language} filmer", - "components.Discover.DiscoverMovieGenre.genreMovies": "{genre}filmer", - "components.CollectionDetails.requestcollection4k": "Begär samling i 4K", + "components.Discover.DiscoverTvLanguage.languageSeries": "{language} Serier", + "components.Discover.DiscoverTvGenre.genreSeries": "{genre} Serier", + "components.Discover.DiscoverStudio.studioMovies": "{studio} Filmer", + "components.Discover.DiscoverNetwork.networkSeries": "{network} Serier", + "components.Discover.DiscoverMovieLanguage.languageMovies": "{language} Filmer", + "components.Discover.DiscoverMovieGenre.genreMovies": "{genre} Filmer", + "components.CollectionDetails.requestcollection4k": "Begär Kollektion i 4K", "components.UserProfile.UserSettings.unauthorizedDescription": "Du har inte behörighet att ändra den här användarens inställningar.", "components.UserProfile.UserSettings.UserPermissions.unauthorizedDescription": "Du kan inte ändra dina egna behörigheter.", "components.Discover.MovieGenreList.moviegenres": "Filmgenrer", @@ -597,20 +597,20 @@ "components.TvDetails.episodeRuntime": "Avsnittets speltid", "components.Settings.partialRequestsEnabled": "Tillåt begäran av ofullständig serie", "components.Settings.Notifications.pgpPrivateKeyTip": "Signera krypterade e-postmeddelanden med OpenPGP ", - "components.Settings.Notifications.pgpPrivateKey": "PGP privat nyckel", + "components.Settings.Notifications.pgpPrivateKey": "PGP Privat nyckel", "components.Settings.Notifications.pgpPasswordTip": "Signera krypterade e-postmeddelanden med OpenPGP ", - "components.Settings.Notifications.pgpPassword": "PGP-lösenord", + "components.Settings.Notifications.pgpPassword": "PGP Lösenord", "components.RequestModal.alreadyrequested": "Redan begärd", - "components.UserProfile.UserSettings.UserGeneralSettings.general": "Allmänt", + "components.UserProfile.UserSettings.UserGeneralSettings.general": "Allmänna", "pages.somethingwentwrong": "Något gick fel", "pages.serviceunavailable": "Tjänsten är inte tillgänglig", - "pages.pagenotfound": "Sidan hittades inte", + "pages.pagenotfound": "Sidan hittas inte", "pages.internalservererror": "Internt serverfel", "pages.errormessagewithcode": "{statusCode} - {error}", "i18n.usersettings": "Användarinställningar", "i18n.settings": "Inställningar", "components.UserProfile.UserSettings.UserPasswordChange.toastSettingsFailureVerifyCurrent": "Något gick fel när lösenordet sparades. Har ditt nuvarande lösenord skrivits in korrekt?", - "components.UserProfile.UserSettings.UserNotificationSettings.notifications": "Notifikationer", + "components.UserProfile.UserSettings.UserNotificationSettings.notifications": "Notifieringar", "components.Settings.services": "Tjänster", "components.Settings.plex": "Plex", "components.Settings.notifications": "Notifieringar", @@ -629,7 +629,7 @@ "components.Settings.SettingsLogs.filterInfo": "Info", "components.Settings.SettingsLogs.filterError": "Fel", "components.Settings.SettingsLogs.filterDebug": "Felsök", - "components.Settings.SettingsJobsCache.jobsandcache": "Jobb & cache", + "components.Settings.SettingsJobsCache.jobsandcache": "Jobb & Cache", "components.Settings.SettingsAbout.about": "Om", "components.ResetPassword.passwordreset": "Återställning av lösenord", "components.Settings.cacheImagesTip": "Optimera och lagra alla bilder lokalt (använder en betydande mängd diskutrymme)", @@ -639,7 +639,7 @@ "components.Settings.SettingsLogs.copyToClipboard": "Kopiera till urklipp", "components.Settings.SettingsLogs.copiedLogMessage": "Kopierat loggmeddelande till urklipp.", "components.Settings.enablessl": "Använd SSL", - "components.UserList.nouserstoimport": "Det finns inga Plex-användare att importera.", + "components.UserList.nouserstoimport": "Det finns inga Plexanvändare att importera.", "components.PersonDetails.lifespan": "{birthdate} – {deathdate}", "components.PersonDetails.birthdate": "Född {birthdate}", "components.PersonDetails.alsoknownas": "Även känd som: {names}", @@ -651,12 +651,12 @@ "components.RequestModal.QuotaDisplay.movielimit": "{limit, plural, one {film} other {filmer}}", "components.RequestModal.QuotaDisplay.movie": "film", "components.RequestModal.QuotaDisplay.allowedRequestsUser": "Denna användare är tillåten att begära {limit} {type} varje {days} dagar.", - "components.RequestModal.QuotaDisplay.allowedRequests": "Du är kan begära {limit} {type} varje {days} dagar.", + "components.RequestModal.QuotaDisplay.allowedRequests": "Du är tillåten att begära {limit} {type} varje {days} dagar.", "components.QuotaSelector.unlimited": "Obegränsat", "i18n.view": "Visa", "i18n.tvshow": "Serier", "i18n.testing": "Testar…", - "i18n.test": "Testa", + "i18n.test": "Test", "i18n.status": "Status", "i18n.showingresults": "Visar {from} till {to} av {total} resultat", "i18n.saving": "Sparar…", @@ -665,32 +665,32 @@ "i18n.requesting": "Begär…", "i18n.request4k": "Begär i 4K", "i18n.previous": "Föregående", - "i18n.notrequested": "Inte begärd", + "i18n.notrequested": "Inte efterfrågad", "i18n.noresults": "Inga resultat.", "i18n.next": "Nästa", "i18n.movie": "Film", "i18n.canceling": "Avbryter…", - "i18n.back": "Tillbaka", + "i18n.back": "Bakåt", "i18n.areyousure": "Är du säker?", "i18n.all": "Alla", "components.UserProfile.unlimited": "Obegränsat", - "components.UserProfile.totalrequests": "Totalt antal förfrågningar", + "components.UserProfile.totalrequests": "Totalt antal förfrågnignar", "components.UserProfile.seriesrequest": "Serieförfrågningar", "components.UserProfile.requestsperdays": "{limit} kvar", "components.UserProfile.pastdays": "{type} (senaste {days} dagar)", "components.UserProfile.movierequests": "Filmförfrågningar", "components.UserProfile.limit": "{remaining} av {limit}", - "components.UserProfile.UserSettings.UserGeneralSettings.seriesrequestlimit": "Gräns för serieförfrågningar", - "components.UserProfile.UserSettings.UserGeneralSettings.movierequestlimit": "Gräns för filmförfrågningar", + "components.UserProfile.UserSettings.UserGeneralSettings.seriesrequestlimit": "Serieförfrågnings gräns", + "components.UserProfile.UserSettings.UserGeneralSettings.movierequestlimit": "Filmförfrågnings gräns", "components.UserProfile.UserSettings.UserGeneralSettings.enableOverride": "Överskrid den globala gränsen", "components.Settings.SettingsUsers.tvRequestLimitLabel": "Global serieförfrågningsgräns", "components.Settings.SettingsUsers.movieRequestLimitLabel": "Global filmförfrågningsgräns", - "components.RequestModal.QuotaDisplay.requiredquotaUser": "Den här användaren behöver ha minst {seasons} {seasons, plural, one {säsongsförfrågan} other {säsongsförfrågningar}} kvar för att begära denna serie.", + "components.RequestModal.QuotaDisplay.requiredquotaUser": "Den här användaren behöver ha minst {seasons} {seasons, plural, one {säsongsförfrågan} other {säsongsförfrågningar}} kvar för att skicka in en begäran om denna serie.", "components.RequestModal.QuotaDisplay.seasonlimit": "{limit, plural, one {säsong} other {säsonger}}", "components.RequestModal.QuotaDisplay.season": "säsong", - "components.RequestModal.QuotaDisplay.requiredquota": "Du behöver minst{seasons} {seasons, plural, one {säsongförfrågan} other {säsongsförfrågningar}} kvar för att begära denna serie.", + "components.RequestModal.QuotaDisplay.requiredquota": "Du behöver minst{seasons} {seasons, plural, one {säsongförfrågan request} other {säsongsförfrågningar}} kvar för att lämna in en begäran om denna serie.", "components.TvDetails.originaltitle": "Originaltitel", - "components.MovieDetails.originaltitle": "Originaltitel", + "components.MovieDetails.originaltitle": "Originaltitle", "components.LanguageSelector.originalLanguageDefault": "Alla språk", "components.LanguageSelector.languageServerDefault": "Standard ({language})", "components.Settings.SonarrModal.testFirstTags": "Testa anslutningen för att ladda taggar", @@ -699,16 +699,16 @@ "components.Settings.SonarrModal.notagoptions": "Inga taggar.", "components.Settings.SonarrModal.loadingTags": "Laddar taggar…", "components.Settings.SonarrModal.edit4ksonarr": "Redigera 4K Sonarr-server", - "components.Settings.SonarrModal.default4kserver": "Standard 4K-server", + "components.Settings.SonarrModal.default4kserver": "Standard 4K server", "components.Settings.SonarrModal.create4ksonarr": "Lägg till ny 4K Sonarr-server", - "components.Settings.SonarrModal.animeTags": "Anime-taggar", + "components.Settings.SonarrModal.animeTags": "Anime taggar", "components.Settings.RadarrModal.testFirstTags": "Testa anslutningen för att ladda taggar", "components.Settings.RadarrModal.tags": "Taggar", "components.Settings.RadarrModal.selecttags": "Välj taggar", "components.Settings.RadarrModal.create4kradarr": "Lägg till ny 4K Radarr-server", "components.Settings.RadarrModal.notagoptions": "Inga taggar.", - "components.Settings.RadarrModal.edit4kradarr": "Redigera 4K-Radarr-server", - "components.Settings.RadarrModal.default4kserver": "Standard 4K-server", + "components.Settings.RadarrModal.edit4kradarr": "Redigera 4K Radarr-server", + "components.Settings.RadarrModal.default4kserver": "Standard 4K server", "components.RequestModal.AdvancedRequester.tags": "Taggar", "components.RequestModal.AdvancedRequester.selecttags": "Välj taggar", "components.RequestModal.AdvancedRequester.notagoptions": "Inga taggar.", @@ -719,17 +719,17 @@ "components.RequestCard.deleterequest": "Ta bort begäran", "components.UserProfile.UserSettings.UserNotificationSettings.discordsettingsfailed": "Notifieringsinställningar för Discord kunde inte sparas.", "components.UserProfile.UserSettings.UserNotificationSettings.validationPgpPublicKey": "Du måste ange en giltig offentlig PGP-nyckel", - "components.UserProfile.UserSettings.UserNotificationSettings.telegramsettingssaved": "Notifikationsinställningar för Telegram har sparats!", - "components.UserProfile.UserSettings.UserNotificationSettings.telegramsettingsfailed": "Notifikationsinställningar för Telegram kunde inte sparas.", + "components.UserProfile.UserSettings.UserNotificationSettings.telegramsettingssaved": "Notiferingsinställningar för Telegram sparade!", + "components.UserProfile.UserSettings.UserNotificationSettings.telegramsettingsfailed": "Notifieringsinställningar för Telegram kunde inte sparas.", "components.UserProfile.UserSettings.UserNotificationSettings.pgpPublicKeyTip": "Kryptera e-postmeddelanden med OpenPGP", "components.UserProfile.UserSettings.UserNotificationSettings.pgpPublicKey": "Offentlig PGP-nyckel", - "components.UserProfile.UserSettings.UserNotificationSettings.emailsettingssaved": "Inställningarna för e-postnotifikationer har sparats!", + "components.UserProfile.UserSettings.UserNotificationSettings.emailsettingssaved": "Inställningar för e-postavisering har sparats!", "components.UserProfile.UserSettings.UserNotificationSettings.emailsettingsfailed": "Notifieringsinställningar för e-post kunde inte sparas.", "components.UserProfile.UserSettings.UserNotificationSettings.email": "E-post", - "components.UserProfile.UserSettings.UserNotificationSettings.discordsettingssaved": "Notifieringsinställningar för Discord sparade!", + "components.UserProfile.UserSettings.UserNotificationSettings.discordsettingssaved": "Notiferingsinställningar för Discord sparade!", "components.Settings.Notifications.validationPgpPrivateKey": "Du måste ange en giltig privat PGP-nyckel", "components.Settings.Notifications.validationPgpPassword": "Du måste ange ett PGP-lösenord", - "components.Settings.Notifications.botUsernameTip": "Låt användare också starta en chatt med din bot och konfigurera sina egna notifikationer", + "components.Settings.Notifications.botUsernameTip": "Låt användare också starta en chatt med din bot och konfigurera sina egna aviseringar", "components.RequestModal.pendingapproval": "Din begäran väntar på godkännande.", "components.RequestList.RequestItem.cancelRequest": "Avbryt begäran", "components.NotificationTypeSelector.notificationTypes": "Notifikationstyper", @@ -739,9 +739,9 @@ "components.Layout.VersionStatus.commitsbehind": "{commitsBehind} {commitsBehind, plural, one {ändring} other {ändringar}} efter", "components.UserProfile.UserSettings.UserPasswordChange.noPasswordSetOwnAccount": "Ditt konto har för närvarande inget lösenord. Konfigurera ett lösenord nedan för att aktivera inloggning som en \"lokal användare\" med din e-postadress.", "components.UserProfile.UserSettings.UserPasswordChange.noPasswordSet": "Det här användarkontot har för närvarande inget lösenord. Konfigurera ett lösenord nedan så att det här kontot kan logga in som en \"lokal användare.\"", - "components.Settings.serviceSettingsDescription": "Konfigurera din {serverType}-server nedan. Du kan ansluta till flera {serverType}-servrar, men bara två av dem kan markeras som standard (en icke-4K och en 4K). Administratörer kan åsidosätta servern som används för att behandla nya förfrågningar innan godkännande.", - "components.Settings.noDefaultServer": "Minst en {serverType}-server måste markeras som standard för att {mediaType}-förfrågningar ska kunna behandlas.", - "components.Settings.noDefaultNon4kServer": "Om du bara har en {serverType}-server för både 4K och icke-4K innehåll (eller om du bara laddar ner 4K-innehåll) bör din {serverType}-server INTE betecknas som en 4K-server.", + "components.Settings.serviceSettingsDescription": "Konfigurera din server {serverType} nedan. Du kan ansluta flera {serverType} servrar, men bara två av dem kan markeras som standard (en icke-4K och en 4K). Administratörer kan åsidosätta servern som används för att behandla nya förfrågningar innan godkännande.", + "components.Settings.noDefaultServer": "Minst en {serverType} server måste markeras som standard för att {mediaType} -förfrågningar ska kunna behandlas.", + "components.Settings.noDefaultNon4kServer": "Om du bara har en enda {serverType} server för både icke-4K- och 4K-innehåll (eller om du bara laddar ner 4K-innehåll) bör din {serverType} server INTE betecknas som en 4K-server.", "components.Settings.mediaTypeSeries": "serier", "components.Settings.mediaTypeMovie": "film", "components.Settings.SettingsAbout.uptodate": "Aktuell", @@ -758,45 +758,45 @@ "components.UserProfile.UserSettings.UserGeneralSettings.applanguage": "Visningsspråk", "components.Settings.webpush": "Webb-push", "components.Settings.Notifications.NotificationsWebPush.webpushsettingssaved": "Webb-push-meddelandeinställningar sparades!", - "components.Settings.Notifications.NotificationsWebPush.webpushsettingsfailed": "Webb-push-notifikationsinställningar kunde inte sparas.", + "components.Settings.Notifications.NotificationsWebPush.webpushsettingsfailed": "Webb-push-aviseringsinställningar kunde inte sparas.", "components.Settings.Notifications.NotificationsWebPush.agentenabled": "Aktivera agent", "components.Settings.Notifications.NotificationsLunaSea.webhookUrl": "Webhook-URL", "components.Settings.Notifications.NotificationsLunaSea.validationWebhookUrl": "Du måste ange en giltig URL", - "components.Settings.Notifications.NotificationsLunaSea.settingsSaved": "LunaSea-notifikationsinställningar har sparats!", - "components.Settings.Notifications.NotificationsLunaSea.settingsFailed": "LunaSea-notifikationsinställningarna kunde inte sparas.", + "components.Settings.Notifications.NotificationsLunaSea.settingsSaved": "LunaSea-aviseringsinställningar har sparats!", + "components.Settings.Notifications.NotificationsLunaSea.settingsFailed": "LunaSea-aviseringsinställningarna kunde inte sparas.", "components.Settings.Notifications.NotificationsLunaSea.profileNameTip": "Krävs endast om du inte använder default", "components.Settings.Notifications.NotificationsLunaSea.profileName": "Profilnamn", "components.Settings.Notifications.NotificationsLunaSea.agentenabled": "Aktivera agent", - "components.Settings.Notifications.NotificationsPushbullet.toastPushbulletTestSending": "Skickar Pushbullet testmeddelande…", - "components.Settings.Notifications.NotificationsPushbullet.toastPushbulletTestFailed": "Pushbullet-testmeddelande kunde inte skickas.", + "components.Settings.Notifications.NotificationsPushbullet.toastPushbulletTestSending": "Skickar Pushbullet testmeddelande …", + "components.Settings.Notifications.NotificationsPushbullet.toastPushbulletTestFailed": "Pushbullet-testmeddelandet kunde inte skickas.", "components.Settings.Notifications.NotificationsLunaSea.toastLunaSeaTestSuccess": "LunaSea testmeddelande skickat!", - "components.Settings.Notifications.NotificationsLunaSea.toastLunaSeaTestSending": "Skickar LunaSea testmeddelande…", + "components.Settings.Notifications.NotificationsLunaSea.toastLunaSeaTestSending": "Skickar LunaSea testmeddelande …", "components.Settings.Notifications.NotificationsLunaSea.toastLunaSeaTestFailed": "LunaSea-testmeddelandet kunde inte skickas.", - "components.UserProfile.UserSettings.UserNotificationSettings.webpushsettingssaved": "Notifikationsinställningar för webb-push har sparats!", - "components.UserProfile.UserSettings.UserNotificationSettings.webpushsettingsfailed": "Notifikationsinställningar för webb-push kunde inte sparas.", - "components.Settings.noDefault4kServer": "En 4K {serverType}-server måste markeras som standard för att användare ska kunna skicka 4K-{mediaType}förfrågningar.", + "components.UserProfile.UserSettings.UserNotificationSettings.webpushsettingssaved": "Inställningar för webb push-meddelanden har sparats!", + "components.UserProfile.UserSettings.UserNotificationSettings.webpushsettingsfailed": "Webb-push-aviseringsinställningar kunde inte sparas.", + "components.Settings.noDefault4kServer": "En 4K {serverType}-server måste markeras som standard för att användare ska kunna skicka 4K {mediaType}-förfrågningar.", "components.Settings.is4k": "4K", "components.Settings.Notifications.toastTelegramTestSuccess": "Telegram testmeddelande skickat!", - "components.Settings.Notifications.toastTelegramTestSending": "Skickar Telegram-testmeddelande…", - "components.Settings.Notifications.toastTelegramTestFailed": "Telegram-testmeddelande kunde inte skickas.", + "components.Settings.Notifications.toastTelegramTestSending": "Skickar telegramtestmeddelande…", + "components.Settings.Notifications.toastTelegramTestFailed": "Telegram-testmeddelandet kunde inte skickas.", "components.Settings.Notifications.toastEmailTestSuccess": "E-post testmeddelande skickat!", "components.Settings.Notifications.toastEmailTestSending": "Skickar e-posttestmeddelande…", - "components.Settings.Notifications.toastEmailTestFailed": "Testmeddelandet via e-post kunde inte skickas.", + "components.Settings.Notifications.toastEmailTestFailed": "E-post testmeddelandet kunde inte skickas.", "components.Settings.Notifications.toastDiscordTestSuccess": "Discord testmeddelande skickat!", "components.Settings.Notifications.toastDiscordTestSending": "Skickar Discord testmeddelande…", - "components.Settings.Notifications.toastDiscordTestFailed": "Discord-testmeddelande kunde inte skickas.", + "components.Settings.Notifications.toastDiscordTestFailed": "Discord-testmeddelandet kunde inte skickas.", "components.Settings.Notifications.NotificationsWebhook.toastWebhookTestSuccess": "Webhook testmeddelande skickat!", "components.Settings.Notifications.NotificationsWebhook.toastWebhookTestSending": "Skickar webhook testmeddelande…", - "components.Settings.Notifications.NotificationsWebhook.toastWebhookTestFailed": "Webhook-testmeddelande kunde inte skickas.", - "components.Settings.Notifications.NotificationsWebPush.toastWebPushTestSuccess": "Webbpush-testmeddelande skickat!", - "components.Settings.Notifications.NotificationsWebPush.toastWebPushTestSending": "Skickar webbpush-testmeddelande…", - "components.Settings.Notifications.NotificationsWebPush.toastWebPushTestFailed": "Webbpush-testmeddelande kunde inte skickas.", + "components.Settings.Notifications.NotificationsWebhook.toastWebhookTestFailed": "Webhook-testmeddelandet kunde inte skickas.", + "components.Settings.Notifications.NotificationsWebPush.toastWebPushTestSuccess": "Webb-push-testmeddelande skickat!", + "components.Settings.Notifications.NotificationsWebPush.toastWebPushTestSending": "Skicka webb push-testmeddelande…", + "components.Settings.Notifications.NotificationsWebPush.toastWebPushTestFailed": "Webb-push-testmeddelandet kunde inte skickas.", "components.Settings.Notifications.NotificationsSlack.toastSlackTestSuccess": "Slack testmeddelande skickat!", - "components.Settings.Notifications.NotificationsSlack.toastSlackTestSending": "Skickar Slack testmeddelande…", - "components.Settings.Notifications.NotificationsSlack.toastSlackTestFailed": "Slack-testmeddelande kunde inte skickas.", + "components.Settings.Notifications.NotificationsSlack.toastSlackTestSending": "Skickar Slack testmeddelande …", + "components.Settings.Notifications.NotificationsSlack.toastSlackTestFailed": "Slack-testmeddelandet kunde inte skickas.", "components.Settings.Notifications.NotificationsPushover.toastPushoverTestSuccess": "Pushover testmeddelande skickat!", - "components.Settings.Notifications.NotificationsPushover.toastPushoverTestSending": "Skickar Pushover-testmeddelande…", - "components.Settings.Notifications.NotificationsPushover.toastPushoverTestFailed": "Pushover-testmeddelande kunde inte skickas.", + "components.Settings.Notifications.NotificationsPushover.toastPushoverTestSending": "Skickar Pushover-testmeddelande …", + "components.Settings.Notifications.NotificationsPushover.toastPushoverTestFailed": "Pushover-testmeddelandet kunde inte skickas.", "components.Settings.Notifications.NotificationsPushbullet.toastPushbulletTestSuccess": "Pushbullet testmeddelande skickat!", "components.Settings.SettingsUsers.newPlexLoginTip": "Tillåt {mediaServerName}-användare att logga in utan att först importeras", "components.Settings.SettingsUsers.newPlexLogin": "Aktivera ny {mediaServerName}-inloggning", @@ -819,9 +819,9 @@ "components.Settings.Notifications.NotificationsPushover.userTokenTip": "Din 30-tecken användare eller gruppidentifierare", "components.Settings.Notifications.NotificationsPushover.accessTokenTip": "Registrera en applikation för användning med Jellyseerr", "components.Settings.Notifications.NotificationsPushbullet.accessTokenTip": "Skapa en token från dina kontoinställningar", - "components.Settings.Notifications.NotificationsLunaSea.webhookUrlTip": "Din användar- eller enhetsbaserade webbhook-URL för notifikationer", + "components.Settings.Notifications.NotificationsLunaSea.webhookUrlTip": "Din användar- eller enhetsbaserade webbhook-URL för avisering", "components.DownloadBlock.estimatedtime": "Beräknad {time}", - "components.Settings.webAppUrlTip": "Valfri omdirigering av användare till webbappen på din server istället för host-webbappen", + "components.Settings.webAppUrlTip": "Alternativt dirigera användare till webbappen på din server istället för den \"värd\" webbappen", "components.Settings.webAppUrl": "Webbapp URL", "components.UserList.localLoginDisabled": "Inställningen Aktivera lokal inloggning är för närvarande inaktiverad.", "components.Settings.Notifications.NotificationsWebPush.httpsRequirement": "För att kunna ta emot push-notiser måste Jellyseerr serveras via HTTPS.", @@ -829,21 +829,21 @@ "components.RequestList.RequestItem.requesteddate": "Begärd", "components.RequestCard.failedretry": "Något gick fel vid nytt försök av begäran.", "components.Settings.SettingsUsers.localLoginTip": "Tillåt användare att logga in med sin e-postadress och lösenord istället för Plex OAuth", - "components.Settings.SettingsUsers.defaultPermissionsTip": "Behörigheter som tilldelas nya användare", + "components.Settings.SettingsUsers.defaultPermissionsTip": "Inledande behörigheter som tilldelats nya användare", "components.QuotaSelector.movieRequests": "{quotaLimit} {movies} per {quotaDays} {days}", "components.QuotaSelector.tvRequests": "{quotaLimit} {seasons} per {quotaDays} {days}", "components.QuotaSelector.seasons": "{count, plural, one {säsong} other {säsonger}}", "components.QuotaSelector.movies": "{count, plural, one {film} other {filmer}}", "components.QuotaSelector.days": "{count, plural, one {dag} other {dagar}}", - "components.Settings.Notifications.NotificationsLunaSea.validationTypes": "Du måste välja minst en notifikationstyp", - "components.Settings.Notifications.validationTypes": "Du måste välja minst en notifikationstyp", - "components.Settings.Notifications.NotificationsWebhook.validationTypes": "Du måste välja minst en notifikationstyp", - "components.Settings.Notifications.NotificationsSlack.validationTypes": "Du måste välja minst en notifikationstyp", - "components.Settings.Notifications.NotificationsPushover.validationTypes": "Du måste välja minst en notifikationstyp", - "components.Settings.Notifications.NotificationsPushbullet.validationTypes": "Du måste välja minst en notifikationstyp", + "components.Settings.Notifications.NotificationsLunaSea.validationTypes": "Du måste välja minst en aviseringstyp", + "components.Settings.Notifications.validationTypes": "Du måste välja minst en aviseringstyp", + "components.Settings.Notifications.NotificationsWebhook.validationTypes": "Du måste välja minst en aviseringstyp", + "components.Settings.Notifications.NotificationsSlack.validationTypes": "Du måste välja minst en aviseringstyp", + "components.Settings.Notifications.NotificationsPushover.validationTypes": "Du måste välja minst en aviseringstyp", + "components.Settings.Notifications.NotificationsPushbullet.validationTypes": "Du måste välja minst en aviseringstyp", "components.NotificationTypeSelector.usermediarequestedDescription": "Bli meddelad när andra användare skickar nya medieförfrågningar som kräver godkännande.", "components.NotificationTypeSelector.usermediafailedDescription": "Bli meddelad när medieförfrågningar inte kan läggas till i Radarr eller Sonarr.", - "components.NotificationTypeSelector.usermediadeclinedDescription": "Skicka notifikationer när dina medieförfrågningar nekas.", + "components.NotificationTypeSelector.usermediadeclinedDescription": "Få avisering när dina medieförfrågningar avvisas.", "components.NotificationTypeSelector.usermediaavailableDescription": "Bli meddelad när dina medieförfrågningar blir tillgängliga.", "components.NotificationTypeSelector.usermediaapprovedDescription": "Bli meddelad när dina medieförfrågningar godkänns.", "components.NotificationTypeSelector.usermediaAutoApprovedDescription": "Bli meddelad när andra användare skickar in nya medieförfrågningar som automatiskt godkänns.", @@ -894,7 +894,7 @@ "components.IssueDetails.reopenissueandcomment": "Återöppna med en kommentar", "components.IssueDetails.season": "Säsong {seasonNumber}", "components.IssueDetails.toasteditdescriptionsuccess": "Problembeskrivningen har redigerats!", - "components.IssueList.IssueItem.seasons": "{seasonCount, plural, one {säsong} other {säsonger}}", + "components.IssueList.IssueItem.seasons": "{seasonCount, plural, one {Säsong} other {Säsonger}}", "components.IssueList.IssueItem.unknownissuetype": "Okänd", "components.IssueList.IssueItem.openeduserdate": "{date} av {user}", "components.IssueList.IssueItem.viewissue": "Visa problem", @@ -907,19 +907,19 @@ "components.IssueDetails.nocomments": "Inga kommentarer.", "components.IssueDetails.toaststatusupdated": "Problemstatus har uppdaterats!", "components.IssueDetails.toastissuedeleted": "Problemet har tagits bort!", - "components.IssueList.IssueItem.episodes": "{episodeCount, plural, one {avsnitt} other {avsnitt}}", + "components.IssueList.IssueItem.episodes": "{episodeCount, plural, one {Avsnitt} other {Avsnitt}}", "components.IssueList.IssueItem.issuestatus": "Status", "components.IssueList.IssueItem.issuetype": "Typ", "components.IssueList.IssueItem.problemepisode": "Påverkat avsnitt", "components.IssueModal.CreateIssueModal.toastSuccessCreate": "Problemrapport för {title} har skickats in!", - "components.ManageSlideOver.tvshow": "serier", + "components.ManageSlideOver.tvshow": "serie", "components.ManageSlideOver.openarr4k": "Öppna i 4K {arr}", "components.IssueModal.CreateIssueModal.reportissue": "Rapportera ett problem", "components.IssueModal.CreateIssueModal.season": "Säsong {seasonNumber}", "components.IssueModal.issueOther": "Övrigt", "components.PermissionEdit.manageissuesDescription": "Bevilja behörighet att hantera medieproblem.", "components.IssueModal.CreateIssueModal.toastFailedCreate": "Något gick fel när problemet skickades in.", - "components.IssueModal.CreateIssueModal.submitissue": "Skicka problem", + "components.IssueModal.CreateIssueModal.submitissue": "Skicka in problemet", "components.ManageSlideOver.movie": "film", "components.IssueModal.CreateIssueModal.whatswrong": "Vad är fel?", "components.IssueModal.issueAudio": "Ljud", @@ -930,25 +930,25 @@ "components.UserProfile.UserSettings.UserNotificationSettings.pushoverUserKey": "Användar- eller gruppnyckel", "components.ManageSlideOver.openarr": "Öppna i {arr}", "components.ManageSlideOver.manageModalTitle": "Hantera {mediaType}", - "components.ManageSlideOver.mark4kavailable": "Markera som tillgänglig i 4K", - "components.NotificationTypeSelector.adminissuecommentDescription": "Skicka notifikation när ett problem får nya kommentarer.", + "components.ManageSlideOver.mark4kavailable": "Markera som tillgängligt i 4K", + "components.NotificationTypeSelector.adminissuecommentDescription": "Få aviseringar när ett problem får nya kommentarer.", "components.ManageSlideOver.manageModalRequests": "Förfrågningar", "components.PermissionEdit.manageissues": "Hantera problem", - "components.UserProfile.UserSettings.UserNotificationSettings.pushoversettingsfailed": "Inställningarna för Pushover-notifikationer kunde inte sparas.", + "components.UserProfile.UserSettings.UserNotificationSettings.pushoversettingsfailed": "Inställningarna för pushover-meddelanden kunde inte sparas.", "components.ManageSlideOver.markavailable": "Markera som tillgänglig", "components.NotificationTypeSelector.issuecomment": "Problemkommentar", - "components.NotificationTypeSelector.issuecommentDescription": "Skicka notifikationer när problem får nya kommentarer.", + "components.NotificationTypeSelector.issuecommentDescription": "Skicka aviseringar när problem får nya kommentarer.", "components.PermissionEdit.createissuesDescription": "Bevilja behörighet att rapportera medieproblem.", "components.UserProfile.UserSettings.UserNotificationSettings.pushoverUserKeyTip": "Din 30-teckens användar- eller gruppidentifierare", "components.UserProfile.UserSettings.UserNotificationSettings.pushoverApplicationTokenTip": "Registrera en applikation för användning med {applicationTitle}", - "components.PermissionEdit.viewissuesDescription": "Bevilja behörighet att se medieproblem som rapporterats av andra användare.", - "components.UserProfile.UserSettings.UserNotificationSettings.pushoverApplicationToken": "API-token för applikation", - "components.UserProfile.UserSettings.UserNotificationSettings.pushoversettingssaved": "Inställningarna för Pushover-notifikationer har sparats!", + "components.PermissionEdit.viewissuesDescription": "Ge tillstånd att se medieproblem som rapporterats av andra användare.", + "components.UserProfile.UserSettings.UserNotificationSettings.pushoverApplicationToken": "Api-token för program", + "components.UserProfile.UserSettings.UserNotificationSettings.pushoversettingssaved": "Inställningar för pushover-meddelanden har sparats!", "components.UserProfile.UserSettings.UserNotificationSettings.validationPushoverApplicationToken": "Du måste tillhandahålla en giltig applikationstoken", "components.UserProfile.UserSettings.UserNotificationSettings.validationPushoverUserKey": "Du måste ange en giltig användar- eller gruppnyckel", "components.IssueModal.CreateIssueModal.problemseason": "Påverkad säsong", "components.IssueModal.CreateIssueModal.toastviewissue": "Visa problem", - "components.NotificationTypeSelector.issuecreated": "Problem rapporterat", + "components.NotificationTypeSelector.issuecreated": "Problem rappoterat", "components.PermissionEdit.createissues": "Rapportera problem", "components.PermissionEdit.viewissues": "Visa problem", "components.ManageSlideOver.manageModalClearMediaWarning": "* Detta tar bort all data för denna {mediaType}, inklusive eventuella begäranden, på ett oåterkalleligt sätt. Om det här objektet finns i ditt {mediaServerName}-bibliotek kommer medieinformationen att återskapas vid nästa genomsökning.", @@ -965,42 +965,42 @@ "components.IssueModal.CreateIssueModal.providedetail": "Ge en detaljerad förklaring av det problem du stötte på.", "components.ManageSlideOver.downloadstatus": "Nedladdningar", "components.ManageSlideOver.manageModalClearMedia": "Rensa data", - "components.NotificationTypeSelector.issuecreatedDescription": "Skicka notifikationer när problem rapporteras.", + "components.NotificationTypeSelector.issuecreatedDescription": "Skicka aviseringar när problem rapporteras.", "components.NotificationTypeSelector.issueresolved": "Problem löst", - "components.NotificationTypeSelector.issueresolvedDescription": "Skicka notifikationer när problem blir lösta.", + "components.NotificationTypeSelector.issueresolvedDescription": "Skicka aviseringar när problem blir lösta.", "components.NotificationTypeSelector.userissuecommentDescription": "Få meddelanden när ett problem som du har mottagit har får nya kommentarer.", "components.NotificationTypeSelector.userissuecreatedDescription": "Få meddelanden när andra användare rapporterar problem.", "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletAccessTokenTip": "Skapa en token från dina kontoinställningar", - "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletsettingsfailed": "Inställningar för Pushbullet-notifikationer kunde inte sparas.", - "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletsettingssaved": "Inställningar för Pushbullet-notifikationer har sparats!", + "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletsettingsfailed": "Inställningar för Pushbullet-aviseringar kunde inte sparas.", + "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletsettingssaved": "Inställningar för Pushbullet-aviseringar har sparats!", "i18n.open": "Öppna", - "i18n.resolved": "Lösta", + "i18n.resolved": "Löst", "components.ManageSlideOver.manageModalIssues": "Öppna problem", "components.IssueModal.CreateIssueModal.extras": "Extras", - "components.NotificationTypeSelector.adminissuereopenedDescription": "Skicka notifikationer när en användare återöppnar ett problem.", + "components.NotificationTypeSelector.adminissuereopenedDescription": "Få avisering när en användare återöppnar ett problem.", "components.NotificationTypeSelector.issuereopened": "Problem återöppnat", - "components.NotificationTypeSelector.issuereopenedDescription": "Skicka notifikation när ett problem at återöppnats.", - "components.NotificationTypeSelector.userissuereopenedDescription": "Skicka notifikationer när ett problem som du har rapporterat har återöppnats.", - "components.NotificationTypeSelector.adminissueresolvedDescription": "Få en notifikation när ett problem har blivit löst.", + "components.NotificationTypeSelector.issuereopenedDescription": "Skicka avisering när ett problem at återöppnats.", + "components.NotificationTypeSelector.userissuereopenedDescription": "Få avisering när ett problem som du har rapporterat har återöppnats.", + "components.NotificationTypeSelector.adminissueresolvedDescription": "Få avisering när ett problem har blivit löst.", "components.MovieDetails.productioncountries": "Produktions{countryCount, plural, one {land} other {länder}}", - "components.RequestModal.selectmovies": "Välj film(er)", + "components.RequestModal.selectmovies": "Välj Film(er)", "components.IssueDetails.commentplaceholder": "Lägg till en kommentar…", - "components.RequestModal.approve": "Godkänn begäran", - "components.RequestModal.requestApproved": "Begäran av {title} godkänd!", - "components.RequestModal.requestmovies": "Begär {count} {count, plural, one {film} other {filmer}}", - "components.RequestModal.requestmovies4k": "Begär {count} {count, plural, one {film} other {filmer}} i 4K", - "components.RequestModal.requestseasons4k": "Begär {seasonCount} {seasonCount, plural, one {säsong} other {säsonger}} i 4K", - "components.Settings.RadarrModal.inCinemas": "På bio", + "components.RequestModal.approve": "Godkänn efterfrågan", + "components.RequestModal.requestApproved": "förfrågan av {title} godkänd!", + "components.RequestModal.requestmovies": "Begär {count} {count, plural, one {Film} other {Filmer}}", + "components.RequestModal.requestmovies4k": "Begär {count} {count, plural, one {Film} other {Filmer}} i 4K", + "components.RequestModal.requestseasons4k": "Begär {seasonCount} {seasonCount, plural, one {Säsong} other {Säsonger}} i 4K", + "components.Settings.RadarrModal.inCinemas": "På Bio", "components.Settings.RadarrModal.released": "Släppt", - "components.Settings.RadarrModal.announced": "Tillkännagiven", + "components.Settings.RadarrModal.announced": "Annonserat", "components.TvDetails.productioncountries": "Produktions{countryCount, plural, one {land} other {länder}}", - "components.Settings.Notifications.enableMentions": "Aktivera omnämnanden", + "components.Settings.Notifications.enableMentions": "Aktivera omnämnande", "components.Settings.Notifications.NotificationsGotify.agentenabled": "Aktivera agent", "components.Settings.Notifications.NotificationsGotify.gotifysettingsfailed": "Inställningarna för Gotify-meddelanden sparades inte.", "components.Settings.Notifications.NotificationsGotify.gotifysettingssaved": "Inställningarna för Gotify-meddelanden har sparats!", "components.Settings.Notifications.NotificationsGotify.toastGotifyTestFailed": "Det gick inte att skicka Gotify-testmeddelandet.", - "components.Settings.Notifications.NotificationsGotify.toastGotifyTestSending": "Skickar Gotify testmeddelande…", - "components.Settings.Notifications.NotificationsGotify.toastGotifyTestSuccess": "Gotify testmeddelande skickat!", + "components.Settings.Notifications.NotificationsGotify.toastGotifyTestSending": "Skicka Gotify testmeddelande…", + "components.Settings.Notifications.NotificationsGotify.toastGotifyTestSuccess": "Gotify testmeddelande skickas!", "components.Settings.Notifications.NotificationsGotify.token": "Applikationstoken", "components.Settings.Notifications.NotificationsGotify.url": "Server URL", "components.Settings.Notifications.NotificationsGotify.validationTokenRequired": "Du måste ange ett applikationstoken", @@ -1012,8 +1012,8 @@ "i18n.importing": "Importerar…", "components.ManageSlideOver.alltime": "All tid", "components.ManageSlideOver.manageModalAdvanced": "Avancerad", - "components.ManageSlideOver.playedby": "Spelad av", - "components.Settings.toastTautulliSettingsFailure": "Kunde inte spara Tautulli-inställningarna.", + "components.ManageSlideOver.playedby": "Spelas av", + "components.Settings.toastTautulliSettingsFailure": "Något gick fel när du sparade Tautulli-inställningarna.", "components.Settings.Notifications.NotificationsPushbullet.channelTag": "Kanaltagg", "components.Settings.urlBase": "URL-bas", "components.Settings.validationApiKey": "Du måste ange en API-nyckel", @@ -1041,43 +1041,43 @@ "components.RequestBlock.languageprofile": "Språkprofil", "components.StatusChecker.reloadApp": "Ladda om {applicationTitle}", "i18n.restartRequired": "Omstart krävs", - "components.Settings.deleteServer": "Radera {serverType}-server", - "components.StatusChecker.appUpdated": "{applicationTitle} uppdaterad", - "components.StatusChecker.appUpdatedDescription": "Klicka på knappen nedan för att ladda om programmet.", + "components.Settings.deleteServer": "Radera {serverType} Server", + "components.StatusChecker.appUpdated": "{applicationTitle} Uppdaterad", + "components.StatusChecker.appUpdatedDescription": "Klicka på knappen under för att ladda om programmet.", "components.StatusChecker.restartRequired": "Servern behöver startas om", "components.StatusChecker.restartRequiredDescription": "Starta om servern för att verkställa uppdaterade inställningar.", "components.MovieDetails.digitalrelease": "Digital utgåva", "components.MovieDetails.physicalrelease": "Fysisk utgåva", "components.PermissionEdit.viewrecent": "Se nyligen tillagda", - "components.Discover.DiscoverWatchlist.discoverwatchlist": "Din Plex Watchlist", + "components.Discover.DiscoverWatchlist.discoverwatchlist": "Din Plex spellista", "components.RequestCard.tmdbid": "TMDB ID", - "components.Discover.plexwatchlist": "Din Plex Watchlist", - "components.Discover.DiscoverWatchlist.watchlist": "Plex bevakningslista", + "components.Discover.plexwatchlist": "Din Plex spellista", + "components.Discover.DiscoverWatchlist.watchlist": "Plex spellista", "components.MovieDetails.reportissue": "Rapportera ett problem", "components.AirDateBadge.airedrelative": "Sändes {relativeTime}", "components.AirDateBadge.airsrelative": "Sänds {relativeTime}", - "components.Layout.UserDropdown.MiniQuotaDisplay.seriesrequests": "Begärda serier", + "components.Layout.UserDropdown.MiniQuotaDisplay.seriesrequests": "Önskade serier", "components.RequestCard.approverequest": "Godkänn begäran", "components.RequestCard.tvdbid": "TheTVDB ID", "components.RequestBlock.approve": "Godkänn begäran", "components.RequestBlock.decline": "Neka begäran", "components.RequestBlock.delete": "Ta bort begäran", - "components.RequestBlock.edit": "Redigera begäran", - "components.RequestBlock.lastmodifiedby": "Senast ändrad av", + "components.RequestBlock.edit": "Editera begäran", + "components.RequestBlock.lastmodifiedby": "Senast modifierad av", "components.RequestCard.declinerequest": "Neka begäran", - "components.RequestCard.cancelrequest": "Avbryt begäran", - "components.MovieDetails.theatricalrelease": "Biografpremiär", + "components.RequestCard.cancelrequest": "Annullera begäran", + "components.MovieDetails.theatricalrelease": "Teaterutgåva", "components.PermissionEdit.autorequest": "Automatisk begäran", - "components.MovieDetails.managemovie": "Hantera film", - "components.Layout.UserDropdown.MiniQuotaDisplay.movierequests": "Begärda filmer", - "components.MovieDetails.rtaudiencescore": "Rotten Tomatoes publikbetyg", - "components.MovieDetails.rtcriticsscore": "Rotten Tomatoes tomatometer", - "components.MovieDetails.tmdbuserscore": "TMDB användarpoäng", + "components.MovieDetails.managemovie": "Hantera Film", + "components.Layout.UserDropdown.MiniQuotaDisplay.movierequests": "Filmbegäran", + "components.MovieDetails.rtaudiencescore": "Rotten Tomatoes publiksiffror", + "components.MovieDetails.rtcriticsscore": "Rotten Tomatoes Tomatometer", + "components.MovieDetails.tmdbuserscore": "TMDB Användarpoäng", "components.NotificationTypeSelector.mediaautorequested": "Begäran skickas automatiskt", "components.NotificationTypeSelector.mediaautorequestedDescription": "Få meddelande när nya medieförfrågningar skickas in automatiskt för objekt på din bevakningslista för Plex.", "components.Discover.emptywatchlist": "Media som lagts till i din Plex Watchlist visas här.", - "components.Layout.UserDropdown.requests": "Förfrågningar", - "components.TvDetails.episodeCount": "{episodeCount, plural, one {# avsnitt} other {# avsnitt}}", + "components.Layout.UserDropdown.requests": "Efterfråga", + "components.TvDetails.episodeCount": "{episodeCount, plural, one {# Avsnitt} other {# Avsnitt}}", "components.TvDetails.seasonstitle": "Säsonger", "components.Settings.SettingsJobsCache.image-cache-cleanup": "Rensning av bildcache", "components.Settings.SettingsJobsCache.imagecache": "Bildcache", @@ -1086,57 +1086,57 @@ "components.Settings.experimentalTooltip": "Om du aktiverar den här inställningen kan det leda till oväntat beteende i programmet", "components.TitleCard.tmdbid": "TMDB ID", "components.PermissionEdit.autorequestDescription": "Ge tillstånd att automatiskt skicka in förfrågningar för medier som inte är 4K-medier via Plex Watchlist.", - "components.PermissionEdit.autorequestSeriesDescription": "Bevilja automatiska förfrågningar för icke-4K-serier via Plex Watchlist.", - "components.PermissionEdit.autorequestSeries": "Begär serier automatiskt", + "components.PermissionEdit.autorequestSeriesDescription": "Ge tillstånd att automatiskt skicka in förfrågningar för icke-4K-serier via Plex Watchlist.", + "components.PermissionEdit.autorequestSeries": "Begär automatiskt serier", "components.RequestList.RequestItem.tmdbid": "TMDB ID", "components.RequestList.RequestItem.tvdbid": "TheTVDB ID", "components.Settings.SettingsJobsCache.plex-watchlist-sync": "Synkronisering av Plex Watchlist", "components.Settings.advancedTooltip": "Om du konfigurerar den här inställningen felaktigt kan det leda till att funktionerna inte fungerar", - "components.Settings.restartrequiredTooltip": "Jellyseerr måste startas om för att ändringarna i den här inställningen ska träda i kraft", + "components.Settings.restartrequiredTooltip": "Overseerr måste startas om för att ändringarna i den här inställningen ska träda i kraft", "components.TvDetails.reportissue": "Rapportera ett problem", - "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseries": "Begär serier automatiskt", - "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseriestip": "Begär serier automatiskt från din Plex Watchlist", - "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmoviestip": "Begär automatiskt filmer från din Plex Watchlist", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseries": "Begär automatiskt serier", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseriestip": "Begär automatiskt serier på din Plex Watchlist", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmoviestip": "Begär automatiskt filmer på din Plex Watchlist", "components.Settings.SettingsJobsCache.editJobScheduleCurrent": "Nuvarande frekvens", "components.PermissionEdit.viewrecentDescription": "Ge tillstånd att visa listan över nyligen tillagda medier.", "components.StatusBadge.managemedia": "Hantera {mediaType}", "components.StatusBadge.playonplex": "Spela upp på Plex", "components.TitleCard.tvdbid": "TheTVDB ID", "components.Settings.SettingsLogs.viewdetails": "Visa detaljer", - "components.Settings.SettingsJobsCache.imagecacheDescription": "När det är aktiverat i inställningarna kommer Jellyseerrr att göra proxy- och cache-bilder från förkonfigurerade externa källor. Cachade bilder sparas i din konfigurationsmapp. Du hittar filerna i {appDataPath}/cache/images.", + "components.Settings.SettingsJobsCache.imagecacheDescription": "När det är aktiverat i inställningarna kommer Overseerr att göra proxy- och cache-bilder från förkonfigurerade externa källor. Cachade bilder sparas i din konfigurationsmapp. Du hittar filerna i {appDataPath}/cache/images.", "components.TitleCard.cleardata": "Rensa data", - "components.TitleCard.mediaerror": "{mediaType} hittades inte", - "components.TvDetails.rtcriticsscore": "Rotten Tomatoes tomatometer", - "components.TvDetails.tmdbuserscore": "TMDB användarbetyg", + "components.TitleCard.mediaerror": "{mediaType} Hittades inte", + "components.TvDetails.rtcriticsscore": "Rotten Tomatoes Tomatometer", + "components.TvDetails.tmdbuserscore": "TMDB Användarpoäng", "components.UserProfile.emptywatchlist": "Media som lagts till i din Plex Watchlist visas här.", "components.UserProfile.plexwatchlist": "Plex Watchlist", - "components.TvDetails.Season.noepisodes": "Avsnittslistan är inte tillgänglig.", + "components.TvDetails.Season.noepisodes": "Episodlistan är inte tillgänglig.", "components.PermissionEdit.viewwatchlistsDescription": "Ge tillstånd att visa andra användares Plex Watchlists.", - "components.PermissionEdit.autorequestMovies": "Begär filmer automatiskt", - "components.PermissionEdit.autorequestMoviesDescription": "Bevilja automatiska förfrågningar för icke-4K filmer via Plex Watchlist.", + "components.PermissionEdit.autorequestMovies": "Begär automatiskt filmer", + "components.PermissionEdit.autorequestMoviesDescription": "Ge tillstånd att automatiskt skicka in förfrågningar för filmer som inte är 4K-filmer via Plex Watchlist.", "components.PermissionEdit.viewwatchlists": "Visa Plex Watchlist", "components.RequestModal.SearchByNameModal.nomatches": "Vi kunde inte hitta någon matchning för denna serie.", "components.RequestBlock.requestdate": "Datum för begäran", "components.RequestBlock.requestedby": "Begärt av", - "components.RequestCard.editrequest": "Redigera begäran", + "components.RequestCard.editrequest": "Editera begäran", "components.RequestModal.requestcollection4ktitle": "Begär samling i 4K", - "components.RequestModal.requestcollectiontitle": "Begär samling", + "components.RequestModal.requestcollectiontitle": "Begär Kollektion", "components.RequestModal.requestmovie4ktitle": "Begär film i 4K", "components.RequestModal.requestmovietitle": "Begär film", "components.RequestModal.requestseries4ktitle": "Begär serien i 4K", "components.RequestModal.requestseriestitle": "Begär serie", "components.StatusBadge.openinarr": "Öppna i {arr}", - "components.TvDetails.Season.somethingwentwrong": "Kunde inte hämta säsongsdata.", - "components.TvDetails.manageseries": "Hantera serier", + "components.TvDetails.Season.somethingwentwrong": "Något gick fel när säsongsdata hämtades.", + "components.TvDetails.manageseries": "Hantera Serier", "components.TvDetails.rtaudiencescore": "Rotten Tomatoes publiksiffror", "components.TvDetails.seasonnumber": "Säsong {seasonNumber}", "components.TvDetails.status4k": "4K {status}", - "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmovies": "Begär filmer automatiskt", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmovies": "Begär automatiskt filmer", "components.Discover.DiscoverMovies.discovermovies": "Filmer", - "components.Discover.DiscoverMovies.sortPopularityAsc": "Popularitet stigande", + "components.Discover.DiscoverMovies.sortPopularityAsc": "Populärt Stigande", "components.Discover.DiscoverTv.discovertv": "Serier", - "components.Discover.CreateSlider.nooptions": "Inga resultat.", - "components.Discover.CreateSlider.searchStudios": "Sök studior…", + "components.Discover.CreateSlider.nooptions": "Inga Resultat.", + "components.Discover.CreateSlider.searchStudios": "Sök studios…", "components.Discover.CreateSlider.addcustomslider": "Skapa anpassat skjutreglage", "components.Discover.CreateSlider.addfail": "Det gick inte att skapa nytt skjutreglage.", "components.Discover.CreateSlider.addSlider": "Lägg till skjutreglage", @@ -1148,15 +1148,15 @@ "components.Discover.FilterSlideover.filters": "Filter", "components.Discover.FilterSlideover.firstAirDate": "Första sändningsdatum", "components.Discover.FilterSlideover.from": "Från", - "components.Discover.DiscoverMovieKeyword.keywordMovies": "{keywordTitle} filmer", + "components.Discover.DiscoverMovieKeyword.keywordMovies": "{keywordTitle} Filmer", "components.Discover.moviegenres": "Filmgenrer", "components.Discover.networks": "Nätverk", "components.Settings.SettingsMain.apikey": "API-nyckel", "components.Settings.SettingsMain.applicationTitle": "Applikationstitel", "components.Settings.SettingsMain.applicationurl": "Applikations-URL", "components.Settings.SettingsMain.csrfProtection": "Aktivera CSRF-skydd", - "components.Settings.SettingsMain.trustProxy": "Aktivera proxy-stöd", - "components.Settings.SettingsMain.hideAvailable": "Dölj tillgängliga medier", + "components.Settings.SettingsMain.trustProxy": "Aktivera Proxy-stöd", + "components.Settings.SettingsMain.hideAvailable": "Dölja tillgängliga medier", "components.Settings.SettingsMain.toastSettingsFailure": "Något gick fel när du sparade inställningarna.", "components.Settings.SettingsMain.toastSettingsSuccess": "Inställningarna har sparats!", "components.Settings.SettingsMain.validationApplicationTitle": "Du måste ange en applikationstitel", @@ -1164,7 +1164,7 @@ "components.Discover.tmdbmoviestreamingservices": "TMDB filmströmningstjänster", "components.Discover.tmdbnetwork": "TMDB nätverk", "components.Discover.tmdbsearch": "TMDB sök", - "components.Discover.tmdbstudio": "TMDB studio", + "components.Discover.tmdbstudio": "TMDB Studio", "components.Discover.tmdbtvgenre": "TMDB seriegenrer", "components.Discover.tmdbtvkeyword": "TMDB Series Nyckelord", "components.Discover.tmdbtvstreamingservices": "TMDB TV-strömningstjänster", @@ -1173,7 +1173,7 @@ "components.Selector.searchKeywords": "Sök nyckelord…", "components.Selector.nooptions": "Inga resultat.", "components.Selector.searchGenres": "Välj genrer…", - "components.Selector.searchStudios": "Sök studior…", + "components.Selector.searchStudios": "Sök studios…", "components.Selector.showmore": "Visa mer", "components.Selector.starttyping": "Börja skriva för att söka.", "components.Settings.SettingsJobsCache.availability-sync": "Synkronisering av mediatillgänglighet", @@ -1183,26 +1183,26 @@ "components.Settings.SettingsMain.csrfProtectionTip": "Ställ in extern API-åtkomst till skrivskyddad (kräver HTTPS)", "components.Settings.SettingsMain.general": "Allmänt", "components.Settings.SettingsMain.generalsettings": "Generella inställningar", - "components.Settings.SettingsMain.generalsettingsDescription": "Konfigurera globala och standard-inställningar för Jellyseerr.", + "components.Settings.SettingsMain.generalsettingsDescription": "Konfigurera globala och standard-inställningar för Overseerr.", "components.Settings.SettingsMain.locale": "Visningsspråk", - "components.Settings.SettingsMain.originallanguage": "Språk för upptäck-fliken", + "components.Settings.SettingsMain.originallanguage": "Upptäck språk", "components.Settings.SettingsMain.originallanguageTip": "Filtrera innehållet efter originalspråk", - "components.Settings.SettingsMain.partialRequestsEnabled": "Tillåt delvisa serieförfrågningar", - "components.Settings.SettingsMain.region": "Region för upptäck-fliken", + "components.Settings.SettingsMain.partialRequestsEnabled": "Tillåt partiella serieförfrågningar", + "components.Settings.SettingsMain.region": "Upptäck region", "components.Settings.SettingsMain.regionTip": "Filtrera innehållet efter regional tillgänglighet", "components.Settings.SettingsMain.toastApiKeyFailure": "Något gick fel när du genererade en ny API-nyckel.", "components.Settings.SettingsMain.toastApiKeySuccess": "Ny API-nyckel genererades framgångsrikt!", - "components.Settings.SettingsMain.trustProxyTip": "Tillåt Jellyseerr att korrekt registrera klienternas IP-adresser bakom en proxy", + "components.Settings.SettingsMain.trustProxyTip": "Tillåt Overseerr att korrekt registrera klienternas IP-adresser bakom en proxy", "components.Discover.resetwarning": "Återställer alla skjutreglage till standardvärdet. Detta raderar också alla anpassade skjutreglage!", "components.Discover.stopediting": "Sluta redigera", "components.Discover.tmdbmoviegenre": "TMDB filmgenre", - "components.Discover.studios": "Studior", + "components.Discover.studios": "Studios", "components.Discover.tmdbmoviekeyword": "TMDB film nyckelord", "components.Discover.tvgenres": "Seriegenrer", - "components.Discover.updatesuccess": "Uppdaterade anpassningsinställningarna för upptäck-fliken.", - "components.Settings.SettingsJobsCache.editJobScheduleSelectorSeconds": "Var {jobScheduleSeconds, plural, one {sekund} other {{jobScheduleSeconds} sekund}}", + "components.Discover.updatesuccess": "Uppdaterade inställningar för anpassningar för \"Upptäckt\".", + "components.Settings.SettingsJobsCache.editJobScheduleSelectorSeconds": "Varje {jobScheduleSeconds, plural, one {sekund} other {{jobScheduleSeconds} sekunder}}", "components.Settings.SettingsMain.validationApplicationUrlTrailingSlash": "URL får inte sluta med ett snedstreck", - "components.Discover.DiscoverMovies.activefilters": "{count, plural, one {# aktivt filter} other {# aktiva filter}}", + "components.Discover.DiscoverMovies.activefilters": "{count, plural, one {# Aktivt filter} other {# Aktiva filter}}", "components.Discover.DiscoverMovies.sortPopularityDesc": "Popularitet fallande", "components.Discover.DiscoverMovies.sortReleaseDateAsc": "Utgivningsdatum stigande", "components.Discover.DiscoverMovies.sortReleaseDateDesc": "Utgivningsdatum fallande", @@ -1213,28 +1213,28 @@ "components.Discover.DiscoverSliderEdit.deletefail": "Det gick inte att ta bort skjutreglaget.", "components.Discover.DiscoverSliderEdit.deletesuccess": "Skjutreglage har tagits bort.", "components.Discover.DiscoverSliderEdit.remove": "Ta bort", - "components.Discover.DiscoverTv.activefilters": "{count, plural, one {# aktivt filter} other {# aktiva filter}}", + "components.Discover.DiscoverTv.activefilters": "{count, plural, one {# Aktivt filter} other {# Aktiva filter}}", "components.Discover.DiscoverTv.sortFirstAirDateAsc": "Första sändningsdatum stigande", "components.Discover.DiscoverTv.sortFirstAirDateDesc": "Första sändningsdatum fallande", - "components.Discover.DiscoverTv.sortPopularityAsc": "Popularitet stigande", + "components.Discover.DiscoverTv.sortPopularityAsc": "Populärt stigande", "components.Discover.DiscoverTv.sortPopularityDesc": "Popularitet fallande", "components.Discover.DiscoverTv.sortTitleAsc": "Titel (A-Z) stigande", "components.Discover.DiscoverTv.sortTitleDesc": "Titel (Z-A) fallande", "components.Discover.DiscoverTv.sortTmdbRatingAsc": "TMDB-betyg stigande", "components.Discover.DiscoverTv.sortTmdbRatingDesc": "TMDB-betyg fallande", - "components.Discover.DiscoverTvKeyword.keywordSeries": "{keywordTitle} serier", - "components.Discover.FilterSlideover.activefilters": "{count, plural, one {# aktivt filter} other {# aktiva filter}}", + "components.Discover.DiscoverTvKeyword.keywordSeries": "{keywordTitle} Serie", + "components.Discover.FilterSlideover.activefilters": "{count, plural, one {# Aktivt filter} other {# Aktiva filter}}", "components.Discover.FilterSlideover.keywords": "Nyckelord", "components.Discover.FilterSlideover.originalLanguage": "Originalspråk", "components.Discover.FilterSlideover.ratingText": "Betyg mellan {minValue} och {maxValue}", "components.Discover.FilterSlideover.releaseDate": "Utgivningsdatum", "components.Discover.FilterSlideover.runtimeText": "{minValue}-{maxValue} minuter speltid", "components.Discover.FilterSlideover.runtime": "Speltid", - "components.Discover.FilterSlideover.tmdbuserscore": "TMDB användarbetyg", + "components.Discover.FilterSlideover.tmdbuserscore": "TMDB Användarpoäng", "components.Discover.PlexWatchlistSlider.emptywatchlist": "Medier som lagts till i din Plex Watchlist visas här.", - "components.Discover.resetsuccess": "Återställde anpassningsinställningarna för upptäck-fliken.", + "components.Discover.resetsuccess": "Du har lyckats återställa inställningarna för anpassningar av \"Upptäckt\".", "components.Discover.resettodefault": "Återställ till standardinställning", - "components.Discover.updatefailed": "Kunde inte uppdatera anpassningsinställningarna för upptäck-fliken.", + "components.Discover.updatefailed": "Något gick fel när du uppdaterade inställningarna för anpassning av \"Upptäckt\".", "components.DownloadBlock.formattedTitle": "{titel}: Säsong {seasonNumber} Avsnitt{episodeNumber}", "components.StatusBadge.seasonepisodenumber": "S{seasonNumber}E{episodeNumber}", "components.RequestCard.unknowntitle": "Okänd titel", @@ -1245,13 +1245,13 @@ "components.Discover.PlexWatchlistSlider.plexwatchlist": "Din Plex bevakningslista", "components.Discover.RecentlyAddedSlider.recentlyAdded": "Nyligen tillagda", "components.Discover.createnewslider": "Skapa nytt skjutreglage", - "components.Discover.customizediscover": "Anpassa upptäck-fliken", - "components.Discover.resetfailed": "Något gick fel med återställningen av anpassningsinställningar för upptäck-fliken.", + "components.Discover.customizediscover": "Anpassa Upptäck", + "components.Discover.resetfailed": "Något gick fel när du återställde inställningarna för upptäcktsanpassning.", "components.Selector.showless": "Visa mindre", - "components.Discover.CreateSlider.addsuccess": "Skapade ett nytt skjutreglage och sparade anpassningsinställningar för upptäck-fliken.", + "components.Discover.CreateSlider.addsuccess": "Skapade ett nytt skjutreglage och sparade inställningar för anpassningar.", "components.Discover.CreateSlider.editSlider": "Redigera skjutreglage", "components.Discover.CreateSlider.editfail": "Det gick inte att redigera skjutreglaget.", - "components.Discover.CreateSlider.editsuccess": "Redigerade skjutreglaget och sparade anpassningsinställningar för upptäck-fliken.", + "components.Discover.CreateSlider.editsuccess": "Redigerat skjutreglage och sparat anpassningsinställningar för upptäckt.", "components.Discover.CreateSlider.needresults": "Du måste ha minst 1 resultat.", "components.Discover.CreateSlider.providetmdbgenreid": "Ange ett TMDB Genre-ID", "components.Discover.CreateSlider.providetmdbkeywordid": "Ange ett TMDB nyckelords-ID", @@ -1265,15 +1265,81 @@ "components.Discover.FilterSlideover.tmdbuservotecount": "Antal röster från TMDB-användare", "components.Discover.FilterSlideover.voteCount": "Antal röster mellan {minValue} och {maxValue}", "components.Settings.RadarrModal.tagRequests": "Taggförfrågningar", - "components.MovieDetails.imdbuserscore": "IMDB användarpoäng", + "components.MovieDetails.imdbuserscore": "IMDB Användarpoäng", "components.Settings.SonarrModal.tagRequests": "Taggförfrågningar", "components.Settings.RadarrModal.tagRequestsInfo": "Lägg automatiskt till ytterligare tagg med förfrågarens användar-ID och visningsnamn", - "components.Settings.SonarrModal.tagRequestsInfo": "Lägg till en ytterligare tagg med förfrågarens användar-ID och visningsnamn automatiskt", - "i18n.collection": "Samling", - "components.Settings.SonarrModal.animeSeriesType": "Anime-serie typ", - "components.Settings.SonarrModal.seriesType": "Typ av serie", - "components.Settings.Notifications.NotificationsPushover.sound": "Notifikationsljud", - "components.UserProfile.UserSettings.UserNotificationSettings.deviceDefault": "Enhetsstandard", - "components.UserProfile.UserSettings.UserNotificationSettings.sound": "Notifikationsljud", - "components.Settings.Notifications.NotificationsPushover.deviceDefault": "Enhetsstandard" + "components.Settings.SonarrModal.tagRequestsInfo": "Lägg automatiskt till ytterligare tagg med förfrågarens användar-ID och visningsnamn", + "i18n.collection": "Kollektion", + "components.Layout.UserWarnings.passwordRequired": "Ett lösenord krävs.", + "components.Login.description": "Eftersom det är första gången du loggar in på {applicationName} måste du lägga till en giltig e-postadress.", + "components.Layout.UserWarnings.emailInvalid": "Ogiltig e-postadress.", + "components.Login.host": "{mediaServerName} URL", + "components.Login.initialsignin": "Anslut", + "components.Login.initialsigningin": "Ansluter…", + "components.Login.save": "Lägg till", + "components.Login.saving": "Lägger till…", + "components.Login.signinwithjellyfin": "Använd ditt {mediaServerName}-konto", + "components.Login.title": "Lägg till e-post", + "components.Login.username": "Användarnamn", + "components.Login.validationEmailFormat": "Ogiltig e-postadress", + "components.Login.validationemailformat": "En giltig e-postadress krävs", + "components.Login.validationhostformat": "Giltig URL krävs", + "components.Login.validationhostrequired": "Webbadress för {mediaServerName} krävs", + "components.Login.validationusernamerequired": "Användarnamn krävs", + "components.ManageSlideOver.removearr4k": "Ta bort från 4K {arr}", + "components.MovieDetails.downloadstatus": "Nedladdningsstatus", + "components.MovieDetails.openradarr": "Öppna film i Radarr", + "components.MovieDetails.openradarr4k": "Öppna film i 4K Radarr", + "components.MovieDetails.play4k": "Spela upp i 4K på {mediaServerName}", + "components.Settings.Notifications.NotificationsPushover.sound": "Notifikations Ljud", + "components.Settings.jellyfinsettings": "{mediaServerName} Inställningar", + "components.Settings.internalUrl": "Intern adress", + "components.Settings.jellyfinSettings": "{mediaServerName} Inställningar", + "components.Settings.jellyfinSettingsFailure": "Något gick fel när {mediaServerName} inställningarna sparades.", + "components.Settings.jellyfinSettingsSuccess": "{mediaServerName} inställningarna sparades!", + "components.Settings.jellyfinlibraries": "{mediaServerName} Bibliotek", + "components.Settings.manualscanJellyfin": "Manuell Biblioteks Skanning", + "components.Settings.save": "Spara Ändringar", + "components.Settings.saving": "Sparar…", + "components.Settings.syncing": "Synkroniserar", + "components.Settings.timeout": "Tidsgräns uppnådd", + "components.Setup.signin": "Logga In", + "components.Setup.signinWithPlex": "Använd ditt Jellyfin konto", + "components.TitleCard.addToWatchList": "Lägg till i bevakningslistan", + "components.TitleCard.watchlistCancel": "Bevakningslista för {title} avbruten.", + "components.TitleCard.watchlistError": "Något gick fel, försök igen.", + "components.TitleCard.watchlistSuccess": "{title} lades till i bevakningslistan!", + "components.TvDetails.play4k": "Spela upp i 4K på {mediaServerName}", + "components.UserList.mediaServerUser": "{mediaServerName} Användare", + "components.UserList.noJellyfinuserstoimport": "Det finns inga {mediaServerName} användare att importera.", + "components.UserProfile.UserSettings.UserGeneralSettings.save": "Spara Ändringar", + "components.UserProfile.UserSettings.UserGeneralSettings.saving": "Sparar…", + "components.UserProfile.UserSettings.UserNotificationSettings.sound": "Notifikations Ljud", + "components.Login.credentialerror": "Användarnamnet eller lösenordet är ogiltigt.", + "components.ManageSlideOver.manageModalRemoveMediaWarning": "* Detta kommer oåterkalleligt att ta bort denna {mediaType} från {arr}, inklusive alla filer.", + "components.ManageSlideOver.removearr": "Ta bort från {arr}", + "components.Settings.jellyfinsettingsDescription": "Konfigurerar inställningarna för din {mediaServerName} server. {mediaServerName} skannar dina {mediaServerName} bibliotek för att se vilket innehåll som är tillgängligt.", + "components.Settings.SettingsAbout.supportjellyseerr": "Stötta Jellyseerr", + "components.UserList.importfromJellyfin": "Importera {mediaServerName} Användare", + "components.Layout.UserWarnings.emailRequired": "En giltig e-postadress krävs.", + "components.Login.emailtooltip": "Adressen behöver inte vara associerad med din {mediaServerName} instans.", + "components.Login.validationEmailRequired": "Du måste ange ett e-postadress", + "components.Settings.jellyfinlibrariesDescription": "Biblioteket {mediaServerName} scannas efter tittlar. Klicka på knappen nedan om inga bibliotek visas.", + "components.Settings.Notifications.NotificationsPushover.deviceDefault": "Enhets standard", + "components.Settings.SonarrModal.seriesType": "Serie Typ", + "components.Setup.signinWithJellyfin": "Använd ditt {mediaServerName} konto", + "components.TitleCard.watchlistDeleted": "{title} Har tagits bort från bevakningslistan!", + "components.TvDetails.play": "Spela upp på {mediaServerName}", + "components.UserList.importfromJellyfinerror": "Något gick fel när {mediaServerName} användarna importerades.", + "components.UserList.newJellyfinsigninenabled": "Aktivera Ny {mediaServerName} Inloggning inställningen är aktiverad. {mediaServerName} användare med biblioteks behörighetbehöver inte importeras för att logga in.", + "components.UserProfile.UserSettings.UserGeneralSettings.mediaServerUser": "{mediaServerName} Användare", + "components.UserProfile.UserSettings.UserNotificationSettings.deviceDefault": "Enhets Standard", + "components.MovieDetails.play": "Spela upp på {mediaServerName}", + "components.Settings.manualscanDescriptionJellyfin": "Normalt sätt kommer detta enbart att köras var 24:e timme. Jellyseerr kommer att kontrollera {mediaServerName} serverns nydligen tillagda oftare. Om det här är första gången du konfigurerar Jellyseerr, rekommenderas en första fullständig manuell skanning.", + "components.Settings.menuJellyfinSettings": "{mediaServerName}", + "components.Settings.syncJellyfin": "Synkronisera Bibliotek", + "components.Setup.configuremediaserver": "Konfigurera Media Server", + "components.UserProfile.localWatchlist": "{username}'s Bevakningslista", + "components.Settings.Notifications.userEmailRequired": "Kräv användarens e-postadress", + "components.UserProfile.UserSettings.UserGeneralSettings.email": "E-post" } diff --git a/src/i18n/locale/tr.json b/src/i18n/locale/tr.json new file mode 100644 index 00000000..7c55823e --- /dev/null +++ b/src/i18n/locale/tr.json @@ -0,0 +1,1308 @@ +{ + "components.Discover.DiscoverTv.sortTmdbRatingAsc": "TMBD Derecelendirmesi (Artan)", + "components.Discover.moviegenres": "Film Türleri", + "components.Discover.CreateSlider.editsuccess": "Gösterge düzenlendi ve keşfetin sekmesinin ayarları kaydedildi.", + "components.Discover.FilterSlideover.studio": "Stüdyo", + "components.CollectionDetails.numberofmovies": "{count} Film", + "components.Discover.PlexWatchlistSlider.emptywatchlist": "Plex İzleme Listenize eklenen içerikler burada gözükeceklerdir.", + "components.Discover.CreateSlider.slidernameplaceholder": "Kayan Göstergenin İsmi", + "components.Discover.RecentlyAddedSlider.recentlyAdded": "Yakın Zamanda Eklenenler", + "components.Discover.FilterSlideover.keywords": "Anahtar Kelimeler", + "components.Discover.FilterSlideover.ratingText": "{minValue} ile {maxValue} arasında ki değerlendirmeler", + "components.Discover.DiscoverTv.sortFirstAirDateAsc": "İlk Yayınlanma Tarihi (Yeni)", + "components.AppDataWarning.dockerVolumeMissingDescription": "Bağlanmış {appDataPath} dizini düzgün bir şekilde yapılandırılmamış. Tüm veriler konteyner yeniden başlatıldığında veya durdurulduğunda temizlenecektir.", + "components.Discover.DiscoverTvKeyword.keywordSeries": "{keywordTitle} Dizileri", + "components.Discover.DiscoverMovies.sortPopularityDesc": "Popülerlik (Azalan)", + "components.Discover.StudioSlider.studios": "Stüdyolar", + "components.AirDateBadge.airsrelative": "Yayınlanıyor {relativeTime}", + "components.Discover.DiscoverTv.sortTmdbRatingDesc": "TMBD Derecelendirmesi (Azalan)", + "components.Discover.customizediscover": "Keşfet'i Özelleştir", + "components.Discover.emptywatchlist": "Plex İzleme Listenize eklenen içerikler burada gözükeceklerdir.", + "components.Discover.populartv": "Popüler Diziler", + "components.CollectionDetails.overview": "Özet", + "components.Discover.DiscoverMovies.activefilters": "Etkin Filtre", + "components.Discover.DiscoverMovies.sortTmdbRatingAsc": "TMBD Derecelendirmesi (Artan)", + "components.Discover.DiscoverTvGenre.genreSeries": "{genre} Dizileri", + "components.AirDateBadge.airedrelative": "Yayınlandı {relativeTime}", + "components.Discover.FilterSlideover.clearfilters": "Etkin Filtreleri Temizle", + "components.Discover.CreateSlider.searchStudios": "Stüdyolarda Ara.…", + "components.Discover.DiscoverMovies.sortReleaseDateDesc": "Çıkış Tarihi (Eski)", + "components.Discover.CreateSlider.providetmdbnetwork": "TMBD'den TV Ağı etiketi seç", + "components.Discover.MovieGenreSlider.moviegenres": "Film Türleri", + "components.Discover.networks": "TV Ağları", + "components.Discover.CreateSlider.addfail": "Kayan Gösterge oluşturulamadı.", + "components.CollectionDetails.requestcollection": "Koleksiyonu İste", + "components.Discover.TvGenreSlider.tvgenres": "Dizi Türleri", + "components.Discover.DiscoverMovieGenre.genreMovies": "{genre} Filmleri", + "components.Discover.DiscoverMovieLanguage.languageMovies": "{language} Filmler", + "components.Discover.TvGenreList.seriesgenres": "Dizi Türleri", + "components.Discover.DiscoverTv.activefilters": "Etkin Filtre", + "components.Discover.DiscoverTvLanguage.languageSeries": "{language} Diziler", + "components.Discover.DiscoverMovies.sortPopularityAsc": "Popülerlik (Artan)", + "components.Discover.NetworkSlider.networks": "TV Ağları", + "components.Discover.FilterSlideover.streamingservices": "Yayın Hizmetleri", + "components.Discover.CreateSlider.needresults": "Seçtiğin etiketler en az 1 adet sonuç göstermelidir.", + "components.Discover.popularmovies": "Popüler Filmler", + "components.Discover.FilterSlideover.activefilters": "Etkin Filtre", + "components.Discover.plexwatchlist": "İzleme Listeniz", + "components.Discover.CreateSlider.addcustomslider": "Özel Gösterge Oluştur", + "components.Discover.FilterSlideover.tmdbuserscore": "TMBD Kullanıcı Skoru", + "components.Discover.DiscoverTv.sortPopularityAsc": "Popülerlik (Artan)", + "components.Discover.CreateSlider.editSlider": "Kayan Göstergeyi düzenle", + "components.Discover.DiscoverTv.sortTitleAsc": "İsim (A-Z) (Baştan)", + "components.Discover.CreateSlider.validationDatarequired": "Bir veri girdisi sağlamalısın.", + "components.Discover.DiscoverTv.sortFirstAirDateDesc": "İlk Yayınlanma Tarihi (Eski)", + "components.Discover.DiscoverWatchlist.discoverwatchlist": "İzleme Listeniz", + "components.Discover.FilterSlideover.releaseDate": "Çıkış Tarihi", + "components.Discover.DiscoverTv.discovertv": "Diziler", + "components.Discover.recentlyAdded": "Yakın Zamanda Eklenenler", + "components.Discover.DiscoverSliderEdit.deletefail": "Gösterge silinemedi.", + "components.Discover.CreateSlider.providetmdbstudio": "TMBD'den Stüdyo etiketi seç", + "components.Discover.FilterSlideover.runtime": "Yayım Süresi", + "components.Discover.FilterSlideover.from": "Tarihinden", + "components.Discover.DiscoverMovies.sortTitleDesc": "İsim (Z-A) (Sondan)", + "components.Discover.DiscoverStudio.studioMovies": "{studio} Filmleri", + "components.Discover.DiscoverTv.sortPopularityDesc": "Popülerlik (Azalan)", + "components.Discover.CreateSlider.searchGenres": "Türlerde ara…", + "components.Discover.CreateSlider.editfail": "Gösterge düzenlenirken hata oluştu.", + "components.Discover.CreateSlider.starttyping": "Aramak için yazmaya başla.", + "components.Discover.createnewslider": "Yeni Kayan Gösterge Oluştur", + "components.Discover.FilterSlideover.filters": "Filtreler", + "components.Discover.DiscoverWatchlist.watchlist": "Plex İzleme Listen", + "components.Discover.discover": "Keşfet", + "components.Discover.DiscoverSliderEdit.enable": "Görünürlüğü Değiştir", + "components.Discover.CreateSlider.addSlider": "Kayan Gösterge Ekle", + "components.CollectionDetails.requestcollection4k": "Koleksiyonu 4K Kalitesiyle İste", + "components.Discover.FilterSlideover.firstAirDate": "İlk Yayın Tarihi", + "components.Discover.CreateSlider.providetmdbsearch": "Bir arama sorgusu girin", + "components.Discover.DiscoverNetwork.networkSeries": "{network} Dizileri", + "components.Discover.CreateSlider.providetmdbkeywordid": "TMBD'den Anahtar Kelime etiketi seç", + "components.Discover.DiscoverMovieKeyword.keywordMovies": "{keywordTitle} Filmleri", + "components.Discover.FilterSlideover.runtimeText": "{minValue}-{maxValue} dakika yayım süresi", + "components.Discover.CreateSlider.validationTitlerequired": "Bir başlık girdisi sağlamalısın.", + "components.Discover.PlexWatchlistSlider.plexwatchlist": "İzleme Listeniz", + "components.Discover.DiscoverMovies.sortReleaseDateAsc": "Çıkış Tarihi (Yeni)", + "components.Discover.FilterSlideover.genres": "Türler", + "components.Discover.FilterSlideover.originalLanguage": "Orjinal Dili", + "components.Discover.CreateSlider.nooptions": "Sonuç yok.", + "components.Discover.DiscoverMovies.sortTmdbRatingDesc": "TMBD Derecelendirmesi (Azalan)", + "components.Discover.CreateSlider.searchKeywords": "Anahtar Kelimelerde ara…", + "components.Discover.FilterSlideover.tmdbuservotecount": "TMBD Oy Kullanan Kullanıcı Sayısı", + "components.Discover.CreateSlider.addsuccess": "Yeni kayan gösterge oluşturuldu ve keşfet sekmesinin ayarları kaydedildi.", + "components.Discover.DiscoverSliderEdit.deletesuccess": "Gösterge başarıyla silindi.", + "components.Discover.DiscoverMovies.discovermovies": "Filmler", + "components.Discover.MovieGenreList.moviegenres": "Film Türleri", + "components.Discover.DiscoverMovies.sortTitleAsc": "İsim (A-Z) (Baştan)", + "components.Discover.FilterSlideover.voteCount": "{minValue} ile {maxValue} sayıları arasında oya sahip olanlar", + "components.Discover.CreateSlider.providetmdbgenreid": "TMBD'den Tür etiketi seç", + "components.Discover.DiscoverTv.sortTitleDesc": "İsim (Z-A) (Sondan)", + "components.Discover.recentrequests": "Yakın Vakitteki İstekler", + "components.Discover.DiscoverSliderEdit.remove": "Kaldır", + "components.Discover.FilterSlideover.to": "Tarihine", + "components.Discover.resetfailed": "Beklenmedik bşir hata oluştu, keşfetin ayarları sıfırlanıyor.", + "components.Discover.resetsuccess": "Keşfetin ayarları başarıyla sıfırlandı.", + "components.Discover.resettodefault": "Varsayılan Ayarlara Sıfırla", + "components.Discover.resetwarning": "Tüm göstergeleri varsayılan ayarlara sıfırlar. Bu seçenek eklediğiniz bütün akış göstergelerini de silecektir!", + "components.Discover.stopediting": "Düzenlemeyi Bırak", + "components.Discover.studios": "Stüdyolar", + "components.Discover.tmdbmoviegenre": "TMBD Film Türleri", + "components.Discover.tmdbmoviekeyword": "TMDB Film Anahtar Kelimeleri", + "components.Discover.tmdbmoviestreamingservices": "TMDB Dijital Yayın Platformu Filmleri", + "components.Discover.tmdbnetwork": "TMBD TV Ağları", + "components.Discover.tmdbsearch": "TMBD Arama", + "components.Discover.tmdbstudio": "TMBD Stüdyolar", + "components.Discover.tmdbtvkeyword": "TMBD Dizi Anahtar Kelimeleri", + "components.Discover.tmdbtvstreamingservices": "TMBD Dijital Platform Dizileri", + "components.Discover.trending": "Popüler", + "components.Discover.tvgenres": "Dizi Türleri", + "components.Discover.upcoming": "Gösterime Girecek Filmler", + "components.Discover.upcomingmovies": "Gösterime Girecek Filmler", + "components.Discover.upcomingtv": "Yayınlanacak Diziler", + "components.Discover.updatesuccess": "Keşfet ayarları güncellendi.", + "components.DownloadBlock.estimatedtime": "Tahmini Bitiş: {time}", + "components.DownloadBlock.formattedTitle": "{title}: Sezon {seasonNumber} Bölüm {episodeNumber}", + "components.IssueDetails.IssueComment.delete": "Yorumu Sil", + "components.IssueDetails.IssueComment.edit": "Yorumu Düzenle", + "components.IssueDetails.IssueComment.postedby": "{relativeTime} Tarihinde, {username} tarafından gönderildi", + "components.IssueDetails.IssueComment.postedbyedited": "{relativeTime} Tarihinde, {username} tarafından gönderildi (Düzenlenmiş)", + "components.IssueDetails.IssueComment.validationComment": "Bir mesaj girmelisiniz", + "components.IssueDetails.IssueDescription.deleteissue": "Sorun Bildirimini Sil", + "components.IssueDetails.IssueDescription.description": "Açıklama", + "components.IssueDetails.IssueDescription.edit": "Açıklamayı Düzenle", + "components.IssueDetails.allepisodes": "Tüm Bölümler", + "components.IssueDetails.allseasons": "Tüm Sezonlar", + "components.IssueDetails.closeissue": "Sorun Bildirimini Kapat", + "components.IssueDetails.commentplaceholder": "Yorum ekle…", + "components.IssueDetails.comments": "Yorumlar", + "components.IssueDetails.deleteissue": "Sorun Bildirimini Sil", + "components.IssueDetails.episode": "Bölüm {episodeNumber}", + "components.IssueDetails.issuepagetitle": "Sorun", + "components.IssueDetails.issuetype": "Türü", + "components.IssueDetails.lastupdated": "En Son Güncelleme Zamanı", + "components.IssueDetails.leavecomment": "Yorum Ekle", + "components.IssueDetails.nocomments": "Yorum yok.", + "components.IssueDetails.openin4karr": "{arr} ile 4K'da Aç", + "components.IssueDetails.openinarr": "{arr} ile Aç", + "components.IssueDetails.play4konplex": "{mediaServerName} ile 4K'da Oynat", + "components.IssueDetails.playonplex": "{mediaServerName} ile Oynat", + "components.IssueDetails.problemepisode": "Sorundan Etkilenen Bölümler", + "components.IssueDetails.problemseason": "Sorundan Etkilenen Sezonlar", + "components.IssueDetails.reopenissue": "Sorun Bildirisini Yeniden Aç", + "components.IssueDetails.season": "Sezon {seasonNumber}", + "components.IssueDetails.toasteditdescriptionfailed": "Sorunun açıklamasını düzenlerken beklenmedik bir hata oluştu.", + "components.IssueDetails.toasteditdescriptionsuccess": "Sorunun açıklaması başarıyla düzenlendi!", + "components.IssueDetails.toastissuedeletefailed": "Sorunun açıklaması silinirken beklenmedik bir hata oluştu.", + "components.IssueDetails.toaststatusupdated": "Sorun başarıyla güncellendi!", + "components.IssueDetails.unknownissuetype": "Bilinmiyor", + "components.IssueList.IssueItem.episodes": "{episodeCount} Bölüm", + "components.IssueList.IssueItem.issuestatus": "Durum", + "components.IssueList.IssueItem.issuetype": "Türü", + "components.IssueList.IssueItem.opened": "Açıldı", + "components.IssueList.IssueItem.openeduserdate": "{date}, {user} tarafından", + "components.IssueList.IssueItem.problemepisode": "Sorundan Etkilenen Bölümler", + "components.IssueList.IssueItem.seasons": "{seasonCount} Sezon", + "components.IssueList.IssueItem.unknownissuetype": "Bilinmiyor", + "components.IssueList.IssueItem.viewissue": "Sorunu Gör", + "components.IssueList.issues": "Sorunlar", + "components.IssueList.showallissues": "Tüm Sorunları Göster", + "components.IssueList.sortAdded": "En Son Eklenen", + "components.IssueList.sortModified": "En Son Düzenlenen", + "components.IssueModal.CreateIssueModal.allseasons": "Tüm Sezonlar", + "components.IssueModal.CreateIssueModal.episode": "Bölüm {episodeNumber}", + "components.IssueModal.CreateIssueModal.extras": "Ekstralar", + "components.IssueModal.CreateIssueModal.problemepisode": "Sorundan Etkilenen Bölümler", + "components.IssueModal.CreateIssueModal.problemseason": "Sorundan Etkilenen Sezonlar", + "components.IssueModal.CreateIssueModal.season": "Sezon {seasonNumber}", + "components.IssueModal.CreateIssueModal.submitissue": "Sorunu Bildir", + "components.IssueModal.CreateIssueModal.toastSuccessCreate": "{title} için oluşturduğunuz sorun bildirisi gönderilmiştir!", + "components.IssueModal.CreateIssueModal.toastviewissue": "Sorunu Gör", + "components.IssueModal.CreateIssueModal.validationMessageRequired": "Lütfen açıklamayı doldurunuz", + "components.IssueModal.CreateIssueModal.whatswrong": "Sorun nedir?", + "components.IssueModal.issueAudio": "Ses", + "components.IssueModal.issueOther": "Diğer", + "components.IssueModal.issueSubtitles": "Altyazı", + "components.IssueModal.issueVideo": "Video", + "components.LanguageSelector.languageServerDefault": "Varsayılan ({language})", + "components.LanguageSelector.originalLanguageDefault": "Tüm Diller", + "components.Layout.SearchInput.searchPlaceholder": "Filmlerde & Dizilerde Ara", + "components.Layout.Sidebar.browsemovies": "Filmler", + "components.Layout.Sidebar.browsetv": "Diziler", + "components.Layout.Sidebar.dashboard": "Keşfet", + "components.Layout.Sidebar.issues": "Sorunlar", + "components.Layout.Sidebar.requests": "İstekler", + "components.Layout.Sidebar.settings": "Ayarlar", + "components.Layout.Sidebar.users": "Kullanıcılar", + "components.Layout.UserDropdown.MiniQuotaDisplay.movierequests": "Film İstekleri", + "components.Layout.UserDropdown.MiniQuotaDisplay.seriesrequests": "Dizi İstekleri", + "components.Layout.UserDropdown.myprofile": "Profil", + "components.Layout.UserDropdown.requests": "İstekler", + "components.Layout.UserDropdown.settings": "Ayarlar", + "components.Layout.UserDropdown.signout": "Çıkış Yap", + "components.Layout.UserWarnings.emailRequired": "Bir e-mail adresi gereklidir.", + "components.Layout.UserWarnings.passwordRequired": "Bir şifre girmeniz gerekmektedir.", + "components.Layout.VersionStatus.outofdate": "Eski Sürüm", + "components.Layout.VersionStatus.streamdevelop": "Overseerr Geliştirme Sürümü", + "components.Layout.VersionStatus.streamstable": "Overseerr Stabil Sürüm", + "components.Login.credentialerror": "Kullanıcı adı ya da şifre yanlış.", + "components.Login.description": "{applicationName} uygulamasına ilk defa giriş yaptığınız için geçerli bir e-mail adresi eklemeniz gerekmektedir.", + "components.Login.email": "E-mail Adresi", + "components.Login.forgotpassword": "Şifrenizi mi unuttunuz?", + "components.Login.host": "{mediaServerName} URL'si", + "components.Login.initialsignin": "Bağlan", + "components.Login.initialsigningin": "Bağlanıyor…", + "components.Login.password": "Şifre", + "components.Login.save": "Ekle", + "components.Login.saving": "Ekleniyor…", + "components.Login.signin": "Oturum Aç", + "components.Login.signingin": "Oturum Açılıyor…", + "components.Login.signinwithjellyfin": "{mediaServerName} hesabını kullan", + "components.Login.signinwithoverseerr": "{applicationTitle} hesabını kullan", + "components.Login.signinwithplex": "Plex hesabını kullan", + "components.Login.title": "E-mail Ekle", + "components.Login.username": "Kullanıcı Adı", + "components.Login.validationEmailFormat": "Geçersiz e-mail", + "components.Login.validationemailformat": "Geçerli bir e-mail adresi gereklidir", + "components.Login.validationemailrequired": "Geçerli bir e-mail adresi sağlamalısınız", + "components.Login.validationhostformat": "Geçerli bir URl gereklidir", + "components.Login.validationhostrequired": "{mediaServerName} URL'si gereklidir", + "components.Login.validationusernamerequired": "Kullanıcı Adı girmeniz gereklidir", + "components.ManageSlideOver.alltime": "Tüm Zamanlar", + "components.ManageSlideOver.downloadstatus": "İndirilenler", + "components.ManageSlideOver.manageModalAdvanced": "Gelişmiş", + "components.ManageSlideOver.manageModalClearMedia": "Veriyi Temizle", + "components.Discover.tmdbtvgenre": "TMBD Dizi Türleri", + "components.Discover.updatefailed": "Keşfet ayarları güncellenirken beklenmedik bir hata oluştu.", + "components.IssueDetails.IssueComment.areyousuredelete": "Bu yorumu silmek istediğinize emin misiniz?", + "components.IssueDetails.closeissueandcomment": "Yorum ekleyerek Kapat", + "components.IssueDetails.deleteissueconfirm": "Bu sorun bildirisini silmek istediğinize emin misiniz?", + "components.IssueDetails.openedby": "#{issueId} {relativeTime} tarihinde {username} tarafından açıldı", + "components.IssueDetails.reopenissueandcomment": "Bir Yorumla beraber Yeniden Aç", + "components.IssueDetails.toastissuedeleted": "Sorun Bildirisi başarıyla silindi!", + "components.IssueDetails.toaststatusupdatefailed": "Sorunun açıklaması güncellenirken beklenmedik bir hata oluştu.", + "components.IssueModal.CreateIssueModal.allepisodes": "Tüm Bölümler", + "components.IssueModal.CreateIssueModal.providedetail": "Lütfen karşılaştığınız sorunu detaylı bir biçimde açıklayınız.", + "components.IssueModal.CreateIssueModal.reportissue": "Bir Sorun Bildir", + "components.Layout.LanguagePicker.displaylanguage": "Görüntüleme Dili", + "components.Login.validationpasswordrequired": "Bir şifre girmeniz gereklidir", + "components.IssueModal.CreateIssueModal.toastFailedCreate": "Sorunu bildirirken beklenmedik bir hata oluştu.", + "components.Layout.UserWarnings.emailInvalid": "E-mail adresi geçersiz.", + "components.Login.signinheader": "Devam etmek için oturum aç", + "components.Login.validationEmailRequired": "Bir e-mail adresi girmelisiniz", + "components.Layout.VersionStatus.commitsbehind": "{commitsBehind} {commitsBehind, plural, one {commit} other {commits}} behind", + "components.Login.emailtooltip": "E-mail adresi {mediaServerName} uygulamasıyla ilişik olmak zorunda değildir.", + "components.Login.loginerror": "Oturum açarken bir hata oluştu.", + "components.ManageSlideOver.manageModalClearMediaWarning": "* Bu işlem geri döndürülemez bir biçimde {mediaType} ile alakalı her türlü istekte dahil olmak üzere tüm verileri silecektir. Eğer ki bu öğe {mediaServerName} kütüphanenizde bulunuyorsa, tüm medya bilgileri bir sonra ki taramada yeniden oluşturulucaktır.", + "components.ManageSlideOver.manageModalIssues": "Sorun Bildir", + "components.ManageSlideOver.manageModalMedia": "İçerik", + "components.ManageSlideOver.manageModalMedia4k": "4K İçerik", + "components.ManageSlideOver.manageModalNoRequests": "Herhangi bir istek yok.", + "components.ManageSlideOver.manageModalRemoveMediaWarning": "* Bu işlem geri döndürülemez bir biçimde {arr}'dan {mediaType} öğesini ve dosyalarını kaldıracaktır.", + "components.ManageSlideOver.manageModalRequests": "İstekler", + "components.ManageSlideOver.manageModalTitle": "{mediaType} içeriğini yönet", + "components.ManageSlideOver.markallseasons4kavailable": "Tüm Sezonları 4K'da Oynatılabilir Olarak İşaretle", + "components.ManageSlideOver.mark4kavailable": "4K'da Oynatılabilir Olarak İşaretle", + "components.ManageSlideOver.markallseasonsavailable": "Tüm Sezonları Oynatılabilir Olarak İşaretle", + "components.ManageSlideOver.markavailable": "Oynatılabilir Olarak İşaretle", + "components.ManageSlideOver.movie": "film", + "components.ManageSlideOver.openarr": "{arr}'da Aç", + "components.ManageSlideOver.openarr4k": "{arr}'da 4K Olarak Aç", + "components.ManageSlideOver.opentautulli": "Tautuli'de Aç", + "components.ManageSlideOver.pastdays": "{days, number} Gün Geçti", + "components.ManageSlideOver.playedby": "Tarafından Oynatıldı", + "components.ManageSlideOver.plays": "{playCount, number} oynatma", + "components.ManageSlideOver.removearr": "{arr}'dan Kaldır", + "components.ManageSlideOver.tvshow": "dizi", + "components.MediaSlider.ShowMoreCard.seemore": "Daha Fazla", + "components.MovieDetails.MovieCast.fullcast": "Tüm Kadro", + "components.MovieDetails.MovieCrew.fullcrew": "Tüm Ekip", + "components.MovieDetails.budget": "Bütçe", + "components.MovieDetails.cast": "Kadro", + "components.MovieDetails.digitalrelease": "Dijital Sürüm", + "components.MovieDetails.downloadstatus": "İndirme Durumu", + "components.MovieDetails.managemovie": "Filmi Yönet", + "components.MovieDetails.mark4kavailable": "4K'da Oynatılabilir Olarak İşaretle", + "components.MovieDetails.markavailable": "Oynatılabilir Olarak İşaretle", + "components.MovieDetails.openradarr": "Filmi Radarr'da Aç", + "components.MovieDetails.openradarr4k": "Filmi 4K Radarr'da Aç", + "components.MovieDetails.originallanguage": "Orjinal Dil", + "components.MovieDetails.originaltitle": "Ana Dilindeki Başlık", + "components.MovieDetails.overview": "Özet", + "components.MovieDetails.physicalrelease": "Fiziksel Sürüm", + "components.MovieDetails.play": "İçeriği {mediaServerName} içinde oynat", + "components.MovieDetails.play4k": "İçeriği {mediaServerName} içinde 4K'da oynat", + "components.MovieDetails.recommendations": "Önerilenler", + "components.MovieDetails.releasedate": "{releaseCount} Çıkış Tarihi", + "components.MovieDetails.reportissue": "Bir Sorun Bildir", + "components.MovieDetails.revenue": "Hasılat", + "components.MovieDetails.rtaudiencescore": "Rotten Tomatoes İzleyici Puanı", + "components.MovieDetails.rtcriticsscore": "Rotten Tomatoes Tomatometer", + "components.MovieDetails.runtime": "{minutes} dakika", + "components.MovieDetails.showmore": "Daha Fazla Göster", + "components.MovieDetails.showless": "Daha Az Göster", + "components.MovieDetails.similar": "Benzer İçerikler", + "components.MovieDetails.studio": "{studioCount, plural, one {Stüdyo} other {Stüdyolar}}", + "components.MovieDetails.theatricalrelease": "Sinemaya Çıkışı", + "components.MovieDetails.tmdbuserscore": "TMBD Kullanıcı Skoru", + "components.MovieDetails.viewfullcrew": "Tüm Ekibi Gör", + "components.MovieDetails.watchtrailer": "Fragmanı İzle", + "components.NotificationTypeSelector.adminissuereopenedDescription": "Sorun bildirileri kullanıcılar tarafından tekrardan açıldığında bildirim gönder.", + "components.NotificationTypeSelector.adminissueresolvedDescription": "Sorun bildirileri kullanıcılar tarafından çözüldüğünde bildirim gönder.", + "components.NotificationTypeSelector.issuecomment": "Sorun Bildirimi Yorumları", + "components.NotificationTypeSelector.issuecreatedDescription": "Sorunlar bildirildiğinde bildirim gönder.", + "components.NotificationTypeSelector.issuereopened": "Sorun Yeniden Açıldı", + "components.NotificationTypeSelector.issueresolved": "Sorun Çözüldü", + "components.NotificationTypeSelector.issueresolvedDescription": "Sorunlar çözüldüğünde bildirim gönder.", + "components.NotificationTypeSelector.mediaAutoApproved": "İstek Otomatik Olarak İşlendi", + "components.NotificationTypeSelector.mediaAutoApprovedDescription": "Kullanıcıların içerik isteklerinden otomatik olarak kabul edilenler için bildirim gönder.", + "components.NotificationTypeSelector.mediaapproved": "İstek Kabul Edildi", + "components.NotificationTypeSelector.mediaautorequested": "İstek Otomatize Olarak İşleme Alındı", + "components.NotificationTypeSelector.mediaautorequestedDescription": "Kullanıcıların otomatik içerik istekleri eğer ki sizin İzleme Listenizden bir içerik varsa bildirim gönder.", + "components.NotificationTypeSelector.mediaavailable": "İçerik İzlenebilir", + "components.NotificationTypeSelector.mediaavailableDescription": "İçerik izlenebilir olduğunda bildirim gönder.", + "components.NotificationTypeSelector.mediadeclined": "İstek Reddedildi", + "components.NotificationTypeSelector.mediafailed": "İstek İşlemdeyken İptal Oldu", + "components.NotificationTypeSelector.mediafailedDescription": "İçerik istekleri Sonarr'a ya da Radarr'a eklenirken hata oluşursa bildirim gönder.", + "components.NotificationTypeSelector.mediarequested": "İstek Doğrulama Bekliyor", + "components.NotificationTypeSelector.notificationTypes": "Bildirim Türleri", + "components.NotificationTypeSelector.userissuecommentDescription": "Gönderdiğiniz sorun bildirimine yorum geldiğinde bildirim gönder.", + "components.NotificationTypeSelector.userissuecreatedDescription": "Diğer kullanıcılar sorun bildirdiklerinde bildirim gönder.", + "components.NotificationTypeSelector.userissuereopenedDescription": "Gönderdiğiniz sorun bildirimi yeniden açıldığında bildirim gönder.", + "components.NotificationTypeSelector.userissueresolvedDescription": "Gönderdiğiniz sorun bildirimi çözüldüğünde bildirim gönder.", + "components.NotificationTypeSelector.usermediaapprovedDescription": "Gönderdiğiniz içerik isteği kabul edildiğinde bildirim gönder.", + "components.NotificationTypeSelector.usermediaavailableDescription": "Gönderdiğiniz içerik isteği izlenebilir olduğunda bildirim gönder.", + "components.NotificationTypeSelector.usermediadeclinedDescription": "Gönderdiğiniz içerik isteği reddedildiğinde bildirim gönder.", + "components.NotificationTypeSelector.usermediarequestedDescription": "Diğer kullanıcılar doğrulama gerektiren içerik istekleri gönderdiğinde bildirim gönder.", + "components.PermissionEdit.admin": "Yönetici", + "components.PermissionEdit.adminDescription": "Tam yönetici erişimi. Diğer tüm izin denetlemelerini görmezden gelir.", + "components.PermissionEdit.advancedrequest": "Gelişmiş İstekler", + "components.PermissionEdit.advancedrequestDescription": "Gelişmiş istek ayarlarını düzenleyebilme izni ver.", + "components.PermissionEdit.autoapprove": "Otomatik Onay", + "components.PermissionEdit.autoapprove4kMovies": "4K Filmler İçin Otomatik Onay", + "components.PermissionEdit.autoapprove4kMoviesDescription": "4K Film isteklerinin otomatik onaylanması iznini ver.", + "components.PermissionEdit.autoapprove4kSeries": "4K Diziler İçin Otomatik Onay", + "components.PermissionEdit.autoapprove4kSeriesDescription": "4K Dizi isteklerinin otomatik onaylanması iznini ver.", + "components.PermissionEdit.autoapproveDescription": "4K olmayan içerik isteklerinin otomatik onaylanması iznini ver.", + "components.PermissionEdit.autoapproveMovies": "Filmler İçin Otomatik Onay", + "components.PermissionEdit.autoapproveSeries": "Diziler İçin Otomatik Onay", + "components.PermissionEdit.autoapproveSeriesDescription": "4K olmayan dizi isteklerinin otomatik onaylanması iznini ver.", + "components.PermissionEdit.autorequest": "Otomatize İstek", + "components.PermissionEdit.autorequestMovies": "Filmleri Otomatize İstet", + "components.PermissionEdit.autorequestMoviesDescription": "Kullanıcının Plex İzleme listesinde olan ve 4K olmayan filmler için otomatik olarak istetme iznini ver.", + "components.PermissionEdit.autorequestSeries": "Dizileri Otomatize İstet", + "components.PermissionEdit.autorequestSeriesDescription": "Kullanıcının Plex İzleme listesinde olan ve 4K olmayan diziler için otomatik olarak istetme iznini ver.", + "components.PermissionEdit.createissues": "Sorun Bildirme", + "components.PermissionEdit.manageissues": "Sorunları Yönetme", + "components.PermissionEdit.manageissuesDescription": "İçeriklerde ki sorunları yönetme iznini ver.", + "components.PermissionEdit.managerequests": "İstekleri Yönet", + "components.PermissionEdit.request": "İstek", + "components.PermissionEdit.request4k": "4K'da İstek", + "components.PermissionEdit.request4kDescription": "4K içerik istekleri gönderme iznini ver.", + "components.PermissionEdit.request4kMovies": "4K'da Film İstetme", + "components.PermissionEdit.request4kMoviesDescription": "4K film istekleri gönderme iznini ver.", + "components.PermissionEdit.request4kTv": "4K'da Dizi İstetme", + "components.PermissionEdit.request4kTvDescription": "4K dizi istekleri gönderme iznini ver.", + "components.PermissionEdit.requestDescription": "4K dışında ki içerik isteklerini gönderme iznini ver.", + "components.PermissionEdit.requestMovies": "Film İstetme", + "components.PermissionEdit.requestMoviesDescription": "4K dışında ki film isteklerini gönderme iznini ver.", + "components.PermissionEdit.requestTv": "Dizi İstetme", + "components.PermissionEdit.requestTvDescription": "4K dışında ki dizi isteklerini gönderme iznini ver.", + "components.PermissionEdit.users": "Kullanıcıları Yönetme", + "components.PermissionEdit.viewissues": "Sorunları Görme", + "components.PermissionEdit.viewissuesDescription": "İçeriklerle alakalı dieğr kullanıcıların raporladığı sorunları görme iznini ver.", + "components.PermissionEdit.viewrequests": "İstekleri Görme", + "components.PermissionEdit.viewrequestsDescription": "Diğer kullanıcılar tarafından istenen içerikleri görme iznini ver.", + "components.PermissionEdit.viewwatchlists": "{mediaServerName} İzleme Listelerini Görme", + "components.PersonDetails.alsoknownas": "Nam-ı Diğer: {names}", + "components.PersonDetails.appearsin": "Yer Aldığı İçerikler", + "components.PersonDetails.ascharacter": "{character} rolüyle", + "components.PersonDetails.birthdate": "Doğumu {birthdate}", + "components.PersonDetails.crewmember": "Ekibi", + "components.PersonDetails.lifespan": "{birthdate} – {deathdate}", + "components.PlexLoginButton.signingin": "Giriş Yapılıyor…", + "components.PlexLoginButton.signinwithplex": "Giriş Yap", + "components.QuotaSelector.days": "{count} gün", + "components.QuotaSelector.movies": "{count} film", + "components.QuotaSelector.seasons": "{count} sezon", + "components.QuotaSelector.tvRequests": "{quotaLimit} {sezonlar} per {quotaDays} {gün}", + "components.QuotaSelector.unlimited": "Sınırsız", + "components.RegionSelector.regionDefault": "Tüm Bölgeler", + "components.RegionSelector.regionServerDefault": "Varsayılan ({region})", + "components.RequestBlock.approve": "İsteği Kabul Et", + "components.RequestBlock.decline": "İsteği Reddet", + "components.RequestBlock.delete": "İsteği Sil", + "components.RequestBlock.edit": "İsteği Düzenle", + "components.RequestBlock.languageprofile": "Dil Seçeneği", + "components.RequestBlock.profilechanged": "Kalite Seçeneği", + "components.RequestBlock.requestdate": "İsteme Tarihi", + "components.RequestBlock.requestedby": "İsteyen", + "components.RequestBlock.requestoverrides": "Geçersiz İstekler", + "components.RequestBlock.rootfolder": "Ana Klasör", + "components.RequestBlock.seasons": "{seasonCount, plural, one {Sezon} other {Sezonlar}}", + "components.RequestBlock.server": "Varış Sunucusu", + "components.RequestButton.approverequest": "İsteği Kabul Et", + "components.RequestButton.approverequest4k": "4K İsteği Kabul Et", + "components.RequestButton.approverequests": "{requestCount, plural, one {İsteği} Kabul Et other {{requestCount} Requests}}", + "components.RequestButton.declinerequest": "İsteği Reddet", + "components.RequestButton.declinerequest4k": "4K İsteği Reddet", + "components.RequestButton.declinerequests": "{requestCount, plural, one {İsteği} Reddet other {{requestCount} Requests}}", + "components.RequestButton.requestmore4k": "4K'da Daha Fazla İste", + "components.RequestButton.viewrequest": "İstekleri Gör", + "components.RequestButton.viewrequest4k": "4K İstekleri Gör", + "components.RequestCard.approverequest": "İsteği Kabul Et", + "components.RequestCard.cancelrequest": "İsteği İptal Et", + "components.RequestCard.declinerequest": "İsteği Reddet", + "components.RequestCard.deleterequest": "İsteği Sil", + "components.RequestCard.failedretry": "Tekrardan istek gönderirken bir hata oluştu.", + "components.RequestCard.mediaerror": "{mediaType} Bulunamadı", + "components.RequestCard.seasons": "{seasonCount} Sezon", + "components.RequestCard.tmdbid": "TMDB ID'si", + "components.RequestCard.tvdbid": "TheTVDB ID'si", + "components.RequestCard.unknowntitle": "Bilinmeyen İçerik", + "components.RequestList.RequestItem.deleterequest": "İsteği Sil", + "components.RequestList.RequestItem.editrequest": "İsteği Düzenle", + "components.RequestList.RequestItem.failedretry": "Tekrardan istek gönderirken bir hata oluştu.", + "components.RequestList.RequestItem.mediaerror": "{mediaType} Bulunamadı", + "components.RequestList.RequestItem.modified": "Düzenlendi", + "components.RequestList.RequestItem.modifieduserdate": "{user} tarafından {date} vaktinde", + "components.RequestList.RequestItem.requested": "İstetildi", + "components.RequestList.RequestItem.seasons": "{seasonCount, plural, one {Sezon} other {Sezonlar}}", + "components.RequestList.RequestItem.tmdbid": "TMDB ID'si", + "components.RequestList.RequestItem.tvdbid": "TheTVDB ID'si", + "components.RequestList.RequestItem.unknowntitle": "Bilinmeyen İçerik", + "components.RequestList.requests": "İstekler", + "components.RequestList.showallrequests": "Tüm İstekleri Göster", + "components.RequestList.sortAdded": "En Son Eklenen", + "components.RequestModal.AdvancedRequester.advancedoptions": "Gelişmiş", + "components.RequestModal.AdvancedRequester.animenote": "* Bu dizi bir animedir.", + "components.RequestModal.AdvancedRequester.default": "{name} (Varsayılan)", + "components.RequestModal.AdvancedRequester.destinationserver": "Varış Sunucusu", + "components.RequestModal.AdvancedRequester.folder": "{path} ({space})", + "components.RequestModal.AdvancedRequester.languageprofile": "Dil Seçeneği", + "components.RequestModal.AdvancedRequester.notagoptions": "Etiket yok.", + "components.RequestModal.AdvancedRequester.qualityprofile": "Kalite Seçeneği", + "components.RequestModal.AdvancedRequester.rootfolder": "Ana Klasör", + "components.RequestModal.AdvancedRequester.selecttags": "Etiketleri seç", + "components.RequestModal.AdvancedRequester.tags": "Etiketler", + "components.RequestModal.QuotaDisplay.movie": "film", + "components.RequestModal.QuotaDisplay.movielimit": "{limit, plural, one {film} other {filmler}}", + "components.RequestModal.QuotaDisplay.notenoughseasonrequests": "Sezon isteteme limitiniz yetmemektedir", + "components.RequestModal.QuotaDisplay.quotaLink": "Profil sayfanızdan istetme limitiniz hakkında ki bilgileri görebilirsiniz.", + "components.RequestModal.QuotaDisplay.requestsremaining": "{remaining, plural, =0 {No} other {#}} {type} istek kaldı", + "components.RequestModal.QuotaDisplay.requiredquotaUser": "Bu kullanıcının bu dizinin {sezonlarını} istetebilmek için en azından {seasons, plural, one {sezon isteği} other {sezon istekleri}} kadar istek göndermesi gerekiyor.", + "components.RequestModal.QuotaDisplay.season": "sezonlar", + "components.RequestModal.QuotaDisplay.seasonlimit": "{limit, plural, one {sezon} other {sezonlar}}", + "components.RequestModal.SearchByNameModal.nomatches": "Bu dizi için uygun bir eşleşme bulamadık.", + "components.RequestModal.SearchByNameModal.notvdbiddescription": "Bu diziyi otomatik olarak eşleştiremedik, lütfen aşağıdan bir eşleşme seçin.", + "components.RequestModal.alreadyrequested": "Zaten İstenildi", + "components.RequestModal.approve": "İsteği Kabul Et", + "components.RequestModal.autoapproval": "Otomatik Kabul", + "components.RequestModal.cancel": "İsteği İptal Et", + "components.RequestModal.edit": "İsteği Düzenle", + "components.RequestModal.errorediting": "İstek düzenlenirken beklenmedik bir hatayla karşılaşıldı.", + "components.RequestModal.extras": "Ekstralar", + "components.RequestModal.numberofepisodes": "# Bölümleri", + "components.RequestModal.pending4krequest": "4K İstek Beklemede", + "components.RequestModal.pendingapproval": "Gönderdiğiniz istek onaylama aşamasında.", + "components.RequestModal.pendingrequest": "İstek Beklemede", + "components.RequestModal.requestCancel": "{title} için gönderdiğiniz istek reddedildi.", + "components.RequestModal.requestSuccess": "{title} isteği başarıyla gönderildi!", + "components.RequestModal.requestcancelled": "{title} için gönderdiğiniz istek reddedildi.", + "components.RequestModal.requestcollection4ktitle": "Koleksiyonu 4K Kalitesiyle İste", + "components.RequestModal.requestcollectiontitle": "Koleksiyonu İste", + "components.RequestModal.requestedited": "{title} için gönderilen istek başarıyla düzenlendi!", + "components.RequestModal.requestfrom": "{username} kullanıcısının isteği onay bekliyor.", + "components.RequestModal.requestmovie4ktitle": "Filmi 4K'da İste", + "components.RequestModal.requestmovies": "{count} Filmi İste", + "components.RequestModal.requestmovietitle": "Filmi İste", + "components.RequestModal.requestseasons4k": "{seasonCount} Sezonu 4K'da İste", + "components.RequestModal.requestseries4ktitle": "Diziyi 4K'da İste", + "components.RequestModal.requestseriestitle": "Diziyi İste", + "components.RequestModal.season": "Sezon", + "components.RequestModal.seasonnumber": "{number}. Sezon", + "components.RequestModal.selectmovies": "Film(leri) Seç", + "components.RequestModal.selectseason": "Dizi(leri) Seç", + "components.ResetPassword.confirmpassword": "Şifreyi Doğrula", + "components.ResetPassword.email": "E-mail Adresi", + "components.ResetPassword.emailresetlink": "E-mail Kurtarma Linki", + "components.ResetPassword.password": "Şifre", + "components.ResetPassword.passwordreset": "Şifreyi Sıfırla", + "components.ResetPassword.resetpassword": "Şifrenizi sıfırlayın", + "components.ResetPassword.resetpasswordsuccessmessage": "Şifre sıfırlama başarılı!", + "components.ResetPassword.validationemailrequired": "Geçerli bir e-mail adresi sağlamalısınız", + "components.ResetPassword.validationpasswordmatch": "Girdiğiniz şifreler uyuşmuyor", + "components.ResetPassword.validationpasswordminchars": "Girdiğiniz şifre çok kısa, en az 8 karakterden oluşmalıdır", + "components.ResetPassword.validationpasswordrequired": "Bir şifre girmeniz gereklidir", + "components.Search.search": "Ara", + "components.Search.searchresults": "Arama Sonuçları", + "components.Selector.nooptions": "Sonuç yok.", + "components.Selector.searchGenres": "Türleri seç…", + "components.Selector.searchKeywords": "Anahtar kelimeleri arat…", + "components.Selector.searchStudios": "Stüdyolarda ara…", + "components.Selector.showless": "Daha Az Göster", + "components.Selector.showmore": "Daha Fazla Göster", + "components.Selector.starttyping": "Aramak için yazmaya başla.", + "components.Settings.Notifications.NotificationsGotify.gotifysettingsfailed": "Gotify bildirim ayarları kaydedilemedi.", + "components.Settings.Notifications.NotificationsGotify.gotifysettingssaved": "Gotify bildirim ayarları kaydedildi!", + "components.Settings.Notifications.NotificationsGotify.toastGotifyTestFailed": "Gotify deneme bildirimi gönderilemedi.", + "components.Settings.Notifications.NotificationsGotify.toastGotifyTestSuccess": "Gotify deneme bildirimi gönderildi!", + "components.Settings.Notifications.NotificationsGotify.token": "Uygulama Token'i", + "components.Settings.Notifications.NotificationsGotify.url": "Sunucu URL'si", + "components.Settings.Notifications.NotificationsGotify.validationTokenRequired": "Bir uygulama Token'i girmeniz gerekmektedir", + "components.Settings.Notifications.NotificationsGotify.validationUrlRequired": "Geçerli bir URL girmelisiniz", + "components.ManageSlideOver.removearr4k": "4K {arr}'dan Kaldır", + "components.NotificationTypeSelector.adminissuecommentDescription": "Diğer kullanıcılar sorun bildirilerine yorum yaptıklarında bildirim gönder.", + "components.NotificationTypeSelector.mediadeclinedDescription": "İstek reddedildiğinde bildirim gönder.", + "components.PermissionEdit.createissuesDescription": "İçeriklerde ki sorunları bildirme iznini ver.", + "components.PermissionEdit.viewrecentDescription": "Yakın zamanda eklenen içerikleri görme iznini ver.", + "components.RequestBlock.lastmodifiedby": "En Son Düzenlenleyen", + "components.RequestButton.decline4krequests": "{requestCount, plural, one {4K İsteği} Reddet other {{requestCount} 4K Requests}}", + "components.RequestButton.requestmore": "Daha Fazla İste", + "components.RequestCard.editrequest": "İsteği Düzenle", + "components.RequestModal.requestApproved": "{title} için gönderdiğiniz istek onaylandı!", + "components.Settings.Notifications.NotificationsGotify.toastGotifyTestSending": "Gotify deneme bildirimi gönderiliyor…", + "components.Settings.Notifications.NotificationsGotify.validationTypes": "En azından bir adet bildirim türü seçmelisiniz", + "components.MovieDetails.imdbuserscore": "IMDB Kullanıcı Puanı", + "components.MovieDetails.overviewunavailable": "Özet mevcut değil.", + "components.MovieDetails.productioncountries": "Yapımcı {countryCount} Ülke", + "components.MovieDetails.streamingproviders": "İçertiğin Erişilebilir Olduğu Platformlar", + "components.NotificationTypeSelector.issuecommentDescription": "Sorun bildirilerine yeni yorum geldiğinde bildirim gönder.", + "components.NotificationTypeSelector.issuecreated": "Sorun Bildirildi", + "components.NotificationTypeSelector.issuereopenedDescription": "Sorunlar yeniden açıldığında bildirim gönder.", + "components.NotificationTypeSelector.mediaapprovedDescription": "Kullanıcıların içerik istekleri elle kabul edildiğinde bildirim gönder.", + "components.NotificationTypeSelector.mediarequestedDescription": "Kullanıcılar doğrulama gerektiren içerik istekleri gönderdiğinde bildirim gönder.", + "components.NotificationTypeSelector.usermediaAutoApprovedDescription": "Diğer kullanıcılar otomatize içerik istekleri gönderdiğinde bildirim gönder.", + "components.NotificationTypeSelector.usermediafailedDescription": "Gönderdiğiniz içerik isteği Sonarr ya da Radarr'a eklenemediğinde bildirim gönder.", + "components.PermissionEdit.autoapprove4k": "4K İçin Otomatik Onay", + "components.PermissionEdit.autoapprove4kDescription": "4K İçerik isteklerinin otomatik onaylanması iznini ver.", + "components.PermissionEdit.autoapproveMoviesDescription": "4K olmayan film isteklerinin otomatik onaylanması iznini ver.", + "components.PermissionEdit.autorequestDescription": "Kullanıcının Plex İzleme listesinde olan içerikler için otomatik olarak istetme iznini ver.", + "components.PermissionEdit.managerequestsDescription": "İçerik isteklerini yönetme iznini ver. Bu izne sahip kullanıcının gönderdiği tüm istekler otomatik olarak kabul edilir.", + "components.PermissionEdit.viewrecent": "Yakın Zamanda Eklenenleri Görme", + "components.RequestModal.AdvancedRequester.requestas": "Şu Mahlasla İstet:", + "components.RequestModal.QuotaDisplay.allowedRequests": "{limit} {type} adet istetme limitin var, her {days} günde bir bu limit yenilenecektir.", + "components.RequestModal.QuotaDisplay.allowedRequestsUser": "Bu kullanıcının {limit} {type} adet istetme limiti var, her {days} günde bir bu limiti yenilenecektir.", + "components.PermissionEdit.usersDescription": "Kullanıcıları yönetme iznini ver. Bu izne sahip kullanıcılar Yönetici yetkisine sahip kişileri düzenleyemezler ya da Yönetici yetkisi veremezler.", + "components.PermissionEdit.viewwatchlistsDescription": "Diğer kullanıcıların {mediaServerName} İzleme Listelerini görme iznini ver.", + "components.RequestList.RequestItem.cancelRequest": "İsteği İptal Et", + "components.RequestList.sortModified": "En Son Düzenlenen", + "components.RequestModal.QuotaDisplay.quotaLinkUser": "Kullanıcıların profil sayfasından istetme limitleri hakkında ki bilgileri görebilirsiniz.", + "components.RequestModal.requesterror": "İsteği gönderirken beklenmedik bir hata oluştu.", + "components.RequestModal.requestseasons": "{seasonCount} Sezonu İste", + "components.Settings.Notifications.NotificationsGotify.agentenabled": "Köprüyü Aktif Et", + "components.QuotaSelector.movieRequests": "{quotaLimit} {filmler} per {quotaDays} {gün}", + "components.RequestList.RequestItem.requesteddate": "İstetildi", + "components.RequestModal.requestadmin": "Bu istek otomatik olarak onaylanacaktır.", + "components.RequestButton.approve4krequests": "{requestCount, plural, one {4K İsteği} Kabul Et other {{requestCount} 4K Requests}}", + "components.RequestModal.QuotaDisplay.requiredquota": "Bu dizinin {sezonlarını} istetebilmek için en azından {seasons, plural, one {sezon isteği} other {sezon istekleri}} kadar istek göndermeniz gerekiyor.", + "components.RequestModal.requestmovies4k": "{count} Filmi 4K'da İste", + "components.ResetPassword.gobacklogin": "Oturum Açma Sayfasına Dön", + "components.ResetPassword.requestresetlinksuccessmessage": "Eğer ki girilen e-mail adresi gerçek bir kişiyle ilişkiliyse şifre sıfırlama linki gönderilecektir.", + "components.Settings.Notifications.NotificationsGotify.validationUrlTrailingSlash": "URL'nizin sonunda slash (eğik çizgi) olmamalıdır", + "components.Settings.Notifications.NotificationsLunaSea.agentenabled": "Köprüyü Aktif Et", + "components.Settings.Notifications.NotificationsLunaSea.profileName": "Profil İsmi", + "components.Settings.Notifications.NotificationsLunaSea.profileNameTip": "Eğer ki varsayılan profil kullanılmıyorsa gereklidir", + "components.Settings.Notifications.NotificationsLunaSea.settingsFailed": "LunaSea bildirim ayarları kaydedilemedi.", + "components.Settings.Notifications.NotificationsLunaSea.toastLunaSeaTestFailed": "LunaSea deneme bildirimi gönderilemedi.", + "components.Settings.Notifications.NotificationsLunaSea.toastLunaSeaTestSending": "LunaSea deneme bildirimi gönderiliyor…", + "components.Settings.Notifications.NotificationsLunaSea.toastLunaSeaTestSuccess": "LunaSea deneme bildirimi gönderildi!", + "components.Settings.Notifications.NotificationsLunaSea.validationTypes": "En azından bir adet bildirim türü seçmelisiniz", + "components.Settings.Notifications.NotificationsLunaSea.validationWebhookUrl": "Geçerli bir URL girmelisiniz", + "components.Settings.Notifications.NotificationsLunaSea.webhookUrl": "Webhook URL'si", + "components.Settings.Notifications.NotificationsPushbullet.accessToken": "Erişim Token'i", + "components.Settings.Notifications.NotificationsPushbullet.accessTokenTip": "Hesap Ayarlarınızdan bir token oluşturun", + "components.Settings.Notifications.NotificationsPushbullet.agentEnabled": "Köprüyü Aktif Et", + "components.Settings.Notifications.NotificationsPushbullet.channelTag": "Kanal Etiketi", + "components.Settings.Notifications.NotificationsPushbullet.pushbulletSettingsFailed": "Pushbullet bildirim ayarları kaydedilemedi.", + "components.Settings.Notifications.NotificationsPushbullet.pushbulletSettingsSaved": "Pushbullet bildirim ayarları kaydedildi!", + "components.Settings.Notifications.NotificationsPushbullet.toastPushbulletTestSending": "Pushbullet deneme bildirimi gönderiliyor…", + "components.Settings.Notifications.NotificationsPushbullet.toastPushbulletTestSuccess": "Pushbullet deneme bildirimi gönderildi!", + "components.Settings.Notifications.NotificationsPushbullet.validationAccessTokenRequired": "Bir erişim token'i sağlamalısınız", + "components.Settings.Notifications.NotificationsPushbullet.validationTypes": "En azından bir adet bildirim türü seçmelisiniz", + "components.Settings.Notifications.NotificationsPushover.accessToken": "Uygulama API'sinin Token'i", + "components.Settings.Notifications.NotificationsLunaSea.settingsSaved": "LunaSea bildirim ayarları kaydedildi!", + "components.Settings.Notifications.NotificationsPushbullet.toastPushbulletTestFailed": "Pushbullet deneme bildirimi gönderilemedi.", + "components.Settings.Notifications.NotificationsLunaSea.webhookUrlTip": "Kullanıcı ya da cihaz tabanlı webhook bildirimi URL'niz", + "components.Settings.RadarrModal.released": "Çıkış Yaptı", + "components.Settings.RadarrModal.rootfolder": "Ana Klasör", + "components.Settings.Notifications.NotificationsPushover.agentenabled": "Köprüyü Aktif Et", + "components.Settings.Notifications.NotificationsPushover.deviceDefault": "Cihaz Varsayılanı", + "components.Settings.Notifications.NotificationsPushover.pushoversettingsfailed": "Pushover bildirim ayarları kaydedilemedi.", + "components.Settings.Notifications.NotificationsPushover.pushoversettingssaved": "Pushover bildirim ayarları kaydedildi!", + "components.Settings.Notifications.NotificationsPushover.sound": "Bildirim Sesi", + "components.Settings.Notifications.NotificationsPushover.toastPushoverTestFailed": "Pushover deneme bildirimi gönderilemedi.", + "components.Settings.Notifications.NotificationsPushover.accessTokenTip": "Overseerr ile kullanmanız için uygulamanızı kaydedin", + "components.Settings.SettingsAbout.helppaycoffee": "Bize Bir Kahve Ismarla", + "components.Settings.Notifications.NotificationsPushover.toastPushoverTestSuccess": "Pushover deneme bildirimi gönderildi!", + "components.Settings.Notifications.NotificationsPushover.validationAccessTokenRequired": "Geçerli bir uygulama token'i sağlamalısınız", + "components.Settings.Notifications.NotificationsPushover.validationTypes": "En azından bir adet bildirim türü seçmelisiniz", + "components.Settings.Notifications.NotificationsPushover.userToken": "Kullanıcı ya da Grup Kimliği", + "components.Settings.Notifications.NotificationsPushover.validationUserTokenRequired": "Geçerli bir kullanıcı ya da grup kimliği sağlamalısınız", + "components.Settings.Notifications.NotificationsSlack.agentenabled": "Köprüyü Aktif Et", + "components.Settings.Notifications.NotificationsSlack.slacksettingsfailed": "Slack bildirim ayarları kaydedilemedi.", + "components.Settings.Notifications.NotificationsSlack.toastSlackTestFailed": "Slacxk deneme bildirimi gönderilemedi.", + "components.Settings.Notifications.NotificationsSlack.toastSlackTestSending": "Slack deneme bildirimi gönderiliyor…", + "components.Settings.Notifications.NotificationsSlack.toastSlackTestSuccess": "Slack deneme bildirimi gönderildi!", + "components.Settings.Notifications.NotificationsSlack.validationTypes": "En azından bir adet bildirim türü seçmelisiniz", + "components.Settings.Notifications.NotificationsSlack.validationWebhookUrl": "Geçerli bir URL girmelisiniz", + "components.Settings.Notifications.NotificationsSlack.webhookUrl": "Webhook URL'si", + "components.Settings.Notifications.NotificationsWebPush.agentenabled": "Köprüyü Aktif Et", + "components.Settings.Notifications.NotificationsWebPush.httpsRequirement": "Web'den bildirim gönderilebilmesi için Overseerr'ın HTTPS (SSL) olarak erişiliyor olması lazımdır.", + "components.Settings.Notifications.NotificationsWebPush.toastWebPushTestFailed": "Web deneme bildirimi gönderilemedi.", + "components.Settings.Notifications.NotificationsWebPush.toastWebPushTestSending": "Web deneme bildirimi gönderiliyor…", + "components.Settings.Notifications.NotificationsWebPush.toastWebPushTestSuccess": "Web deneme bildirimi gönderildi!", + "components.Settings.Notifications.NotificationsWebPush.webpushsettingssaved": "Web bildirim ayarları kaydedildi!", + "components.Settings.Notifications.NotificationsWebhook.agentenabled": "Köprüyü Aktif Et", + "components.Settings.Notifications.NotificationsWebhook.authheader": "Yetkilendirme Üstbilgisi (Header'ı)", + "components.Settings.Notifications.NotificationsWebhook.customJson": "JSON Payload'I", + "components.Settings.Notifications.NotificationsWebhook.resetPayload": "Varsayılan Ayarlara Sıfırla", + "components.Settings.Notifications.NotificationsWebhook.resetPayloadSuccess": "JSON Payload'ı başarıyla sıfırlandı!", + "components.Settings.Notifications.NotificationsWebhook.templatevariablehelp": "Şablon Değişkeni İçin Yardım", + "components.Settings.Notifications.NotificationsWebhook.toastWebhookTestSending": "Webhook deneme bildirimi gönderiliyor…", + "components.Settings.Notifications.NotificationsWebhook.toastWebhookTestSuccess": "Webhook deneme bildirimi gönderildi!", + "components.Settings.Notifications.NotificationsWebhook.validationJsonPayloadRequired": "Geçerli bir JSON Payload'ı sağlamalısınız", + "components.Settings.Notifications.NotificationsWebhook.validationTypes": "En azından bir adet bildirim türü seçmelisiniz", + "components.Settings.Notifications.NotificationsWebhook.webhookUrl": "Webhook URL'si", + "components.Settings.Notifications.NotificationsWebhook.webhooksettingsfailed": "Webhook bildirim ayarları kaydedilemedi.", + "components.Settings.Notifications.NotificationsWebhook.webhooksettingssaved": "Webhook bildirim ayarları kaydedildi!", + "components.Settings.Notifications.agentenabled": "Köprüyü Aktif Et", + "components.Settings.Notifications.allowselfsigned": "Kendine İmzalı Sertifikaları Kabul Et", + "components.Settings.Notifications.authPass": "SMPT Şifresi", + "components.Settings.Notifications.botAPI": "Bot Yetkilendirme Token'i", + "components.Settings.Notifications.botApiTip": "Overseerr ile kullanmak için bir Bot oluşturun", + "components.Settings.Notifications.botAvatarUrl": "Bot Profil Resmi URL'si", + "components.Settings.Notifications.botUsername": "Bot'un Kullanıcı Adı", + "components.Settings.Notifications.chatId": "Sohbet ID'si", + "components.Settings.Notifications.chatIdTip": "Botunuzla sohbet etmek için @get_id_bot isimiyle ekleyin, /my_id komutunu kullanın ve sohbeti başlatın", + "components.Settings.Notifications.discordsettingsfailed": "Discord bildirim ayarları kaydedilemedi.", + "components.Settings.Notifications.emailsender": "Gönderen Adresi", + "components.Settings.Notifications.emailsettingsfailed": "E-mail bildirim ayarları kaydedilemedi.", + "components.Settings.Notifications.emailsettingssaved": "E-mail bildirim ayarları kaydedildi!", + "components.Settings.Notifications.enableMentions": "Bahsetmeleri Etkinleştirin", + "components.Settings.Notifications.encryption": "Şifreleme Yöntemi", + "components.Settings.Notifications.encryptionDefault": "Mümkünse STARTTLS kullan", + "components.Settings.Notifications.encryptionImplicitTls": "Örtülü (Implict) TLS Kullan", + "components.Settings.Notifications.encryptionNone": "Hiçbiri", + "components.Settings.Notifications.encryptionTip": "Genel olarak Örtülü (Implict) TLS 465 numaralı portu kullanır, STARTTLS ise 587 numaralı portu kullanır", + "components.Settings.Notifications.pgpPassword": "PGP Şifresi", + "components.Settings.Notifications.pgpPrivateKey": "PGP Gizli Anahtar", + "components.Settings.Notifications.pgpPrivateKeyTip": "OpenPGP kullanarak e-mailleri imzala ve şifrele", + "components.Settings.Notifications.sendSilently": "Sessizce Gönder", + "components.Settings.Notifications.sendSilentlyTip": "Ses olmadan bildirim gönder", + "components.Settings.Notifications.senderName": "Gönderen İsmi", + "components.Settings.Notifications.smtpHost": "SMPT Sunucu Adresi", + "components.Settings.Notifications.smtpPort": "SMPT Port'u", + "components.Settings.Notifications.telegramsettingsfailed": "Telegram bildirim ayarları kaydedilemedi.", + "components.Settings.Notifications.telegramsettingssaved": "Telegram bildirim ayarları kaydedildi!", + "components.Settings.Notifications.toastDiscordTestSuccess": "Discord deneme bildirimi gönderildi!", + "components.Settings.Notifications.toastEmailTestFailed": "E-mail deneme bildirimi gönderilemedi.", + "components.Settings.Notifications.toastEmailTestSuccess": "E-mail deneme bildirimi gönderildi!", + "components.Settings.Notifications.toastTelegramTestFailed": "Telegram test bildirimi gönderilemedi.", + "components.Settings.Notifications.toastTelegramTestSending": "Telegram deneme bildirimi gönderiliyor…", + "components.Settings.Notifications.toastTelegramTestSuccess": "Telegram deneme bildirimi gönderildi!", + "components.Settings.Notifications.userEmailRequired": "Kullanıcı e-mail'ini zorunlu tut", + "components.Settings.Notifications.validationChatIdRequired": "Geçerli bir sohbet ID'si sağlamalısın", + "components.Settings.Notifications.validationEmail": "Geçerli bir e-mail adresi sağlamalısın", + "components.Settings.Notifications.validationPgpPassword": "Bir PGP şifresi sağlamalısın", + "components.Settings.Notifications.validationPgpPrivateKey": "Geçerli bir PGP gizli anahtarı sağlamalısın", + "components.Settings.Notifications.validationSmtpPortRequired": "Geçerli bir port numarası girmelisin", + "components.Settings.Notifications.validationTypes": "En azından bir adet bildirim türü seçmelisiniz", + "components.Settings.Notifications.validationUrl": "Geçerli bir URL girmelisiniz", + "components.Settings.Notifications.webhookUrl": "Webhook URL'si", + "components.Settings.RadarrModal.add": "Sunucu Ekle", + "components.Settings.RadarrModal.announced": "Duyurulmuş", + "components.Settings.RadarrModal.apiKey": "API Anahtarı", + "components.Settings.RadarrModal.baseUrl": "Temel URL Adresi", + "components.Settings.RadarrModal.create4kradarr": "Yeni Bir 4K Radarr Sunucusu Ekle", + "components.Settings.RadarrModal.createradarr": "Yeni Bir Radarr Sunucusu Ekle", + "components.Settings.RadarrModal.default4kserver": "Varsayılan 4K Sunucu", + "components.Settings.RadarrModal.defaultserver": "Varsayılan Sunucu", + "components.Settings.RadarrModal.edit4kradarr": "4K Radarr Sunucusunu Düzenle", + "components.Settings.RadarrModal.editradarr": "Radarr Sunucusunu Düzenle", + "components.Settings.RadarrModal.enableSearch": "Otomatik Aramayı Etkinleştir", + "components.Settings.RadarrModal.externalUrl": "Harici URL", + "components.Settings.RadarrModal.hostname": "Domain ya da IP Adresi", + "components.Settings.RadarrModal.inCinemas": "Sinemalarda", + "components.Settings.RadarrModal.loadingTags": "Etiketler yükleniyor…", + "components.Settings.RadarrModal.loadingrootfolders": "Ana klasör yükleniyor…", + "components.Settings.RadarrModal.minimumAvailability": "Asgari Erişilebilirlik Ayarı", + "components.Settings.RadarrModal.notagoptions": "Etiket yok.", + "components.Settings.RadarrModal.port": "Port", + "components.Settings.RadarrModal.qualityprofile": "Kalite Seçeneği", + "components.Settings.RadarrModal.selectQualityProfile": "Kaliteyi seç", + "components.Settings.RadarrModal.selectRootFolder": "Ana klasörü seç", + "components.Settings.RadarrModal.selecttags": "Etiketleri seç", + "components.Settings.RadarrModal.server4k": "4K Sunucu", + "components.Settings.RadarrModal.servername": "Sunucu İsmi", + "components.Settings.RadarrModal.ssl": "SSL Kullan", + "components.Settings.RadarrModal.syncEnabled": "Taramayı Etkinleştir", + "components.Settings.RadarrModal.tagRequests": "Etiket İstekleri", + "components.Settings.RadarrModal.tags": "Etiketler", + "components.Settings.RadarrModal.testFirstQualityProfiles": "Kalite seçeneklerini yüklemek için bağlantıyı test et", + "components.Settings.RadarrModal.testFirstRootFolders": "Ana klasörleri yüklemek için bağlantıyı test et", + "components.Settings.RadarrModal.testFirstTags": "Etiketleri yüklemek için bağlantıyı test et", + "components.Settings.RadarrModal.toastRadarrTestFailure": "Radarr'a bağlanılamadı.", + "components.Settings.RadarrModal.toastRadarrTestSuccess": "Radarr'a başarıyla bağlanıldı!", + "components.Settings.RadarrModal.validationApplicationUrl": "Geçerli bir URL adresi girmelisiniz", + "components.Settings.RadarrModal.validationApplicationUrlTrailingSlash": "URL'nizin sonunda slash (eğik çizgi) olmamalıdır", + "components.Settings.RadarrModal.validationBaseUrlLeadingSlash": "URL'nizin başında slash (eğik çizgi) olmalıdır", + "components.Settings.RadarrModal.validationBaseUrlTrailingSlash": "Temel URL slash (eğik çizgi) ile bitmemelidir", + "components.Settings.RadarrModal.validationMinimumAvailabilityRequired": "Asgari erişilebilirlik ayarı seçmelisin", + "components.Settings.RadarrModal.validationNameRequired": "Bir sunucu ismi girmelisin", + "components.Settings.RadarrModal.validationPortRequired": "Geçerli bir port adresi girmelisin", + "components.Settings.RadarrModal.validationProfileRequired": "Bir kalite seçeneği girmelisin", + "components.Settings.RadarrModal.validationRootFolderRequired": "Bir ana klasör seçmelisin", + "components.Settings.SettingsAbout.Releases.currentversion": "Şimdiki", + "components.Settings.SettingsAbout.Releases.latestversion": "En Son", + "components.Settings.SettingsAbout.Releases.releases": "Piyasaya Çıkışlar", + "components.Settings.SettingsAbout.Releases.versionChangelog": "{version} Sürüm Notları", + "components.Settings.SettingsAbout.Releases.viewchangelog": "Sürüm Notlarını Gör", + "components.Settings.SettingsAbout.Releases.viewongithub": "Github'da Görüntüle", + "components.Settings.SettingsAbout.about": "Hakkında", + "components.Settings.SettingsAbout.appDataPath": "Veri Dizini", + "components.Settings.SettingsAbout.documentation": "Dökümantasyon", + "components.Settings.SettingsAbout.gettingsupport": "Destek Al", + "components.Settings.SettingsAbout.githubdiscussions": "GitHub Tartışmaları", + "components.Settings.SettingsAbout.preferredmethod": "Tercih Edilen", + "components.Settings.SettingsAbout.supportoverseerr": "Overseerr'ı Destekle", + "components.Settings.SettingsAbout.supportjellyseerr": "Jellyseerr'ı Destekle", + "components.Settings.SettingsAbout.timezone": "Zaman Dilimi", + "components.Settings.SettingsAbout.totalmedia": "Toplam İçerik", + "components.Settings.SettingsAbout.totalrequests": "Toplam İstek", + "components.Settings.SettingsAbout.uptodate": "Güncel", + "components.Settings.SettingsAbout.version": "Sürüm", + "components.Settings.SettingsJobsCache.availability-sync": "İçerik Kullanılabilirliğini Eşitle", + "components.Settings.SettingsJobsCache.cache": "Önbelleğe Al", + "components.Settings.SettingsJobsCache.cacheDescription": "Overseer harici API'dan gelen istekleri önbelleğe alır, böylece performans optimize edilir ve gereksiz yere API'a istek atılmaz.", + "components.Settings.SettingsJobsCache.cacheflushed": "{cachename} önbelleği temizlendi.", + "components.Settings.SettingsJobsCache.cachehits": "Önbellek İsabet Yüzdesi", + "components.Settings.SettingsJobsCache.cachekeys": "Toplam Anahtar", + "components.Settings.SettingsJobsCache.cacheksize": "Anahtar Boyutu", + "components.Settings.SettingsJobsCache.cachemisses": "Önbelleğin Kaçırma Yüzdesi", + "components.Settings.SettingsJobsCache.cachename": "Önbellek İsmi", + "components.Settings.SettingsJobsCache.canceljob": "İşlemi Durdur", + "components.Settings.SettingsJobsCache.command": "Komutlar", + "components.Settings.SettingsJobsCache.download-sync": "İndirilenleri Eşitle", + "components.Settings.SettingsJobsCache.download-sync-reset": "İndirilenler Eşitlemesini Sıfırla", + "components.Settings.SettingsJobsCache.editJobSchedule": "İşlemi Düzenle", + "components.Settings.SettingsJobsCache.editJobScheduleCurrent": "Mevcut Frekans", + "components.Settings.SettingsJobsCache.editJobSchedulePrompt": "Yeni Frekans", + "components.Settings.SettingsJobsCache.editJobScheduleSelectorMinutes": "Her {jobScheduleMinutes, plural, one {dakikada} other {{jobScheduleMinutes} minutes}}", + "components.Settings.SettingsJobsCache.editJobScheduleSelectorSeconds": "Her {jobScheduleSeconds, plural, one {saniyede} other {{jobScheduleSeconds} seconds}}", + "components.Settings.SettingsJobsCache.flushcache": "Önbelleği Temizle", + "components.Settings.SettingsJobsCache.image-cache-cleanup": "Resim Önbelleği Temizlemesi", + "components.Settings.SettingsJobsCache.imagecache": "Resim Önbelleği", + "components.Settings.SettingsJobsCache.imagecachecount": "Resimler Önbelleğe Alındı", + "components.Settings.SettingsJobsCache.imagecachesize": "Toplam Önbellek Boyutu", + "components.Settings.SettingsJobsCache.jellyfin-full-scan": "Tam Jellyfin Kütüphane Taraması", + "components.Settings.SettingsJobsCache.jellyfin-recently-added-scan": "Jellyfin En Son Eklenenler Taraması", + "components.Settings.SonarrModal.animerootfolder": "Anime Ana Dizini", + "components.Settings.SettingsJobsCache.jobScheduleEditSaved": "İşlem başarıyla düzenlendi!", + "components.Settings.SettingsJobsCache.jobcancelled": "{jobname} iptal edildi.", + "components.Settings.SettingsJobsCache.jobname": "İşlem İsmi", + "components.Settings.SettingsJobsCache.jobsandcache": "İşlemler & Önbellek", + "components.Settings.SettingsJobsCache.jobstarted": "{jobname} başladı.", + "components.Settings.SettingsJobsCache.jobtype": "İşlemin Türü", + "components.Settings.SettingsJobsCache.nextexecution": "Sonraki İşlem", + "components.Settings.SettingsJobsCache.plex-full-scan": "Tam Plex Kütüphane Taraması", + "components.Settings.SettingsJobsCache.plex-recently-added-scan": "Plex En Son Eklenenler Taraması", + "components.Settings.SettingsJobsCache.plex-watchlist-sync": "Plex İzleme Listesi Eşitle", + "components.Settings.SettingsJobsCache.process": "Süreç", + "components.Settings.SettingsJobsCache.radarr-scan": "Radarr Taraması", + "components.Settings.SettingsJobsCache.runnow": "Şimdi Başlat", + "components.Settings.SettingsJobsCache.sonarr-scan": "Sonarr Taraması", + "components.Settings.SettingsJobsCache.unknownJob": "Bilinmeyen İşlem", + "components.Settings.SettingsLogs.copiedLogMessage": "Loglar panoya kopyalandı.", + "components.Settings.SettingsLogs.copyToClipboard": "Panoya Kopyala", + "components.Settings.SettingsLogs.extraData": "İlave Veri", + "components.Settings.SettingsLogs.filterDebug": "Hata Ayıkla", + "components.Settings.SettingsLogs.filterError": "Hata", + "components.Settings.SettingsLogs.filterInfo": "Bilgilendirme", + "components.Settings.SettingsLogs.filterWarn": "Uyarı", + "components.Settings.SettingsLogs.label": "Etiket", + "components.Settings.SettingsLogs.level": "Önem Derecesi", + "components.Settings.SettingsLogs.logDetails": "Log Detayları", + "components.Settings.SettingsLogs.logs": "Loglar", + "components.Settings.SettingsLogs.message": "Mesaj", + "components.Settings.SettingsLogs.pauseLogs": "Durdur", + "components.Settings.SettingsLogs.resumeLogs": "Devam Ettir", + "components.Settings.SettingsLogs.showall": "Tüm Logları Göster", + "components.Settings.SettingsLogs.time": "Tarih Bilgisi", + "components.Settings.SettingsLogs.viewdetails": "Detayları Görüntüle", + "components.Settings.SettingsMain.apikey": "API Anahtarı", + "components.Settings.SettingsMain.applicationTitle": "Uygulama Başlığı", + "components.Settings.SettingsMain.applicationurl": "Uygulama URL'si", + "components.Settings.SettingsMain.cacheImages": "Resim Önbelleklemeyi Etkinleştir", + "components.Settings.SettingsMain.csrfProtection": "CSRF Korumasını Etkinleştir", + "components.Settings.SonarrModal.apiKey": "API Anahtarı", + "components.Settings.SettingsMain.csrfProtectionTip": "Dışa açık API erişim noktasını salt-okunur hale getirin (HTTPS gerektirir)", + "components.Settings.SettingsMain.general": "Genel", + "components.Settings.SettingsMain.generalsettings": "Genel Ayarlar", + "components.Settings.SettingsMain.hideAvailable": "Kullanılabilir İçerikleri Gizle", + "components.Settings.SettingsMain.locale": "Görüntüleme Dili", + "components.Settings.SettingsMain.originallanguage": "Keşfet Dili", + "components.Settings.SettingsMain.originallanguageTip": "İçerikleri orjinal dillerine göre filtrele", + "components.Settings.SettingsMain.partialRequestsEnabled": "Kısmi Dizi İsteklerini Kabul Et", + "components.Settings.SettingsMain.region": "Keşfet'in Bölgesi", + "components.Settings.SettingsMain.regionTip": "İçerikleri bölgesel erişilebilirliklerine göre filtrele", + "components.Settings.SettingsMain.toastApiKeyFailure": "Yeni API anahtarı denenirken beklenmedik bir hata oluştu.", + "components.Settings.SettingsMain.toastSettingsFailure": "Ayarlar kaydedilirken beklenmedik bir hata oluştu.", + "components.Settings.SettingsMain.toastSettingsSuccess": "Ayarlar başarıyla kaydedildi!", + "components.Settings.SettingsMain.trustProxy": "Proxy (Vekil Sunucu) Desteğini Etkinleştir", + "components.Settings.SettingsMain.validationApplicationTitle": "Bir uygulama başlığı girmelisiniz", + "components.Settings.SettingsMain.validationApplicationUrl": "Geçerli bir URL adresi girmelisiniz", + "components.Settings.SettingsMain.validationApplicationUrlTrailingSlash": "URL'nizin sonunda slash (eğik çizgi) olmamalıdır", + "components.Settings.SettingsUsers.defaultPermissions": "Öntanımlı İzinler", + "components.Settings.SettingsUsers.defaultPermissionsTip": "Yeni kayıt yapmış kullanıcılara verilen izinler", + "components.Settings.SettingsUsers.localLogin": "Local (Yerel) Oturum Açmayı Etkinleştir", + "components.Settings.SettingsUsers.movieRequestLimitLabel": "Genel Film İsteme Sınırı", + "components.Settings.SettingsUsers.newPlexLogin": "{mediaServerName}'den Kayıtsız Oturum Açmayı Etkinleştir", + "components.Settings.SettingsUsers.newPlexLoginTip": "{mediaServerName} kullanıcılarının içe aktarılmadan oturum açmalarına izin ver", + "components.Settings.SettingsUsers.toastSettingsFailure": "Ayarlar kaydedilirken beklenmedik bir hata oluştu.", + "components.Settings.SettingsUsers.toastSettingsSuccess": "Kullanıcı ayarları başarıyla kaydedildi!", + "components.Settings.SettingsUsers.tvRequestLimitLabel": "Genel Dizi İsteme Sınırı", + "components.Settings.SettingsUsers.userSettings": "Kullanıcı Ayarları", + "components.Settings.SettingsUsers.users": "Kullanıcılar", + "components.Settings.SonarrModal.add": "Sunucu Ekle", + "components.Settings.SonarrModal.animeSeriesType": "Anime Dizisi Türü", + "components.Settings.SonarrModal.animeTags": "Anime Etiketleri", + "components.Settings.SonarrModal.animelanguageprofile": "Anime Dil Seçenekleri", + "components.Settings.SonarrModal.animequalityprofile": "Anime Kalite Seçenekleri", + "components.Settings.SonarrModal.create4ksonarr": "Yeni 4K Sonarr Sunucusu Ekle", + "components.Settings.SonarrModal.createsonarr": "Yeni Sonarr Sunucusu Ekle", + "components.Settings.SonarrModal.default4kserver": "Varsayılan 4K Sunucu", + "components.Settings.SonarrModal.defaultserver": "Varsayılan Sunucu", + "components.Settings.SonarrModal.edit4ksonarr": "4K Sonarr Sunucusunu Düzenle", + "components.Settings.SonarrModal.enableSearch": "Otomatik Aramayı Etkinleştir", + "components.Settings.SonarrModal.externalUrl": "Harici URL", + "components.Settings.SonarrModal.hostname": "Domain ya da IP Adresi", + "components.Settings.SonarrModal.languageprofile": "Dil Seçeneği", + "components.Settings.SonarrModal.loadingTags": "Etiketler yükleniyor…", + "components.Settings.SonarrModal.loadingprofiles": "Kalite seçenekleri yükleniyor…", + "components.Settings.SonarrModal.loadingrootfolders": "Ana klasör yükleniyor…", + "components.Settings.SonarrModal.notagoptions": "Etiket yok.", + "components.Settings.SonarrModal.port": "Port", + "components.Settings.SonarrModal.qualityprofile": "Kalite Seçeneği", + "components.Settings.SonarrModal.rootfolder": "Ana Klasör", + "components.Settings.SonarrModal.seasonfolders": "Sezon Klasörleri", + "components.Settings.SonarrModal.selectLanguageProfile": "Dil seçeneğini seç", + "components.Settings.SonarrModal.selectQualityProfile": "Kaliteyi seç", + "components.Settings.SonarrModal.selectRootFolder": "Ana klasörü seç", + "components.Settings.SonarrModal.selecttags": "Etiketleri seç", + "components.Settings.SonarrModal.seriesType": "Dizinin Türü", + "components.Settings.SonarrModal.server4k": "4K Sunucu", + "components.Settings.SonarrModal.ssl": "SSL Kullan", + "components.Settings.SonarrModal.syncEnabled": "Taramayı Etkinleştir", + "components.Settings.SonarrModal.tagRequests": "Etiket İstekleri", + "components.Settings.SonarrModal.tags": "Etiketler", + "components.Settings.SonarrModal.testFirstLanguageProfiles": "Dil seçeneklerini görmek için bağlantıyı test et", + "components.Settings.SonarrModal.testFirstQualityProfiles": "Kalite seçeneklerini görmek için bağlantıyı test et", + "components.Settings.SonarrModal.testFirstRootFolders": "Ana klasörleri yüklemek için bağlantıyı test et", + "components.Settings.SonarrModal.testFirstTags": "Etiketleri yüklemek için bağlantıyı test et", + "components.Settings.SonarrModal.toastSonarrTestFailure": "Sonarr'a bağlanılamadı.", + "components.Settings.SonarrModal.validationApiKeyRequired": "Bir API anahtarı girmelisiniz", + "components.Settings.SonarrModal.validationApplicationUrl": "Geçerli bir URL adresi girmelisiniz", + "components.Settings.SonarrModal.validationApplicationUrlTrailingSlash": "URL'nizin sonunda slash (eğik çizgi) olmamalıdır", + "components.Settings.SonarrModal.validationBaseUrlLeadingSlash": "Temel URL'nizin başında slash (eğik çizgi) olmalıdır", + "components.Settings.SonarrModal.validationHostnameRequired": "Geçerli bir sunucu adresi girmelisin", + "components.Settings.SonarrModal.validationLanguageProfileRequired": "Bir dil seçeneği seçmelisin", + "components.Settings.SonarrModal.validationPortRequired": "Geçerli bir port numarası girmelisin", + "components.Settings.SonarrModal.validationProfileRequired": "Bir kalite seçeneği girmelisin", + "components.Settings.SonarrModal.validationRootFolderRequired": "Bir ana klasör seçmelisin", + "components.Settings.activeProfile": "Etkin Profil", + "components.Settings.addradarr": "Radarr Sunucusu Ekle", + "components.Settings.address": "Adres", + "components.Settings.addsonarr": "Sonarr Sunucusu Ekle", + "components.Settings.cancelscan": "Taramayı İptal Et", + "components.Settings.copied": "API Anahtarı panoya kopyalandı.", + "components.Settings.currentlibrary": "Mevcut Kütüphane: {name}", + "components.Settings.default": "Öntanımlı", + "components.Settings.default4k": "Öntanımlı 4K", + "components.Settings.deleteServer": "{serverType} Sunucusunu Sil", + "components.Settings.deleteserverconfirm": "Bu sunucuyu silmek istediğinize emin misiniz?", + "components.Settings.email": "E-mail", + "components.Settings.enablessl": "SSL Kullan", + "components.Settings.externalUrl": "Harici URL", + "components.Settings.hostname": "Domain ya da IP Adresi", + "components.Settings.internalUrl": "Dahili URL", + "components.Settings.is4k": "4K", + "components.Settings.jellyfinSettings": "{mediaServerName} Ayarları", + "components.Settings.jellyfinSettingsFailure": "{mediaServerName} ayarları kaydedilirken beklenmedik bir hata oluştu.", + "components.Settings.jellyfinSettingsSuccess": "{mediaServerName} ayarları başarıyla kaydedildi!", + "components.Settings.jellyfinlibraries": "{mediaServerName} Kütüphaneleri", + "components.Settings.jellyfinlibrariesDescription": "{mediaServerName} içerikleri için tarama yapacaktır. Eğer ki aşağıda hiç bir kütüphane listelenmediyse bu butona tıklayın.", + "components.Settings.jellyfinsettings": "{mediaServerName} Ayarları", + "components.Settings.jellyfinsettingsDescription": "{mediaServerName} sunucunuz için ayarları düzenleyin. {mediaServerName} sunucunuzun kütüphaneleri içlerinde ki içerikleri tespiti için taranacaktır.", + "components.Settings.librariesRemaining": "Kalan Kütüphaneler: {count}", + "components.Settings.manualscan": "Elle Kütüphaneleri Tara", + "components.Settings.manualscanDescriptionJellyfin": "Normalde rutin olarak bu işlem 24 saatte bir yapılır. Jellyseerr {mediaServerName} sunucunuzun en son eklenenlerini sıklıkla kontrol eder. Eğer ki bu Jellyseerr'ı ilk defa düzenleyişiniz ise tek seferlik elle kütüphane taraması yapmanız önerilir!", + "components.Settings.mediaTypeMovie": "film", + "components.Settings.menuAbout": "Hakkında", + "components.Settings.menuGeneralSettings": "Genel", + "components.Settings.menuJellyfinSettings": "{mediaServerName}", + "components.Settings.menuLogs": "Loglar", + "components.Settings.menuNotifications": "Bildirimler", + "components.Settings.menuPlexSettings": "Plex", + "components.Settings.menuServices": "Servisler", + "components.Settings.menuUsers": "Kullanıcılar", + "components.Settings.mediaTypeSeries": "dizi", + "components.Settings.noDefaultServer": "İsteğin işlenebilmesi için en azından bir {serverType} sunucusunun {mediaType} içerikleri iöin öntanımlı olarak işaretlenmesi gerekmektedir.", + "components.Settings.notificationAgentSettingsDescription": "Bildirim köprülerini düzenle ve etkinleştir.", + "components.Settings.notifications": "Bildirimler", + "components.Settings.notificationsettings": "Bildirim Ayarları", + "components.Settings.notrunning": "Çalışmıyor", + "components.Settings.plex": "Plex", + "components.Settings.plexlibraries": "Plex Kütüphaneleri", + "components.Settings.plexlibrariesDescription": "Overseerr kütüphanelerin içeriklerini tarar. Plex bağlantı ayarlarını kurun ve kaydedin, ardından eğer ki hiç bir kütüphane listelenmemişse aşağıda ki butona basın.", + "components.Settings.plexsettings": "Plex Ayarları", + "components.Settings.port": "Port", + "components.Settings.radarrsettings": "Radarr Ayarları", + "components.Settings.restartrequiredTooltip": "Bu kaydedilen ayarların etkin olması iöin Overseerr yendien başlatılmalıdır", + "components.Settings.save": "Değişiklikleri Kaydet", + "components.Settings.saving": "Kaydediliyor…", + "components.Settings.scan": "Kütüphaneleri Eşitle", + "components.Settings.scanning": "Eşitleniyor…", + "components.Settings.serverLocal": "local (yerel)", + "components.Settings.serverRemote": "remote (uzak)", + "components.Settings.serverSecure": "güvenli", + "components.Settings.serverpreset": "Sunucu", + "components.Settings.serverpresetLoad": "Kullanılabilir suncuuları yüklemek için butona bas", + "components.Settings.serverpresetManualMessage": "Özel ayarlamalar", + "components.Settings.serverpresetRefreshing": "Sunucular getiriliyor…", + "components.Settings.Notifications.NotificationsSlack.slacksettingssaved": "Slack bildirim ayarları kaydedildi!", + "components.Settings.Notifications.authUser": "SMPT Kullanıcı Adı", + "components.Settings.Notifications.pgpPasswordTip": "OpenPGP kullanarak e-mailleri imzala ve şifrele", + "components.Settings.Notifications.toastDiscordTestFailed": "Discord test bildirimi gönderilemedi.", + "components.Settings.RadarrModal.selectMinimumAvailability": "Asgari erişilebilirlik ayarını seç", + "components.Settings.RadarrModal.validationHostnameRequired": "Geçerli bir sunucu adresi girmelisin", + "components.Settings.SettingsAbout.betawarning": "Bu bir BETA yazılımdır. Özellikler hatalı ya da dengesiz olabilir. Bir sorunla karşılaşırsanız lütfen GitHub'dan bildirin!", + "components.Settings.SettingsMain.cacheImagesTip": "Dış kaynaklardan alınan resimleri önbelleğe al (depolama kullanımını arttıracaktır)", + "components.Settings.Notifications.NotificationsSlack.webhookUrlTip": "Bir Webhook entegrasyonu oluştur", + "components.Settings.Notifications.discordsettingssaved": "Discord bildirim ayarları kaydedildi!", + "components.Settings.Notifications.encryptionOpportunisticTls": "Her daim STARTTLS kullan", + "components.Settings.Notifications.toastDiscordTestSending": "Discord deneme bildirimi gönderiliyor…", + "components.Settings.Notifications.webhookUrlTip": "Sunucunuz için bir Webhook entegrasyonu oluştur", + "components.Settings.SettingsAbout.outofdate": "Eski Sürüm", + "components.Settings.SettingsAbout.runningDevelop": "Overseerr'ın geliştirici çatalını kullanıyorsunuz, bu sürüm geliştirmeye yardımcı olmak isteyenler ya da stabil olmayan özellikleri test etmek isteyenler içindir.", + "components.Settings.SettingsJobsCache.cachevsize": "Önbelleğin Büyüklüğü", + "components.Settings.SettingsJobsCache.imagecacheDescription": "Eğer ki ayarlardan etkinleştirilirse Overseer resimleri önceden belirli dış kaynaklardan çekip önbelleğe alır. Önbelleğe alınmış resimler ayarlanmış klasöre kaydedilir. Bu dosyalara {appDataPath}/cache/images lokasyonundan erişebilirsiniz.", + "components.Settings.SettingsUsers.userSettingsDescription": "Evrensel ve varsayılan kullanıcı ayarlarını düzenle.", + "components.Settings.SonarrModal.editsonarr": "Sonarr Sunucusunu Düzenle", + "components.Settings.SonarrModal.tagRequestsInfo": "Otomatik olarak isteyenin kullanıcı adını ek etiketlere ekle", + "components.Settings.SonarrModal.toastSonarrTestSuccess": "Sonarr'a başarıyla bağlanıldı!", + "components.Settings.experimentalTooltip": "Bu ayarı etkinleştirmek uygulamanın beklenmedik davranışlarda bulunmasına sebep olabilir", + "components.Settings.noDefaultNon4kServer": "Eğer ki hem 4K hem de 4K-olmayan içerikler için tek tip bir {serverType} sunucusu kullanıyorsan (ya da sadece 4K içerikleri indiriyorsan) {serverType} sunucunu KESİNLİKLE 4K olarak ayarlamaman gerekmektedir.", + "components.Settings.Notifications.NotificationsWebPush.webpushsettingsfailed": "Web bildirim ayarları kaydedilemedi.", + "components.Settings.Notifications.validationBotAPIRequired": "Bir bot yetkilendirme token'i sağlamalısın", + "components.Settings.RadarrModal.loadingprofiles": "Kalite seçenekleri yükleniyor…", + "components.Settings.RadarrModal.tagRequestsInfo": "Otomatik olarak isteyenin kullanıcı adını ek etiketlere ekle", + "components.Settings.RadarrModal.validationApiKeyRequired": "Bir API anahtarı girmelisiniz", + "components.Settings.SettingsAbout.Releases.releasedataMissing": "Çıkışıyla ilgili veri henüz mevcut değildir.", + "components.Settings.SettingsAbout.overseerrinformation": "Overseerr Hakkında", + "components.Settings.SettingsJobsCache.editJobScheduleSelectorHours": "Her {jobScheduleHours, plural, one {saatte} other {{jobScheduleHours} hours}}", + "components.Settings.SettingsJobsCache.jobScheduleEditFailed": "İşlem kaydedilirken beklenmedik bir hata oluştu.", + "components.Settings.SettingsJobsCache.jobs": "İşlemler", + "components.Settings.SettingsMain.generalsettingsDescription": "Overseerr'ın evrensel ve varsayılan ayarlarını düzenleyin.", + "components.Settings.SonarrModal.validationNameRequired": "Bir sunucu ismi girmelisin", + "components.Settings.jellyfinSettingsDescription": "İsterseniz {mediaServerName} sunucunuzun dahili ve harici URL'lerini düzenleyebilirsiniz. Genellikle harici URL dahili olan URL'den farklıdır. Özel bir şifre sıfırlama URL'sini de buraya girebilirsiniz, eğer ki {mediaServerName} kullandığınız farklı bir oturum açma yöneticisi varsa bu faydalı olabilir.", + "components.Settings.noDefault4kServer": "Kullanıcıların 4K {mediaType} istekleri yapabilmesi için 4K {serverType} sunucusu öntanımlı olarak işaretlenmelidir.", + "components.Settings.plexsettingsDescription": "Plex sunucunuzun ayarlarını düzenleyin. Overseerr Plex sunucunuzun kütüphanelerini izlenebilir içerikler için tarar.", + "components.Settings.Notifications.NotificationsWebhook.validationWebhookUrl": "Geçerli bir URL girmelisiniz", + "components.Settings.Notifications.botUsernameTip": "Kullanıcıların botunuzla yazışabilmesine ve kendi bildirim ayarlarını düzenlemelerine izin verin", + "components.Settings.Notifications.validationSmtpHostRequired": "Geçerli bir sunucu adresi girmelisin", + "components.Settings.SettingsUsers.localLoginTip": "{mediaServerName} sunucusunun OAuth oturum yöneticisiyle oturum açmak yerine e-mail ve şifreyle oturum açmayı kabul et", + "components.Settings.advancedTooltip": "Bu ayarı yanlış bir şekilde düzenlemek uygulamanın işlevselliğini bozabilir", + "components.Settings.Notifications.NotificationsPushover.toastPushoverTestSending": "Pushover deneme bildirimi gönderiliyor…", + "components.Settings.Notifications.NotificationsPushover.userTokenTip": "30 karakterlik kullanıcı ya da grup kimliği", + "components.Settings.Notifications.NotificationsWebhook.toastWebhookTestFailed": "Webhook deneme bildirimi gönderilemedi.", + "components.Settings.Notifications.toastEmailTestSending": "E-mail deneme bildirimi gönderiliyor…", + "components.Settings.SettingsMain.toastApiKeySuccess": "Yeni API anahtarı başarıyla oluşturuldu!", + "components.Settings.SettingsJobsCache.jobsDescription": "Overseer bazı gerekli bakım işlemlerini genel ayarlı işlemler çerçevesinde otomatik olarak tamamlar, ancak bu işlemleri elle de başlatabilirsiniz. Elle bir işlem başlatmanız diğer süreçleri bozmayacaktır.", + "components.Settings.SettingsLogs.logsDescription": "Logları ayrıca direkt olarakstdout'dan ya da {appDataPath}/logs/overseerr.log dosyasına bakarak görebilirsiniz.", + "components.Settings.SettingsMain.csrfProtectionHoverTip": "Eğer ki ne yaptığınızı bilmiyorsanız bu ayarı ETKİNLEŞTİRMEYİNİZ!", + "components.Settings.SettingsMain.trustProxyTip": "Overseerr bir proxy'nin arkasındayken IP adreslerini kadyetmesine izin ver", + "components.Settings.SonarrModal.baseUrl": "Temel URL Adresi", + "components.Settings.SonarrModal.loadinglanguageprofiles": "Dil seçenekleri yükleniyor…", + "components.Settings.SonarrModal.servername": "Sunucu İsmi", + "components.Settings.SonarrModal.validationBaseUrlTrailingSlash": "Temel URL slash (eğik çizgi) ile bitmemelidir", + "components.Settings.manualscanDescription": "Normalde rutin olarak bu işlem 24 saatte bir yapılır. Overseer Plex sunucunuzun en son eklenenlerini sıklıkla kontrol eder. Eğer ki bu Plex sunucunuzu ilk defa düzenleyişiniz ise tek seferlik elle kütüphane taraması yapmanız önerilir!", + "components.Settings.manualscanJellyfin": "Elle Kütüphaneleri Tara", + "components.Settings.menuJobs": "İşlemler & Önbellek", + "components.Settings.serviceSettingsDescription": "{serverType} sunucu(lar)ınızı aşağıdan düzenleyin. Birden fazla {serverType} sunucusuna bağlanabilirsiniz, ancak sadece iki tanesi varsayılan olarak tanımlanabilir (bir adet 4K-dışı ve bir adet 4K). Yöneticiler sunucuları her daim mutlak bir biçimde yönetebilirler.", + "components.Settings.services": "Servisler", + "components.Settings.settingUpPlexDescription": "Plex'İ kurmak için gerekli yerleri elle doldurabilir ya da plex.tv'den alınmış bir sunucu seöebilirsiniz. Açılır menünün sağında ki tuşa basarak kullanılabilir sunucuların listesini çekebilirsiniz.", + "components.Settings.ssl": "SSL", + "components.Settings.startscan": "Taramaya Başla", + "components.Settings.syncJellyfin": "Kütüphaneleri Eşitle", + "components.Settings.tautulliApiKey": "API Anahtarı", + "components.Settings.tautulliSettings": "Tautulli Ayarları", + "components.Settings.timeout": "Zaman Aşımı", + "components.Settings.toastPlexConnecting": "Plex'e yeniden bağlanılıyor…", + "components.Settings.toastPlexConnectingFailure": "Plex'e bağlanılamadı.", + "components.Settings.toastPlexConnectingSuccess": "Plex'e başarıyla bağlanıldı!", + "components.Settings.toastPlexRefresh": "Plex'den sunucu listesi alınıyor…", + "components.Settings.toastPlexRefreshFailure": "Plex'ten sunucu listesi alınamadı.", + "components.Settings.toastPlexRefreshSuccess": "Plex'ten sunucu listesi başarıyla alınıldı!", + "components.Settings.toastTautulliSettingsFailure": "Tautulli ayarlarınızı kaydederken beklenmedik bir hatayla karşılaşıldı.", + "components.Settings.toastTautulliSettingsSuccess": "Tautulli ayarları başarıyla kaydedildi!", + "components.Settings.urlBase": "Temel URL Adresi", + "components.Settings.validationHostnameRequired": "Geçerli bir sunucu adresi girmelisin", + "components.Settings.validationPortRequired": "Geçerli bir port numarası girmelisin", + "components.Settings.validationUrl": "Geçerli bir URL adresi girmelisiniz", + "components.Settings.validationUrlBaseTrailingSlash": "Temel URL slash (eğik çizgi) ile bitmemelidir", + "components.Settings.validationUrlTrailingSlash": "URL'nizin sonunda slash (eğik çizgi) olmamalıdır", + "components.Settings.webAppUrl": "Web Uygulaması Linki", + "components.Settings.webhook": "Webhook", + "components.Settings.webpush": "Web Bildirimi", + "components.Setup.configuremediaserver": "Medya Sunucusunu Düzenleyin", + "components.Setup.configureservices": "Servisleri Düzenleyin", + "components.Setup.continue": "Devam Et", + "components.Setup.finish": "Kurulumu Bitir", + "components.Setup.finishing": "Son Adımlar…", + "components.Setup.scanbackground": "Tarama arkaplanda çalışacaktır, bu süre zarfında kuruluma devam edebilirsiniz.", + "components.Setup.setup": "Kurulum", + "components.Setup.signin": "Oturum Aç", + "components.Setup.signinMessage": "Oturum açarak devam edin", + "components.Setup.signinWithPlex": "Plex hesabınızı kullanın", + "components.Setup.tip": "İpuçları", + "components.Setup.welcome": "Jellyseer'a Hoşgeldiniz", + "components.StatusBadge.managemedia": "{mediaType} içeriğini yönet", + "components.StatusBadge.openinarr": "{arr}'da Aç", + "components.StatusBadge.seasonepisodenumber": "S{seasonNumber}B{episodeNumber}", + "components.StatusBadge.status": "{status}", + "components.StatusBadge.status4k": "4K {status}", + "components.StatusChecker.appUpdated": "{applicationTitle} Güncellendi", + "components.StatusChecker.reloadApp": "{applicationTitle}'ı Yenile", + "components.StatusChecker.restartRequired": "Sunucuyu Yeniden Başlatmalısınız", + "components.StatusChecker.restartRequiredDescription": "Güncellenen ayarların etkinleşmesi için sunucuyu yeniden başlatın.", + "components.TitleCard.addToWatchList": "İzleme listesine ekle", + "components.TitleCard.cleardata": "Veriyi Temizle", + "components.TitleCard.mediaerror": "{mediaType} Bulunamadı", + "components.TitleCard.tmdbid": "TMDB ID'si", + "components.TitleCard.watchlistCancel": "{title} için olan izleme listesi iptal edildi.", + "components.TitleCard.watchlistError": "Bir şeyler ters gitti, lütfen tekrar deneyiniz.", + "components.TitleCard.watchlistSuccess": "{title} izleme listesine başarıyla eklendi!", + "components.TvDetails.Season.noepisodes": "Bölüm listesi mevcut değil.", + "components.TvDetails.Season.somethingwentwrong": "Sezon verisi alınırken bir şeyler ters gitti.", + "components.TvDetails.TvCast.fullseriescast": "Tüm Dizinin Kadrosu", + "components.TvDetails.TvCrew.fullseriescrew": "Tüm Dizinin Ekibi", + "components.TvDetails.anime": "Anime", + "components.TvDetails.cast": "Kadro", + "components.TvDetails.episodeRuntime": "Bölümün Süresi", + "components.TvDetails.episodeRuntimeMinutes": "{runtime} dakika", + "components.TvDetails.firstAirDate": "İlk Yayın Tarihi", + "components.TvDetails.manageseries": "Diziyi Düzenle", + "components.TvDetails.nextAirDate": "Sonraki Çıkış tarihi", + "components.TvDetails.originallanguage": "Orjinal Dili", + "components.TvDetails.originaltitle": "Ana Dilindeki Başlık", + "components.TvDetails.overview": "Özet", + "components.TvDetails.play": "{mediaServerName} ile Oynat", + "components.TvDetails.play4k": "İçeriği {mediaServerName} içinde 4K'da oynat", + "components.TvDetails.recommendations": "Önerilenler", + "components.TvDetails.reportissue": "Bir Sorun Bildir", + "components.TvDetails.rtaudiencescore": "Rotten Tomatoes İzleyici Puanı", + "components.TvDetails.rtcriticsscore": "Rotten Tomatoes Tomatometer", + "components.TvDetails.seasonnumber": "Sezon {seasonNumber}", + "components.TvDetails.network": "{networkCount} TV Ağı", + "components.TvDetails.seasons": "{seasonCount} # Sezon", + "components.TvDetails.tmdbuserscore": "TMBD Kullanıcı Skoru", + "components.TvDetails.viewfullcrew": "Tüm Ekibi Gör", + "components.TvDetails.watchtrailer": "Fragmanı İzle", + "components.UserList.accounttype": "Türü", + "components.UserList.admin": "Yönetici", + "components.UserList.autogeneratepassword": "Rastgele Bir Parola Oluştur", + "components.UserList.bulkedit": "Toplu Düzenle", + "components.UserList.create": "Oluştur", + "components.UserList.created": "Katıldı", + "components.UserList.createlocaluser": "Yerel Bir Kullanıcı Oluştur", + "components.UserList.creating": "Oluşturuluyor…", + "components.UserList.deleteuser": "Kullanıcıyı Sil", + "components.UserList.displayName": "Görünen İsmi", + "components.UserList.edituser": "Kullanıcının İzinlerini Düzenle", + "components.UserList.email": "E-mail Adresi", + "components.UserList.importedfromJellyfin": "{userCount} {mediaServerName} kullanıcısı başarıyla içeri aktarıldı!", + "components.UserList.importedfromplex": "{userCount} Plex kullanıcısı başarıyla içeri aktarıldı!", + "components.UserList.importfromJellyfin": "{mediaServerName} Kullanıcılarını İçeri Aktar", + "components.UserList.importfrommediaserver": "{mediaServerName} Kullanıcılarını İçeri Aktar", + "components.UserList.importfromplex": "Plex Kullanıcılarını İçeri Aktar", + "components.UserList.importfromplexerror": "Plex kullanıcıları içeri aktarılırken bir şeyler ters gitti.", + "components.UserList.localLoginDisabled": "Yerel Oturum Açma seçeneği şu anda etin değil.", + "components.UserList.localuser": "Yerel Kullanıcı", + "components.UserList.mediaServerUser": "{mediaServerName} Kullanıcısı", + "components.TitleCard.watchlistDeleted": "{title} İzleme listenizden başarıyla çıkarıldı!", + "components.Settings.sonarrsettings": "Sonarr Ayarları", + "components.Settings.syncing": "Eşitleniyor", + "components.Settings.tautulliSettingsDescription": "Tautulli sunucunuz için opsiyonel ayarları düzenleyin. Overseer Plex'te ki izleme geçmişinizi Tautulli'den çeker.", + "components.Settings.validationApiKey": "Bir API anahtarı girmelisiniz", + "components.Settings.validationUrlBaseLeadingSlash": "URL'nizin başında slash (eğik çizgi) olmalıdır", + "components.Settings.webAppUrlTip": "Opsiyonel bazlı olarak, kullanıcıları \"hostlanan\" web uygulaması yerine kendi sunucunuzda ki uygulamaya yönlendirin", + "components.Setup.signinWithJellyfin": "{mediaServerName} hesabınızı kullanın", + "components.StatusBadge.playonplex": "{mediaServerName} ile Oynat", + "components.StatusChecker.appUpdatedDescription": "Lütfen aşağıda ki butona tıklayarak uygulamayı yenileyin.", + "components.TitleCard.tvdbid": "TheTVDB ID'si", + "components.TvDetails.similar": "Benzer Diziler", + "components.TvDetails.overviewunavailable": "Özet mevcut değil.", + "components.TvDetails.seasonstitle": "Sezonlar", + "components.UserList.autogeneratepasswordTip": "Kullanıcıya otomatik oluşturulmuş parolayı e-mail olarak gönder", + "components.TvDetails.episodeCount": "{episodeCount} # Bölüm", + "components.UserList.importfromJellyfinerror": "{mediaServerName} kullanıcıları içeri aktarılırken bir şeyler ters gitti.", + "components.TvDetails.showtype": "Dizinin Türü", + "components.TvDetails.productioncountries": "Yapımcı {plural, one {Ülke} other {Ülkeler}}", + "components.TvDetails.status4k": "4K {status}", + "components.UserList.deleteconfirm": "Bu kullanıcıyı silmek istediğinizden emin misiniz? Tüm istek verisi temelli olarak silinecektir.", + "components.TvDetails.streamingproviders": "İçertiğin Erişilebilir Olduğu Platformlar", + "components.UserList.newplexsigninenabled": "Yeni Plex Kullanıcılarının Oturum Açmasına İzin Ver ayarı etkin durumdadır. Plex kullanıcılarından kütüphane erişimine sahip olanlarının oturum açabilmesi için içeri aktarılması gerekmez.", + "components.UserList.newJellyfinsigninenabled": "Yeni {mediaServerName} Kullanıcılarının Oturum Açmasına İzin Ver ayarı etkin durumdadır. {mediaServerName} kullanıcılarından kütüphane erişimine sahip olanlarının oturum açabilmesi için içeri aktarılması gerekmez.", + "components.UserList.noJellyfinuserstoimport": "İçeri aktarılacak {mediaServerName} kullanıcısı mevcut değil.", + "components.UserList.nouserstoimport": "İçeri aktarılacak Plex kullanıcısı mevcut değil.", + "components.UserList.owner": "Sahip", + "components.UserList.password": "Şifre", + "components.UserList.passwordinfodescription": "Bir uygulama URL'si ayarlayın ve otomatik şifre oluşturulabilmesi için e-mail bildirimlerini aktif edin.", + "components.UserList.plexuser": "Plex Kullanıcısı", + "components.UserList.role": "Rolü", + "components.UserList.sortCreated": "Katılım Tarihi", + "components.UserList.sortDisplayName": "Görünen İsmi", + "components.UserList.sortRequests": "İstek Sayısı", + "components.UserList.totalrequests": "İstekleri", + "components.UserList.user": "Kullanıcı", + "components.UserList.usercreatedsuccess": "Kullanıcı başarıyla oluşturuldu!", + "components.UserList.userdeleted": "Kullanıcı başarıyla silindi!", + "components.UserList.userdeleteerror": "Kullanıcıyı silerken bir şeyler ters gitti.", + "components.UserList.userfail": "Kullanıcının izinleri kaydedilirken bir şeyler ters gitti.", + "components.UserList.userlist": "Kullanıcı Listesi", + "components.UserList.users": "Kullanıcılar", + "components.UserList.userssaved": "Kullanıcının izni başarıyla kaydedildi!", + "components.UserList.validationpasswordminchars": "Girdiğiniz şifre çok kısa, en az 8 karakterden oluşmalıdır", + "components.UserProfile.ProfileHeader.joindate": "{joindate} tarihinde katıldı", + "components.UserProfile.ProfileHeader.profile": "Profili Görüntüle", + "components.UserProfile.ProfileHeader.settings": "Ayarları Düzenle", + "components.UserProfile.ProfileHeader.userid": "Kullanıcı ID'si: {userid}", + "components.UserProfile.UserSettings.UserGeneralSettings.accounttype": "Hesabın Türü", + "components.UserProfile.UserSettings.UserGeneralSettings.admin": "Yönetici", + "components.UserProfile.UserSettings.UserGeneralSettings.discordId": "Discord Kullanıcı ID'si", + "components.UserProfile.UserSettings.UserGeneralSettings.displayName": "Görünen İsmi", + "components.UserProfile.UserSettings.UserGeneralSettings.email": "E-mail", + "components.UserProfile.UserSettings.UserGeneralSettings.enableOverride": "Genel Limiti Geçersiz Kıl", + "components.UserProfile.UserSettings.UserGeneralSettings.general": "Genel", + "components.UserProfile.UserSettings.UserGeneralSettings.generalsettings": "Genel Ayarlar", + "components.UserProfile.UserSettings.UserGeneralSettings.languageDefault": "Varsayılan ({language})", + "components.UserProfile.UserSettings.UserGeneralSettings.localuser": "Yerel Kullanıcı", + "components.UserProfile.UserSettings.UserGeneralSettings.mediaServerUser": "{mediaServerName} Kullanıcısı", + "components.UserProfile.UserSettings.UserGeneralSettings.movierequestlimit": "Film İsteme Limiti", + "components.UserProfile.UserSettings.UserGeneralSettings.originallanguage": "Keşfet Dili", + "components.UserProfile.UserSettings.UserGeneralSettings.originallanguageTip": "İçerikleri orjinal dillerine göre filtrele", + "components.UserProfile.UserSettings.UserGeneralSettings.owner": "Sahip", + "components.UserProfile.UserSettings.UserGeneralSettings.plexuser": "Plex Kullanıcısı", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmovies": "Filmleri Otomatize İstet", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseries": "Dizileri Otomatize İstet", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseriestip": "Plex İzleme Listenizde'ki dizileri otomatik olarak istet", + "components.UserProfile.UserSettings.UserGeneralSettings.region": "Keşfet'in Bölgesi", + "components.UserProfile.UserSettings.UserGeneralSettings.regionTip": "İçerikleri bölgesel erişilebilirliklerine göre filtrele", + "components.UserProfile.UserSettings.UserGeneralSettings.save": "Değişiklikleri Kaydet", + "components.UserProfile.UserSettings.UserGeneralSettings.seriesrequestlimit": "Dizi İsteme Limiti", + "components.UserProfile.UserSettings.UserGeneralSettings.toastSettingsFailure": "Ayarlar kaydedilirken beklenmedik bir hata oluştu.", + "components.UserProfile.UserSettings.UserGeneralSettings.toastSettingsSuccess": "Ayarlar başarıyla kaydedildi!", + "components.UserProfile.UserSettings.UserGeneralSettings.user": "Kullanıcı", + "components.UserProfile.UserSettings.UserNotificationSettings.deviceDefault": "Cihaz Varsayılanı", + "components.UserProfile.UserSettings.UserNotificationSettings.discordId": "Kullanıcı ID'si", + "components.UserProfile.UserSettings.UserNotificationSettings.discordsettingsfailed": "Discord bildirim ayarları kaydedilemedi.", + "components.UserProfile.UserSettings.UserNotificationSettings.discordsettingssaved": "Discord bildirim ayarları kaydedildi!", + "components.UserProfile.UserSettings.UserNotificationSettings.email": "E-mail", + "components.UserProfile.UserSettings.UserNotificationSettings.emailsettingsfailed": "E-mail bildirim ayarları kaydedilemedi.", + "components.UserProfile.UserSettings.UserNotificationSettings.emailsettingssaved": "E-mail bildirim ayarları kaydedildi!", + "components.UserProfile.UserSettings.UserNotificationSettings.notifications": "Bildirimler", + "components.UserProfile.UserSettings.UserNotificationSettings.notificationsettings": "Bildirim Ayarları", + "components.UserProfile.UserSettings.UserNotificationSettings.pgpPublicKey": "Açık (Public) PGP Anahtarı", + "components.UserProfile.UserSettings.UserNotificationSettings.pgpPublicKeyTip": "E-mail mesajlarını OpenPGP kullanarak şifrele", + "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletAccessToken": "Erişim Token'i", + "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletAccessTokenTip": "Hesap Ayarlarınızdan bir token oluşturun", + "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletsettingsfailed": "Pushbullet bildirim ayarları kaydedilemedi.", + "components.UserProfile.UserSettings.UserNotificationSettings.pushoverApplicationToken": "Uygulama API'sinin Token'i", + "components.UserProfile.UserSettings.UserNotificationSettings.pushoverApplicationTokenTip": "{applicationTitle} ile kullanabilmeniz için bir uygulama oluşturun", + "components.UserProfile.UserSettings.UserNotificationSettings.pushoverUserKey": "Kullanıcı ya da Grup Kimliği", + "components.UserProfile.UserSettings.UserNotificationSettings.pushoversettingsfailed": "Pushover bildirim ayarları kaydedilemedi.", + "components.UserProfile.UserSettings.UserNotificationSettings.pushoversettingssaved": "Pushover bildirim ayarları kaydedildi!", + "components.UserProfile.UserSettings.UserNotificationSettings.sendSilently": "Sessizce Gönder", + "components.UserProfile.UserSettings.UserNotificationSettings.sendSilentlyDescription": "Ses olmadan bildirim gönder", + "components.UserProfile.UserSettings.UserNotificationSettings.sound": "Bildirim Sesi", + "components.UserProfile.UserSettings.UserNotificationSettings.telegramChatId": "Sohbet ID'si", + "components.UserProfile.UserSettings.menuNotifications": "Bildirimler", + "components.UserProfile.UserSettings.UserNotificationSettings.telegramsettingsfailed": "Telegram bildirim ayarları kaydedilemedi.", + "components.UserProfile.UserSettings.UserNotificationSettings.telegramsettingssaved": "Telegram bildirim ayarları kaydedildi!", + "components.UserProfile.UserSettings.UserNotificationSettings.validationDiscordId": "Geçerli bir kullanıcı ID'si sağlamalısın", + "components.UserProfile.UserSettings.UserNotificationSettings.validationPgpPublicKey": "Geçerli bir PGP açık (public) anahtarı sağlamalısın", + "components.UserProfile.UserSettings.UserNotificationSettings.validationPushbulletAccessToken": "Bir erişim token'i sağlamalısınız", + "components.UserProfile.UserSettings.UserNotificationSettings.validationPushoverUserKey": "Geçerli bir kullanıcı ya da grup kimliği sağlamalısınız", + "components.UserProfile.UserSettings.UserNotificationSettings.validationTelegramChatId": "Geçerli bir sohbet ID'si sağlamalısın", + "components.UserProfile.UserSettings.UserNotificationSettings.webpush": "Web Bildirimi", + "components.UserProfile.UserSettings.UserNotificationSettings.webpushsettingsfailed": "Web bildirim ayarları kaydedilemedi.", + "components.UserProfile.UserSettings.UserNotificationSettings.webpushsettingssaved": "Web bildirim ayarları kaydedildi!", + "components.UserProfile.UserSettings.UserPasswordChange.confirmpassword": "Şifreyi Doğrula", + "components.UserProfile.UserSettings.UserPasswordChange.currentpassword": "Kullandığınız Şifre", + "components.UserProfile.UserSettings.UserPasswordChange.newpassword": "Yeni Şifre", + "components.UserProfile.UserSettings.UserPasswordChange.noPasswordSetOwnAccount": "Hesabın ayarlanmış bir şifreye sahip değil. Aşağıdan e-mail adresinizi kullanarak bir şifre belirlerseniz \"yerel kullanıcı\" olarak oturum açabilirsiniz.", + "components.UserProfile.UserSettings.UserPasswordChange.nopermissionDescription": "Bu kullanıcının şifresini değiştirme yetkisine sahip değilsin.", + "components.UserProfile.UserSettings.UserPasswordChange.password": "Şifre", + "components.UserProfile.UserSettings.UserPasswordChange.toastSettingsFailureVerifyCurrent": "Şifre kaydedilirken bir hata oluştu, şu anda kullandığınız şifreyi doğru girdiğinizden emin olun.", + "components.UserProfile.UserSettings.UserPasswordChange.toastSettingsSuccess": "Şifre başarıyla kaydedildi!", + "components.UserProfile.UserSettings.UserPasswordChange.validationConfirmPassword": "Yeni şifreyi doğrulamanız gerekmektedir", + "components.UserProfile.UserSettings.UserPasswordChange.validationConfirmPasswordSame": "Girdiğiniz şifreler uyuşmuyor", + "components.UserProfile.UserSettings.UserPasswordChange.validationCurrentPassword": "Mevcut olarak kullandığınız şifrenizi girmediniz", + "components.UserProfile.UserSettings.UserPasswordChange.validationNewPassword": "Yeni bir şifre girmediniz", + "components.UserProfile.UserSettings.UserPermissions.permissions": "İzinler", + "components.UserProfile.UserSettings.UserPermissions.toastSettingsFailure": "Ayarlar kaydedilirken beklenmedik bir hata oluştu.", + "components.UserProfile.UserSettings.UserPermissions.toastSettingsSuccess": "İzinler başarıyla kaydedildi!", + "components.UserProfile.UserSettings.UserPermissions.unauthorizedDescription": "Kendi izinlerini düzenleyemezsin.", + "components.UserProfile.UserSettings.menuChangePass": "Şifre", + "components.UserProfile.UserSettings.menuGeneralSettings": "Genel", + "components.UserProfile.UserSettings.unauthorizedDescription": "Bu kullanıcının ayarlarını düzenleme yetkin yok.", + "components.UserProfile.limit": "{limit} limitinizden {remaining} adet kaldı", + "components.UserProfile.localWatchlist": "{username} kullanıcısının İzleme Listesi", + "components.UserProfile.movierequests": "Film İstekleri", + "components.UserProfile.pastdays": "{type} ({days} gün geçti)", + "components.UserProfile.plexwatchlist": "Plex İzleme Listen", + "components.UserProfile.recentlywatched": "Yakın Zamanda İzlendi", + "components.UserProfile.recentrequests": "Yakın Vakitteki İstekler", + "components.UserProfile.requestsperdays": "{limit} limitin kaldı", + "components.UserProfile.seriesrequest": "Dizi İstekleri", + "components.UserProfile.totalrequests": "Toplam İstek", + "components.UserProfile.unlimited": "Sınırsız", + "i18n.advanced": "Gelişmiş", + "i18n.all": "Hepsi", + "i18n.approve": "Kabul Et", + "i18n.areyousure": "Emin misiniz?", + "i18n.available": "Kullanılabilir", + "i18n.back": "Geri", + "i18n.cancel": "İptal Et", + "i18n.canceling": "İptal Ediliyor…", + "i18n.close": "Kapat", + "i18n.collection": "Koleksiyon", + "i18n.decline": "Reddet", + "i18n.declined": "Reddedildi", + "i18n.delete": "Sil", + "i18n.delimitedlist": "{a}, {b}", + "i18n.edit": "Düzenle", + "i18n.experimental": "Deneysel", + "i18n.failed": "Başarısız", + "i18n.import": "İçe Aktar", + "i18n.importing": "İçe Aktarılıyor…", + "i18n.loading": "Yükleniyor…", + "i18n.movie": "Film", + "i18n.movies": "Filmler", + "i18n.next": "Sonraki", + "i18n.noresults": "Sonuç yok.", + "i18n.open": "Açık", + "i18n.partiallyavailable": "Kısmen Mevcut", + "i18n.pending": "Beklemede", + "i18n.previous": "Önceki", + "i18n.processing": "İşleniyor", + "i18n.request": "İste", + "i18n.request4k": "4K'da İste", + "i18n.requested": "İstenildi", + "i18n.requesting": "İsteniliyor…", + "i18n.resolved": "Çözüldü", + "i18n.resultsperpage": "Sayfa başına {pageSize} sonuç göster", + "i18n.retry": "Yeniden Dene", + "i18n.retrying": "Yeniden Deneniyor…", + "i18n.save": "Değişiklikleri Kaydet", + "i18n.saving": "Kaydediliyor…", + "i18n.settings": "Ayarlar", + "i18n.showingresults": "{from} ile {to} arasından toplam {total} sonuç var", + "i18n.status": "Durum", + "i18n.test": "Test Et", + "i18n.testing": "Tet Ediliyor…", + "i18n.tvshow": "Dizi", + "i18n.tvshows": "Diziler", + "i18n.unavailable": "Mevcut Değil", + "i18n.usersettings": "Kullanıcı Ayarları", + "i18n.view": "Görüntüle", + "pages.errormessagewithcode": "{statusCode} - {error}", + "pages.internalservererror": "Dahili Sunucu Hatası", + "pages.oops": "Eyvah", + "pages.pagenotfound": "Sayfa Bulunamadı", + "pages.returnHome": "Anasayfaya Dön", + "pages.serviceunavailable": "Hizmet Erişilebilir Değil", + "pages.somethingwentwrong": "Bir Şeyler Ters Gitti", + "components.UserProfile.UserSettings.UserGeneralSettings.validationDiscordId": "Geçerli bir Discord ID'si sunmalısın", + "components.UserProfile.UserSettings.UserPasswordChange.toastSettingsFailure": "Şifre kaydedilirken bir şeyler ters gitti.", + "components.UserProfile.UserSettings.menuPermissions": "İzinler", + "i18n.approved": "Kabul Edildi", + "i18n.deleting": "Siliniyor…", + "i18n.notrequested": "İstenmedi", + "components.UserList.usercreatedfailed": "Kullanıcı oluşturulurken bir şeyler ters gitti.", + "components.UserList.usercreatedfailedexisting": "Verilen e-mail adresi halihazırda başka bir kulllanıcı tarafından kullanılmaktadır.", + "components.UserList.validationEmail": "Geçerli bir e-mail adresi sağlamalısın", + "components.UserProfile.UserSettings.UserGeneralSettings.applanguage": "Görüntüleme Dili", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmoviestip": "Plex İzleme Listenizde'ki filmleri otomatik olarak istet", + "components.UserProfile.UserSettings.UserGeneralSettings.role": "Rolü", + "components.UserProfile.UserSettings.UserGeneralSettings.saving": "Kaydediliyor…", + "components.UserProfile.UserSettings.UserNotificationSettings.discordIdTip": "Hesabınız ile bağıntılı numaralardan oluşan kullanıcı ID'niz", + "components.UserProfile.UserSettings.UserNotificationSettings.pushoverUserKeyTip": "30 karakterlik kullanıcı ya da grup kimliği", + "components.UserProfile.emptywatchlist": "Plex İzleme Listenize eklenen içerikler burada gözükeceklerdir.", + "i18n.restartRequired": "Yeniden Başlatma Gereklidir", + "components.UserProfile.UserSettings.UserGeneralSettings.discordIdTip": "Discord hesabınız ile bağıntılı numaralardan oluşan kullanıcı ID'niz", + "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletsettingssaved": "Pushbullet bildirim ayarları kaydedildi!", + "components.UserProfile.UserSettings.UserNotificationSettings.telegramChatIdTipLong": "Bir sohbet başlatın ve @get_id_bot ID'li botunuzu ekleyin. Son olarak /my_id komutunu kullanın", + "components.UserProfile.UserSettings.UserNotificationSettings.validationPushoverApplicationToken": "Geçerli bir uygulama token'i sağlamalısınız", + "components.UserProfile.UserSettings.UserPasswordChange.noPasswordSet": "Bu kullanıcının henüz ayarlanmış bir şifresi yok. Aşağıdan bir şifre ayarlayarak bu hesabın \"yerel kullanıcı\" olarak oturum açabilmesini sağlayın.", + "components.UserProfile.UserSettings.UserPasswordChange.validationNewPasswordLength": "Girdiğiniz şifre çok kısa, en az 8 karakterden oluşmalıdır" +} diff --git a/src/i18n/locale/uk.json b/src/i18n/locale/uk.json index 0b38de3e..03eb1205 100644 --- a/src/i18n/locale/uk.json +++ b/src/i18n/locale/uk.json @@ -10,10 +10,10 @@ "components.Discover.DiscoverMovieLanguage.languageMovies": "Фільми мовою \"{language}\"", "components.Discover.DiscoverNetwork.networkSeries": "Серіали {network}", "components.Discover.DiscoverStudio.studioMovies": "Фільми {studio}", - "components.Discover.DiscoverTvGenre.genreSeries": "Серіали в жанрі \"{genre}\"", - "components.Discover.DiscoverTvLanguage.languageSeries": "Серіали мовою \"{language}\"", - "components.Discover.DiscoverWatchlist.discoverwatchlist": "Your Watchlist", - "components.Discover.DiscoverWatchlist.watchlist": "Список спостереження Plex", + "components.Discover.DiscoverTvGenre.genreSeries": "Серіали в жанрі {genre}", + "components.Discover.DiscoverTvLanguage.languageSeries": "Серіали мовою {language}", + "components.Discover.DiscoverWatchlist.discoverwatchlist": "Ваш список перегляду Plex", + "components.Discover.DiscoverWatchlist.watchlist": "Список перегляду Plex", "components.Discover.MovieGenreList.moviegenres": "Фільми за жанрами", "components.Discover.MovieGenreSlider.moviegenres": "Фільми за жанрами", "components.Discover.NetworkSlider.networks": "Телеканали", @@ -25,7 +25,7 @@ "components.Discover.discovertv": "Популярні серіали", "components.Discover.emptywatchlist": "Тут з’являться медіафайли, додані до вашого списку спостереження Plex.", "components.Discover.noRequests": "Жодних запитів.", - "components.Discover.plexwatchlist": "Ваш список спостереження Plex", + "components.Discover.plexwatchlist": "Ваш список перегляду Plex", "components.Discover.popularmovies": "Популярні фільми", "components.Discover.populartv": "Популярні серіали", "components.Discover.recentlyAdded": "Нещодавно додані", @@ -118,7 +118,7 @@ "components.Layout.Sidebar.settings": "Налаштування", "components.Layout.Sidebar.users": "Користувачі", "components.Layout.UserDropdown.MiniQuotaDisplay.movierequests": "Запити на фільми", - "components.Layout.UserDropdown.MiniQuotaDisplay.seriesrequests": "Запити на серіали", + "components.Layout.UserDropdown.MiniQuotaDisplay.seriesrequests": "Запити на сезони", "components.Layout.UserDropdown.myprofile": "Профіль", "components.Layout.UserDropdown.requests": "Запити", "components.Layout.UserDropdown.settings": "Налаштування", @@ -142,24 +142,24 @@ "components.ManageSlideOver.downloadstatus": "Завантаження", "components.ManageSlideOver.manageModalAdvanced": "Просунутий", "components.ManageSlideOver.manageModalClearMedia": "Очистити дані", - "components.ManageSlideOver.manageModalClearMediaWarning": "* Це призведе до незворотного видалення всіх даних для цього {mediaType}а, включаючи будь-які запити. Якщо цей елемент існує у вашій бібліотеці {mediaServerName}, мультимедійна інформація про нього буде відтворена під час наступного сканування. ", + "components.ManageSlideOver.manageModalClearMediaWarning": "* Це призведе до незворотного видалення всіх даних для цього {mediaType}а, включаючи будь-які запити. Якщо цей елемент існує у вашій бібліотеці {mediaServerName}, мультимедійна інформація про нього буде відтворена під час наступного сканування.", "components.ManageSlideOver.manageModalIssues": "Відкриті проблеми", "components.ManageSlideOver.manageModalMedia": "Media", "components.ManageSlideOver.manageModalMedia4k": "4K Media", "components.ManageSlideOver.manageModalNoRequests": "Запитів немає.", "components.ManageSlideOver.manageModalRequests": "Запити", - "components.ManageSlideOver.manageModalTitle": "Управління {mediaType}", + "components.ManageSlideOver.manageModalTitle": "Управління {mediaType}ом", "components.ManageSlideOver.mark4kavailable": "Позначити як доступний у 4К", "components.ManageSlideOver.markallseasons4kavailable": "Позначити всі сезони як доступні в 4K", - "components.ManageSlideOver.markallseasonsavailable": "Mark All Seasons as Available", + "components.ManageSlideOver.markallseasonsavailable": "Позначити всі сезони як доступні", "components.ManageSlideOver.markavailable": "Позначити як доступний", "components.ManageSlideOver.movie": "фільм", "components.ManageSlideOver.openarr": "Відкрити в {arr}", "components.ManageSlideOver.openarr4k": "Відкрити в 4К {arr}", "components.ManageSlideOver.opentautulli": "Відкрити в Tautulli", "components.ManageSlideOver.pastdays": "Останні {days, number} днів", - "components.ManageSlideOver.playedby": "Грає", - "components.ManageSlideOver.plays": "{playCount, number} {playCount, plural, one {грає} other {грають}}", + "components.ManageSlideOver.playedby": "Переглядає", + "components.ManageSlideOver.plays": "{playCount, number} {playCount, plural, one {перегляд} other {переглядів}}", "components.ManageSlideOver.tvshow": "серіал", "components.MediaSlider.ShowMoreCard.seemore": "Подивитися більше", "components.MovieDetails.MovieCast.fullcast": "Повний акторський склад", @@ -210,7 +210,7 @@ "components.NotificationTypeSelector.mediaapproved": "Схвалення медіа-запитів", "components.NotificationTypeSelector.mediaapprovedDescription": "Надсилати повідомлення, коли медіа-запити схвалюються вручну.", "components.NotificationTypeSelector.mediaautorequested": "Запит надіслано автоматично", - "components.NotificationTypeSelector.mediaautorequestedDescription": "Отримуйте сповіщення, коли нові медіа-запити автоматично надсилаються для елементів у вашому списку спостереження Plex.", + "components.NotificationTypeSelector.mediaautorequestedDescription": "Отримуйте сповіщення, коли нові медіа-запити автоматично надсилаються для елементів у вашому списку перегляду Plex.", "components.NotificationTypeSelector.mediaavailable": "Доступні нові медіафайли", "components.NotificationTypeSelector.mediaavailableDescription": "Надсилати повідомлення, коли запитані медіафайли стають доступними.", "components.NotificationTypeSelector.mediadeclined": "Відхилення медіа-запитів", @@ -245,13 +245,13 @@ "components.PermissionEdit.autoapproveMovies": "Автоматичне схвалення фільмів", "components.PermissionEdit.autoapproveMoviesDescription": "Надати дозвіл на автоматичне схвалення всіх фільмів, відмінних від 4К.", "components.PermissionEdit.autoapproveSeries": "Автоматичне схвалення серіалів", - "components.PermissionEdit.autoapproveSeriesDescription": "Надати дозвіл на автоматичне схвалення всіх серіалів, відмінних від 4К.", + "components.PermissionEdit.autoapproveSeriesDescription": "Надати дозвіл на автоматичне схвалення всіх серіалів, відмінних від 4K.", "components.PermissionEdit.autorequest": "Автоматичний запит", - "components.PermissionEdit.autorequestDescription": "Надайте дозвіл на автоматичне надсилання запитів на медіафайли, відмінні від 4K, через Plex Watchlist.", + "components.PermissionEdit.autorequestDescription": "Надайте дозвіл на автоматичне надсилання запитів на медіафайли, відмінні від 4K, через список перегляду Plex.", "components.PermissionEdit.autorequestMovies": "Автоматичний запит фільмів", - "components.PermissionEdit.autorequestMoviesDescription": "Надайте дозвіл на автоматичне надсилання запитів на фільми, відмінні від 4K, через Plex Watchlist.", + "components.PermissionEdit.autorequestMoviesDescription": "Надайте дозвіл на автоматичне надсилання запитів на фільми, відмінні від 4K, через список перегляду Plex.", "components.PermissionEdit.autorequestSeries": "Автоматичний запит Серіалів", - "components.PermissionEdit.autorequestSeriesDescription": "Надайте дозвіл на автоматичне надсилання запитів на серіали, відмінні від 4K, через Plex Watchlist.", + "components.PermissionEdit.autorequestSeriesDescription": "Надайте дозвіл на автоматичне надсилання запитів на серіали, відмінні від 4K, через список перегляду Plex.", "components.PermissionEdit.createissues": "Повідомлення про проблеми", "components.PermissionEdit.createissuesDescription": "Надати дозвіл на повідомлення про проблеми з медіафайлами.", "components.PermissionEdit.manageissues": "Управління проблемами", @@ -266,7 +266,7 @@ "components.PermissionEdit.request4kTv": "Запити серіалів у 4К", "components.PermissionEdit.request4kTvDescription": "Надати дозвіл на надсилання запитів серіалів у 4К.", "components.PermissionEdit.requestDescription": "Надати дозвіл на надсилання запитів усіх медіафайлів, відмінних від 4К.", - "components.PermissionEdit.requestMovies": "Замовити фільми", + "components.PermissionEdit.requestMovies": "Запити фільмів", "components.PermissionEdit.requestMoviesDescription": "Надати дозвіл на надсилання запитів усіх фільмів, відмінних від 4К.", "components.PermissionEdit.requestTv": "Запити серіалів", "components.PermissionEdit.requestTvDescription": "Надати дозвіл на надсилання запитів усіх серіалів, відмінних від 4К.", @@ -280,8 +280,8 @@ "components.PermissionEdit.viewrecentDescription": "Надайте дозвіл на перегляд списку нещодавно доданих медіа.", "components.PermissionEdit.viewrequests": "Перегляд запитів", "components.PermissionEdit.viewrequestsDescription": "Надати дозвіл на перегляд медіа-запитів, надісланих іншими користувачами.", - "components.PermissionEdit.viewwatchlists": "Перегляньте списки спостереження Plex", - "components.PermissionEdit.viewwatchlistsDescription": "Надайте дозвіл на перегляд списків спостереження Plex інших користувачів.", + "components.PermissionEdit.viewwatchlists": "Перегляд списків переглядів Plex", + "components.PermissionEdit.viewwatchlistsDescription": "Надайте дозвіл на перегляд списків перегляду Plex інших користувачів.", "components.PersonDetails.alsoknownas": "Також відомий(а) як: {names}", "components.PersonDetails.appearsin": "Появи у фільмах та серіалах", "components.PersonDetails.ascharacter": "в ролі {character}", @@ -291,10 +291,10 @@ "components.PlexLoginButton.signingin": "Виконується вхід...", "components.PlexLoginButton.signinwithplex": "Увійти", "components.QuotaSelector.days": "{count, plural, one {день} other {днів}}", - "components.QuotaSelector.movieRequests": "{quotaLimit} {фільмів} за {quotaDays} {днів}", + "components.QuotaSelector.movieRequests": "{quotaLimit} {movies} на {quotaDays} {days}", "components.QuotaSelector.movies": "{count, plural, one {фільм} other {фільми}}", "components.QuotaSelector.seasons": "{count, plural, one {сезон} other {сезони}}", - "components.QuotaSelector.tvRequests": "{quotaLimit} {сезонів} за {quotaDays} {днів}", + "components.QuotaSelector.tvRequests": "{quotaLimit} {seasons} на {quotaDays} {days}", "components.QuotaSelector.unlimited": "Необмежено", "components.RegionSelector.regionDefault": "Всі регіони", "components.RegionSelector.regionServerDefault": "За замовчуванням ({region})", @@ -329,7 +329,7 @@ "components.RequestCard.deleterequest": "Видалити запит", "components.RequestCard.editrequest": "Редагувати запит", "components.RequestCard.failedretry": "Щось пішло не так при спробі повторити запит.", - "components.RequestCard.mediaerror": "Назва, пов'язана з цим запитом, більше недоступна.", + "components.RequestCard.mediaerror": "{mediaType} Не знайдено", "components.RequestCard.seasons": "{seasonCount, plural, one {Сезон} other {Сезони}}", "components.RequestCard.tmdbid": "TMDB ID", "components.RequestCard.tvdbid": "TheTVDB ID", @@ -338,7 +338,7 @@ "components.RequestList.RequestItem.deleterequest": "Видалити запит", "components.RequestList.RequestItem.editrequest": "Редагувати запит", "components.RequestList.RequestItem.failedretry": "Щось пішло не так при спробі повторити запит.", - "components.RequestList.RequestItem.mediaerror": "Назва, пов'язана з цим запитом, більше недоступна.", + "components.RequestList.RequestItem.mediaerror": "{mediaType} Не знайдено", "components.RequestList.RequestItem.modified": "Змінено", "components.RequestList.RequestItem.modifieduserdate": "{date} користувачем {user}", "components.RequestList.RequestItem.requested": "Запрошений", @@ -366,17 +366,17 @@ "components.RequestModal.QuotaDisplay.allowedRequests": "Вам дозволено запитувати {limit} {type} кожні {days} днів.", "components.RequestModal.QuotaDisplay.allowedRequestsUser": "Цьому користувачеві дозволено запитувати {limit} {type} кожні {days} днів.", "components.RequestModal.QuotaDisplay.movie": "фільм", - "components.RequestModal.QuotaDisplay.movielimit": "{limit, plural, one {фільм} other {фільми}}", + "components.RequestModal.QuotaDisplay.movielimit": "{limit, plural, one {фільм} other {фільмів}}", "components.RequestModal.QuotaDisplay.notenoughseasonrequests": "Залишилося недостатньо запитів на сезони", "components.RequestModal.QuotaDisplay.quotaLink": "Ви можете переглянути зведення ваших обмежень на кількість запитів на сторінці вашого профілю.", "components.RequestModal.QuotaDisplay.quotaLinkUser": "Ви можете переглянути зведення обмежень на кількість запитів цього користувача на сторінці його профілю.", - "components.RequestModal.QuotaDisplay.requestsremaining": "{remaining, plural, =0 {запитів {type} не залишилося} other {залишилось # запиту(ів) {type}}}", - "components.RequestModal.QuotaDisplay.requiredquota": "Вам необхідно мати принаймні {seasons} {seasons, plural, one {запит на сезони} other {запиту(ів) на сезони}} для того , щоб надіслати запит на цей серіал.", + "components.RequestModal.QuotaDisplay.requestsremaining": "{remaining, plural, =0 {Запитів на {type} не залишилося} other {Залишилось # запити(ів) на {type}}}", + "components.RequestModal.QuotaDisplay.requiredquota": "Вам необхідно мати принаймні {seasons} {seasons, plural, one {запит на сезони} other {запиту(ів) на сезони}} для того, щоб надіслати запит на цей серіал.", "components.RequestModal.QuotaDisplay.requiredquotaUser": "Цьому користувачеві необхідно мати принаймні {seasons} {seasons, plural, one {запит на сезони} other {запиту(ів) на сезони}} для того, щоб надіслати запит на цей серіал.", "components.RequestModal.QuotaDisplay.season": "сезон", - "components.RequestModal.QuotaDisplay.seasonlimit": "{limit, plural, one {сезон} other {сезони}}", - "components.RequestModal.SearchByNameModal.nomatches": "Нам не вдалося знайти відповідність для цієї серії.", - "components.RequestModal.SearchByNameModal.notvdbiddescription": "Ми не змогли автоматично виконати ваш запит. Будь ласка, виберіть правильний збіг зі списку нижче.", + "components.RequestModal.QuotaDisplay.seasonlimit": "{limit, plural, one {сезон} other {сезонів}}", + "components.RequestModal.SearchByNameModal.nomatches": "Нам не вдалося знайти відповідність для цього серіалу.", + "components.RequestModal.SearchByNameModal.notvdbiddescription": "Нам не вдалося автоматично знайти цей серіал. Будь ласка, виберіть правильний збіг зі списку нижче.", "components.RequestModal.alreadyrequested": "Вже запрошений", "components.RequestModal.approve": "Схвалити запит", "components.RequestModal.autoapproval": "Автоматичне схвалення", @@ -385,9 +385,9 @@ "components.RequestModal.errorediting": "Щось пішло не так під час редагування запиту.", "components.RequestModal.extras": "Додатково", "components.RequestModal.numberofepisodes": "# епізодів", - "components.RequestModal.pending4krequest": "", + "components.RequestModal.pending4krequest": "Очікуючий запит в 4К", "components.RequestModal.pendingapproval": "Ваш запит чекає схвалення.", - "components.RequestModal.pendingrequest": "", + "components.RequestModal.pendingrequest": "Очікуючий запит", "components.RequestModal.requestApproved": "Запит на {title} схвалений!", "components.RequestModal.requestCancel": "Запит на {title} скасовано.", "components.RequestModal.requestSuccess": "{title} успішно запрошений!", @@ -404,7 +404,7 @@ "components.RequestModal.requestmovietitle": "Запит на фільм", "components.RequestModal.requestseasons": "Запросити {seasonCount} {seasonCount, plural, one {сезон} other {сезону(ів)}}", "components.RequestModal.requestseasons4k": "Запит {seasonCount} {seasonCount, plural, one {сезону} other {сезонів}} у 4К", - "components.RequestModal.requestseries4ktitle": "Надіслати запит на серіал у 4K", + "components.RequestModal.requestseries4ktitle": "Запросити серіал у 4K", "components.RequestModal.requestseriestitle": "Запит на серіал", "components.RequestModal.season": "Сезон", "components.RequestModal.seasonnumber": "Сезон {number}", @@ -452,7 +452,7 @@ "components.Settings.Notifications.NotificationsPushbullet.accessToken": "Токен доступу", "components.Settings.Notifications.NotificationsPushbullet.accessTokenTip": "Створіть токен у налаштуваннях облікового запису", "components.Settings.Notifications.NotificationsPushbullet.agentEnabled": "Активувати службу", - "components.Settings.Notifications.NotificationsPushbullet.channelTag": "Channel Tag", + "components.Settings.Notifications.NotificationsPushbullet.channelTag": "Тег каналу", "components.Settings.Notifications.NotificationsPushbullet.pushbulletSettingsFailed": "Не вдалося зберегти налаштування сповіщень Pushbullet.", "components.Settings.Notifications.NotificationsPushbullet.pushbulletSettingsSaved": "Налаштування сповіщень Pushbullet успішно збережено!", "components.Settings.Notifications.NotificationsPushbullet.toastPushbulletTestFailed": "Не вдалося надіслати тестове повідомлення до Pushbullet.", @@ -609,7 +609,7 @@ "components.Settings.RadarrModal.validationRootFolderRequired": "Ви повинні вибрати кореневий каталог", "components.Settings.SettingsAbout.Releases.currentversion": "Поточна", "components.Settings.SettingsAbout.Releases.latestversion": "Остання", - "components.Settings.SettingsAbout.Releases.releasedataMissing": "Дані про дозвіл в даний час недоступні.", + "components.Settings.SettingsAbout.Releases.releasedataMissing": "Дані про реліз наразі недоступні.", "components.Settings.SettingsAbout.Releases.releases": "Релізи", "components.Settings.SettingsAbout.Releases.versionChangelog": "Зміни у версії {version}", "components.Settings.SettingsAbout.Releases.viewchangelog": "Переглянути список змін", @@ -626,7 +626,7 @@ "components.Settings.SettingsAbout.preferredmethod": "Переважний спосіб", "components.Settings.SettingsAbout.runningDevelop": "Ви використовуєте гілку develop проекту Jellyseerr, яка рекомендується тільки для тих, хто робить внесок у розробку або допомагає в тестуванні.", "components.Settings.SettingsAbout.supportoverseerr": "Підтримати Jellyseerr", - "components.Settings.SettingsAbout.timezone": "Годинний пояс", + "components.Settings.SettingsAbout.timezone": "Часовий пояс", "components.Settings.SettingsAbout.totalmedia": "Усього мультимедіа", "components.Settings.SettingsAbout.totalrequests": "Усього запитів", "components.Settings.SettingsAbout.uptodate": "Актуальна", @@ -645,7 +645,7 @@ "components.Settings.SettingsJobsCache.download-sync": "Синхронізувати завантаження", "components.Settings.SettingsJobsCache.download-sync-reset": "Скинути синхронізацію завантажень", "components.Settings.SettingsJobsCache.editJobSchedule": "Змінити завдання", - "components.Settings.SettingsJobsCache.editJobScheduleCurrent": "Current Frequency", + "components.Settings.SettingsJobsCache.editJobScheduleCurrent": "Поточна частота", "components.Settings.SettingsJobsCache.editJobSchedulePrompt": "Частота", "components.Settings.SettingsJobsCache.editJobScheduleSelectorHours": "Кожен {jobScheduleHours, plural, one {година} other {{jobScheduleHours} години(ів)}}", "components.Settings.SettingsJobsCache.editJobScheduleSelectorMinutes": "Кожну {jobScheduleMinutes, plural, one {хвилину} other {{jobScheduleMinutes} хвилин(и)}}", @@ -837,7 +837,7 @@ "components.Settings.sonarrsettings": "Налаштування Sonarr", "components.Settings.ssl": "SSL", "components.Settings.startscan": "Почати сканування", - "components.Settings.tautulliApiKey": "API Key", + "components.Settings.tautulliApiKey": "Ключ API", "components.Settings.tautulliSettings": "Tautulli Налаштування", "components.Settings.tautulliSettingsDescription": "За бажанням налаштуйте параметри для вашого сервера Tautulli. Jellyseerr отримує дані історії переглядів для медіафайлів Plex від Tautulli.", "components.Settings.toastApiKeyFailure": "Щось пішло не так при створенні нового ключа API.", @@ -966,8 +966,8 @@ "components.UserList.user": "Користувач", "components.UserList.usercreatedfailed": "Щось пішло не так при створенні користувача.", "components.UserList.usercreatedfailedexisting": "Вказана адреса електронної пошти вже використовується іншим користувачем.", - "components.UserList.usercreatedsuccess": "Користувач успішно створено!", - "components.UserList.userdeleted": "Користувач успішно видалено!", + "components.UserList.usercreatedsuccess": "Користувача успішно створено!", + "components.UserList.userdeleted": "Користувача успішно видалено!", "components.UserList.userdeleteerror": "Щось пішло не так при видаленні користувача.", "components.UserList.userfail": "Щось пішло не так при збереженні дозволів користувача.", "components.UserList.userlist": "Список користувачів", @@ -996,9 +996,9 @@ "components.UserProfile.UserSettings.UserGeneralSettings.owner": "Власник", "components.UserProfile.UserSettings.UserGeneralSettings.plexuser": "Користувач Plex", "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmovies": "Автоматичний запит фільмів", - "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmoviestip": "Автоматично надсилайте запит на перегляд фільмів у своєму списку спостереження Plex", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmoviestip": "Автоматично запитувати фільми з вашого списку перегляду Plex", "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseries": "Автоматичний запит Серіалів", - "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseriestip": "Автоматично надсилайте запит на серіал у своєму списку спостереження Plex", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseriestip": "Автоматично запитувати серіали з вашого списку перегляду Plex", "components.UserProfile.UserSettings.UserGeneralSettings.region": "Регіон для пошуку фільмів та серіалів", "components.UserProfile.UserSettings.UserGeneralSettings.regionTip": "Контент фільтрується за доступністю у вибраному регіоні", "components.UserProfile.UserSettings.UserGeneralSettings.role": "Роль", @@ -1031,7 +1031,7 @@ "components.UserProfile.UserSettings.UserNotificationSettings.sendSilently": "Надсилати без звуку", "components.UserProfile.UserSettings.UserNotificationSettings.sendSilentlyDescription": "Надсилати повідомлення без звуку", "components.UserProfile.UserSettings.UserNotificationSettings.telegramChatId": "ID чату", - "components.UserProfile.UserSettings.UserNotificationSettings.telegramChatIdTipLong": "Почніть чат, додайте @get_id_bot і виконайте команду /my_id", + "components.UserProfile.UserSettings.UserNotificationSettings.telegramChatIdTipLong": "Почніть чат, додайте @get_id_bot і виконайте команду /my_id", "components.UserProfile.UserSettings.UserNotificationSettings.telegramsettingsfailed": "Не вдалося зберегти налаштування сповіщень Telegram.", "components.UserProfile.UserSettings.UserNotificationSettings.telegramsettingssaved": "Налаштування сповіщень Telegram успішно збережено!", "components.UserProfile.UserSettings.UserNotificationSettings.validationDiscordId": "Ви повинні надати дійсний ID користувача", @@ -1067,15 +1067,15 @@ "components.UserProfile.UserSettings.menuNotifications": "Сповіщення", "components.UserProfile.UserSettings.menuPermissions": "Дозволи", "components.UserProfile.UserSettings.unauthorizedDescription": "У вас немає дозволу на зміну налаштувань цього користувача.", - "components.UserProfile.emptywatchlist": "Тут з’являться медіафайли, додані до вашого списку спостереження Plex.", + "components.UserProfile.emptywatchlist": "Тут з’являться медіафайли, додані до вашого списку перегляду Plex.", "components.UserProfile.limit": "{remaining} з {limit}", "components.UserProfile.movierequests": "Запитів фільмів", - "components.UserProfile.pastdays": "{type} (за {days} день(ів))", - "components.UserProfile.plexwatchlist": "Список спостереження Plex", + "components.UserProfile.pastdays": "{type} (на {days} дні(в)", + "components.UserProfile.plexwatchlist": "Список перегляду Plex", "components.UserProfile.recentlywatched": "Нещодавно переглянуто", "components.UserProfile.recentrequests": "Останні запити", "components.UserProfile.requestsperdays": "залишилось {limit}", - "components.UserProfile.seriesrequest": "Запитів серіалів", + "components.UserProfile.seriesrequest": "Запитів сезонів", "components.UserProfile.totalrequests": "Усього запитів", "components.UserProfile.unlimited": "Необмежено", "i18n.advanced": "Для просунутих користувачів", @@ -1114,7 +1114,7 @@ "i18n.requested": "Запрошений", "i18n.requesting": "Запит…", "i18n.resolved": "Вирішені", - "i18n.restartRequired": "Restart Required", + "i18n.restartRequired": "Потрібне перезавантаження", "i18n.resultsperpage": "Відобразити {pageSize} результатів на сторінці", "i18n.retry": "Повторити", "i18n.retrying": "Повтор…", @@ -1140,144 +1140,211 @@ "Components.PermissionEdit.requestMovies": "Запити фільмів", "Components.PermissionEdit.autoapprove4kMovies": "Автоматичне схвалення 4К фільмів", "Components.PermissionEdit.autoapproveMovies": "Автоматичне схвалення фільмів", - "components.Discover.FilterSlideover.studio": "Студія", - "components.Discover.RecentlyAddedSlider.recentlyAdded": "Нещодавно додані", - "components.Discover.FilterSlideover.keywords": "Ключові слова", - "components.Discover.FilterSlideover.ratingText": "Оцінки від {minValue} до {maxValue}", - "components.Discover.FilterSlideover.tmdbuserscore": "Оцінка користувачів TMDB", - "components.Discover.DiscoverTv.discovertv": "Серіали", - "components.Discover.FilterSlideover.runtime": "Тривалість", - "components.Discover.FilterSlideover.from": "Від", - "components.Discover.studios": "Студії", - "components.Discover.FilterSlideover.to": "До", - "components.Discover.FilterSlideover.filters": "Фільтри", - "components.Discover.CreateSlider.providetmdbsearch": "Введіть пошуковий запит", - "components.Discover.DiscoverMovieKeyword.keywordMovies": "Фільми {keywordTitle}", - "components.Discover.PlexWatchlistSlider.plexwatchlist": "Ваш список перегляду Plex", - "components.Discover.FilterSlideover.genres": "Жанри", - "components.Discover.FilterSlideover.originalLanguage": "Мова оригіналу", "components.Discover.CreateSlider.nooptions": "Немає результатів.", - "components.Discover.FilterSlideover.tmdbuservotecount": "Кількість голосів користувачів TMDB", - "components.Discover.DiscoverMovies.discovermovies": "Фільми", - "components.Discover.FilterSlideover.clearfilters": "Очистити активні фільтри", + "components.Discover.CreateSlider.searchKeywords": "Ключові слова пошуку…", "components.Discover.CreateSlider.searchStudios": "Пошук студій…", + "components.Discover.CreateSlider.starttyping": "Починайте писати для пошуку.", + "components.Discover.CreateSlider.validationTitlerequired": "Ви повинні вказати назву.", + "components.Discover.DiscoverMovies.activefilters": "{count, plural, one {# Активний фільтр} other {# Активні фільтри}}", + "components.Discover.DiscoverMovies.discovermovies": "Фільми", + "components.Discover.DiscoverSliderEdit.enable": "Змінити видимість", + "components.Discover.DiscoverSliderEdit.remove": "Видалити", + "components.Discover.DiscoverTv.discovertv": "Серіали", + "components.Discover.FilterSlideover.activefilters": "{count, plural, one {# Активний фільтр} other {# Активні фільтри}}", + "components.Discover.FilterSlideover.filters": "Фільтри", + "components.Discover.FilterSlideover.from": "Від", + "components.Discover.FilterSlideover.genres": "Жанри", + "components.Discover.FilterSlideover.keywords": "Ключові слова", + "components.Discover.FilterSlideover.originalLanguage": "Оригінальна мова", + "components.Discover.FilterSlideover.ratingText": "Оцінки від {minValue} до {maxValue}", "components.Discover.FilterSlideover.releaseDate": "Дата релізу", + "components.Discover.FilterSlideover.runtime": "Тривалість", + "components.Discover.FilterSlideover.studio": "Студія", + "components.Discover.FilterSlideover.tmdbuserscore": "Оцінка користувачів TMDB", + "components.Discover.FilterSlideover.tmdbuservotecount": "Кількість голосів від користувачів TMDB", + "components.Discover.FilterSlideover.to": "До", + "components.Discover.PlexWatchlistSlider.emptywatchlist": "Медіа додано до вашого списку перегляду Plex.", + "components.Discover.PlexWatchlistSlider.plexwatchlist": "Ваш список перегляду Plex", + "components.Discover.RecentlyAddedSlider.recentlyAdded": "Нещодавно додані", + "components.Discover.studios": "Студії", + "components.Discover.tmdbmoviegenre": "Жанр фільму TMDB", + "components.Discover.tmdbmoviekeyword": "Ключове слово фільму TMDB", + "components.Discover.tmdbmoviestreamingservices": "Сервіси потокової передачі фільмів TMDB", + "components.Discover.tmdbnetwork": "Телеканал TMDB", + "components.Discover.tmdbstudio": "Студія TMDB", + "components.Discover.tmdbtvgenre": "Жанр серіалу TMDB", + "components.Discover.tmdbtvkeyword": "Ключове слово серіалу TMDB", + "components.Discover.tvgenres": "Жанри серіалів", + "components.Layout.UserWarnings.passwordRequired": "Потрібно вказати пароль.", + "components.Login.host": "{mediaServerName} URL", + "components.Login.initialsignin": "Підключитися", + "components.Login.initialsigningin": "Підключення…", + "components.Login.save": "Додати", + "components.Login.signinwithjellyfin": "Використовуйте свій {mediaServerName} обліковий запис", + "components.Login.title": "Додати email", + "components.Login.username": "Ім'я користувача", + "components.ManageSlideOver.removearr4k": "Видалити з 4K {arr}", + "components.MovieDetails.downloadstatus": "Статус завантаження", + "components.MovieDetails.imdbuserscore": "Оцінка користувачів IMDB", + "components.MovieDetails.openradarr4k": "Відкрити фільм у 4К Radarr", + "components.Selector.searchKeywords": "Ключові слова пошуку…", + "components.Selector.searchStudios": "Пошук студій…", + "components.Selector.starttyping": "Початок введення для пошуку.", + "components.Settings.Notifications.NotificationsPushover.sound": "Звук сповіщення", + "components.Settings.SettingsMain.general": "Загальні", + "components.Settings.SettingsMain.generalsettings": "Загальні налаштування", + "components.Settings.SettingsMain.applicationTitle": "Назва програми", + "components.Settings.SettingsMain.applicationurl": "URL програми", + "components.Settings.SettingsMain.cacheImages": "Увімкнути кешування зображень", + "components.Settings.SettingsMain.csrfProtection": "Увімкнути CSRF захист", + "components.Settings.SettingsMain.csrfProtectionHoverTip": "НЕ вмикайте цей параметр, якщо ви не розумієте, що робите!", + "components.Settings.SettingsMain.hideAvailable": "Приховати доступні медіа", + "components.Settings.SettingsMain.locale": "Мова програми", + "components.Settings.SettingsMain.originallanguage": "Мови для пошуку фільмів та серіалів", + "components.Settings.SettingsMain.partialRequestsEnabled": "Дозволити запитувати серіали частково", + "components.Settings.SettingsMain.region": "Регіон для пошуку фільмів та серіалів", + "components.Settings.SettingsMain.regionTip": "Фільтрувати вміст за регіональною доступністю", + "components.Settings.SettingsMain.toastApiKeySuccess": "Новий ключ API успішно згенеровано!", + "components.Settings.SettingsMain.toastSettingsFailure": "Під час збереження налаштувань сталася помилка.", + "components.Settings.SettingsMain.toastSettingsSuccess": "Налаштування успішно збережено!", + "components.Settings.SettingsMain.trustProxyTip": "Дозволити Jellyseerr правильно реєструвати IP-адреси клієнтів за проксі-сервером", + "components.Settings.SettingsMain.validationApplicationUrl": "Ви повинні надати дійсну URL-адресу", + "components.Settings.SettingsMain.validationApplicationUrlTrailingSlash": "URL-адреса не має закінчуватися косою рискою", + "components.Settings.SonarrModal.animeSeriesType": "Тип аніме", + "components.Settings.jellyfinSettings": "Налаштування {mediaServerName}", + "components.Settings.jellyfinSettingsSuccess": "Налаштування {mediaServerName} успішно збережено!", + "components.Settings.jellyfinlibraries": "Бібліотеки {mediaServerName}", + "components.Settings.jellyfinsettings": "Налаштування {mediaServerName}", + "components.Setup.signinWithPlex": "Використовуйте свій обліковий запис Plex", + "components.TvDetails.play": "Відтворити в {mediaServerName}", + "components.UserList.mediaServerUser": "Користувач {mediaServerName}", + "components.UserProfile.UserSettings.UserGeneralSettings.email": "Електронна пошта", + "components.UserProfile.UserSettings.UserGeneralSettings.saving": "Збереження…", + "components.UserProfile.UserSettings.UserNotificationSettings.sound": "Звук сповіщення", + "i18n.collection": "Колекція", + "components.Discover.CreateSlider.needresults": "Ви повинні мати принаймні 1 результат.", "components.Discover.CreateSlider.searchGenres": "Пошук жанрів…", + "components.Discover.DiscoverMovieKeyword.keywordMovies": "Фільми {keywordTitle}", + "components.Discover.DiscoverTv.activefilters": "{count, plural, one {# Активний фільтр} other {# Активні фільтри}}", + "components.Discover.DiscoverTvKeyword.keywordSeries": "{keywordTitle} Серіали", + "components.Discover.FilterSlideover.clearfilters": "Очистити всі активні фільтри", "components.Discover.FilterSlideover.runtimeText": "тривалість {minValue}-{maxValue} хвилин", "components.Discover.FilterSlideover.voteCount": "Кількість голосів від {minValue} до {maxValue}", - "components.Discover.DiscoverSliderEdit.remove": "Видалити", - "components.Layout.Sidebar.browsemovies": "Фільми", - "components.MovieDetails.imdbuserscore": "Оцінка користувачів IMDB", - "components.Layout.Sidebar.browsetv": "Серіали", - "components.Discover.DiscoverTv.sortPopularityDesc": "Популярність за спаданням", - "components.Discover.moviegenres": "Жанри фільмів", - "components.Discover.resetwarning": "Скинути всі повзунки до стандартних. Це також видалить будь-які спеціальні повзунки!", - "components.Discover.stopediting": "Зупинити редагування", - "components.Discover.DiscoverMovies.activefilters": "{count, plural, one {# Активний фільтр} other {# Активні фільтри}}", - "components.Discover.DiscoverTv.activefilters": "{count, plural, one {# Активний фільтр} other {# Активні фільтри}}", - "components.Discover.FilterSlideover.streamingservices": "Сервіси потокового передавання", - "components.Discover.FilterSlideover.activefilters": "{count, plural, one {# Активний фільтр} other {# Активні фільтри}}", - "components.Discover.CreateSlider.addSlider": "Додати повзунок", - "components.Discover.tvgenres": "Жанри серіалів", - "components.Discover.tmdbmoviekeyword": "Ключове слово фільму TMDB", - "components.Discover.tmdbtvkeyword": "Ключове слово серіала TMDB", - "components.Discover.tmdbnetwork": "Телеканал TMDB", "components.Discover.networks": "Телеканали", - "components.Discover.tmdbtvgenre": "Жанр серіала TMDB", - "components.Discover.tmdbstudio": "Студія TMDB", - "components.Discover.tmdbtvstreamingservices": "Сервіси потокового передавання серіалів TMDB", - "components.Discover.tmdbmoviestreamingservices": "Сервіси потокової передачі фільмів TMDB", - "components.Discover.resetfailed": "Щось пішло не так під час скидання налаштувань Discover.", - "components.Discover.tmdbsearch": "Пошук TMDB", - "components.Discover.CreateSlider.searchKeywords": "Ключові слова пошуку…", - "components.Discover.tmdbmoviegenre": "Жанр фільму TMDB", - "components.Discover.updatesuccess": "Оновлено параметри налаштування Discover.", - "components.Discover.resetsuccess": "Успішно скинуто параметри налаштування.", - "components.Discover.updatefailed": "Під час оновлення налаштувань Discover сталася помилка.", - "components.Selector.showmore": "Показати більше", - "components.Selector.searchGenres": "Виберіть жанри…", - "components.Selector.searchStudios": "Пошук студій…", - "components.Discover.CreateSlider.addcustomslider": "Створити власний повзунок", - "components.Selector.showless": "Показати менше", - "components.Selector.starttyping": "Початок введення для пошуку.", - "components.Selector.searchKeywords": "Пошук за ключовими словами…", - "components.Selector.nooptions": "Немає результатів.", "components.Discover.resettodefault": "Скинути за замовчуванням", - "components.Settings.SettingsJobsCache.availability-sync": "Синхронізація доступності медіа", + "components.Discover.tmdbsearch": "Пошук TMDB", + "components.Discover.tmdbtvstreamingservices": "Сервіси потокового передавання серіалів TMDB", + "components.Layout.Sidebar.browsemovies": "Фільми", + "components.Layout.Sidebar.browsetv": "Серіали", + "components.Layout.UserWarnings.emailInvalid": "Адреса електронної пошти недійсна.", + "components.Login.saving": "Додавання…", + "components.Login.validationhostformat": "Потрібна дійсна URL-адреса", + "components.Login.validationusernamerequired": "Потрібно ім'я користувача", + "components.ManageSlideOver.removearr": "Видалити з {arr}", + "components.MovieDetails.openradarr": "Відкрити фільм у Radarr", + "components.Selector.nooptions": "Немає результатів.", + "components.Selector.searchGenres": "Виберіть жанри…", + "components.Settings.Notifications.NotificationsPushover.deviceDefault": "Пристрій за замовчуванням", + "components.Settings.Notifications.userEmailRequired": "Потрібен email користувача", "components.Settings.RadarrModal.tagRequestsInfo": "Автоматично додавати додатковий тег з ID та іменем користувача, який запитує", - "components.Settings.SettingsJobsCache.editJobScheduleSelectorSeconds": "Кожну {jobScheduleSeconds, plural, one {секунду} other {{jobScheduleSeconds} секунд}}", - "components.Settings.RadarrModal.tagRequests": "Теги запитів", - "components.Settings.SettingsMain.hideAvailable": "Приховати доступні медіа", - "components.Settings.SettingsMain.regionTip": "Фільтрувати вміст за регіональною доступністю", - "components.Settings.SettingsMain.region": "Регіон для пошуку фільмів та серіалів", - "components.Settings.SettingsMain.trustProxy": "Увімкнути підтримку проксі", - "components.Settings.SettingsMain.toastSettingsSuccess": "Налаштування успішно збережено!", - "components.Settings.SettingsMain.locale": "Мова інтерфейсу", - "components.Settings.SettingsMain.applicationTitle": "Назва програми", - "components.Settings.SettingsMain.originallanguage": "Мови для пошуку фільмів та серіалів", - "components.Settings.SettingsMain.csrfProtection": "Увімкнути захист CSRF", - "components.Settings.SettingsMain.toastApiKeyFailure": "Під час створення нового ключа API сталася помилка.", - "components.Settings.SettingsMain.originallanguageTip": "Фільтрувати вміст за мовою оригіналу", - "components.Settings.SettingsMain.cacheImagesTip": "Кешувати зображення із зовнішніх джерел (потрібний значний об'єм дискового простору)", - "components.Settings.SettingsMain.trustProxyTip": "Дозволити Overseerr правильно реєструвати IP-адреси клієнтів за проксі-сервером", - "components.Settings.SettingsMain.generalsettings": "Загальні налаштування", - "components.Settings.SettingsMain.validationApplicationUrlTrailingSlash": "URL-адреса не має закінчуватися скісною рискою", - "components.Settings.SettingsMain.apikey": "Ключ API", - "components.Settings.SettingsMain.generalsettingsDescription": "Налаштуйте глобальні параметри і параметри за замовчуванням для Overseerr.", - "components.Settings.SettingsMain.toastApiKeySuccess": "Новий ключ API успішно згенеровано!", - "components.Settings.SettingsMain.cacheImages": "Увімкнути кешування зображень", - "components.Settings.SettingsMain.applicationurl": "URL програми", - "components.Settings.SettingsMain.general": "Загальні", - "components.Settings.SettingsMain.csrfProtectionHoverTip": "НЕ вмикайте цей параметр, якщо ви не розумієте, що робите!", - "components.Settings.SettingsMain.partialRequestsEnabled": "Дозволити запитувати серіали частково", - "components.Settings.SettingsMain.toastSettingsFailure": "Під час збереження налаштувань сталася помилка.", - "components.Settings.SettingsMain.validationApplicationUrl": "Ви повинні вказати дійсну URL-адресу", - "components.Settings.SettingsMain.validationApplicationTitle": "Ви повинні вказати назву програми", + "components.Settings.SettingsAbout.supportjellyseerr": "Підтримайте Jellyseerr", "components.Settings.SettingsMain.csrfProtectionTip": "Встановіть доступ до зовнішнього API лише для читання (потрібний HTTPS)", - "components.Discover.DiscoverTvKeyword.keywordSeries": "{keywordTitle} Серіали", - "components.Discover.CreateSlider.editsuccess": "Відредаговано повзунок і збережено налаштування Discover.", - "components.Discover.CreateSlider.slidernameplaceholder": "Назва повзунка", + "components.Settings.internalUrl": "Внутрішня URL-адреса", + "components.Settings.SettingsJobsCache.availability-sync": "Синхронізація доступності медіа", + "components.Settings.SettingsJobsCache.editJobScheduleSelectorSeconds": "Кожну {jobScheduleSeconds, plural, one {секунду} other {{jobScheduleSeconds} секунд}}", + "components.Settings.SettingsMain.apikey": "Ключ API", + "components.Settings.SettingsMain.toastApiKeyFailure": "Під час створення нового ключа API сталася помилка.", + "components.UserProfile.UserSettings.UserNotificationSettings.deviceDefault": "Пристрій за замовчуванням", + "components.UserList.noJellyfinuserstoimport": "Немає користувачів {mediaServerName} для імпорту.", + "components.UserList.importfromJellyfinerror": "Під час імпорту користувачів з {mediaServerName} сталася помилка.", + "components.Settings.SettingsMain.cacheImagesTip": "Кешувати зображення із зовнішніх джерел (потрібний значний об'єм дискового простору)", + "components.Settings.SettingsMain.validationApplicationTitle": "Ви повинні вказати назву програми", + "components.Settings.SonarrModal.seriesType": "Тип серіалу", + "components.UserProfile.UserSettings.UserGeneralSettings.mediaServerUser": "Користувач {mediaServerName}", + "components.TitleCard.watchlistError": "Щось пішло не так, повторіть спробу.", + "components.Settings.SettingsMain.generalsettingsDescription": "Налаштуйте глобальні параметри та параметри за замовчуванням для Jellyseerr.", + "components.Settings.SettingsMain.originallanguageTip": "Фільтрувати вміст за мовою оригіналу", + "components.Settings.SettingsMain.trustProxy": "Увімкнути підтримку проксі", + "components.Settings.jellyfinSettingsFailure": "Під час збереження налаштувань {mediaServerName} сталася помилка.", + "components.UserProfile.UserSettings.UserGeneralSettings.save": "Зберегти зміни", + "components.TvDetails.play4k": "Відтворити 4K в {mediaServerName}", + "components.Discover.CreateSlider.providetmdbsearch": "Введіть пошуковий запит", + "components.Discover.FilterSlideover.streamingservices": "Сервіси потокового передавання", + "components.Discover.moviegenres": "Жанри фільмів", + "components.MovieDetails.play": "Відтворити в {mediaServerName}", + "components.MovieDetails.play4k": "Відтворити в {mediaServerName} у 4К", + "components.Selector.showless": "Згорнути", + "components.Discover.CreateSlider.addSlider": "Додати повзунок", + "components.Discover.CreateSlider.addcustomslider": "Створити власний повзунок", "components.Discover.CreateSlider.addfail": "Не вдалося створити новий повзунок.", - "components.Discover.CreateSlider.needresults": "Ви повинні мати принаймні 1 результат.", + "components.Discover.DiscoverSliderEdit.deletefail": "Не вдалося видалити повзунок.", + "components.Discover.DiscoverSliderEdit.deletesuccess": "Повзунок успішно видалено.", + "components.Discover.CreateSlider.addsuccess": "Створено новий повзунок і збережено параметри налаштування Discover.", "components.Discover.CreateSlider.editSlider": "Редагувати повзунок", "components.Discover.CreateSlider.editfail": "Не вдалося відредагувати повзунок.", - "components.Discover.CreateSlider.addsuccess": "Створено новий повзунок і збережено параметри налаштування Discover.", - "components.Discover.PlexWatchlistSlider.emptywatchlist": "Медіа додано до вашого списку перегляду Plex.", - "components.Settings.Notifications.NotificationsPushover.sound": "Звук сповіщення", - "components.Discover.customizediscover": "Налаштувати Discover", - "components.Discover.createnewslider": "Створити новий повзунок", - "components.Discover.FilterSlideover.firstAirDate": "Дата виходу в ефір", - "components.Settings.Notifications.NotificationsPushover.deviceDefault": "Пристрій за замовчуванням", - "components.Settings.SonarrModal.tagRequests": "Теги запитів", - "components.Settings.SonarrModal.tagRequestsInfo": "Автоматично додавати додатковий тег з ID та іменем користувача, який запитує", - "components.Settings.SonarrModal.animeSeriesType": "Тип аніме-серіалу", - "components.Settings.SonarrModal.seriesType": "Тип серіалу", - "components.UserProfile.UserSettings.UserNotificationSettings.deviceDefault": "Пристрій за замовчуванням", - "i18n.collection": "Колекція", - "components.UserProfile.UserSettings.UserNotificationSettings.sound": "Звук сповіщення", - "components.Discover.DiscoverMovies.sortPopularityDesc": "Популярність за спаданням", - "components.Discover.DiscoverMovies.sortTmdbRatingAsc": "Рейтинг TMDB за зростанням", - "components.Discover.DiscoverMovies.sortReleaseDateDesc": "Дата випуску за спаданням", - "components.Discover.CreateSlider.providetmdbnetwork": "Введіть TMDB ID мережі", - "components.Discover.DiscoverMovies.sortPopularityAsc": "Популярність за зростанням", - "components.Discover.CreateSlider.validationDatarequired": "Ви повинні надати доступний для пошуку вміст.", - "components.Discover.CreateSlider.providetmdbstudio": "Введіть TMDB ID студії", - "components.Discover.DiscoverMovies.sortTitleDesc": "Назва (Я-А) за спаданням", - "components.Discover.CreateSlider.starttyping": "Початок введення для пошуку.", - "components.Discover.CreateSlider.providetmdbkeywordid": "Введіть TMDB ID ключового слова", - "components.Discover.CreateSlider.validationTitlerequired": "Ви повинні вказати назву.", - "components.Discover.DiscoverMovies.sortReleaseDateAsc": "Дата випуску за зростанням", - "components.Discover.DiscoverMovies.sortTmdbRatingDesc": "Рейтинг TMDB за спаданням", - "components.Discover.DiscoverMovies.sortTitleAsc": "Назва (А-Я) за зростанням", + "components.Discover.CreateSlider.editsuccess": "Відредаговано повзунок і збережено параметри налаштування Discover.", "components.Discover.CreateSlider.providetmdbgenreid": "Введіть TMDB ID жанру", - "components.Discover.DiscoverTv.sortTmdbRatingAsc": "Рейтинг TMDB за зростанням", + "components.Discover.CreateSlider.providetmdbkeywordid": "Введіть TMDB ID ключового слова", + "components.Discover.CreateSlider.providetmdbnetwork": "Введіть TMDB ID мережі", + "components.Discover.CreateSlider.providetmdbstudio": "Введіть TMDB ID студії", + "components.Discover.CreateSlider.slidernameplaceholder": "Назва повзунка", + "components.Discover.CreateSlider.validationDatarequired": "Ви повинні надати доступний для пошуку вміст.", + "components.Discover.DiscoverMovies.sortPopularityAsc": "Популярність за зростанням", + "components.Discover.DiscoverMovies.sortPopularityDesc": "Популярність за спаданням", + "components.Discover.DiscoverMovies.sortReleaseDateAsc": "Дата випуску за зростанням", + "components.Discover.DiscoverMovies.sortReleaseDateDesc": "Дата випуску за спаданням", + "components.Discover.DiscoverMovies.sortTitleAsc": "Назва (А-Я) за зростанням", + "components.Discover.DiscoverMovies.sortTitleDesc": "Назва (Я-А) за спаданням", + "components.Discover.DiscoverMovies.sortTmdbRatingAsc": "Рейтинг TMDB за зростанням", + "components.Discover.DiscoverMovies.sortTmdbRatingDesc": "Рейтинг TMDB за спаданням", "components.Discover.DiscoverTv.sortFirstAirDateAsc": "Дата виходу в ефір за зростанням", - "components.Discover.DiscoverTv.sortTmdbRatingDesc": "Рейтинг TMDB за спаданням", - "components.Discover.DiscoverTv.sortPopularityAsc": "Популярність за зростанням", - "components.Discover.DiscoverTv.sortTitleAsc": "Назва (А-Я) за зростанням", "components.Discover.DiscoverTv.sortFirstAirDateDesc": "Дата виходу в ефір за спаданням", - "components.Discover.DiscoverSliderEdit.deletefail": "Не вдалося видалити повзунок.", - "components.Discover.DiscoverSliderEdit.enable": "Перемкнути видимість", - "components.Discover.DiscoverSliderEdit.deletesuccess": "Повзунок успішно видалено.", - "components.Discover.DiscoverTv.sortTitleDesc": "Назва (Я-А) за спаданням" + "components.Discover.DiscoverTv.sortPopularityAsc": "Популярність за зростанням", + "components.Discover.DiscoverTv.sortPopularityDesc": "Популярність за спаданням", + "components.Discover.DiscoverTv.sortTitleAsc": "Назва (А-Я) за зростанням", + "components.Discover.DiscoverTv.sortTitleDesc": "Назва (Я-А) за спаданням", + "components.Discover.DiscoverTv.sortTmdbRatingAsc": "Рейтинг TMDB за зростанням", + "components.Discover.DiscoverTv.sortTmdbRatingDesc": "Рейтинг TMDB за спаданням", + "components.Discover.FilterSlideover.firstAirDate": "Дата виходу в ефір", + "components.Discover.createnewslider": "Створити новий повзунок", + "components.Discover.customizediscover": "Налаштувати Discover", + "components.Discover.resetfailed": "Щось пішло не так під час скидання налаштувань Discover.", + "components.Discover.resetsuccess": "Успішно скинуто параметри налаштування.", + "components.Discover.resetwarning": "Скинути всі повзунки до стандартних. Це також видалить будь-які спеціальні повзунки!", + "components.Discover.stopediting": "Зупинити редагування", + "components.Discover.updatefailed": "Під час оновлення налаштувань Discover сталася помилка.", + "components.Discover.updatesuccess": "Оновлено параметри налаштування Discover.", + "components.Login.credentialerror": "Ім'я користувача або пароль неправильні.", + "components.Login.description": "Оскільки ви вперше входите в {applicationName}, вам потрібно додати дійсну адресу електронної пошти.", + "components.Login.validationEmailFormat": "Невірний email", + "components.Login.validationEmailRequired": "Ви повинні вказати адресу електронної пошти", + "components.Login.validationemailformat": "Потрібен дійсний email", + "components.Layout.UserWarnings.emailRequired": "Потрібно вказати адресу електронної пошти.", + "components.Login.emailtooltip": "Адресу не потрібно пов’язувати з вашим {mediaServerName} сервером.", + "components.Login.validationhostrequired": "Необхідна URL-адреса {mediaServerName}", + "components.ManageSlideOver.manageModalRemoveMediaWarning": "* Це безповоротно видалить цей {mediaType} з {arr}, включаючи всі файли.", + "components.Selector.showmore": "Показати більше", + "components.Settings.RadarrModal.tagRequests": "Теги запитів", + "components.Settings.SonarrModal.tagRequests": "Теги запитів", + "components.Setup.configuremediaserver": "Налаштуйте медіасервер", + "components.Settings.jellyfinsettingsDescription": "Налаштуйте свій {mediaServerName} сервер. {mediaServerName} відсканує бібліотеки, щоб побачити, які бібліотеки доступні.", + "components.Settings.manualscanJellyfin": "Сканувати бібліотеки вручну", + "components.Settings.menuJellyfinSettings": "{mediaServerName}", + "components.Settings.jellyfinlibrariesDescription": "Бібліотеки {mediaServerName} перевіряються на наявність заголовків. Натисніть нижче, якщо в списку не вистачає бібліотек.", + "components.Settings.saving": "Збереження…", + "components.Settings.syncJellyfin": "Синхронізувати бібліотеки", + "components.Settings.syncing": "Синхронізація", + "components.Setup.signin": "Увійти", + "components.Setup.signinWithJellyfin": "Використовуйте свій {mediaServerName} обліковий запис", + "components.TitleCard.addToWatchList": "Додати в список перегляду", + "components.TitleCard.watchlistSuccess": "{title} успішно додано до списку перегляду!", + "components.UserList.importedfromJellyfin": "{userCount} {mediaServerName} {userCount, plural, one {user} other {users}} успішно імпортовано!", + "components.UserList.importfromJellyfin": "Додати користувачів з {mediaServerName}", + "components.Settings.manualscanDescriptionJellyfin": "Зазвичай це запускається лише раз на 24 години. Jellyseerr перевірятиме нещодавно доданий сервер {mediaServerName} більш агресивно. Якщо ви вперше налаштовуєте Jellyseerr, рекомендується одноразове повне сканування бібліотеки вручну!", + "components.Settings.save": "Зберегти зміни", + "components.TitleCard.watchlistDeleted": "{title} Успішно видалено зі списку перегляду!", + "components.UserList.newJellyfinsigninenabled": "Параметр Увімкнути новий вхід на {mediaServerName} наразі ввімкнено. Користувачам {mediaServerName} із доступом до бібліотеки не потрібно імпортувати, щоб увійти.", + "components.UserProfile.localWatchlist": "Список перегляду {username}", + "components.Settings.jellyfinSettingsDescription": "Додатково налаштуйте внутрішні та зовнішні кінцеві точки для вашого сервера {mediaServerName}. У більшості випадків зовнішня URL-адреса відрізняється від внутрішньої URL-адреси. Для входу в систему {mediaServerName} також можна встановити спеціальну URL-адресу скидання пароля, якщо ви хочете переспрямувати на іншу сторінку скидання пароля.", + "components.Settings.SonarrModal.tagRequestsInfo": "Автоматично додавати додатковий тег з ID та іменем користувача, який запитує" } diff --git a/src/i18n/locale/zh_Hans.json b/src/i18n/locale/zh_Hans.json index 0ea93511..b09b93d3 100644 --- a/src/i18n/locale/zh_Hans.json +++ b/src/i18n/locale/zh_Hans.json @@ -397,7 +397,7 @@ "components.UserProfile.UserSettings.UserPasswordChange.password": "密码设置", "components.UserProfile.UserSettings.UserPasswordChange.nopermissionDescription": "你无权设置此用户的密码。", "components.UserProfile.UserSettings.UserPasswordChange.noPasswordSetOwnAccount": "你的帐户目前没有设置密码。在下方配置密码,使你能够作为“本地用户”登录。", - "components.UserProfile.UserSettings.UserPasswordChange.noPasswordSet": "此用户帐户目前没有设置密码。在下方配置密码,使该帐户能够作为“本地用户”登录。", + "components.UserProfile.UserSettings.UserPasswordChange.noPasswordSet": "此用户帐户目前没有设置密码。配置下面的密码以使此帐户能够作为“本地用户”登录。", "components.UserProfile.UserSettings.UserPasswordChange.newpassword": "新密码", "components.UserProfile.UserSettings.UserPasswordChange.currentpassword": "当前的密码", "components.UserProfile.UserSettings.UserPasswordChange.confirmpassword": "确认密码", @@ -766,14 +766,14 @@ "components.RequestButton.viewrequest": "查看请求", "components.RequestButton.requestmore4k": "再提交 4K 请求", "components.RequestButton.requestmore": "提交更多季数的请求", - "components.RequestButton.declinerequests": "拒绝{requestCount, plural, one {请求} other {{requestCount} 个请求}}", + "components.RequestButton.declinerequests": "拒绝{requestCount, plural, one {Request} other {{requestCount} Requests}}", "components.RequestButton.declinerequest4k": "拒绝 4K 请求", "components.RequestButton.declinerequest": "拒绝请求", - "components.RequestButton.decline4krequests": "拒绝{requestCount, plural, one { 4K 请求} other { {requestCount} 个 4K 请求}}", - "components.RequestButton.approverequests": "批准{requestCount, plural, one {请求} other {{requestCount} 个请求}}", + "components.RequestButton.decline4krequests": "拒绝 {requestCount, plural, one {4K Request} other {{requestCount} 4K Requests}}", + "components.RequestButton.approverequests": "批准 {requestCount, plural, one {Request} other {{requestCount} Requests}}", "components.RequestButton.approverequest4k": "批准 4K 请求", "components.RequestButton.approverequest": "批准请求", - "components.RequestButton.approve4krequests": "批准{requestCount, plural, one { 4K 请求} other { {requestCount} 个 4K 请求}}", + "components.RequestButton.approve4krequests": "批准 {requestCount, plural, one {4K Request} other {{requestCount} 4K Requests}}", "components.RequestBlock.server": "目標服务器", "components.RequestBlock.seasons": "季数", "components.RequestBlock.rootfolder": "根目录", @@ -782,10 +782,10 @@ "components.RegionSelector.regionServerDefault": "默认设置({region})", "components.RegionSelector.regionDefault": "所有地区", "components.QuotaSelector.unlimited": "无限", - "components.QuotaSelector.tvRequests": "每 {quotaDays} {days} {quotaLimit} {seasons}", + "components.QuotaSelector.tvRequests": "{quotaLimit} {seasons} 每 {quotaDays} {days}", "components.QuotaSelector.seasons": "季", "components.QuotaSelector.movies": "部电影", - "components.QuotaSelector.movieRequests": "每 {quotaDays} {days} {quotaLimit} {movies}", + "components.QuotaSelector.movieRequests": "{quotaLimit} {movies} 每 {quotaDays} {days}", "components.QuotaSelector.days": "天", "components.PlexLoginButton.signinwithplex": "登入", "components.PlexLoginButton.signingin": "登入中…", @@ -900,7 +900,7 @@ "components.Settings.Notifications.NotificationsGotify.toastGotifyTestFailed": "Gotify 测试通知发送失败。", "components.Settings.Notifications.NotificationsGotify.toastGotifyTestSending": "Gotify测试通知发送中…", "components.Settings.Notifications.enableMentions": "允许提及", - "components.Settings.SettingsJobsCache.editJobScheduleSelectorMinutes": "每 {jobScheduleMinutes} 分钟", + "components.Settings.SettingsJobsCache.editJobScheduleSelectorMinutes": "每 {jobScheduleMinutes, plural, one {minute} other {{jobScheduleMinutes} minutes}}", "components.UserProfile.UserSettings.UserNotificationSettings.pushoverApplicationToken": "应用 API 令牌", "components.UserList.newplexsigninenabled": "允许新的 Plex 用户登录 设置目前已启用。还没有导入的Plex用户也能登录。", "components.UserProfile.UserSettings.UserNotificationSettings.pushoversettingsfailed": "Pushover 通知设置保存失败。", @@ -909,7 +909,7 @@ "components.Settings.RadarrModal.inCinemas": "已上映", "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletAccessTokenTip": "从您的账号设置获取API令牌", "components.Settings.SettingsAbout.appDataPath": "数据目录", - "components.Settings.SettingsJobsCache.editJobScheduleSelectorHours": "每 {jobScheduleHours} 小时", + "components.Settings.SettingsJobsCache.editJobScheduleSelectorHours": "每 {jobScheduleHours, plural, one {hour} other {{jobScheduleHours} hours}}", "components.Settings.tautulliSettings": "Tautulli 设置", "components.Settings.tautulliSettingsDescription": "关于 Tautulli 服务器的设置。Jellyseerr 会从 Tautulli 获取 Plex 媒体的观看历史记录。", "components.UserProfile.UserSettings.UserGeneralSettings.discordId": "Discord 用户ID", @@ -1063,8 +1063,8 @@ "components.Settings.restartrequiredTooltip": "必须重新启动 Jellyseerr 才能使更改的设置生效", "components.TvDetails.manageseries": "管理电视节目", "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseriestip": "自动请求您的 Plex 关注列表的媒体", - "components.AirDateBadge.airedrelative": "播出{relativeTime}", - "components.AirDateBadge.airsrelative": "播出{relativeTime}", + "components.AirDateBadge.airedrelative": "{relativeTime}播出", + "components.AirDateBadge.airsrelative": "{relativeTime}播出", "components.Layout.UserDropdown.MiniQuotaDisplay.movierequests": "电影请求", "components.Layout.UserDropdown.MiniQuotaDisplay.seriesrequests": "电视节目请求", "components.NotificationTypeSelector.mediaautorequestedDescription": "当 Plex 关注列表中的项目自动提交新媒体请求时,会收到通知。", @@ -1203,7 +1203,7 @@ "components.Discover.PlexWatchlistSlider.emptywatchlist": "您的 Plex 关注列表中的媒体会显示在这里。", "components.Selector.starttyping": "开始打字以进行搜索。", "components.Discover.CreateSlider.starttyping": "开始打字以进行搜索。", - "components.Discover.CreateSlider.needresults": "需要至少有 1 个结果。", + "components.Discover.CreateSlider.needresults": "你需要至少有 1 个结果。", "components.Selector.showless": "显示更少", "components.Discover.resetfailed": "重置探索媒体设置时出了点问题。", "components.Settings.SettingsMain.validationApplicationTitle": "你必须提供一个应用程序标题", @@ -1253,7 +1253,7 @@ "components.Settings.SettingsJobsCache.availability-sync": "同步媒体可用性", "components.Discover.tmdbmoviestreamingservices": "TMDB 电影流媒体服务", "components.Discover.tmdbtvstreamingservices": "TMDB 电视流媒体服务", - "components.Settings.SettingsJobsCache.editJobScheduleSelectorSeconds": "每 {jobScheduleSeconds} 秒", + "components.Settings.SettingsJobsCache.editJobScheduleSelectorSeconds": "每 {jobScheduleSeconds, plural, one {second} other {{jobScheduleSeconds} seconds}}", "components.Discover.FilterSlideover.voteCount": "在 {minValue} 和 {maxValue} 之间的评分数", "components.Settings.RadarrModal.tagRequests": "标签请求", "components.Settings.RadarrModal.tagRequestsInfo": "自动添加带有请求者的用户 ID 和显示名称的附加标签", @@ -1261,11 +1261,83 @@ "i18n.collection": "合集", "components.Discover.FilterSlideover.tmdbuservotecount": "TMDB 用户评分数", "components.Settings.SonarrModal.tagRequestsInfo": "自动添加带有请求者的用户 ID 和显示名称的附加标签", - "components.MovieDetails.imdbuserscore": "IMDB 用户评分", - "components.Settings.Notifications.NotificationsPushover.sound": "通知提示音", - "components.UserProfile.UserSettings.UserNotificationSettings.deviceDefault": "默认设备", - "components.Settings.SonarrModal.animeSeriesType": "动漫剧集类型", - "components.Settings.SonarrModal.seriesType": "剧集类型", - "components.UserProfile.UserSettings.UserNotificationSettings.sound": "通知提示音", - "components.Settings.Notifications.NotificationsPushover.deviceDefault": "默认设备" + "components.Layout.UserWarnings.passwordRequired": "需要输入密码。", + "components.Login.emailtooltip": "地址不需要与{mediaServerName}实例相关联。", + "components.Login.host": "{mediaServerName} 的 URL", + "components.Login.initialsignin": "连接", + "components.Login.initialsigningin": "连接中……", + "components.Login.save": "添加", + "components.Login.saving": "添加中……", + "components.Login.signinwithjellyfin": "使用您的{mediaServerName}帐户", + "components.Login.title": "添加邮件", + "components.Login.username": "用户名", + "components.Login.validationEmailFormat": "无效的邮件地址", + "components.Login.validationEmailRequired": "你必须提供一个电子邮件", + "components.Login.validationemailformat": "需要有效的电子邮件", + "components.Login.validationhostformat": "需要有效的URL", + "components.Login.validationusernamerequired": "需要用户名", + "components.ManageSlideOver.manageModalRemoveMediaWarning": "* 这将不可逆地从{arr}中删除{mediaType},包括所有文件。", + "components.ManageSlideOver.removearr4k": "移除4K {arr}", + "components.MovieDetails.downloadstatus": "下载状态", + "components.MovieDetails.imdbuserscore": "IMDB用户评分", + "components.MovieDetails.openradarr": "在Radarr中打开电影", + "components.MovieDetails.play": "播放{mediaServerName}", + "components.MovieDetails.play4k": "播放 4K {mediaServerName}", + "components.Settings.Notifications.NotificationsPushover.sound": "通知声音", + "components.Settings.SettingsJobsCache.jellyfin-full-scan": "Jellyfin全库扫描", + "components.Settings.SonarrModal.seriesType": "系列类型", + "components.Settings.jellyfinSettingsFailure": "保存{mediaServerName}设置时出错。", + "components.Settings.jellyfinSettingsSuccess": "{mediaServerName}设置保存成功!", + "components.Settings.jellyfinlibraries": "{mediaServerName}库", + "components.Settings.jellyfinlibrariesDescription": "库{mediaServerName}用于扫描标题。如果没有列出库,请单击下面的按钮。", + "components.Settings.jellyfinsettings": "{mediaServerName}设置", + "components.Settings.manualscanJellyfin": "手动扫描库", + "components.Settings.menuJellyfinSettings": "{mediaServerName}", + "components.Settings.saving": "保存中……", + "components.Settings.syncJellyfin": "同步库", + "components.Settings.syncing": "同步中", + "components.Settings.timeout": "超时", + "components.Setup.signin": "登录", + "components.Setup.signinWithJellyfin": "使用您的{mediaServerName}帐户", + "components.TitleCard.addToWatchList": "添加到监视列表", + "components.TitleCard.watchlistDeleted": "{title}从监视列表中删除成功!", + "components.TitleCard.watchlistError": "出了问题,再试一次。", + "components.TvDetails.play": "在 {mediaServerName} 播放", + "components.TvDetails.play4k": "mediaServerName} 播放 4K", + "components.UserList.importfrommediaserver": "导入{mediaServerName}用户", + "components.UserList.mediaServerUser": "{mediaServerName} 用户", + "components.UserList.noJellyfinuserstoimport": "在{mediaServerName}中没有用户要导入。", + "components.UserList.newJellyfinsigninenabled": "启用 {mediaServerName} 登录 设置当前已启用. {mediaServerName} 具有库访问权限的用户不需要导入即可登录。", + "components.UserProfile.UserSettings.UserGeneralSettings.mediaServerUser": "{mediaServerName} 用户", + "components.UserProfile.UserSettings.UserNotificationSettings.deviceDefault": "设备默认", + "components.Layout.UserWarnings.emailInvalid": "邮件地址无效。", + "components.Layout.UserWarnings.emailRequired": "需要填写电子邮件地址。", + "components.Login.credentialerror": "用户名或密码错误。", + "components.Login.description": "由于这是您第一次登录{applicationName},您需要添加一个有效的电子邮件地址。", + "components.Login.validationhostrequired": "{mediaServerName} URL是必需的", + "components.ManageSlideOver.removearr": "从{arr}中删除", + "components.MovieDetails.openradarr4k": "在 4K Radarr 中打开电影", + "components.Settings.Notifications.NotificationsPushover.deviceDefault": "设备默认", + "components.Settings.Notifications.userEmailRequired": "获取用户邮箱", + "components.Settings.SettingsAbout.supportjellyseerr": "支持Jellyseerr", + "components.Settings.SettingsJobsCache.jellyfin-recently-added-scan": "Jellyfin最近新增扫描", + "components.Settings.SonarrModal.animeSeriesType": "动漫系列", + "components.Settings.internalUrl": "内部URL", + "components.Settings.jellyfinSettings": "{mediaServerName}设置", + "components.Settings.jellyfinSettingsDescription": "可以为您的{mediaServerName}服务器配置内部和外部端点。在大多数情况下,外部URL与内部URL不同。如果你想重定向到不同的密码重置页面,也可以为{mediaServerName}登录设置自定义密码重置URL。", + "components.Settings.jellyfinsettingsDescription": "配置{mediaServerName}服务器的设置。{mediaServerName}扫描{mediaServerName}库以查看可用的内容。", + "components.Settings.manualscanDescriptionJellyfin": "正常情况下,每24小时只会运行一次。Jellyseerr将更积极地检查您的{mediaServerName}服务器最近添加的内容。如果这是您第一次配置Jellyseerr,建议您手动进行一次完整的库扫描!", + "components.Settings.save": "保存更改", + "components.Setup.configuremediaserver": "配置媒体服务器", + "components.Setup.signinWithPlex": "使用您的 Plex 帐户", + "components.TitleCard.watchlistCancel": "{title}的监视列表已取消。", + "components.TitleCard.watchlistSuccess": "{title}添加到监视列表成功!", + "components.UserList.importfromJellyfin": "导入{mediaServerName}用户", + "components.UserProfile.UserSettings.UserGeneralSettings.email": "电子邮件", + "components.UserProfile.UserSettings.UserGeneralSettings.save": "保存更改", + "components.UserList.importfromJellyfinerror": "导入{mediaServerName}用户时出错。", + "components.UserProfile.UserSettings.UserNotificationSettings.sound": "通知声音", + "components.UserProfile.UserSettings.UserGeneralSettings.saving": "保存中……", + "components.UserProfile.localWatchlist": "{username}的监视列表", + "components.UserList.importedfromJellyfin": "{userCount} {mediaServerName} {userCount, plural, one {user} other {users}} 导入成功!" }