From 99849e4a5ed252f9d80e2c84e1442f227c5ef735 Mon Sep 17 00:00:00 2001 From: Cedrik Hoffmann Date: Mon, 27 May 2024 11:11:12 +0200 Subject: [PATCH 001/193] fix: change develop ingress hostname --- k8s/values/develop.yaml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/k8s/values/develop.yaml b/k8s/values/develop.yaml index 42f7158..54c965c 100644 --- a/k8s/values/develop.yaml +++ b/k8s/values/develop.yaml @@ -6,3 +6,15 @@ deployment: repository: ghcr.io/smartcityflensburg/project-website-dev pullPolicy: Always tag: latest + +ingress: + enabled: true + hosts: + - host: develop.green-ecolution.de + paths: + - path: / + pathType: ImplementationSpecific + service: + name: project-website + port: 80 + tls: [] From 0ceefbca02247f05f4774701fe4f0365693e14a1 Mon Sep 17 00:00:00 2001 From: Cedrik Hoffmann Date: Mon, 27 May 2024 12:27:30 +0200 Subject: [PATCH 002/193] ci: add commit sha on develop package --- .github/workflows/build-and-push-develop.yml | 50 +++++++++++++++++++- 1 file changed, 48 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-and-push-develop.yml b/.github/workflows/build-and-push-develop.yml index 8f8a10c..9134bf2 100644 --- a/.github/workflows/build-and-push-develop.yml +++ b/.github/workflows/build-and-push-develop.yml @@ -8,13 +8,17 @@ jobs: build_and_deploy_dev: runs-on: ubuntu-latest permissions: - contents: read + contents: write packages: write actions: write steps: - name: Checkout code uses: actions/checkout@v4 + - name: Extract version from branch name (for release branches) + run: | + echo "COMMIT_SHA=$(git rev-parse --short $GITHUB_SHA)" >> $GITHUB_ENV + - name: Set up QEMU uses: docker/setup-qemu-action@v3 @@ -41,4 +45,46 @@ jobs: file: ./.docker/Dockerfile.dev platforms: linux/amd64,linux/arm64 push: true - tags: ghcr.io/${{ env.REPO_LC }}-dev:latest + tags: ghcr.io/${{ env.REPO_LC }}-dev:latest, ghcr.io/${{ env.REPO_LC }}-dev:${{ env.COMMIT_SHA }} + + change_helm_version: + runs-on: ubuntu-latest + permissions: + contents: write + packages: write + actions: write + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Extract version from branch name (for release branches) + run: | + echo "COMMIT_SHA=$(git rev-parse --short $GITHUB_SHA)" >> $GITHUB_ENV + + - name: "Setup yq" + uses: dcarbone/install-yq-action@v1.1.1 + with: + version: "v4.42.1" + force: true + + - name: Initialize mandatory git config + run: | + git config user.name "Cedrik Hoffmann" + git config user.email github@choffmann.io + + - name: Bump version in develop/values.yaml + run: yq -i '.deployment.image.tag=strenv(env.COMMIT_SHA)' ./k8s/values/develop.yaml + + - name: Commit k8s values files + id: make-commit + run: | + git add ./k8s/values/develop.yaml + git commit --message "Update dev image" + + echo "::set-output name=commit::$(git rev-parse HEAD)" + + - name: Push changes + uses: CasperWA/push-protected@v2 + with: + token: ${{ secrets.GITHUB_TOKEN }} + branch: develop From 2015fa88cd88f8fd0e3214d5ce8dae4a9c5d4af8 Mon Sep 17 00:00:00 2001 From: Cedrik Hoffmann Date: Mon, 27 May 2024 11:16:59 +0000 Subject: [PATCH 003/193] Update dev image --- k8s/values/develop.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/k8s/values/develop.yaml b/k8s/values/develop.yaml index 54c965c..cb09b7d 100644 --- a/k8s/values/develop.yaml +++ b/k8s/values/develop.yaml @@ -5,8 +5,7 @@ deployment: image: repository: ghcr.io/smartcityflensburg/project-website-dev pullPolicy: Always - tag: latest - + tag: "" ingress: enabled: true hosts: From c24747eacf58e21e07bdb88befbe1df8f52a1920 Mon Sep 17 00:00:00 2001 From: Cedrik Hoffmann Date: Mon, 27 May 2024 13:20:56 +0200 Subject: [PATCH 004/193] ci: change pipeline --- .github/workflows/build-and-push-develop.yml | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/.github/workflows/build-and-push-develop.yml b/.github/workflows/build-and-push-develop.yml index 9134bf2..b732a8d 100644 --- a/.github/workflows/build-and-push-develop.yml +++ b/.github/workflows/build-and-push-develop.yml @@ -47,20 +47,6 @@ jobs: push: true tags: ghcr.io/${{ env.REPO_LC }}-dev:latest, ghcr.io/${{ env.REPO_LC }}-dev:${{ env.COMMIT_SHA }} - change_helm_version: - runs-on: ubuntu-latest - permissions: - contents: write - packages: write - actions: write - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Extract version from branch name (for release branches) - run: | - echo "COMMIT_SHA=$(git rev-parse --short $GITHUB_SHA)" >> $GITHUB_ENV - - name: "Setup yq" uses: dcarbone/install-yq-action@v1.1.1 with: @@ -73,7 +59,7 @@ jobs: git config user.email github@choffmann.io - name: Bump version in develop/values.yaml - run: yq -i '.deployment.image.tag=strenv(env.COMMIT_SHA)' ./k8s/values/develop.yaml + run: yq -i '.deployment.image.tag=strenv(COMMIT_SHA)' ./k8s/values/develop.yaml - name: Commit k8s values files id: make-commit From 0e6c186e66f7e89073e61b5cbec6e3121761ad13 Mon Sep 17 00:00:00 2001 From: Cedrik Hoffmann Date: Mon, 27 May 2024 11:23:24 +0000 Subject: [PATCH 005/193] Update dev image --- k8s/values/develop.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/k8s/values/develop.yaml b/k8s/values/develop.yaml index cb09b7d..0f86016 100644 --- a/k8s/values/develop.yaml +++ b/k8s/values/develop.yaml @@ -5,7 +5,7 @@ deployment: image: repository: ghcr.io/smartcityflensburg/project-website-dev pullPolicy: Always - tag: "" + tag: "c24747e" ingress: enabled: true hosts: From 889f5301daa62f61600b22c60c3c5aeb7bbba538 Mon Sep 17 00:00:00 2001 From: Cedrik Hoffmann Date: Mon, 27 May 2024 19:18:12 +0200 Subject: [PATCH 006/193] ci: change user to GitHub Actions --- .github/workflows/build-and-push-develop.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-and-push-develop.yml b/.github/workflows/build-and-push-develop.yml index b732a8d..276fb31 100644 --- a/.github/workflows/build-and-push-develop.yml +++ b/.github/workflows/build-and-push-develop.yml @@ -55,8 +55,8 @@ jobs: - name: Initialize mandatory git config run: | - git config user.name "Cedrik Hoffmann" - git config user.email github@choffmann.io + git config --global user.name 'GitHub Actions' + git config --global user.email 'noreply@github.com' - name: Bump version in develop/values.yaml run: yq -i '.deployment.image.tag=strenv(COMMIT_SHA)' ./k8s/values/develop.yaml From 09bbc9e9691d16f707cdedb820b508dab33978e5 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 27 May 2024 17:25:23 +0000 Subject: [PATCH 007/193] Update dev image --- k8s/values/develop.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/k8s/values/develop.yaml b/k8s/values/develop.yaml index 0f86016..524b99f 100644 --- a/k8s/values/develop.yaml +++ b/k8s/values/develop.yaml @@ -5,7 +5,7 @@ deployment: image: repository: ghcr.io/smartcityflensburg/project-website-dev pullPolicy: Always - tag: "c24747e" + tag: "889f530" ingress: enabled: true hosts: From 0a38ce90304a1d57f196a23a18a46606094da530 Mon Sep 17 00:00:00 2001 From: Cedrik Hoffmann Date: Mon, 27 May 2024 20:28:55 +0200 Subject: [PATCH 008/193] ci: change helm template service --- k8s/templates/service.yaml | 2 +- k8s/values/develop.yaml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/k8s/templates/service.yaml b/k8s/templates/service.yaml index 0cf99ee..4d5754e 100644 --- a/k8s/templates/service.yaml +++ b/k8s/templates/service.yaml @@ -11,4 +11,4 @@ spec: targetPort: {{ .Values.service.targetPort | default .Values.service.port }} protocol: {{ .Values.service.protocol | default "TCP"}} selector: - app: {{ .Values.service.name }} + app: {{ .Values.deployment.name }} diff --git a/k8s/values/develop.yaml b/k8s/values/develop.yaml index 524b99f..e408517 100644 --- a/k8s/values/develop.yaml +++ b/k8s/values/develop.yaml @@ -6,6 +6,7 @@ deployment: repository: ghcr.io/smartcityflensburg/project-website-dev pullPolicy: Always tag: "889f530" + ingress: enabled: true hosts: From 615395a0a0099f5f3329e37dbf18655272852b47 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 27 May 2024 18:31:21 +0000 Subject: [PATCH 009/193] Update dev image --- k8s/values/develop.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/k8s/values/develop.yaml b/k8s/values/develop.yaml index e408517..6e7e06a 100644 --- a/k8s/values/develop.yaml +++ b/k8s/values/develop.yaml @@ -5,8 +5,7 @@ deployment: image: repository: ghcr.io/smartcityflensburg/project-website-dev pullPolicy: Always - tag: "889f530" - + tag: "0a38ce9" ingress: enabled: true hosts: From e7b7aac708c586b51cb4ebc5d5006ce6315361b7 Mon Sep 17 00:00:00 2001 From: Cedrik Hoffmann Date: Mon, 27 May 2024 20:54:17 +0200 Subject: [PATCH 010/193] ci: fix some issues in workflow --- .github/workflows/build-and-push-develop.yml | 6 +- .github/workflows/build-and-push-stage.yml | 76 +++++++++++++++++++- .github/workflows/draft-new-release.yml | 50 ++++++++++++- k8s/values/develop.yaml | 1 + k8s/values/stage.yaml | 12 ++++ package.json | 2 +- 6 files changed, 137 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build-and-push-develop.yml b/.github/workflows/build-and-push-develop.yml index 276fb31..ff605c1 100644 --- a/.github/workflows/build-and-push-develop.yml +++ b/.github/workflows/build-and-push-develop.yml @@ -15,7 +15,7 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Extract version from branch name (for release branches) + - name: Set commit sha run: | echo "COMMIT_SHA=$(git rev-parse --short $GITHUB_SHA)" >> $GITHUB_ENV @@ -58,14 +58,14 @@ jobs: git config --global user.name 'GitHub Actions' git config --global user.email 'noreply@github.com' - - name: Bump version in develop/values.yaml + - name: Bump version in values/develop.yaml run: yq -i '.deployment.image.tag=strenv(COMMIT_SHA)' ./k8s/values/develop.yaml - name: Commit k8s values files id: make-commit run: | git add ./k8s/values/develop.yaml - git commit --message "Update dev image" + git commit --message "Update dev image to commit ${{ env.COMMIT_SHA }}" echo "::set-output name=commit::$(git rev-parse HEAD)" diff --git a/.github/workflows/build-and-push-stage.yml b/.github/workflows/build-and-push-stage.yml index 7b13654..002b075 100644 --- a/.github/workflows/build-and-push-stage.yml +++ b/.github/workflows/build-and-push-stage.yml @@ -1,5 +1,6 @@ name: Build and Push Docker Image Staging "on": + workflow_dispatch: push: branches: - release/* @@ -9,7 +10,7 @@ jobs: build_and_deploy_stage: runs-on: ubuntu-latest permissions: - contents: read + contents: write packages: write actions: write steps: @@ -37,6 +38,11 @@ jobs: echo "RELEASE_VERSION=$VERSION" >> $GITHUB_ENV + - name: Extract version from input (for manual workflow dispatch) + if: github.event_name == 'workflow_dispatch' + run: | + echo "RELEASE_VERSION=${{ github.event.inputs.version }}" >> $GITHUB_ENV + - name: Set up QEMU uses: docker/setup-qemu-action@v3 @@ -56,11 +62,75 @@ jobs: env: REPO: "${{ github.repository }}" - - name: Build and push + - name: Set commit sha + run: | + echo "COMMIT_SHA=$(git rev-parse --short $GITHUB_SHA)" >> $GITHUB_ENV + + - name: Build and push Version + if: github.event_name == 'push' + uses: docker/build-push-action@v5 + with: + context: . + file: ./.docker/Dockerfile.stage + platforms: linux/amd64,linux/arm64 + push: true + tags: ghcr.io/${{ env.REPO_LC }}-stage:${{ env.RELEASE_VERSION }}-preview, ghcr.io/${{ env.REPO_LC }}-stage:latest, ghcr.io/${{ env.REPO_LC }}-stage:${{ env.COMMIT_SHA }} + + - name: Build and push Version + if: github.event_name == 'workflow_dispatch' uses: docker/build-push-action@v5 with: context: . file: ./.docker/Dockerfile.stage platforms: linux/amd64,linux/arm64 push: true - tags: ghcr.io/${{ env.REPO_LC }}-stage:${{ env.RELEASE_VERSION }}-preview, ghcr.io/${{ env.REPO_LC }}-stage:lastest + tags: ghcr.io/${{ env.REPO_LC }}-stage:latest, ghcr.io/${{ env.REPO_LC }}-stage:${{ env.COMMIT_SHA }} + + - name: "Setup yq" + uses: dcarbone/install-yq-action@v1.1.1 + with: + version: "v4.42.1" + force: true + + - name: Initialize mandatory git config + run: | + git config --global user.name 'GitHub Actions' + git config --global user.email 'noreply@github.com' + + - name: Bump version in values/stage.yaml + run: yq -i '.deployment.image.tag=strenv(COMMIT_SHA)' ./k8s/values/stage.yaml + + - name: Commit k8s values files + id: make-commit + run: | + git add ./k8s/values/stage.yaml + git commit --message "Update stage image to commit ${{ env.COMMIT_SHA }}" + + echo "::set-output name=commit::$(git rev-parse HEAD)" + + - name: Push changes + uses: CasperWA/push-protected@v2 + if: github.event_name == 'push' + with: + token: ${{ secrets.GITHUB_TOKEN }} + branch: release/${{ github.event.inputs.version }} + + - name: Push changes + uses: CasperWA/push-protected@v2 + if: github.event_name == 'workflow_dispatch' + with: + token: ${{ secrets.GITHUB_TOKEN }} + branch: develop + + - name: Delete tag + uses: dev-drprasad/delete-tag-and-release@v1.1 + with: + tag_name: stage-deployment + delete_release: false + github_token: ${{ secrets.GITHUB_TOKEN }} + + - name: Create tag + run: git tag -fa 'stage-deployment' -m "Update tag to commit ${{ env.COMMIT_SHA }}" + + - name: Push tag + run: git push origin stage-deployment diff --git a/.github/workflows/draft-new-release.yml b/.github/workflows/draft-new-release.yml index 76d3aa8..1854931 100644 --- a/.github/workflows/draft-new-release.yml +++ b/.github/workflows/draft-new-release.yml @@ -66,7 +66,7 @@ jobs: build_and_deploy_stage: runs-on: ubuntu-latest permissions: - contents: read + contents: write packages: write actions: write steps: @@ -98,11 +98,55 @@ jobs: env: REPO: "${{ github.repository }}" + - name: Set commit sha + run: | + echo "COMMIT_SHA=$(git rev-parse --short $GITHUB_SHA)" >> $GITHUB_ENV + - name: Build and push Version uses: docker/build-push-action@v5 with: context: . - file: ./Dockerfile + file: ./.docker/Dockerfile.stage platforms: linux/amd64,linux/arm64 push: true - tags: ghcr.io/${{ env.REPO_LC }}-stage:${{ env.RELEASE_VERSION }}-preview, ghcr.io/${{ env.REPO_LC }}-stage:lastest + tags: ghcr.io/${{ env.REPO_LC }}-stage:${{ env.RELEASE_VERSION }}-preview, ghcr.io/${{ env.REPO_LC }}-stage:latest, ghcr.io/${{ env.REPO_LC }}-stage:${{ env.COMMIT_SHA }} + + - name: "Setup yq" + uses: dcarbone/install-yq-action@v1.1.1 + with: + version: "v4.42.1" + force: true + + - name: Initialize mandatory git config + run: | + git config --global user.name 'GitHub Actions' + git config --global user.email 'noreply@github.com' + + - name: Bump version in values/stage.yaml + run: yq -i '.deployment.image.tag=strenv(COMMIT_SHA)' ./k8s/values/stage.yaml + + - name: Commit k8s values files + id: make-commit + run: | + git add ./k8s/values/stage.yaml + git commit --message "Update stage image to commit ${{ env.COMMIT_SHA }}" + + echo "::set-output name=commit::$(git rev-parse HEAD)" + + - name: Push changes + uses: CasperWA/push-protected@v2 + with: + token: ${{ secrets.GITHUB_TOKEN }} + branch: release/${{ github.event.inputs.version }} + + - name: Delete tag + uses: dev-drprasad/delete-tag-and-release@v1.1 + with: + tag_name: stage-deployment + github_token: ${{ secrets.GITHUB_TOKEN }} + + - name: Create tag + run: git tag -fa 'stage-deployment' -m "Update tag to commit ${{ env.COMMIT_SHA }}" + + - name: Push tag + run: git push origin tag stage-deployment diff --git a/k8s/values/develop.yaml b/k8s/values/develop.yaml index 6e7e06a..c4584cf 100644 --- a/k8s/values/develop.yaml +++ b/k8s/values/develop.yaml @@ -6,6 +6,7 @@ deployment: repository: ghcr.io/smartcityflensburg/project-website-dev pullPolicy: Always tag: "0a38ce9" + ingress: enabled: true hosts: diff --git a/k8s/values/stage.yaml b/k8s/values/stage.yaml index 247d458..4029b11 100644 --- a/k8s/values/stage.yaml +++ b/k8s/values/stage.yaml @@ -6,3 +6,15 @@ deployment: repository: ghcr.io/smartcityflensburg/project-website-stage pullPolicy: Always tag: latest + +ingress: + enabled: true + hosts: + - host: stage.green-ecolution.de + paths: + - path: / + pathType: ImplementationSpecific + service: + name: project-website + port: 80 + tls: [] diff --git a/package.json b/package.json index e84af78..ad184d7 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "dev": "vite", "build": "tsc && vite build", "build:stage": "tsc && vite build --mode staging", - "build:dev": "tsc && vite build --mode develop", + "build:dev": "vite build --mode develop", "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", "preview": "vite preview" }, From b301f8cd289ca4238444bd649c92b14da4575de9 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 27 May 2024 20:08:32 +0000 Subject: [PATCH 011/193] Update dev image to commit e7b7aac --- k8s/values/develop.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/k8s/values/develop.yaml b/k8s/values/develop.yaml index c4584cf..387d3b3 100644 --- a/k8s/values/develop.yaml +++ b/k8s/values/develop.yaml @@ -5,8 +5,7 @@ deployment: image: repository: ghcr.io/smartcityflensburg/project-website-dev pullPolicy: Always - tag: "0a38ce9" - + tag: "e7b7aac" ingress: enabled: true hosts: From d7fcb397e051291f4621a8a060a82d65b7659417 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 27 May 2024 20:11:17 +0000 Subject: [PATCH 012/193] Update stage image to commit b301f8c --- k8s/values/stage.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/k8s/values/stage.yaml b/k8s/values/stage.yaml index 4029b11..a8c2eb0 100644 --- a/k8s/values/stage.yaml +++ b/k8s/values/stage.yaml @@ -5,8 +5,7 @@ deployment: image: repository: ghcr.io/smartcityflensburg/project-website-stage pullPolicy: Always - tag: latest - + tag: b301f8c ingress: enabled: true hosts: From 62bfce782946b28f0b20f15b7d41de023b794b14 Mon Sep 17 00:00:00 2001 From: Cedrik Hoffmann Date: Mon, 27 May 2024 22:19:58 +0200 Subject: [PATCH 013/193] feat: update changelog.md --- CHANGELOG.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ccd4be..a2b89c7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,19 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -## [v0.0.1] - 2024-05-26 - ### Changed -- Improve CI/CD pipeline +- Improve CI/CD pipeline for deployment, staging and production -## [0.0.0] - 2024-05-22 +## [v0.0.1] - 2024-05-26 -### Added +### Changed +- Improve CI/CD pipeline - Initial release - Create "Page under construction" Page [Unreleased]: https://github.com/SmartCityFlensburg/project-website/compare/v0.0.1...HEAD -[v0.0.1]: https://github.com/SmartCityFlensburg/project-website/compare/472d9c0...v0.0.1 +[v0.0.1]: https://github.com/SmartCityFlensburg/project-website/releases/tag/v0.0.1 From 953948a12cf90c0b3ee78c4a0fbad44132f2d67d Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 27 May 2024 20:27:19 +0000 Subject: [PATCH 014/193] Update dev image to commit 62bfce7 --- k8s/values/develop.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/k8s/values/develop.yaml b/k8s/values/develop.yaml index 387d3b3..2b432e5 100644 --- a/k8s/values/develop.yaml +++ b/k8s/values/develop.yaml @@ -5,7 +5,7 @@ deployment: image: repository: ghcr.io/smartcityflensburg/project-website-dev pullPolicy: Always - tag: "e7b7aac" + tag: "62bfce7" ingress: enabled: true hosts: From 69581a8859e156398569bd38c0e6e9eab10120e4 Mon Sep 17 00:00:00 2001 From: Cedrik Hoffmann Date: Wed, 29 May 2024 20:53:52 +0200 Subject: [PATCH 015/193] ci: change develop enviroment url to dev --- k8s/values/develop.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/k8s/values/develop.yaml b/k8s/values/develop.yaml index 2b432e5..768c9d8 100644 --- a/k8s/values/develop.yaml +++ b/k8s/values/develop.yaml @@ -9,7 +9,7 @@ deployment: ingress: enabled: true hosts: - - host: develop.green-ecolution.de + - host: dev.green-ecolution.de paths: - path: / pathType: ImplementationSpecific From c002aa42d3b5f627f7ee00c56b955a845af5fa62 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Wed, 29 May 2024 18:55:59 +0000 Subject: [PATCH 016/193] Update dev image to commit 69581a8 --- k8s/values/develop.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/k8s/values/develop.yaml b/k8s/values/develop.yaml index 768c9d8..a106dd2 100644 --- a/k8s/values/develop.yaml +++ b/k8s/values/develop.yaml @@ -5,7 +5,7 @@ deployment: image: repository: ghcr.io/smartcityflensburg/project-website-dev pullPolicy: Always - tag: "62bfce7" + tag: "69581a8" ingress: enabled: true hosts: From bfedf3104b4336d91e5c30e9f5d83e5c3b420cee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dorien=20Gr=C3=B6nwald?= Date: Fri, 31 May 2024 12:28:06 +0200 Subject: [PATCH 017/193] chore: add fonts, rename css files --- public/fonts/lato/Lato-Bold.ttf | Bin 0 -> 73332 bytes public/fonts/lato/Lato-Regular.ttf | Bin 0 -> 75152 bytes public/fonts/lato/Lato-SemiBold.ttf | Bin 0 -> 668548 bytes public/fonts/nunito-sans/NunitoSans-Bold.ttf | Bin 0 -> 113640 bytes .../fonts/nunito-sans/NunitoSans-Medium.ttf | Bin 0 -> 113736 bytes .../fonts/nunito-sans/NunitoSans-Regular.ttf | Bin 0 -> 113716 bytes .../fonts/nunito-sans/NunitoSans-SemiBold.ttf | Bin 0 -> 113692 bytes public/vite.svg | 1 - src/css/components/fonts.css | 55 ++++++++++++++++++ src/css/frontend.css | 1 + src/css/site.css | 4 ++ src/index.css | 3 - src/main.tsx | 2 +- 13 files changed, 61 insertions(+), 5 deletions(-) create mode 100644 public/fonts/lato/Lato-Bold.ttf create mode 100644 public/fonts/lato/Lato-Regular.ttf create mode 100644 public/fonts/lato/Lato-SemiBold.ttf create mode 100644 public/fonts/nunito-sans/NunitoSans-Bold.ttf create mode 100644 public/fonts/nunito-sans/NunitoSans-Medium.ttf create mode 100644 public/fonts/nunito-sans/NunitoSans-Regular.ttf create mode 100644 public/fonts/nunito-sans/NunitoSans-SemiBold.ttf delete mode 100644 public/vite.svg create mode 100644 src/css/components/fonts.css create mode 100644 src/css/frontend.css create mode 100644 src/css/site.css delete mode 100644 src/index.css diff --git a/public/fonts/lato/Lato-Bold.ttf b/public/fonts/lato/Lato-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..016068b486e1bd1d73743185c2752b7b1b843701 GIT binary patch literal 73332 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 ); } From b0b5acd45693dd74dc6e6acc298a48e5cf58ad75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dorien=20Gr=C3=B6nwald?= Date: Thu, 6 Jun 2024 19:05:59 +0200 Subject: [PATCH 051/193] feat: update arrow icon --- src/tsx/App.tsx | 21 --------------------- src/tsx/icons/Arrow.tsx | 2 +- 2 files changed, 1 insertion(+), 22 deletions(-) diff --git a/src/tsx/App.tsx b/src/tsx/App.tsx index ca1e581..4c09f29 100644 --- a/src/tsx/App.tsx +++ b/src/tsx/App.tsx @@ -1,30 +1,9 @@ import Faq from "./components/sections/Faq"; import InvolvedParties from "./components/sections/InvolvedParties"; -import FakeProgress from "./FakeProgress"; function App() { return (
    -
    -
    -
    - Green Ecolution Logo -

    - Green Ecolution -

    -

    - 🚧 Page under construction, please wait... -

    -
    -
    -
    - -
    -
    diff --git a/src/tsx/icons/Arrow.tsx b/src/tsx/icons/Arrow.tsx index 45ece49..bb8e336 100644 --- a/src/tsx/icons/Arrow.tsx +++ b/src/tsx/icons/Arrow.tsx @@ -8,7 +8,7 @@ const Arrow: React.FC = ({ classes }) => { xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" strokeWidth="1.5" stroke="currentColor" className={classes}> - + ); } From 6e415a442e612eba1d59deca94fc5f731afcbeb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dorien=20Gr=C3=B6nwald?= Date: Thu, 6 Jun 2024 19:28:07 +0200 Subject: [PATCH 052/193] feat: rename items to stakeholder --- src/tsx/App.tsx | 4 ++-- .../{CompanyCard.tsx => StakeholderCard.tsx} | 12 ++++++---- .../{InvolvedParties.tsx => Stakeholder.tsx} | 24 +++++++++---------- 3 files changed, 21 insertions(+), 19 deletions(-) rename src/tsx/components/{CompanyCard.tsx => StakeholderCard.tsx} (69%) rename src/tsx/components/sections/{InvolvedParties.tsx => Stakeholder.tsx} (77%) diff --git a/src/tsx/App.tsx b/src/tsx/App.tsx index 4c09f29..1bff48f 100644 --- a/src/tsx/App.tsx +++ b/src/tsx/App.tsx @@ -1,10 +1,10 @@ import Faq from "./components/sections/Faq"; -import InvolvedParties from "./components/sections/InvolvedParties"; +import Stakeholder from "./components/sections/Stakeholder"; function App() { return (
    - +
    ); diff --git a/src/tsx/components/CompanyCard.tsx b/src/tsx/components/StakeholderCard.tsx similarity index 69% rename from src/tsx/components/CompanyCard.tsx rename to src/tsx/components/StakeholderCard.tsx index 9bb9d26..9cc8421 100644 --- a/src/tsx/components/CompanyCard.tsx +++ b/src/tsx/components/StakeholderCard.tsx @@ -1,23 +1,25 @@ import React, { ReactNode } from 'react'; import Arrow from '../icons/Arrow'; -interface CompanyCardProps { +interface StakeholderCardProps { label: string; url: string; image: string; children: ReactNode; } -const CompanyCard: React.FC = ({ label, url, image, children }) => { +const StakeholderCard: React.FC = ({ label, url, image, children }) => { return ( -
    +
    {`Logo + className="object-contain max-w-64 h-32 mx-auto" alt={`Logo ${label}`}/>

    {label}

    + {children} + = ({ label, url, image, children } ); }; -export default CompanyCard; +export default StakeholderCard; diff --git a/src/tsx/components/sections/InvolvedParties.tsx b/src/tsx/components/sections/Stakeholder.tsx similarity index 77% rename from src/tsx/components/sections/InvolvedParties.tsx rename to src/tsx/components/sections/Stakeholder.tsx index de03339..137dfad 100644 --- a/src/tsx/components/sections/InvolvedParties.tsx +++ b/src/tsx/components/sections/Stakeholder.tsx @@ -1,9 +1,9 @@ import { Splide, SplideSlide } from '@splidejs/react-splide'; import '@splidejs/react-splide/css'; -import CompanyCard from '../CompanyCard'; +import StakeholderCard from '../StakeholderCard'; -function InvolvedParties() { - const parties = [ +function Stakeholder() { + const stakeholder = [ { label: "Hochschule Flensburg", url: "https://hs-flensburg.de/", @@ -14,7 +14,7 @@ function InvolvedParties() { label: "Smarte Grenzregion", url: "https://smarte-grenzregion.de/", image: "/assets/images/logo/smarte-grenzregion.png", - description: "Occaecat sit anim nulla enim mollit elit in aliquip. Eu incididunt laboris voluptate adipisicing eiusmod veniam officia eiusmod tempor ess." + description: "Occaecat sit anim nulla enim mollit elit in aliquip. Eu incididunt laboris voluptate adipisicing." }, { label: "TBZ Flensburg", @@ -39,13 +39,13 @@ function InvolvedParties() { - {parties.map((party, index) => ( - - -

    - {party.description} -

    -
    + {stakeholder.map((company, index) => ( + + +

    + {company.description} +

    +
    ))}
    @@ -53,4 +53,4 @@ function InvolvedParties() { ); } -export default InvolvedParties; +export default Stakeholder; From 0dd14739614fc1bda6e3cd65ee107fdff7bbf768 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dorien=20Gr=C3=B6nwald?= Date: Thu, 6 Jun 2024 19:36:12 +0200 Subject: [PATCH 053/193] chore: add accessibility translations --- src/tsx/components/sections/Stakeholder.tsx | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/tsx/components/sections/Stakeholder.tsx b/src/tsx/components/sections/Stakeholder.tsx index 137dfad..bc74fb3 100644 --- a/src/tsx/components/sections/Stakeholder.tsx +++ b/src/tsx/components/sections/Stakeholder.tsx @@ -24,6 +24,20 @@ function Stakeholder() { } ]; + const i18nTranslated = { + prev: 'Vorheriges Element anzeigen', + next: 'Nächstes Element anzeigen', + first: 'Erstes Element anzeigen', + last: 'Letztes Element anzeigen', + slideX: 'Zu Seite %s springen', + pageX: 'Zu Seite %s springen', + carousel: 'Slider', + select: 'Paginierung der Elemente', + slide: 'Slider Element', + slideLabel: '%s von %s', + }; + + return (
    @@ -38,7 +52,7 @@ function Stakeholder() {
    - + {stakeholder.map((company, index) => ( From 1beb33c63ec8cc54658a309d738f6e6bc149cf31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dorien=20Gr=C3=B6nwald?= Date: Thu, 6 Jun 2024 19:39:20 +0200 Subject: [PATCH 054/193] fix: smaller image on tablet screens --- src/tsx/components/StakeholderCard.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tsx/components/StakeholderCard.tsx b/src/tsx/components/StakeholderCard.tsx index 9cc8421..eea3e1a 100644 --- a/src/tsx/components/StakeholderCard.tsx +++ b/src/tsx/components/StakeholderCard.tsx @@ -13,7 +13,7 @@ const StakeholderCard: React.FC = ({ label, url, image, ch
    {`Logo + className="object-contain max-w-64 h-32 mx-auto md:max-w-52" alt={`Logo ${label}`}/>

    {label}

    From 2ed273aae42162ae4f8393062e77fc7873acf329 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dorien=20Gr=C3=B6nwald?= Date: Thu, 6 Jun 2024 19:43:39 +0200 Subject: [PATCH 055/193] fix: do not listen to resize, add gutter for scrolling --- index.html | 2 +- src/css/components/general.css | 4 ++++ src/tsx/components/Accordion.tsx | 7 ------- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/index.html b/index.html index ed2b76e..f3a9e0b 100644 --- a/index.html +++ b/index.html @@ -9,7 +9,7 @@ - +
    diff --git a/src/css/components/general.css b/src/css/components/general.css index 65da729..3cb829d 100644 --- a/src/css/components/general.css +++ b/src/css/components/general.css @@ -1,3 +1,7 @@ +html { + scrollbar-gutter: stable; +} + details > summary { @apply list-none; } diff --git a/src/tsx/components/Accordion.tsx b/src/tsx/components/Accordion.tsx index f717895..591c46c 100644 --- a/src/tsx/components/Accordion.tsx +++ b/src/tsx/components/Accordion.tsx @@ -23,13 +23,6 @@ const Accordion: React.FC = ({ label, children }) => { } }, [open]); - React.useEffect(() => { - function handleResize() { setOpen(false) } - window.addEventListener('resize', handleResize); - - return () => { window.removeEventListener('resize', handleResize) }; - }, []); - return (
  1. Date: Thu, 6 Jun 2024 17:47:03 +0000 Subject: [PATCH 056/193] Update dev image to commit 62d756a --- k8s/values/develop.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/k8s/values/develop.yaml b/k8s/values/develop.yaml index ae7c23c..06c2b0b 100644 --- a/k8s/values/develop.yaml +++ b/k8s/values/develop.yaml @@ -5,7 +5,7 @@ deployment: image: repository: ghcr.io/smartcityflensburg/project-website-dev pullPolicy: Always - tag: "e4a5004" + tag: "62d756a" ingress: enabled: true className: "traefik" From 8f1b1aa3be23787a250c22abd746cc57890985df Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Thu, 6 Jun 2024 17:51:31 +0000 Subject: [PATCH 057/193] Update dev image to commit 9e39bb9 --- k8s/values/develop.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/k8s/values/develop.yaml b/k8s/values/develop.yaml index 06c2b0b..5194b15 100644 --- a/k8s/values/develop.yaml +++ b/k8s/values/develop.yaml @@ -5,7 +5,7 @@ deployment: image: repository: ghcr.io/smartcityflensburg/project-website-dev pullPolicy: Always - tag: "62d756a" + tag: "9e39bb9" ingress: enabled: true className: "traefik" From 4092561731fd8512f7bc13c6b860586fb437d5f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dorien=20Gr=C3=B6nwald?= Date: Thu, 6 Jun 2024 19:52:02 +0200 Subject: [PATCH 058/193] Merge dev into current branch From f1bea44f251dff86e4dfa28ff8ec4e4443d98ea8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dorien=20Gr=C3=B6nwald?= Date: Thu, 6 Jun 2024 20:00:42 +0200 Subject: [PATCH 059/193] fix: add max height to accordion in css --- src/tsx/components/Accordion.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tsx/components/Accordion.tsx b/src/tsx/components/Accordion.tsx index 591c46c..84f37fe 100644 --- a/src/tsx/components/Accordion.tsx +++ b/src/tsx/components/Accordion.tsx @@ -42,7 +42,7 @@ const Accordion: React.FC = ({ label, children }) => {
    {children}
    From aacb91fa78c6f7e8704f284f13cd230cf732bec0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dorien=20Gr=C3=B6nwald?= Date: Thu, 6 Jun 2024 20:01:17 +0200 Subject: [PATCH 060/193] chore: add types for splide package --- src/tsx/components/sections/Stakeholder.tsx | 2 +- src/types/splidejs__react-splide.d.ts | 81 +++++++++++++++++++++ 2 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 src/types/splidejs__react-splide.d.ts diff --git a/src/tsx/components/sections/Stakeholder.tsx b/src/tsx/components/sections/Stakeholder.tsx index bc74fb3..c531298 100644 --- a/src/tsx/components/sections/Stakeholder.tsx +++ b/src/tsx/components/sections/Stakeholder.tsx @@ -62,7 +62,7 @@ function Stakeholder() { ))} - +
  2. ); } diff --git a/src/types/splidejs__react-splide.d.ts b/src/types/splidejs__react-splide.d.ts new file mode 100644 index 0000000..7d2370f --- /dev/null +++ b/src/types/splidejs__react-splide.d.ts @@ -0,0 +1,81 @@ +declare module '@splidejs/react-splide' { + import { ComponentType, ReactNode } from 'react'; + + interface SplideOptions { + type?: 'slide' | 'loop' | 'fade'; + rewind?: boolean; + speed?: number; + perPage?: number; + perMove?: number; + gap?: string; + arrows?: boolean; + pagination?: boolean; + autoplay?: boolean; + interval?: number; + pauseOnHover?: boolean; + pauseOnFocus?: boolean; + resetProgress?: boolean; + keyboard?: boolean | 'global'; + drag?: boolean; + direction?: 'ltr' | 'rtl' | 'ttb'; + width?: string; + height?: string; + fixedWidth?: string; + fixedHeight?: string; + autoWidth?: boolean; + autoHeight?: boolean; + start?: number; + focus?: number | 'center'; + cloneStatus?: boolean; + clones?: number; + breakpoints?: { + [key: string]: SplideOptions; + }; + classes?: { + root?: string; + slider?: string; + track?: string; + list?: string; + slide?: string; + container?: string; + arrows?: string; + arrow?: string; + prev?: string; + next?: string; + pagination?: string; + page?: string; + clone?: string; + }; + i18n?: { + prev?: string; + next?: string; + first?: string; + last?: string; + slideX?: string; + pageX?: string; + carousel?: string; + select?: string; + slide?: string; + slideLabel?: string; + }; + } + + interface SplideProps { + options?: SplideOptions; + hasTrack?: boolean; + tag?: string; + id?: string; + className?: string; + style?: React.CSSProperties; + children?: ReactNode; + } + + interface SplideSlideProps { + className?: string; + style?: React.CSSProperties; + children?: ReactNode; + } + + export const Splide: ComponentType; + export const SplideSlide: ComponentType; +} From 0e7947ef492a98e8f4fd0c1708bccd37d2c42941 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dorien=20Gr=C3=B6nwald?= Date: Thu, 6 Jun 2024 20:23:41 +0200 Subject: [PATCH 061/193] fix: add some accessibility improvements --- src/css/components/general.css | 15 +++++++++------ src/css/components/splide.css | 5 +++++ src/tsx/components/Accordion.tsx | 4 +++- src/tsx/components/sections/Stakeholder.tsx | 15 +-------------- src/tsx/helper/sliderTranslations.ts | 13 +++++++++++++ 5 files changed, 31 insertions(+), 21 deletions(-) create mode 100644 src/tsx/helper/sliderTranslations.ts diff --git a/src/css/components/general.css b/src/css/components/general.css index 3cb829d..54ff7bf 100644 --- a/src/css/components/general.css +++ b/src/css/components/general.css @@ -2,10 +2,13 @@ html { scrollbar-gutter: stable; } -details > summary { - @apply list-none; -} - -details > summary::-webkit-details-marker { - @apply hidden; +a:focus-visible, +button:focus-visible, +input:focus-visible, +input[type="text"]:focus-visible, +input[type="checkbox"]:focus-visible, +input[type="date"]:focus-visible, +textarea:focus-visible, +summary:focus-visible { + @apply outline outline-2 outline-offset-4 outline-green-light-900; } diff --git a/src/css/components/splide.css b/src/css/components/splide.css index 52070ea..528d5f9 100644 --- a/src/css/components/splide.css +++ b/src/css/components/splide.css @@ -1,3 +1,4 @@ +/* Override default styles from splide slider package */ .splide__pagination { @apply bottom-0 lg:-bottom-4 !important; } @@ -9,3 +10,7 @@ .splide__pagination .splide__pagination__page.is-active { @apply bg-green-dark-900 scale-100 !important; } + +.splide__pagination__page:focus-visible { + @apply outline outline-2 outline-offset-2 outline-green-light-900 !important; +} diff --git a/src/tsx/components/Accordion.tsx b/src/tsx/components/Accordion.tsx index 84f37fe..7e4ca39 100644 --- a/src/tsx/components/Accordion.tsx +++ b/src/tsx/components/Accordion.tsx @@ -27,8 +27,10 @@ const Accordion: React.FC = ({ label, children }) => {
  3. { if (e.key === "Enter") toggleAccordion() }} >

    {label}

    diff --git a/src/tsx/helper/sliderTranslations.ts b/src/tsx/helper/sliderTranslations.ts new file mode 100644 index 0000000..0fe1f65 --- /dev/null +++ b/src/tsx/helper/sliderTranslations.ts @@ -0,0 +1,13 @@ +// German translations for reusable splide slider +export const i18nTranslated = { + prev: 'Vorheriges Element anzeigen', + next: 'Nächstes Element anzeigen', + first: 'Erstes Element anzeigen', + last: 'Letztes Element anzeigen', + slideX: 'Zu Seite %s springen', + pageX: 'Zu Seite %s springen', + carousel: 'Slider', + select: 'Paginierung der Elemente', + slide: 'Slider Element', + slideLabel: '%s von %s', +}; From 3283141a677cdfe284bd426880ce772069d77c75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dorien=20Gr=C3=B6nwald?= Date: Thu, 6 Jun 2024 21:39:09 +0200 Subject: [PATCH 062/193] fix: install splide package with yarn --- yarn.lock | 258 +++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 205 insertions(+), 53 deletions(-) diff --git a/yarn.lock b/yarn.lock index 3065505..7fa60f5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -28,7 +28,7 @@ resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz" integrity sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ== -"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.23.5": +"@babel/core@^7.23.5": version "7.24.5" resolved "https://registry.npmjs.org/@babel/core/-/core-7.24.5.tgz" integrity sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA== @@ -214,11 +214,121 @@ "@babel/helper-validator-identifier" "^7.24.5" to-fast-properties "^2.0.0" +"@esbuild/aix-ppc64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz#a70f4ac11c6a1dfc18b8bbb13284155d933b9537" + integrity sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g== + +"@esbuild/android-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz#db1c9202a5bc92ea04c7b6840f1bbe09ebf9e6b9" + integrity sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg== + +"@esbuild/android-arm@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.20.2.tgz#3b488c49aee9d491c2c8f98a909b785870d6e995" + integrity sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w== + +"@esbuild/android-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.20.2.tgz#3b1628029e5576249d2b2d766696e50768449f98" + integrity sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg== + "@esbuild/darwin-arm64@0.20.2": version "0.20.2" resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz" integrity sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA== +"@esbuild/darwin-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz#90ed098e1f9dd8a9381695b207e1cff45540a0d0" + integrity sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA== + +"@esbuild/freebsd-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz#d71502d1ee89a1130327e890364666c760a2a911" + integrity sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw== + +"@esbuild/freebsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz#aa5ea58d9c1dd9af688b8b6f63ef0d3d60cea53c" + integrity sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw== + +"@esbuild/linux-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz#055b63725df678379b0f6db9d0fa85463755b2e5" + integrity sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A== + +"@esbuild/linux-arm@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz#76b3b98cb1f87936fbc37f073efabad49dcd889c" + integrity sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg== + +"@esbuild/linux-ia32@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz#c0e5e787c285264e5dfc7a79f04b8b4eefdad7fa" + integrity sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig== + +"@esbuild/linux-loong64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz#a6184e62bd7cdc63e0c0448b83801001653219c5" + integrity sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ== + +"@esbuild/linux-mips64el@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz#d08e39ce86f45ef8fc88549d29c62b8acf5649aa" + integrity sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA== + +"@esbuild/linux-ppc64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz#8d252f0b7756ffd6d1cbde5ea67ff8fd20437f20" + integrity sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg== + +"@esbuild/linux-riscv64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz#19f6dcdb14409dae607f66ca1181dd4e9db81300" + integrity sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg== + +"@esbuild/linux-s390x@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz#3c830c90f1a5d7dd1473d5595ea4ebb920988685" + integrity sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ== + +"@esbuild/linux-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz#86eca35203afc0d9de0694c64ec0ab0a378f6fff" + integrity sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw== + +"@esbuild/netbsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz#e771c8eb0e0f6e1877ffd4220036b98aed5915e6" + integrity sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ== + +"@esbuild/openbsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz#9a795ae4b4e37e674f0f4d716f3e226dd7c39baf" + integrity sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ== + +"@esbuild/sunos-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz#7df23b61a497b8ac189def6e25a95673caedb03f" + integrity sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w== + +"@esbuild/win32-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz#f1ae5abf9ca052ae11c1bc806fb4c0f519bacf90" + integrity sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ== + +"@esbuild/win32-ia32@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz#241fe62c34d8e8461cd708277813e1d0ba55ce23" + integrity sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ== + +"@esbuild/win32-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz#9c907b21e30a52db959ba4f80bb01a0cc403d5cc" + integrity sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ== + "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": version "4.4.0" resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" @@ -322,7 +432,7 @@ "@nodelib/fs.stat" "2.0.5" run-parallel "^1.1.9" -"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": version "2.0.5" resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== @@ -340,14 +450,89 @@ resolved "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== +"@rollup/rollup-android-arm-eabi@4.17.2": + version "4.17.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.17.2.tgz#1a32112822660ee104c5dd3a7c595e26100d4c2d" + integrity sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ== + +"@rollup/rollup-android-arm64@4.17.2": + version "4.17.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.17.2.tgz#5aeef206d65ff4db423f3a93f71af91b28662c5b" + integrity sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw== + "@rollup/rollup-darwin-arm64@4.17.2": version "4.17.2" resolved "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.17.2.tgz" integrity sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw== +"@rollup/rollup-darwin-x64@4.17.2": + version "4.17.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.17.2.tgz#f64fc51ed12b19f883131ccbcea59fc68cbd6c0b" + integrity sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ== + +"@rollup/rollup-linux-arm-gnueabihf@4.17.2": + version "4.17.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.17.2.tgz#1a7641111be67c10111f7122d1e375d1226cbf14" + integrity sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A== + +"@rollup/rollup-linux-arm-musleabihf@4.17.2": + version "4.17.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.17.2.tgz#c93fd632923e0fee25aacd2ae414288d0b7455bb" + integrity sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg== + +"@rollup/rollup-linux-arm64-gnu@4.17.2": + version "4.17.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.17.2.tgz#fa531425dd21d058a630947527b4612d9d0b4a4a" + integrity sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A== + +"@rollup/rollup-linux-arm64-musl@4.17.2": + version "4.17.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.17.2.tgz#8acc16f095ceea5854caf7b07e73f7d1802ac5af" + integrity sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA== + +"@rollup/rollup-linux-powerpc64le-gnu@4.17.2": + version "4.17.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.17.2.tgz#94e69a8499b5cf368911b83a44bb230782aeb571" + integrity sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ== + +"@rollup/rollup-linux-riscv64-gnu@4.17.2": + version "4.17.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.17.2.tgz#7ef1c781c7e59e85a6ce261cc95d7f1e0b56db0f" + integrity sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg== + +"@rollup/rollup-linux-s390x-gnu@4.17.2": + version "4.17.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.17.2.tgz#f15775841c3232fca9b78cd25a7a0512c694b354" + integrity sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g== + +"@rollup/rollup-linux-x64-gnu@4.17.2": + version "4.17.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.17.2.tgz#b521d271798d037ad70c9f85dd97d25f8a52e811" + integrity sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ== + +"@rollup/rollup-linux-x64-musl@4.17.2": + version "4.17.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.17.2.tgz#9254019cc4baac35800991315d133cc9fd1bf385" + integrity sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q== + +"@rollup/rollup-win32-arm64-msvc@4.17.2": + version "4.17.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.17.2.tgz#27f65a89f6f52ee9426ec11e3571038e4671790f" + integrity sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA== + +"@rollup/rollup-win32-ia32-msvc@4.17.2": + version "4.17.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.17.2.tgz#a2fbf8246ed0bb014f078ca34ae6b377a90cb411" + integrity sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ== + +"@rollup/rollup-win32-x64-msvc@4.17.2": + version "4.17.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.17.2.tgz#5a2d08b81e8064b34242d5cc9973ef8dd1e60503" + integrity sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w== + "@splidejs/react-splide@^0.7.12": version "0.7.12" - resolved "https://registry.npmjs.org/@splidejs/react-splide/-/react-splide-0.7.12.tgz" + resolved "https://registry.yarnpkg.com/@splidejs/react-splide/-/react-splide-0.7.12.tgz#c7efe231bbbb6812da64689178b6c871269baff5" integrity sha512-UfXH+j47jsMc4x5HA/aOwuuHPqn6y9+ZTNYPWDRD8iLKvIVMZlzq2unjUEvyDAU+TTVPZOXkG2Ojeoz0P4AkZw== dependencies: "@splidejs/splide" "^4.1.3" @@ -430,7 +615,7 @@ natural-compare "^1.4.0" ts-api-utils "^1.3.0" -"@typescript-eslint/parser@^7.0.0", "@typescript-eslint/parser@^7.2.0": +"@typescript-eslint/parser@^7.2.0": version "7.10.0" resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.10.0.tgz" integrity sha512-2EjZMA0LUW5V5tGQiaa2Gys+nKdfrn2xiTIBLR4fxmPmVSvgPcKNW+AE/ln9k0A4zDUti0J/GZXMDupQoI+e1w== @@ -517,7 +702,7 @@ acorn-jsx@^5.3.2: resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8.9.0: +acorn@^8.9.0: version "8.11.3" resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz" integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== @@ -549,14 +734,7 @@ ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" -ansi-styles@^4.0.0: - version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^4.1.0: +ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== @@ -640,7 +818,7 @@ braces@^3.0.3, braces@~3.0.2: dependencies: fill-range "^7.1.1" -browserslist@^4.22.2, browserslist@^4.23.0, "browserslist@>= 4.21.0": +browserslist@^4.22.2, browserslist@^4.23.0: version "4.23.0" resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz" integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== @@ -711,16 +889,16 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - color-name@1.1.3: version "1.1.3" resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + commander@^4.0.0: version "4.1.1" resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" @@ -878,7 +1056,7 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4 resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -"eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", eslint@^8.56.0, eslint@^8.57.0, eslint@>=7: +eslint@^8.57.0: version "8.57.0" resolved "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz" integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== @@ -1057,7 +1235,7 @@ gensync@^1.0.0-beta.2: resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== -glob-parent@^5.1.2: +glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== @@ -1071,13 +1249,6 @@ glob-parent@^6.0.2: dependencies: is-glob "^4.0.3" -glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - glob@^10.3.10: version "10.3.16" resolved "https://registry.npmjs.org/glob/-/glob-10.3.16.tgz" @@ -1349,21 +1520,7 @@ micromatch@^4.0.4, micromatch@^4.0.5: braces "^3.0.3" picomatch "^4.0.2" -minimatch@^3.0.5: - version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^3.1.1: - version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^3.1.2: +minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -1509,12 +1666,7 @@ picocolors@^1.0.0, picocolors@^1.0.1: resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz" integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== -picomatch@^2.0.4: - version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -picomatch@^2.2.1: +picomatch@^2.0.4, picomatch@^2.2.1: version "2.3.1" resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== @@ -1578,7 +1730,7 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0: resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@^8.0.0, postcss@^8.1.0, postcss@^8.2.14, postcss@^8.4.21, postcss@^8.4.23, postcss@^8.4.38, postcss@>=8.0.9: +postcss@^8.4.23, postcss@^8.4.38: version "8.4.38" resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz" integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== @@ -1615,7 +1767,7 @@ react-refresh@^0.14.0: resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz" integrity sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA== -react@^18.2.0, react@^18.3.1: +react@^18.2.0: version "18.3.1" resolved "https://registry.npmjs.org/react/-/react-18.3.1.tgz" integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== @@ -1904,7 +2056,7 @@ type-fest@^0.20.2: resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== -typescript@^5.2.2, typescript@>=4.2.0: +typescript@^5.2.2: version "5.4.5" resolved "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz" integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== @@ -1929,7 +2081,7 @@ util-deprecate@^1.0.2: resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== -"vite@^4.2.0 || ^5.0.0", vite@^5.2.0: +vite@^5.2.0: version "5.2.11" resolved "https://registry.npmjs.org/vite/-/vite-5.2.11.tgz" integrity sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ== From fe3a005ba514c76094c19790dcdbb5858d9a2e54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dorien=20Gr=C3=B6nwald?= Date: Thu, 6 Jun 2024 21:41:18 +0200 Subject: [PATCH 063/193] chore: delete package-lock --- package-lock.json | 4246 --------------------------------------------- 1 file changed, 4246 deletions(-) delete mode 100644 package-lock.json diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index d66055b..0000000 --- a/package-lock.json +++ /dev/null @@ -1,4246 +0,0 @@ -{ - "name": "project-website", - "version": "v0.0.1", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "project-website", - "version": "v0.0.1", - "dependencies": { - "react": "^18.2.0", - "react-dom": "^18.2.0" - }, - "devDependencies": { - "@splidejs/react-splide": "^0.7.12", - "@types/react": "^18.2.66", - "@types/react-dom": "^18.2.22", - "@typescript-eslint/eslint-plugin": "^7.2.0", - "@typescript-eslint/parser": "^7.2.0", - "@vitejs/plugin-react": "^4.2.1", - "autoprefixer": "^10.4.19", - "eslint": "^8.57.0", - "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-react-refresh": "^0.4.6", - "postcss": "^8.4.38", - "tailwindcss": "^3.4.3", - "typescript": "^5.2.2", - "vite": "^5.2.0" - } - }, - "node_modules/@alloc/quick-lru": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", - "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.24.7", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.7.tgz", - "integrity": "sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.7.tgz", - "integrity": "sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.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/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.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz", - "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz", - "integrity": "sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.24.7", - "@babel/helper-validator-option": "^7.24.7", - "browserslist": "^4.22.2", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", - "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", - "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", - "dev": true, - "dependencies": { - "@babel/template": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", - "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", - "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz", - "integrity": "sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==", - "dev": true, - "dependencies": { - "@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" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz", - "integrity": "sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", - "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", - "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", - "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", - "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz", - "integrity": "sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.7.tgz", - "integrity": "sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==", - "dev": true, - "dependencies": { - "@babel/template": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", - "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.24.7", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", - "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.7.tgz", - "integrity": "sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.7.tgz", - "integrity": "sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/template": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", - "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz", - "integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==", - "dev": true, - "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.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", - "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", - "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", - "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", - "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", - "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", - "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", - "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", - "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", - "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", - "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", - "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", - "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", - "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", - "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", - "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", - "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", - "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", - "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", - "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", - "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", - "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", - "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", - "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", - "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.1.tgz", - "integrity": "sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", - "debug": "^4.3.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "dev": true - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, - "optional": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz", - "integrity": "sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz", - "integrity": "sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz", - "integrity": "sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz", - "integrity": "sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz", - "integrity": "sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz", - "integrity": "sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz", - "integrity": "sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz", - "integrity": "sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz", - "integrity": "sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz", - "integrity": "sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz", - "integrity": "sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz", - "integrity": "sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz", - "integrity": "sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz", - "integrity": "sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz", - "integrity": "sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz", - "integrity": "sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@splidejs/react-splide": { - "version": "0.7.12", - "resolved": "https://registry.npmjs.org/@splidejs/react-splide/-/react-splide-0.7.12.tgz", - "integrity": "sha512-UfXH+j47jsMc4x5HA/aOwuuHPqn6y9+ZTNYPWDRD8iLKvIVMZlzq2unjUEvyDAU+TTVPZOXkG2Ojeoz0P4AkZw==", - "dev": true, - "dependencies": { - "@splidejs/splide": "^4.1.3" - } - }, - "node_modules/@splidejs/splide": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@splidejs/splide/-/splide-4.1.4.tgz", - "integrity": "sha512-5I30evTJcAJQXt6vJ26g2xEkG+l1nXcpEw4xpKh0/FWQ8ozmAeTbtniVtVmz2sH1Es3vgfC4SS8B2X4o5JMptA==", - "dev": true - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.8", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", - "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.20.6", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", - "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.20.7" - } - }, - "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", - "dev": true - }, - "node_modules/@types/prop-types": { - "version": "15.7.12", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", - "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", - "dev": true - }, - "node_modules/@types/react": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz", - "integrity": "sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==", - "dev": true, - "dependencies": { - "@types/prop-types": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-dom": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz", - "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", - "dev": true, - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.12.0.tgz", - "integrity": "sha512-7F91fcbuDf/d3S8o21+r3ZncGIke/+eWk0EpO21LXhDfLahriZF9CGj4fbAetEjlaBdjdSm9a6VeXbpbT6Z40Q==", - "dev": true, - "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.12.0", - "@typescript-eslint/type-utils": "7.12.0", - "@typescript-eslint/utils": "7.12.0", - "@typescript-eslint/visitor-keys": "7.12.0", - "graphemer": "^1.4.0", - "ignore": "^5.3.1", - "natural-compare": "^1.4.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^7.0.0", - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "7.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.12.0.tgz", - "integrity": "sha512-dm/J2UDY3oV3TKius2OUZIFHsomQmpHtsV0FTh1WO8EKgHLQ1QCADUqscPgTpU+ih1e21FQSRjXckHn3txn6kQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "7.12.0", - "@typescript-eslint/types": "7.12.0", - "@typescript-eslint/typescript-estree": "7.12.0", - "@typescript-eslint/visitor-keys": "7.12.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "7.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.12.0.tgz", - "integrity": "sha512-itF1pTnN6F3unPak+kutH9raIkL3lhH1YRPGgt7QQOh43DQKVJXmWkpb+vpc/TiDHs6RSd9CTbDsc/Y+Ygq7kg==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "7.12.0", - "@typescript-eslint/visitor-keys": "7.12.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "7.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.12.0.tgz", - "integrity": "sha512-lib96tyRtMhLxwauDWUp/uW3FMhLA6D0rJ8T7HmH7x23Gk1Gwwu8UZ94NMXBvOELn6flSPiBrCKlehkiXyaqwA==", - "dev": true, - "dependencies": { - "@typescript-eslint/typescript-estree": "7.12.0", - "@typescript-eslint/utils": "7.12.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/types": { - "version": "7.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.12.0.tgz", - "integrity": "sha512-o+0Te6eWp2ppKY3mLCU+YA9pVJxhUJE15FV7kxuD9jgwIAa+w/ycGJBMrYDTpVGUM/tgpa9SeMOugSabWFq7bg==", - "dev": true, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.12.0.tgz", - "integrity": "sha512-5bwqLsWBULv1h6pn7cMW5dXX/Y2amRqLaKqsASVwbBHMZSnHqE/HN4vT4fE0aFsiwxYvr98kqOWh1a8ZKXalCQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "7.12.0", - "@typescript-eslint/visitor-keys": "7.12.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "7.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.12.0.tgz", - "integrity": "sha512-Y6hhwxwDx41HNpjuYswYp6gDbkiZ8Hin9Bf5aJQn1bpTs3afYY4GX+MPYxma8jtoIV2GRwTM/UJm/2uGCVv+DQ==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.12.0", - "@typescript-eslint/types": "7.12.0", - "@typescript-eslint/typescript-estree": "7.12.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.12.0.tgz", - "integrity": "sha512-uZk7DevrQLL3vSnfFl5bj4sL75qC9D6EdjemIdbtkuUmIheWpuiiylSY01JxJE7+zGrOWDZrp1WxOuDntvKrHQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "7.12.0", - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true - }, - "node_modules/@vitejs/plugin-react": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.0.tgz", - "integrity": "sha512-KcEbMsn4Dpk+LIbHMj7gDPRKaTMStxxWRkRmxsg/jVdFdJCZWt1SchZcf0M4t8lIKdwwMsEyzhrcOXRrDPtOBw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.24.5", - "@babel/plugin-transform-react-jsx-self": "^7.24.5", - "@babel/plugin-transform-react-jsx-source": "^7.24.1", - "@types/babel__core": "^7.20.5", - "react-refresh": "^0.14.2" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0" - } - }, - "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "dev": true - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "dev": true - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/autoprefixer": { - "version": "10.4.19", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", - "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "browserslist": "^4.23.0", - "caniuse-lite": "^1.0.30001599", - "fraction.js": "^4.3.7", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001629", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001629.tgz", - "integrity": "sha512-c3dl911slnQhmxUIT4HhYzT7wnBK/XYpGnYLOj4nJBaRiw52Ibe7YxlDaAeRECvA786zCuExhxIUJ2K7nHMrBw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "dev": true - }, - "node_modules/debug": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", - "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", - "dev": true - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "dev": true - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true - }, - "node_modules/electron-to-chromium": { - "version": "1.4.792", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.792.tgz", - "integrity": "sha512-rkg5/N3L+Y844JyfgPUyuKK0Hk0efo3JNxUDKvz3HgP6EmN4rNGhr2D8boLsfTV/hGo7ZGAL8djw+jlg99zQyA==", - "dev": true - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "node_modules/esbuild": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", - "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", - "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.20.2", - "@esbuild/android-arm": "0.20.2", - "@esbuild/android-arm64": "0.20.2", - "@esbuild/android-x64": "0.20.2", - "@esbuild/darwin-arm64": "0.20.2", - "@esbuild/darwin-x64": "0.20.2", - "@esbuild/freebsd-arm64": "0.20.2", - "@esbuild/freebsd-x64": "0.20.2", - "@esbuild/linux-arm": "0.20.2", - "@esbuild/linux-arm64": "0.20.2", - "@esbuild/linux-ia32": "0.20.2", - "@esbuild/linux-loong64": "0.20.2", - "@esbuild/linux-mips64el": "0.20.2", - "@esbuild/linux-ppc64": "0.20.2", - "@esbuild/linux-riscv64": "0.20.2", - "@esbuild/linux-s390x": "0.20.2", - "@esbuild/linux-x64": "0.20.2", - "@esbuild/netbsd-x64": "0.20.2", - "@esbuild/openbsd-x64": "0.20.2", - "@esbuild/sunos-x64": "0.20.2", - "@esbuild/win32-arm64": "0.20.2", - "@esbuild/win32-ia32": "0.20.2", - "@esbuild/win32-x64": "0.20.2" - } - }, - "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", - "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" - } - }, - "node_modules/eslint-plugin-react-refresh": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.7.tgz", - "integrity": "sha512-yrj+KInFmwuQS2UQcg1SF83ha1tuHC1jMQbRNyuWtlEzzKRDgAl7L4Yp4NlDUZTZNlWvHEzOtJhMi40R7JxcSw==", - "dev": true, - "peerDependencies": { - "eslint": ">=7" - } - }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/eslint/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", - "dev": true, - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", - "dev": true - }, - "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/fraction.js": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", - "dev": true, - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://github.com/sponsors/rawify" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "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.", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "dev": true, - "dependencies": { - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/jackspeak": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.0.tgz", - "integrity": "sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==", - "dev": true, - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/jiti": { - "version": "1.21.3", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.3.tgz", - "integrity": "sha512-uy2bNX5zQ+tESe+TiC7ilGRz8AtRGmnJH55NC5S0nSUjvvvM2hJHmefHErugGXN4pNv4Qx7vLsnNw9qJ9mtIsw==", - "dev": true, - "bin": { - "jiti": "bin/jiti.js" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", - "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "dev": true, - "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "dev": true, - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", - "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", - "dev": true, - "engines": { - "node": "14 || >=16.14" - } - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/picocolors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", - "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/postcss": { - "version": "8.4.38", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", - "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-import": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", - "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-js": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", - "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", - "dev": true, - "dependencies": { - "camelcase-css": "^2.0.1" - }, - "engines": { - "node": "^12 || ^14 || >= 16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.4.21" - } - }, - "node_modules/postcss-load-config": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", - "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "lilconfig": "^3.0.0", - "yaml": "^2.3.4" - }, - "engines": { - "node": ">= 14" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/postcss-load-config/node_modules/lilconfig": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", - "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antonk52" - } - }, - "node_modules/postcss-nested": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", - "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.11" - }, - "engines": { - "node": ">=12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.2.14" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", - "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/react": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", - "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", - "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.2" - }, - "peerDependencies": { - "react": "^18.3.1" - } - }, - "node_modules/react-refresh": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", - "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dev": true, - "dependencies": { - "pify": "^2.3.0" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rollup": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.0.tgz", - "integrity": "sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==", - "dev": true, - "dependencies": { - "@types/estree": "1.0.5" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.18.0", - "@rollup/rollup-android-arm64": "4.18.0", - "@rollup/rollup-darwin-arm64": "4.18.0", - "@rollup/rollup-darwin-x64": "4.18.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.18.0", - "@rollup/rollup-linux-arm-musleabihf": "4.18.0", - "@rollup/rollup-linux-arm64-gnu": "4.18.0", - "@rollup/rollup-linux-arm64-musl": "4.18.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.18.0", - "@rollup/rollup-linux-riscv64-gnu": "4.18.0", - "@rollup/rollup-linux-s390x-gnu": "4.18.0", - "@rollup/rollup-linux-x64-gnu": "4.18.0", - "@rollup/rollup-linux-x64-musl": "4.18.0", - "@rollup/rollup-win32-arm64-msvc": "4.18.0", - "@rollup/rollup-win32-ia32-msvc": "4.18.0", - "@rollup/rollup-win32-x64-msvc": "4.18.0", - "fsevents": "~2.3.2" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/scheduler": { - "version": "0.23.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", - "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", - "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/sucrase": { - "version": "3.35.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", - "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.2", - "commander": "^4.0.0", - "glob": "^10.3.10", - "lines-and-columns": "^1.1.6", - "mz": "^2.7.0", - "pirates": "^4.0.1", - "ts-interface-checker": "^0.1.9" - }, - "bin": { - "sucrase": "bin/sucrase", - "sucrase-node": "bin/sucrase-node" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/sucrase/node_modules/glob": { - "version": "10.4.1", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz", - "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==", - "dev": true, - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/tailwindcss": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.4.tgz", - "integrity": "sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==", - "dev": true, - "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "arg": "^5.0.2", - "chokidar": "^3.5.3", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.3.0", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.21.0", - "lilconfig": "^2.1.0", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.23", - "postcss-import": "^15.1.0", - "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.1", - "postcss-nested": "^6.0.1", - "postcss-selector-parser": "^6.0.11", - "resolve": "^1.22.2", - "sucrase": "^3.32.0" - }, - "bin": { - "tailwind": "lib/cli.js", - "tailwindcss": "lib/cli.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "node_modules/thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "dev": true, - "dependencies": { - "any-promise": "^1.0.0" - } - }, - "node_modules/thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", - "dev": true, - "dependencies": { - "thenify": ">= 3.1.0 < 4" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/ts-api-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", - "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", - "dev": true, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "typescript": ">=4.2.0" - } - }, - "node_modules/ts-interface-checker": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", - "dev": true - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typescript": { - "version": "5.4.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", - "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", - "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.2", - "picocolors": "^1.0.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, - "node_modules/vite": { - "version": "5.2.12", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.12.tgz", - "integrity": "sha512-/gC8GxzxMK5ntBwb48pR32GGhENnjtY30G4A0jemunsBkiEZFw60s8InGpN8gkhHEkjnRK1aSAxeQgwvFhUHAA==", - "dev": true, - "dependencies": { - "esbuild": "^0.20.1", - "postcss": "^8.4.38", - "rollup": "^4.13.0" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || >=20.0.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/yaml": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.3.tgz", - "integrity": "sha512-sntgmxj8o7DE7g/Qi60cqpLBA3HG3STcDA0kO+WfB05jEKhZMbY7umNm2rBpQvsmZ16/lPXCJGW2672dgOUkrg==", - "dev": true, - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} From a34094dc871f98e60daa4383ae544ade6d36fd3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dorien=20Gr=C3=B6nwald?= Date: Fri, 7 Jun 2024 06:34:01 +0200 Subject: [PATCH 064/193] chore: add slider to production dependencies --- package.json | 2 +- yarn.lock | 1208 +++++++++++++++++++++++++------------------------- 2 files changed, 604 insertions(+), 606 deletions(-) diff --git a/package.json b/package.json index 33c2b6d..c30b8fe 100644 --- a/package.json +++ b/package.json @@ -12,11 +12,11 @@ "preview": "vite preview" }, "dependencies": { + "@splidejs/react-splide": "^0.7.12", "react": "^18.2.0", "react-dom": "^18.2.0" }, "devDependencies": { - "@splidejs/react-splide": "^0.7.12", "@types/react": "^18.2.66", "@types/react-dom": "^18.2.22", "@typescript-eslint/eslint-plugin": "^7.2.0", diff --git a/yarn.lock b/yarn.lock index 7fa60f5..6d0c457 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4,214 +4,217 @@ "@alloc/quick-lru@^5.2.0": version "5.2.0" - resolved "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz" + resolved "https://registry.yarnpkg.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz#7bf68b20c0a350f936915fcae06f58e32007ce30" integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== "@ampproject/remapping@^2.2.0": version "2.3.0" - resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== dependencies: "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.24" -"@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.2": - version "7.24.2" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz" - integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== +"@babel/code-frame@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.7.tgz#882fd9e09e8ee324e496bd040401c6f046ef4465" + integrity sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA== dependencies: - "@babel/highlight" "^7.24.2" + "@babel/highlight" "^7.24.7" picocolors "^1.0.0" -"@babel/compat-data@^7.23.5": - version "7.24.4" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz" - integrity sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ== +"@babel/compat-data@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.7.tgz#d23bbea508c3883ba8251fb4164982c36ea577ed" + integrity sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw== -"@babel/core@^7.23.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.24.5.tgz" - integrity sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA== +"@babel/core@^7.24.5": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.7.tgz#b676450141e0b52a3d43bc91da86aa608f950ac4" + integrity sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g== dependencies: "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.24.2" - "@babel/generator" "^7.24.5" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-module-transforms" "^7.24.5" - "@babel/helpers" "^7.24.5" - "@babel/parser" "^7.24.5" - "@babel/template" "^7.24.0" - "@babel/traverse" "^7.24.5" - "@babel/types" "^7.24.5" + "@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/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.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.24.5.tgz" - integrity sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA== +"@babel/generator@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.7.tgz#1654d01de20ad66b4b4d99c135471bc654c55e6d" + integrity sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA== dependencies: - "@babel/types" "^7.24.5" + "@babel/types" "^7.24.7" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" jsesc "^2.5.1" -"@babel/helper-compilation-targets@^7.23.6": - version "7.23.6" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz" - integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== +"@babel/helper-compilation-targets@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz#4eb6c4a80d6ffeac25ab8cd9a21b5dfa48d503a9" + integrity sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg== dependencies: - "@babel/compat-data" "^7.23.5" - "@babel/helper-validator-option" "^7.23.5" + "@babel/compat-data" "^7.24.7" + "@babel/helper-validator-option" "^7.24.7" browserslist "^4.22.2" lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-environment-visitor@^7.22.20": - version "7.22.20" - resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz" - integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== - -"@babel/helper-function-name@^7.23.0": - version "7.23.0" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz" - integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== - dependencies: - "@babel/template" "^7.22.15" - "@babel/types" "^7.23.0" - -"@babel/helper-hoist-variables@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz" - integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-module-imports@^7.24.3": - version "7.24.3" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz" - integrity sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg== - dependencies: - "@babel/types" "^7.24.0" - -"@babel/helper-module-transforms@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.5.tgz" - integrity sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-module-imports" "^7.24.3" - "@babel/helper-simple-access" "^7.24.5" - "@babel/helper-split-export-declaration" "^7.24.5" - "@babel/helper-validator-identifier" "^7.24.5" - -"@babel/helper-plugin-utils@^7.24.0", "@babel/helper-plugin-utils@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz" - integrity sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ== - -"@babel/helper-simple-access@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.5.tgz" - integrity sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ== - dependencies: - "@babel/types" "^7.24.5" - -"@babel/helper-split-export-declaration@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz" - integrity sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q== - dependencies: - "@babel/types" "^7.24.5" - -"@babel/helper-string-parser@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz" - integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ== - -"@babel/helper-validator-identifier@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz" - integrity sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA== - -"@babel/helper-validator-option@^7.23.5": - version "7.23.5" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz" - integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== - -"@babel/helpers@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.5.tgz" - integrity sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q== - dependencies: - "@babel/template" "^7.24.0" - "@babel/traverse" "^7.24.5" - "@babel/types" "^7.24.5" - -"@babel/highlight@^7.24.2": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.5.tgz" - integrity sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw== - dependencies: - "@babel/helper-validator-identifier" "^7.24.5" +"@babel/helper-environment-visitor@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz#4b31ba9551d1f90781ba83491dd59cf9b269f7d9" + integrity sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ== + dependencies: + "@babel/types" "^7.24.7" + +"@babel/helper-function-name@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz#75f1e1725742f39ac6584ee0b16d94513da38dd2" + integrity sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA== + dependencies: + "@babel/template" "^7.24.7" + "@babel/types" "^7.24.7" + +"@babel/helper-hoist-variables@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz#b4ede1cde2fd89436397f30dc9376ee06b0f25ee" + integrity sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ== + dependencies: + "@babel/types" "^7.24.7" + +"@babel/helper-module-imports@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz#f2f980392de5b84c3328fc71d38bd81bbb83042b" + integrity sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA== + dependencies: + "@babel/traverse" "^7.24.7" + "@babel/types" "^7.24.7" + +"@babel/helper-module-transforms@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz#31b6c9a2930679498db65b685b1698bfd6c7daf8" + integrity sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ== + dependencies: + "@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" + +"@babel/helper-plugin-utils@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz#98c84fe6fe3d0d3ae7bfc3a5e166a46844feb2a0" + integrity sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg== + +"@babel/helper-simple-access@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz#bcade8da3aec8ed16b9c4953b74e506b51b5edb3" + integrity sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg== + dependencies: + "@babel/traverse" "^7.24.7" + "@babel/types" "^7.24.7" + +"@babel/helper-split-export-declaration@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz#83949436890e07fa3d6873c61a96e3bbf692d856" + integrity sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA== + dependencies: + "@babel/types" "^7.24.7" + +"@babel/helper-string-parser@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz#4d2d0f14820ede3b9807ea5fc36dfc8cd7da07f2" + integrity sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg== + +"@babel/helper-validator-identifier@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db" + integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== + +"@babel/helper-validator-option@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz#24c3bb77c7a425d1742eec8fb433b5a1b38e62f6" + integrity sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw== + +"@babel/helpers@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.7.tgz#aa2ccda29f62185acb5d42fb4a3a1b1082107416" + integrity sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg== + dependencies: + "@babel/template" "^7.24.7" + "@babel/types" "^7.24.7" + +"@babel/highlight@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.7.tgz#a05ab1df134b286558aae0ed41e6c5f731bf409d" + integrity sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw== + dependencies: + "@babel/helper-validator-identifier" "^7.24.7" chalk "^2.4.2" js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.24.0", "@babel/parser@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.24.5.tgz" - integrity sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg== - -"@babel/plugin-transform-react-jsx-self@^7.23.3": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.5.tgz" - integrity sha512-RtCJoUO2oYrYwFPtR1/jkoBEcFuI1ae9a9IMxeyAVa3a1Ap4AnxmyIKG2b2FaJKqkidw/0cxRbWN+HOs6ZWd1w== - dependencies: - "@babel/helper-plugin-utils" "^7.24.5" - -"@babel/plugin-transform-react-jsx-source@^7.23.3": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.1.tgz" - integrity sha512-1v202n7aUq4uXAieRTKcwPzNyphlCuqHHDcdSNc+vdhoTEZcFMh+L5yZuCmGaIO7bs1nJUNfHB89TZyoL48xNA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/template@^7.22.15", "@babel/template@^7.24.0": - version "7.24.0" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz" - integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== - dependencies: - "@babel/code-frame" "^7.23.5" - "@babel/parser" "^7.24.0" - "@babel/types" "^7.24.0" - -"@babel/traverse@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.5.tgz" - integrity sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA== - dependencies: - "@babel/code-frame" "^7.24.2" - "@babel/generator" "^7.24.5" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.24.5" - "@babel/parser" "^7.24.5" - "@babel/types" "^7.24.5" +"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.7.tgz#9a5226f92f0c5c8ead550b750f5608e766c8ce85" + integrity sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw== + +"@babel/plugin-transform-react-jsx-self@^7.24.5": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.7.tgz#66bff0248ea0b549972e733516ffad577477bdab" + integrity sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.7" + +"@babel/plugin-transform-react-jsx-source@^7.24.1": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.7.tgz#1198aab2548ad19582013815c938d3ebd8291ee3" + integrity sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.7" + +"@babel/template@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.7.tgz#02efcee317d0609d2c07117cb70ef8fb17ab7315" + integrity sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig== + dependencies: + "@babel/code-frame" "^7.24.7" + "@babel/parser" "^7.24.7" + "@babel/types" "^7.24.7" + +"@babel/traverse@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.7.tgz#de2b900163fa741721ba382163fe46a936c40cf5" + integrity sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA== + 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.1" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.24.0", "@babel/types@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.24.5.tgz" - integrity sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ== +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.7.tgz#6027fe12bc1aa724cd32ab113fb7f1988f1f66f2" + integrity sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q== dependencies: - "@babel/helper-string-parser" "^7.24.1" - "@babel/helper-validator-identifier" "^7.24.5" + "@babel/helper-string-parser" "^7.24.7" + "@babel/helper-validator-identifier" "^7.24.7" to-fast-properties "^2.0.0" "@esbuild/aix-ppc64@0.20.2": @@ -236,7 +239,7 @@ "@esbuild/darwin-arm64@0.20.2": version "0.20.2" - resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz#6e8517a045ddd86ae30c6608c8475ebc0c4000bb" integrity sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA== "@esbuild/darwin-x64@0.20.2": @@ -331,19 +334,19 @@ "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": version "4.4.0" - resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== dependencies: eslint-visitor-keys "^3.3.0" "@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.6.1": - version "4.10.0" - resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz" - integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== + version "4.10.1" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.1.tgz#361461e5cb3845d874e61731c11cfedd664d83a0" + integrity sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA== "@eslint/eslintrc@^2.1.4": version "2.1.4" - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== dependencies: ajv "^6.12.4" @@ -358,12 +361,12 @@ "@eslint/js@8.57.0": version "8.57.0" - resolved "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.0.tgz#a5417ae8427873f1dd08b70b3574b453e67b5f7f" integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== "@humanwhocodes/config-array@^0.11.14": version "0.11.14" - resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== dependencies: "@humanwhocodes/object-schema" "^2.0.2" @@ -372,17 +375,17 @@ "@humanwhocodes/module-importer@^1.0.1": version "1.0.1" - resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== "@humanwhocodes/object-schema@^2.0.2": version "2.0.3" - resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3" integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== "@isaacs/cliui@^8.0.2": version "8.0.2" - resolved "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz" + resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== dependencies: string-width "^5.1.2" @@ -394,7 +397,7 @@ "@jridgewell/gen-mapping@^0.3.2", "@jridgewell/gen-mapping@^0.3.5": version "0.3.5" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== dependencies: "@jridgewell/set-array" "^1.2.1" @@ -403,22 +406,22 @@ "@jridgewell/resolve-uri@^3.1.0": version "3.1.2" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== "@jridgewell/set-array@^1.2.1": version "1.2.1" - resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": version "1.4.15" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": version "0.3.25" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== dependencies: "@jridgewell/resolve-uri" "^3.1.0" @@ -426,7 +429,7 @@ "@nodelib/fs.scandir@2.1.5": version "2.1.5" - resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: "@nodelib/fs.stat" "2.0.5" @@ -434,12 +437,12 @@ "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": version "2.0.5" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== "@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": version "1.2.8" - resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: "@nodelib/fs.scandir" "2.1.5" @@ -447,88 +450,88 @@ "@pkgjs/parseargs@^0.11.0": version "0.11.0" - resolved "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz" + resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== -"@rollup/rollup-android-arm-eabi@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.17.2.tgz#1a32112822660ee104c5dd3a7c595e26100d4c2d" - integrity sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ== - -"@rollup/rollup-android-arm64@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.17.2.tgz#5aeef206d65ff4db423f3a93f71af91b28662c5b" - integrity sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw== - -"@rollup/rollup-darwin-arm64@4.17.2": - version "4.17.2" - resolved "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.17.2.tgz" - integrity sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw== - -"@rollup/rollup-darwin-x64@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.17.2.tgz#f64fc51ed12b19f883131ccbcea59fc68cbd6c0b" - integrity sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ== - -"@rollup/rollup-linux-arm-gnueabihf@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.17.2.tgz#1a7641111be67c10111f7122d1e375d1226cbf14" - integrity sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A== - -"@rollup/rollup-linux-arm-musleabihf@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.17.2.tgz#c93fd632923e0fee25aacd2ae414288d0b7455bb" - integrity sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg== - -"@rollup/rollup-linux-arm64-gnu@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.17.2.tgz#fa531425dd21d058a630947527b4612d9d0b4a4a" - integrity sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A== - -"@rollup/rollup-linux-arm64-musl@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.17.2.tgz#8acc16f095ceea5854caf7b07e73f7d1802ac5af" - integrity sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA== - -"@rollup/rollup-linux-powerpc64le-gnu@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.17.2.tgz#94e69a8499b5cf368911b83a44bb230782aeb571" - integrity sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ== - -"@rollup/rollup-linux-riscv64-gnu@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.17.2.tgz#7ef1c781c7e59e85a6ce261cc95d7f1e0b56db0f" - integrity sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg== - -"@rollup/rollup-linux-s390x-gnu@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.17.2.tgz#f15775841c3232fca9b78cd25a7a0512c694b354" - integrity sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g== - -"@rollup/rollup-linux-x64-gnu@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.17.2.tgz#b521d271798d037ad70c9f85dd97d25f8a52e811" - integrity sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ== - -"@rollup/rollup-linux-x64-musl@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.17.2.tgz#9254019cc4baac35800991315d133cc9fd1bf385" - integrity sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q== - -"@rollup/rollup-win32-arm64-msvc@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.17.2.tgz#27f65a89f6f52ee9426ec11e3571038e4671790f" - integrity sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA== - -"@rollup/rollup-win32-ia32-msvc@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.17.2.tgz#a2fbf8246ed0bb014f078ca34ae6b377a90cb411" - integrity sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ== - -"@rollup/rollup-win32-x64-msvc@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.17.2.tgz#5a2d08b81e8064b34242d5cc9973ef8dd1e60503" - integrity sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w== +"@rollup/rollup-android-arm-eabi@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz#bbd0e616b2078cd2d68afc9824d1fadb2f2ffd27" + integrity sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ== + +"@rollup/rollup-android-arm64@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz#97255ef6384c5f73f4800c0de91f5f6518e21203" + integrity sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA== + +"@rollup/rollup-darwin-arm64@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz#b6dd74e117510dfe94541646067b0545b42ff096" + integrity sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w== + +"@rollup/rollup-darwin-x64@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz#e07d76de1cec987673e7f3d48ccb8e106d42c05c" + integrity sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA== + +"@rollup/rollup-linux-arm-gnueabihf@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz#9f1a6d218b560c9d75185af4b8bb42f9f24736b8" + integrity sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA== + +"@rollup/rollup-linux-arm-musleabihf@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz#53618b92e6ffb642c7b620e6e528446511330549" + integrity sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A== + +"@rollup/rollup-linux-arm64-gnu@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz#99a7ba5e719d4f053761a698f7b52291cefba577" + integrity sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw== + +"@rollup/rollup-linux-arm64-musl@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz#f53db99a45d9bc00ce94db8a35efa7c3c144a58c" + integrity sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ== + +"@rollup/rollup-linux-powerpc64le-gnu@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz#cbb0837408fe081ce3435cf3730e090febafc9bf" + integrity sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA== + +"@rollup/rollup-linux-riscv64-gnu@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz#8ed09c1d1262ada4c38d791a28ae0fea28b80cc9" + integrity sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg== + +"@rollup/rollup-linux-s390x-gnu@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz#938138d3c8e0c96f022252a28441dcfb17afd7ec" + integrity sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg== + +"@rollup/rollup-linux-x64-gnu@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz#1a7481137a54740bee1ded4ae5752450f155d942" + integrity sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w== + +"@rollup/rollup-linux-x64-musl@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz#f1186afc601ac4f4fc25fac4ca15ecbee3a1874d" + integrity sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg== + +"@rollup/rollup-win32-arm64-msvc@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz#ed6603e93636a96203c6915be4117245c1bd2daf" + integrity sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA== + +"@rollup/rollup-win32-ia32-msvc@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz#14e0b404b1c25ebe6157a15edb9c46959ba74c54" + integrity sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg== + +"@rollup/rollup-win32-x64-msvc@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz#5d694d345ce36b6ecf657349e03eb87297e68da4" + integrity sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g== "@splidejs/react-splide@^0.7.12": version "0.7.12" @@ -539,12 +542,12 @@ "@splidejs/splide@^4.1.3": version "4.1.4" - resolved "https://registry.npmjs.org/@splidejs/splide/-/splide-4.1.4.tgz" + resolved "https://registry.yarnpkg.com/@splidejs/splide/-/splide-4.1.4.tgz#02d029360569e7d75d28357a9727fc48322015a3" integrity sha512-5I30evTJcAJQXt6vJ26g2xEkG+l1nXcpEw4xpKh0/FWQ8ozmAeTbtniVtVmz2sH1Es3vgfC4SS8B2X4o5JMptA== "@types/babel__core@^7.20.5": version "7.20.5" - resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== dependencies: "@babel/parser" "^7.20.7" @@ -555,107 +558,107 @@ "@types/babel__generator@*": version "7.6.8" - resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.8.tgz#f836c61f48b1346e7d2b0d93c6dacc5b9535d3ab" integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": version "7.4.4" - resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" "@types/babel__traverse@*": - version "7.20.5" - resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz" - integrity sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ== + version "7.20.6" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.6.tgz#8dc9f0ae0f202c08d8d4dab648912c8d6038e3f7" + integrity sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg== dependencies: "@babel/types" "^7.20.7" "@types/estree@1.0.5": version "1.0.5" - resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== "@types/prop-types@*": version "15.7.12" - resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.12.tgz#12bb1e2be27293c1406acb6af1c3f3a1481d98c6" integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q== "@types/react-dom@^18.2.22": version "18.3.0" - resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.0.tgz#0cbc818755d87066ab6ca74fbedb2547d74a82b0" integrity sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg== dependencies: "@types/react" "*" "@types/react@*", "@types/react@^18.2.66": - version "18.3.2" - resolved "https://registry.npmjs.org/@types/react/-/react-18.3.2.tgz" - integrity sha512-Btgg89dAnqD4vV7R3hlwOxgqobUQKgx3MmrQRi0yYbs/P0ym8XozIAlkqVilPqHQwXs4e9Tf63rrCgl58BcO4w== + version "18.3.3" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.3.tgz#9679020895318b0915d7a3ab004d92d33375c45f" + integrity sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw== dependencies: "@types/prop-types" "*" csstype "^3.0.2" "@typescript-eslint/eslint-plugin@^7.2.0": - version "7.10.0" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.10.0.tgz" - integrity sha512-PzCr+a/KAef5ZawX7nbyNwBDtM1HdLIT53aSA2DDlxmxMngZ43O8SIePOeX8H5S+FHXeI6t97mTt/dDdzY4Fyw== + version "7.12.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.12.0.tgz#f87a32e8972b8a60024f2f8f12205e7c8108bc41" + integrity sha512-7F91fcbuDf/d3S8o21+r3ZncGIke/+eWk0EpO21LXhDfLahriZF9CGj4fbAetEjlaBdjdSm9a6VeXbpbT6Z40Q== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "7.10.0" - "@typescript-eslint/type-utils" "7.10.0" - "@typescript-eslint/utils" "7.10.0" - "@typescript-eslint/visitor-keys" "7.10.0" + "@typescript-eslint/scope-manager" "7.12.0" + "@typescript-eslint/type-utils" "7.12.0" + "@typescript-eslint/utils" "7.12.0" + "@typescript-eslint/visitor-keys" "7.12.0" graphemer "^1.4.0" ignore "^5.3.1" natural-compare "^1.4.0" ts-api-utils "^1.3.0" "@typescript-eslint/parser@^7.2.0": - version "7.10.0" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.10.0.tgz" - integrity sha512-2EjZMA0LUW5V5tGQiaa2Gys+nKdfrn2xiTIBLR4fxmPmVSvgPcKNW+AE/ln9k0A4zDUti0J/GZXMDupQoI+e1w== - dependencies: - "@typescript-eslint/scope-manager" "7.10.0" - "@typescript-eslint/types" "7.10.0" - "@typescript-eslint/typescript-estree" "7.10.0" - "@typescript-eslint/visitor-keys" "7.10.0" + version "7.12.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.12.0.tgz#8761df3345528b35049353db80010b385719b1c3" + integrity sha512-dm/J2UDY3oV3TKius2OUZIFHsomQmpHtsV0FTh1WO8EKgHLQ1QCADUqscPgTpU+ih1e21FQSRjXckHn3txn6kQ== + dependencies: + "@typescript-eslint/scope-manager" "7.12.0" + "@typescript-eslint/types" "7.12.0" + "@typescript-eslint/typescript-estree" "7.12.0" + "@typescript-eslint/visitor-keys" "7.12.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@7.10.0": - version "7.10.0" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.10.0.tgz" - integrity sha512-7L01/K8W/VGl7noe2mgH0K7BE29Sq6KAbVmxurj8GGaPDZXPr8EEQ2seOeAS+mEV9DnzxBQB6ax6qQQ5C6P4xg== +"@typescript-eslint/scope-manager@7.12.0": + version "7.12.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.12.0.tgz#259c014362de72dd34f995efe6bd8dda486adf58" + integrity sha512-itF1pTnN6F3unPak+kutH9raIkL3lhH1YRPGgt7QQOh43DQKVJXmWkpb+vpc/TiDHs6RSd9CTbDsc/Y+Ygq7kg== dependencies: - "@typescript-eslint/types" "7.10.0" - "@typescript-eslint/visitor-keys" "7.10.0" + "@typescript-eslint/types" "7.12.0" + "@typescript-eslint/visitor-keys" "7.12.0" -"@typescript-eslint/type-utils@7.10.0": - version "7.10.0" - resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.10.0.tgz" - integrity sha512-D7tS4WDkJWrVkuzgm90qYw9RdgBcrWmbbRkrLA4d7Pg3w0ttVGDsvYGV19SH8gPR5L7OtcN5J1hTtyenO9xE9g== +"@typescript-eslint/type-utils@7.12.0": + version "7.12.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.12.0.tgz#9dfaaa1972952f395ec5be4f5bbfc4d3cdc63908" + integrity sha512-lib96tyRtMhLxwauDWUp/uW3FMhLA6D0rJ8T7HmH7x23Gk1Gwwu8UZ94NMXBvOELn6flSPiBrCKlehkiXyaqwA== dependencies: - "@typescript-eslint/typescript-estree" "7.10.0" - "@typescript-eslint/utils" "7.10.0" + "@typescript-eslint/typescript-estree" "7.12.0" + "@typescript-eslint/utils" "7.12.0" debug "^4.3.4" ts-api-utils "^1.3.0" -"@typescript-eslint/types@7.10.0": - version "7.10.0" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.10.0.tgz" - integrity sha512-7fNj+Ya35aNyhuqrA1E/VayQX9Elwr8NKZ4WueClR3KwJ7Xx9jcCdOrLW04h51de/+gNbyFMs+IDxh5xIwfbNg== +"@typescript-eslint/types@7.12.0": + version "7.12.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.12.0.tgz#bf208f971a8da1e7524a5d9ae2b5f15192a37981" + integrity sha512-o+0Te6eWp2ppKY3mLCU+YA9pVJxhUJE15FV7kxuD9jgwIAa+w/ycGJBMrYDTpVGUM/tgpa9SeMOugSabWFq7bg== -"@typescript-eslint/typescript-estree@7.10.0": - version "7.10.0" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.10.0.tgz" - integrity sha512-LXFnQJjL9XIcxeVfqmNj60YhatpRLt6UhdlFwAkjNc6jSUlK8zQOl1oktAP8PlWFzPQC1jny/8Bai3/HPuvN5g== +"@typescript-eslint/typescript-estree@7.12.0": + version "7.12.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.12.0.tgz#e6c1074f248b3db6573ab6a7c47a39c4cd498ff9" + integrity sha512-5bwqLsWBULv1h6pn7cMW5dXX/Y2amRqLaKqsASVwbBHMZSnHqE/HN4vT4fE0aFsiwxYvr98kqOWh1a8ZKXalCQ== dependencies: - "@typescript-eslint/types" "7.10.0" - "@typescript-eslint/visitor-keys" "7.10.0" + "@typescript-eslint/types" "7.12.0" + "@typescript-eslint/visitor-keys" "7.12.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" @@ -663,53 +666,53 @@ semver "^7.6.0" ts-api-utils "^1.3.0" -"@typescript-eslint/utils@7.10.0": - version "7.10.0" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.10.0.tgz" - integrity sha512-olzif1Fuo8R8m/qKkzJqT7qwy16CzPRWBvERS0uvyc+DHd8AKbO4Jb7kpAvVzMmZm8TrHnI7hvjN4I05zow+tg== +"@typescript-eslint/utils@7.12.0": + version "7.12.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.12.0.tgz#c6e58fd7f724cdccc848f71e388ad80cbdb95dd0" + integrity sha512-Y6hhwxwDx41HNpjuYswYp6gDbkiZ8Hin9Bf5aJQn1bpTs3afYY4GX+MPYxma8jtoIV2GRwTM/UJm/2uGCVv+DQ== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "7.10.0" - "@typescript-eslint/types" "7.10.0" - "@typescript-eslint/typescript-estree" "7.10.0" + "@typescript-eslint/scope-manager" "7.12.0" + "@typescript-eslint/types" "7.12.0" + "@typescript-eslint/typescript-estree" "7.12.0" -"@typescript-eslint/visitor-keys@7.10.0": - version "7.10.0" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.10.0.tgz" - integrity sha512-9ntIVgsi6gg6FIq9xjEO4VQJvwOqA3jaBFQJ/6TK5AvEup2+cECI6Fh7QiBxmfMHXU0V0J4RyPeOU1VDNzl9cg== +"@typescript-eslint/visitor-keys@7.12.0": + version "7.12.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.12.0.tgz#c053b55a996679528beeedd8e565710ce1ae1ad3" + integrity sha512-uZk7DevrQLL3vSnfFl5bj4sL75qC9D6EdjemIdbtkuUmIheWpuiiylSY01JxJE7+zGrOWDZrp1WxOuDntvKrHQ== dependencies: - "@typescript-eslint/types" "7.10.0" + "@typescript-eslint/types" "7.12.0" eslint-visitor-keys "^3.4.3" "@ungap/structured-clone@^1.2.0": version "1.2.0" - resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== "@vitejs/plugin-react@^4.2.1": - version "4.2.1" - resolved "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.2.1.tgz" - integrity sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ== + version "4.3.0" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.3.0.tgz#f20ec2369a92d8abaaefa60da8b7157819d20481" + integrity sha512-KcEbMsn4Dpk+LIbHMj7gDPRKaTMStxxWRkRmxsg/jVdFdJCZWt1SchZcf0M4t8lIKdwwMsEyzhrcOXRrDPtOBw== dependencies: - "@babel/core" "^7.23.5" - "@babel/plugin-transform-react-jsx-self" "^7.23.3" - "@babel/plugin-transform-react-jsx-source" "^7.23.3" + "@babel/core" "^7.24.5" + "@babel/plugin-transform-react-jsx-self" "^7.24.5" + "@babel/plugin-transform-react-jsx-source" "^7.24.1" "@types/babel__core" "^7.20.5" - react-refresh "^0.14.0" + react-refresh "^0.14.2" acorn-jsx@^5.3.2: version "5.3.2" - resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn@^8.9.0: version "8.11.3" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== ajv@^6.12.4: version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: fast-deep-equal "^3.1.1" @@ -719,41 +722,41 @@ ajv@^6.12.4: ansi-regex@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-regex@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== ansi-styles@^3.2.1: version "3.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" ansi-styles@^6.1.0: version "6.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== any-promise@^1.0.0: version "1.3.0" - resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz" + resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== anymatch@~3.1.2: version "3.1.3" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== dependencies: normalize-path "^3.0.0" @@ -761,22 +764,22 @@ anymatch@~3.1.2: arg@^5.0.2: version "5.0.2" - resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" + resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== argparse@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== array-union@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== autoprefixer@^10.4.19: version "10.4.19" - resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.19.tgz#ad25a856e82ee9d7898c59583c1afeb3fa65f89f" integrity sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew== dependencies: browserslist "^4.23.0" @@ -788,17 +791,17 @@ autoprefixer@^10.4.19: balanced-match@^1.0.0: version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== binary-extensions@^2.0.0: version "2.3.0" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== brace-expansion@^1.1.7: version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: balanced-match "^1.0.0" @@ -806,21 +809,21 @@ brace-expansion@^1.1.7: brace-expansion@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== dependencies: balanced-match "^1.0.0" braces@^3.0.3, braces@~3.0.2: version "3.0.3" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== dependencies: fill-range "^7.1.1" browserslist@^4.22.2, browserslist@^4.23.0: version "4.23.0" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== dependencies: caniuse-lite "^1.0.30001587" @@ -830,22 +833,22 @@ browserslist@^4.22.2, browserslist@^4.23.0: callsites@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== camelcase-css@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== caniuse-lite@^1.0.30001587, caniuse-lite@^1.0.30001599: - version "1.0.30001620" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001620.tgz" - integrity sha512-WJvYsOjd1/BYUY6SNGUosK9DUidBPDTnOARHp3fSmFO1ekdxaY6nKRttEVrfMmYi80ctS0kz1wiWmm14fVc3ew== + version "1.0.30001629" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001629.tgz#907a36f4669031bd8a1a8dbc2fa08b29e0db297e" + integrity sha512-c3dl911slnQhmxUIT4HhYzT7wnBK/XYpGnYLOj4nJBaRiw52Ibe7YxlDaAeRECvA786zCuExhxIUJ2K7nHMrBw== chalk@^2.4.2: version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: ansi-styles "^3.2.1" @@ -854,7 +857,7 @@ chalk@^2.4.2: chalk@^4.0.0: version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: ansi-styles "^4.1.0" @@ -862,7 +865,7 @@ chalk@^4.0.0: chokidar@^3.5.3: version "3.6.0" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== dependencies: anymatch "~3.1.2" @@ -877,46 +880,46 @@ chokidar@^3.5.3: color-convert@^1.9.0: version "1.9.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== dependencies: color-name "1.1.3" color-convert@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== dependencies: color-name "~1.1.4" color-name@1.1.3: version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== color-name@~1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== commander@^4.0.0: version "4.1.1" - resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" + resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== concat-map@0.0.1: version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== convert-source-map@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== cross-spawn@^7.0.0, cross-spawn@^7.0.2: version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== dependencies: path-key "^3.1.0" @@ -925,73 +928,73 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.2: cssesc@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== csstype@^3.0.2: version "3.1.3" - resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== debug@^4.1.0, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + version "4.3.5" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.5.tgz#e83444eceb9fedd4a1da56d671ae2446a01a6e1e" + integrity sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg== dependencies: ms "2.1.2" deep-is@^0.1.3: version "0.1.4" - resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== didyoumean@^1.2.2: version "1.2.2" - resolved "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz" + resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== dir-glob@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== dependencies: path-type "^4.0.0" dlv@^1.1.3: version "1.1.3" - resolved "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz" + resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== doctrine@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== dependencies: esutils "^2.0.2" eastasianwidth@^0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== electron-to-chromium@^1.4.668: - version "1.4.777" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.777.tgz" - integrity sha512-n02NCwLJ3wexLfK/yQeqfywCblZqLcXphzmid5e8yVPdtEcida7li0A5WQKghHNG0FeOMCzeFOzEbtAh5riXFw== + version "1.4.794" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.794.tgz#cca7762998f6c42517770666e272f52a53c08605" + integrity sha512-6FApLtsYhDCY0Vglq3AptsdxQ+PJLc6AxlAM0HjEihUAiOPPbkASEsq9gtxUeZY9o0sJIEa3WnF0vVH4VT4iug== emoji-regex@^8.0.0: version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== emoji-regex@^9.2.2: version "9.2.2" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== esbuild@^0.20.1: version "0.20.2" - resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.20.2.tgz#9d6b2386561766ee6b5a55196c6d766d28c87ea1" integrity sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g== optionalDependencies: "@esbuild/aix-ppc64" "0.20.2" @@ -1020,32 +1023,32 @@ esbuild@^0.20.1: escalade@^3.1.2: version "3.1.2" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== escape-string-regexp@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== escape-string-regexp@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== eslint-plugin-react-hooks@^4.6.0: version "4.6.2" - resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz#c829eb06c0e6f484b3fbb85a97e57784f328c596" integrity sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ== eslint-plugin-react-refresh@^0.4.6: version "0.4.7" - resolved "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.7.tgz" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.7.tgz#1f597f9093b254f10ee0961c139a749acb19af7d" integrity sha512-yrj+KInFmwuQS2UQcg1SF83ha1tuHC1jMQbRNyuWtlEzzKRDgAl7L4Yp4NlDUZTZNlWvHEzOtJhMi40R7JxcSw== eslint-scope@^7.2.2: version "7.2.2" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== dependencies: esrecurse "^4.3.0" @@ -1053,12 +1056,12 @@ eslint-scope@^7.2.2: eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: version "3.4.3" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== eslint@^8.57.0: version "8.57.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.0.tgz#c786a6fd0e0b68941aaf624596fb987089195668" integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== dependencies: "@eslint-community/eslint-utils" "^4.2.0" @@ -1102,7 +1105,7 @@ eslint@^8.57.0: espree@^9.6.0, espree@^9.6.1: version "9.6.1" - resolved "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== dependencies: acorn "^8.9.0" @@ -1111,36 +1114,36 @@ espree@^9.6.0, espree@^9.6.1: esquery@^1.4.2: version "1.5.0" - resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== dependencies: estraverse "^5.1.0" esrecurse@^4.3.0: version "4.3.0" - resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== dependencies: estraverse "^5.2.0" estraverse@^5.1.0, estraverse@^5.2.0: version "5.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== esutils@^2.0.2: version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-glob@^3.2.9, fast-glob@^3.3.0: version "3.3.2" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== dependencies: "@nodelib/fs.stat" "^2.0.2" @@ -1151,38 +1154,38 @@ fast-glob@^3.2.9, fast-glob@^3.3.0: fast-json-stable-stringify@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== fast-levenshtein@^2.0.6: version "2.0.6" - resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== fastq@^1.6.0: version "1.17.1" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== dependencies: reusify "^1.0.4" file-entry-cache@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== dependencies: flat-cache "^3.0.4" fill-range@^7.1.1: version "7.1.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== dependencies: to-regex-range "^5.0.1" find-up@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== dependencies: locate-path "^6.0.0" @@ -1190,7 +1193,7 @@ find-up@^5.0.0: flat-cache@^3.0.4: version "3.2.0" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== dependencies: flatted "^3.2.9" @@ -1199,12 +1202,12 @@ flat-cache@^3.0.4: flatted@^3.2.9: version "3.3.1" - resolved "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== foreground-child@^3.1.0: version "3.1.1" - resolved "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d" integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== dependencies: cross-spawn "^7.0.0" @@ -1212,57 +1215,57 @@ foreground-child@^3.1.0: fraction.js@^4.3.7: version "4.3.7" - resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7" integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== fs.realpath@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== fsevents@~2.3.2, fsevents@~2.3.3: version "2.3.3" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== function-bind@^1.1.2: version "1.1.2" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== gensync@^1.0.0-beta.2: version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" glob-parent@^6.0.2: version "6.0.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== dependencies: is-glob "^4.0.3" glob@^10.3.10: - version "10.3.16" - resolved "https://registry.npmjs.org/glob/-/glob-10.3.16.tgz" - integrity sha512-JDKXl1DiuuHJ6fVS2FXjownaavciiHNUU4mOvV/B793RLh05vZL1rcPnCSaOgv1hDT6RDlY7AB7ZUvFYAtPgAw== + version "10.4.1" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.1.tgz#0cfb01ab6a6b438177bfe6a58e2576f6efe909c2" + integrity sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw== dependencies: foreground-child "^3.1.0" jackspeak "^3.1.2" - minimatch "^9.0.1" - minipass "^7.0.4" - path-scurry "^1.11.0" + minimatch "^9.0.4" + minipass "^7.1.2" + path-scurry "^1.11.1" glob@^7.1.3: version "7.2.3" - resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== dependencies: fs.realpath "^1.0.0" @@ -1274,19 +1277,19 @@ glob@^7.1.3: globals@^11.1.0: version "11.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^13.19.0: version "13.24.0" - resolved "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== dependencies: type-fest "^0.20.2" globby@^11.1.0: version "11.1.0" - resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== dependencies: array-union "^2.1.0" @@ -1298,34 +1301,34 @@ globby@^11.1.0: graphemer@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== has-flag@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== has-flag@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== hasown@^2.0.0: version "2.0.2" - resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== dependencies: function-bind "^1.1.2" ignore@^5.2.0, ignore@^5.3.1: version "5.3.1" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== import-fresh@^3.2.1: version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== dependencies: parent-module "^1.0.0" @@ -1333,12 +1336,12 @@ import-fresh@^3.2.1: imurmurhash@^0.1.4: version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== inflight@^1.0.4: version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== dependencies: once "^1.3.0" @@ -1346,116 +1349,116 @@ inflight@^1.0.4: inherits@2: version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== is-binary-path@~2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== dependencies: binary-extensions "^2.0.0" is-core-module@^2.13.0: version "2.13.1" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== dependencies: hasown "^2.0.0" is-extglob@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== is-fullwidth-code-point@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" is-number@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== is-path-inside@^3.0.3: version "3.0.3" - resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== isexe@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== jackspeak@^3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/jackspeak/-/jackspeak-3.1.2.tgz" - integrity sha512-kWmLKn2tRtfYMF/BakihVVRzBKOxz4gJMiL2Rj91WnAB5TPZumSH99R/Yf1qE1u4uRimvCSJfm6hnxohXeEXjQ== + version "3.4.0" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.0.tgz#a75763ff36ad778ede6a156d8ee8b124de445b4a" + integrity sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw== dependencies: "@isaacs/cliui" "^8.0.2" optionalDependencies: "@pkgjs/parseargs" "^0.11.0" jiti@^1.21.0: - version "1.21.0" - resolved "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz" - integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== + version "1.21.3" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.3.tgz#b2adb07489d7629b344d59082bbedb8c21c5f755" + integrity sha512-uy2bNX5zQ+tESe+TiC7ilGRz8AtRGmnJH55NC5S0nSUjvvvM2hJHmefHErugGXN4pNv4Qx7vLsnNw9qJ9mtIsw== "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== dependencies: argparse "^2.0.1" jsesc@^2.5.1: version "2.5.2" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== json-buffer@3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== json-schema-traverse@^0.4.1: version "0.4.1" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== json5@^2.2.3: version "2.2.3" - resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== keyv@^4.5.3: version "4.5.4" - resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== dependencies: json-buffer "3.0.1" levn@^0.4.1: version "0.4.1" - resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== dependencies: prelude-ls "^1.2.1" @@ -1463,90 +1466,90 @@ levn@^0.4.1: lilconfig@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== lilconfig@^3.0.0: version "3.1.1" - resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.1.tgz#9d8a246fa753106cfc205fd2d77042faca56e5e3" integrity sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ== lines-and-columns@^1.1.6: version "1.2.4" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== locate-path@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== dependencies: p-locate "^5.0.0" lodash.merge@^4.6.2: version "4.6.2" - resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== loose-envify@^1.1.0: version "1.4.0" - resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== dependencies: js-tokens "^3.0.0 || ^4.0.0" lru-cache@^10.2.0: version "10.2.2" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.2.tgz#48206bc114c1252940c41b25b41af5b545aca878" integrity sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ== lru-cache@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== dependencies: yallist "^3.0.2" merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" - resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== micromatch@^4.0.4, micromatch@^4.0.5: - version "4.0.6" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.6.tgz" - integrity sha512-Y4Ypn3oujJYxJcMacVgcs92wofTHxp9FzfDpQON4msDefoC0lb3ETvQLOdLcbhSwU1bz8HrL/1sygfBIHudrkQ== + version "4.0.7" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.7.tgz#33e8190d9fe474a9895525f5618eee136d46c2e5" + integrity sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q== dependencies: braces "^3.0.3" - picomatch "^4.0.2" + picomatch "^2.3.1" minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" -minimatch@^9.0.1, minimatch@^9.0.4: +minimatch@^9.0.4: version "9.0.4" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51" integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== dependencies: brace-expansion "^2.0.1" -"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.4: - version "7.1.1" - resolved "https://registry.npmjs.org/minipass/-/minipass-7.1.1.tgz" - integrity sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA== +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" + integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== ms@2.1.2: version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== mz@^2.7.0: version "2.7.0" - resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz" + resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== dependencies: any-promise "^1.0.0" @@ -1555,49 +1558,49 @@ mz@^2.7.0: nanoid@^3.3.7: version "3.3.7" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== natural-compare@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== node-releases@^2.0.14: version "2.0.14" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== normalize-range@^0.1.2: version "0.1.2" - resolved "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== object-assign@^4.0.1: version "4.1.1" - resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== object-hash@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== once@^1.3.0: version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== dependencies: wrappy "1" optionator@^0.9.3: version "0.9.4" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== dependencies: deep-is "^0.1.3" @@ -1609,48 +1612,48 @@ optionator@^0.9.3: p-limit@^3.0.2: version "3.1.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== dependencies: yocto-queue "^0.1.0" p-locate@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== dependencies: p-limit "^3.0.2" parent-module@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== dependencies: callsites "^3.0.0" path-exists@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== path-is-absolute@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== path-key@^3.1.0: version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== path-parse@^1.0.7: version "1.0.7" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-scurry@^1.11.0: +path-scurry@^1.11.1: version "1.11.1" - resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== dependencies: lru-cache "^10.2.0" @@ -1658,37 +1661,32 @@ path-scurry@^1.11.0: path-type@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== picocolors@^1.0.0, picocolors@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== -picomatch@^2.0.4, picomatch@^2.2.1: +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -picomatch@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz" - integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== - pify@^2.3.0: version "2.3.0" - resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== pirates@^4.0.1: version "4.0.6" - resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== postcss-import@^15.1.0: version "15.1.0" - resolved "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-15.1.0.tgz#41c64ed8cc0e23735a9698b3249ffdbf704adc70" integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew== dependencies: postcss-value-parser "^4.0.0" @@ -1697,14 +1695,14 @@ postcss-import@^15.1.0: postcss-js@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz" + resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.1.tgz#61598186f3703bab052f1c4f7d805f3991bee9d2" integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== dependencies: camelcase-css "^2.0.1" postcss-load-config@^4.0.1: version "4.0.2" - resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-4.0.2.tgz#7159dcf626118d33e299f485d6afe4aff7c4a3e3" integrity sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ== dependencies: lilconfig "^3.0.0" @@ -1712,27 +1710,27 @@ postcss-load-config@^4.0.1: postcss-nested@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.0.1.tgz#f83dc9846ca16d2f4fa864f16e9d9f7d0961662c" integrity sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ== dependencies: postcss-selector-parser "^6.0.11" postcss-selector-parser@^6.0.11: - version "6.0.16" - resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz" - integrity sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw== + version "6.1.0" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz#49694cb4e7c649299fea510a29fa6577104bcf53" + integrity sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ== dependencies: cssesc "^3.0.0" util-deprecate "^1.0.2" postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0: version "4.2.0" - resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== postcss@^8.4.23, postcss@^8.4.38: version "8.4.38" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.38.tgz#b387d533baf2054288e337066d81c6bee9db9e0e" integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== dependencies: nanoid "^3.3.7" @@ -1741,61 +1739,61 @@ postcss@^8.4.23, postcss@^8.4.38: prelude-ls@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== punycode@^2.1.0: version "2.3.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== queue-microtask@^1.2.2: version "1.2.3" - resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== react-dom@^18.2.0: version "18.3.1" - resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.3.1.tgz#c2265d79511b57d479b3dd3fdfa51536494c5cb4" integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== dependencies: loose-envify "^1.1.0" scheduler "^0.23.2" -react-refresh@^0.14.0: +react-refresh@^0.14.2: version "0.14.2" - resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.2.tgz#3833da01ce32da470f1f936b9d477da5c7028bf9" integrity sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA== react@^18.2.0: version "18.3.1" - resolved "https://registry.npmjs.org/react/-/react-18.3.1.tgz" + resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== dependencies: loose-envify "^1.1.0" read-cache@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== dependencies: pify "^2.3.0" readdirp@~3.6.0: version "3.6.0" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== dependencies: picomatch "^2.2.1" resolve-from@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== resolve@^1.1.7, resolve@^1.22.2: version "1.22.8" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== dependencies: is-core-module "^2.13.0" @@ -1804,95 +1802,95 @@ resolve@^1.1.7, resolve@^1.22.2: reusify@^1.0.4: version "1.0.4" - resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== rimraf@^3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== dependencies: glob "^7.1.3" rollup@^4.13.0: - version "4.17.2" - resolved "https://registry.npmjs.org/rollup/-/rollup-4.17.2.tgz" - integrity sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ== + version "4.18.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.18.0.tgz#497f60f0c5308e4602cf41136339fbf87d5f5dda" + integrity sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg== dependencies: "@types/estree" "1.0.5" optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.17.2" - "@rollup/rollup-android-arm64" "4.17.2" - "@rollup/rollup-darwin-arm64" "4.17.2" - "@rollup/rollup-darwin-x64" "4.17.2" - "@rollup/rollup-linux-arm-gnueabihf" "4.17.2" - "@rollup/rollup-linux-arm-musleabihf" "4.17.2" - "@rollup/rollup-linux-arm64-gnu" "4.17.2" - "@rollup/rollup-linux-arm64-musl" "4.17.2" - "@rollup/rollup-linux-powerpc64le-gnu" "4.17.2" - "@rollup/rollup-linux-riscv64-gnu" "4.17.2" - "@rollup/rollup-linux-s390x-gnu" "4.17.2" - "@rollup/rollup-linux-x64-gnu" "4.17.2" - "@rollup/rollup-linux-x64-musl" "4.17.2" - "@rollup/rollup-win32-arm64-msvc" "4.17.2" - "@rollup/rollup-win32-ia32-msvc" "4.17.2" - "@rollup/rollup-win32-x64-msvc" "4.17.2" + "@rollup/rollup-android-arm-eabi" "4.18.0" + "@rollup/rollup-android-arm64" "4.18.0" + "@rollup/rollup-darwin-arm64" "4.18.0" + "@rollup/rollup-darwin-x64" "4.18.0" + "@rollup/rollup-linux-arm-gnueabihf" "4.18.0" + "@rollup/rollup-linux-arm-musleabihf" "4.18.0" + "@rollup/rollup-linux-arm64-gnu" "4.18.0" + "@rollup/rollup-linux-arm64-musl" "4.18.0" + "@rollup/rollup-linux-powerpc64le-gnu" "4.18.0" + "@rollup/rollup-linux-riscv64-gnu" "4.18.0" + "@rollup/rollup-linux-s390x-gnu" "4.18.0" + "@rollup/rollup-linux-x64-gnu" "4.18.0" + "@rollup/rollup-linux-x64-musl" "4.18.0" + "@rollup/rollup-win32-arm64-msvc" "4.18.0" + "@rollup/rollup-win32-ia32-msvc" "4.18.0" + "@rollup/rollup-win32-x64-msvc" "4.18.0" fsevents "~2.3.2" run-parallel@^1.1.9: version "1.2.0" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== dependencies: queue-microtask "^1.2.2" scheduler@^0.23.2: version "0.23.2" - resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.2.tgz#414ba64a3b282892e944cf2108ecc078d115cdc3" integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ== dependencies: loose-envify "^1.1.0" semver@^6.3.1: version "6.3.1" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== semver@^7.6.0: version "7.6.2" - resolved "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13" integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== shebang-command@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== dependencies: shebang-regex "^3.0.0" shebang-regex@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== signal-exit@^4.0.1: version "4.1.0" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== slash@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== source-map-js@^1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== "string-width-cjs@npm:string-width@^4.2.0": version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: emoji-regex "^8.0.0" @@ -1901,7 +1899,7 @@ source-map-js@^1.2.0: string-width@^4.1.0: version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: emoji-regex "^8.0.0" @@ -1910,7 +1908,7 @@ string-width@^4.1.0: string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" - resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== dependencies: eastasianwidth "^0.2.0" @@ -1919,33 +1917,33 @@ string-width@^5.0.1, string-width@^5.1.2: "strip-ansi-cjs@npm:strip-ansi@^6.0.1": version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: ansi-regex "^5.0.1" strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: ansi-regex "^5.0.1" strip-ansi@^7.0.1: version "7.1.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== dependencies: ansi-regex "^6.0.1" strip-json-comments@^3.1.1: version "3.1.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== sucrase@^3.32.0: version "3.35.0" - resolved "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz" + resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.35.0.tgz#57f17a3d7e19b36d8995f06679d121be914ae263" integrity sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA== dependencies: "@jridgewell/gen-mapping" "^0.3.2" @@ -1958,27 +1956,27 @@ sucrase@^3.32.0: supports-color@^5.3.0: version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0" supports-color@^7.1.0: version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== tailwindcss@^3.4.3: - version "3.4.3" - resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.3.tgz" - integrity sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A== + version "3.4.4" + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.4.tgz#351d932273e6abfa75ce7d226b5bf3a6cb257c05" + integrity sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A== dependencies: "@alloc/quick-lru" "^5.2.0" arg "^5.0.2" @@ -2005,65 +2003,65 @@ tailwindcss@^3.4.3: text-table@^0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== thenify-all@^1.0.0: version "1.6.0" - resolved "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz" + resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== dependencies: thenify ">= 3.1.0 < 4" "thenify@>= 3.1.0 < 4": version "3.3.1" - resolved "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz" + resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== dependencies: any-promise "^1.0.0" to-fast-properties@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== to-regex-range@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== dependencies: is-number "^7.0.0" ts-api-utils@^1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== ts-interface-checker@^0.1.9: version "0.1.13" - resolved "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz" + resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== dependencies: prelude-ls "^1.2.1" type-fest@^0.20.2: version "0.20.2" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== typescript@^5.2.2: version "5.4.5" - resolved "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.5.tgz#42ccef2c571fdbd0f6718b1d1f5e6e5ef006f611" integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== update-browserslist-db@^1.0.13: version "1.0.16" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz#f6d489ed90fb2f07d67784eb3f53d7891f736356" integrity sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ== dependencies: escalade "^3.1.2" @@ -2071,20 +2069,20 @@ update-browserslist-db@^1.0.13: uri-js@^4.2.2: version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" util-deprecate@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== vite@^5.2.0: - version "5.2.11" - resolved "https://registry.npmjs.org/vite/-/vite-5.2.11.tgz" - integrity sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ== + version "5.2.12" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.2.12.tgz#3536c93c58ba18edea4915a2ac573e6537409d97" + integrity sha512-/gC8GxzxMK5ntBwb48pR32GGhENnjtY30G4A0jemunsBkiEZFw60s8InGpN8gkhHEkjnRK1aSAxeQgwvFhUHAA== dependencies: esbuild "^0.20.1" postcss "^8.4.38" @@ -2094,19 +2092,19 @@ vite@^5.2.0: which@^2.0.1: version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: isexe "^2.0.0" word-wrap@^1.2.5: version "1.2.5" - resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== dependencies: ansi-styles "^4.0.0" @@ -2115,7 +2113,7 @@ word-wrap@^1.2.5: wrap-ansi@^8.1.0: version "8.1.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== dependencies: ansi-styles "^6.1.0" @@ -2124,20 +2122,20 @@ wrap-ansi@^8.1.0: wrappy@1: version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== yallist@^3.0.2: version "3.1.1" - resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== yaml@^2.3.4: - version "2.4.2" - resolved "https://registry.npmjs.org/yaml/-/yaml-2.4.2.tgz" - integrity sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA== + version "2.4.3" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.4.3.tgz#0777516b8c7880bcaa0f426a5410e8d6b0be1f3d" + integrity sha512-sntgmxj8o7DE7g/Qi60cqpLBA3HG3STcDA0kO+WfB05jEKhZMbY7umNm2rBpQvsmZ16/lPXCJGW2672dgOUkrg== yocto-queue@^0.1.0: version "0.1.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From 68545e1c18d225e614b9f2d5a78a0d00e0b22591 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dorien=20Gr=C3=B6nwald?= Date: Fri, 7 Jun 2024 08:14:08 +0200 Subject: [PATCH 065/193] feat: add introduction section --- public/assets/svg/general/location.svg | 4 ++ public/assets/svg/general/sensor.svg | 4 ++ public/assets/svg/general/statistics.svg | 3 + public/assets/svg/general/tree.svg | 4 ++ src/css/components/splide.css | 8 +++ src/tsx/App.tsx | 2 + src/tsx/components/IntroductionCard.tsx | 23 +++++++ src/tsx/components/sections/Introduction.tsx | 71 ++++++++++++++++++++ src/tsx/components/sections/Stakeholder.tsx | 13 ++-- src/types/splidejs__react-splide.d.ts | 2 + 10 files changed, 129 insertions(+), 5 deletions(-) create mode 100644 public/assets/svg/general/location.svg create mode 100644 public/assets/svg/general/sensor.svg create mode 100644 public/assets/svg/general/statistics.svg create mode 100644 public/assets/svg/general/tree.svg create mode 100644 src/tsx/components/IntroductionCard.tsx create mode 100644 src/tsx/components/sections/Introduction.tsx diff --git a/public/assets/svg/general/location.svg b/public/assets/svg/general/location.svg new file mode 100644 index 0000000..7651b00 --- /dev/null +++ b/public/assets/svg/general/location.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/assets/svg/general/sensor.svg b/public/assets/svg/general/sensor.svg new file mode 100644 index 0000000..ae62985 --- /dev/null +++ b/public/assets/svg/general/sensor.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/assets/svg/general/statistics.svg b/public/assets/svg/general/statistics.svg new file mode 100644 index 0000000..5f31d4e --- /dev/null +++ b/public/assets/svg/general/statistics.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/assets/svg/general/tree.svg b/public/assets/svg/general/tree.svg new file mode 100644 index 0000000..e07a76c --- /dev/null +++ b/public/assets/svg/general/tree.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/css/components/splide.css b/src/css/components/splide.css index 528d5f9..c400832 100644 --- a/src/css/components/splide.css +++ b/src/css/components/splide.css @@ -1,4 +1,12 @@ /* Override default styles from splide slider package */ +.splide.splide--grid > .splide__track { + @apply lg:pb-7 !important; +} + +.splide.splide--grid > .splide__track > .splide__list { + @apply xl:grid xl:grid-cols-2 xl:gap-x-6 xl:gap-y-8 !important; +} + .splide__pagination { @apply bottom-0 lg:-bottom-4 !important; } diff --git a/src/tsx/App.tsx b/src/tsx/App.tsx index 1bff48f..b7281af 100644 --- a/src/tsx/App.tsx +++ b/src/tsx/App.tsx @@ -1,9 +1,11 @@ import Faq from "./components/sections/Faq"; +import Introduction from "./components/sections/Introduction"; import Stakeholder from "./components/sections/Stakeholder"; function App() { return (
    +
    diff --git a/src/tsx/components/IntroductionCard.tsx b/src/tsx/components/IntroductionCard.tsx new file mode 100644 index 0000000..fb4bb53 --- /dev/null +++ b/src/tsx/components/IntroductionCard.tsx @@ -0,0 +1,23 @@ +import React from 'react'; + +interface IntroductionCardProps { + label: string; + icon: string; + description: string; +} + +const IntroductionCard: React.FC = ({ label, icon, description }) => { + return ( +
    +
    + {label}/ +
    +

    {label}

    +

    {description}

    +
    + ); +}; + +export default IntroductionCard; diff --git a/src/tsx/components/sections/Introduction.tsx b/src/tsx/components/sections/Introduction.tsx new file mode 100644 index 0000000..fc4806c --- /dev/null +++ b/src/tsx/components/sections/Introduction.tsx @@ -0,0 +1,71 @@ +import { Splide, SplideSlide } from '@splidejs/react-splide'; +import { i18nTranslated } from '../../helper/sliderTranslations'; +import '@splidejs/react-splide/css'; +import IntroductionCard from "../IntroductionCard"; + +function Introduction() { + const facts = [ + { + label: "Auswertung der Messdaten", + icon: "/assets/svg/general/statistics.svg", + description: "Durch die wissenschaftliche Datenauswertung wird eine fundierte Datengrundlage geliefert." + }, + { + label: "Monitoring mehrerer Standorte", + icon: "/assets/svg/general/location.svg", + description: "Bei der Interpretation der Daten werden die unterschiedlichen Standortbedingungen mit berücksichtigt." + }, + { + label: "Augenmerk auf Jungbäume und Beete", + icon: "/assets/svg/general/tree.svg", + description: "Beobachtet werden sollen besonders hitzeanfällige Vegetation wie Jungbäume und Blumenbeete." + }, + { + label: "Entwicklung einer Sensorlösung", + icon: "/assets/svg/general/sensor.svg", + description: "Die Daten zur Bodenfeuchte werden mithilfe von Sensoren nahe des Wurzelballens geliefert." + }, + ]; + + const breakpoints = { + 640: { + perPage: 2, + }, + 1280: { + destroy: true, + }, + } + + return ( +
    +
    +

    + Was beinhaltet smartes Grünflächenmanagement alles? +

    +

    + Smartes Grünflächenmanagement umfasst die effiziente Überwachung und Bewässerung von + Vegetationsformen auf Grünflächen durch den Einsatz moderner Technologien wie Sensoren und Datenanalyse. + Dadurch wird eine präzise Steuerung der Pflegemaßnahmen ermöglicht, die angepasst sind an die spezifischen + Standortbedingungen und Art und Alter der Vegetation. +

    +
    + + + {facts.map((fact, index) => ( + + + + ))} + +
    + ); +} + +export default Introduction; diff --git a/src/tsx/components/sections/Stakeholder.tsx b/src/tsx/components/sections/Stakeholder.tsx index c9e05fb..e8429d6 100644 --- a/src/tsx/components/sections/Stakeholder.tsx +++ b/src/tsx/components/sections/Stakeholder.tsx @@ -27,19 +27,22 @@ function Stakeholder() { return (
    -
    +

    Wer sind die Beteiligten?

    -
    +

    Id commodo eiusmod est culpa voluptate duis ipsum sint reprehenderit cupidatat elit qui enim. Culpa exercitation sunt nisi magna tempor est ut duis consectetur consectetur pariatur irure ea aliqua. Incididunt voluptate ad adipisicing excepteur laborum voluptate ut deserunt deserunt cillum mollit. Ea sit nulla occaecat proident cupidatat laborum. Ipsum esse elit cillum tempor in consequat duis ullamco. -

    -
    +

    + - + {stakeholder.map((company, index) => ( diff --git a/src/types/splidejs__react-splide.d.ts b/src/types/splidejs__react-splide.d.ts index 7d2370f..9c9c339 100644 --- a/src/types/splidejs__react-splide.d.ts +++ b/src/types/splidejs__react-splide.d.ts @@ -28,6 +28,8 @@ declare module '@splidejs/react-splide' { focus?: number | 'center'; cloneStatus?: boolean; clones?: number; + mediaQuery?: string; + destroy?: boolean; breakpoints?: { [key: string]: SplideOptions; }; From ddb41d7d52a756757feba010a98e278ab93245dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dorien=20Gr=C3=B6nwald?= Date: Fri, 7 Jun 2024 08:18:27 +0200 Subject: [PATCH 066/193] fix: update cursor --- src/tsx/components/IntroductionCard.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tsx/components/IntroductionCard.tsx b/src/tsx/components/IntroductionCard.tsx index fb4bb53..c197244 100644 --- a/src/tsx/components/IntroductionCard.tsx +++ b/src/tsx/components/IntroductionCard.tsx @@ -8,7 +8,7 @@ interface IntroductionCardProps { const IntroductionCard: React.FC = ({ label, icon, description }) => { return ( -
    +
    Date: Fri, 7 Jun 2024 08:40:19 +0200 Subject: [PATCH 067/193] feat: add favicons --- favicon.ico | Bin 0 -> 60094 bytes index.html | 13 +++++++++++-- .../assets/favicons/android-chrome-144x144.png | Bin 0 -> 5142 bytes .../assets/favicons/android-chrome-192x192.png | Bin 0 -> 7003 bytes public/assets/favicons/android-chrome-96x96.png | Bin 0 -> 3681 bytes public/assets/favicons/apple-touch-icon.png | Bin 0 -> 6650 bytes public/assets/favicons/favicon-16x16.png | Bin 0 -> 621 bytes public/assets/favicons/favicon-32x32.png | Bin 0 -> 1255 bytes public/assets/favicons/favicon-48x48.png | Bin 0 -> 1926 bytes public/assets/favicons/favicon.svg | 12 ++++++++++++ public/assets/favicons/ms-icon-150x150.png | Bin 0 -> 5389 bytes 11 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 favicon.ico create mode 100644 public/assets/favicons/android-chrome-144x144.png create mode 100644 public/assets/favicons/android-chrome-192x192.png create mode 100644 public/assets/favicons/android-chrome-96x96.png create mode 100644 public/assets/favicons/apple-touch-icon.png create mode 100644 public/assets/favicons/favicon-16x16.png create mode 100644 public/assets/favicons/favicon-32x32.png create mode 100644 public/assets/favicons/favicon-48x48.png create mode 100644 public/assets/favicons/favicon.svg create mode 100644 public/assets/favicons/ms-icon-150x150.png diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..dea1576712a4fcde5344a2897731864dcdbf9667 GIT binary patch literal 60094 zcmeHQ2bfhwmaYa}WDrnC25m+K6c=`P99?zQ8AlqViGqq^qliQaDkvEh5K$Bq22g@X z&Ka7VX=0N@lQRuXj@{&-o;`oPSNGMuw{G|Aes9$M_SW~^zI7{}I#qS*qI%|+;?B#yIWo%mT+3pqJi)6T&{cpAs&A`_+3JX^A8HKbSb{?5GBV7 z(Z8G!CAkeQ$}I-U@kXZCyo6_iv-5y<2GU z_SJOi@tsv;N_#J{;2l!>fEt3U{?y={P|~EclH#0yEBElZ{JMacWjpNtryO@ z>aRJlfoczWkA|!qPhC^iQ@I6+wDH^-+IeITjoY-0My!}lBUa9$aT}M?-s1;d^$(vr zN}CR+NSH6(x<$)R9jCM_m+8=nRO&l@AWd36jm9NSqW&`n(a|%TG1u<|LZ7c0P4uJmHzKei5zPvr&%et69Bh#lH2lc=swoeEZQ|&g!&a z;}V*+DT&%{S}mWsTb9$BUF+!TPd91gz8%zJ-3n^CekDyfxSOusy6LKa^86|Kaqe)M z$8$Y@TQZGWJb^MUr_-v_C#dZFY1D@6He0)lDlC{zTh5{cBC1d^HB2m$SoW4P4m{bWSN0NTYc9>@UUg^wl zf#dA<2^yDi^`fM8dfgkmZjt`e&p+wO*^Z~3J4T;Q{fc_d?@v3A@1b9Q`Gq#7rqEZj zdsCMgJ?O%fbUKrMme%gxKsUM1ZK*qHEYpqy#}Co98`mhA=|hG_ADjT7e#`M4se0c! z)Ox~av})g4dT&%4`Q3T?HGrH8iB&%gXEs~x(OK_m9>rgJxLP~wq8 z)SBtTV&3N`uU(@d`*zalYgaRCUeePKxb3$Y{<^aU(+l$wsn+rZw1LkHgmc%gQ@f4H zRAp$+uTL-?2%PU-G9suVI z&QujJpXtmCq+Pir&sD71HM`f-R}*^DthMvxdKtfL3U!~@o3p{iy2MjIEH#veU< z%y!=Cm9Q7nuV&Dxi)Sd~TKIeKDz7)d)AGkps1=X9?T}6q&YOH5scNxUC0+hOG`~;M*5mtVTiOoEBYL$D{suTt<#*2=Td2~) z8S;JT^ik?O`fEAosJs2bdHP`Oaw^YfI-Uw#uI+|oO3mVY{+ag=c*;JB10?PbFprpa z{xp3*V<1grJ`3RzH1|_&HUV`$g=@FbG6PjsbTMCG7o1( zxB)Uc&TQ}oc-l?wI5)gE}m#N=7@*{HAN8~T`x%NfjTk7HQ6(Gr${ z!8c_m96EDY>R+HIc$?>;){y4ZY}}`kS2>k&+G+~C>t@!A;Cuy_f05siuOX*j56VSn znRniL{;WK&tcqDg&R#l4n1>I?enK^ewxo(PhEap%bNFoCOBZj3csBIgIC%--4Bwf4 zUcO&s{XjhHYrbPW&ox}^oB+i>p{DNLxJd>W8J&FE4XEJr! zvd-f7(c+w=hpFn~SyC7AGQVf@_vnLrsN%u^9|N8WdZ%zh;-)#=cVO)ShVknXsVmDE z&&-}kf8+kaw*bco;C-OmNI7?!#xvisncv5lUpsd0Bqj44OibNRyDyxj^B2!sdo(jR zAZK-DoeuUG*8bNlgPy;9p7vkNp!zINJjXbAYSski-!{u;u;e!dV^|qt4}X|mO$V0Uhg`t2dCAbgs2szdke|SpngVphkUfX7?D5a}1E@F4I-^%lk~-h)(jK&*l(L-HPy?#p z>wWrmav%DJAJEc9teZ$VxXlIv&WC|ZhqLV7RPI;kAl@9r^BfELs z)MdKfPs*{k7#Db;1NrCFzEUp&nM?(og>U}QNS+s<(Kx4|&p{kAUY#Ky&=!`R!VTyH zGCFj=psj5;tdh@W)^j4Q`G9sbVcAsK9B}*f>^`hps4M%zS+W1rAzFWEGwXQTN*abd z%u6@{XUThgThR#C(_G=b)i^nc{%6)i`7~j@2hwn!cHuJ@YXrIh%yYjbLs&nvh}7AD zyd!7RXgbrf?-u^IjXjbh13x)E>qA z2A?(1&kx?alfGhF`87Wy5A2a=!Y#Rf!jq4%&$^E9A=?Kn9M9(sXgeOrb=d1TQ-K2& zp!?~)a|@N5pD5vcVeS-qp6N7ThO9f5&jQela0B%0pj-1dE~Z;d-_x#Mkq_eYHn2{o z_Xl*~#38FW=z9Laed26DpC7GTPW6~pBMy2Ec~|MNtV)?gK&K%$zuBz;ulIgZPq&P9 z=-3a~k4t!OssNbU@cP7=fd1ZCI+wQaJS;qZgsQNP3u#Yt9?s(I1i%11U@ov1p#MPs zu)kn!sc?l(NUQn{ImtY*34LE~h>Vf22>Qd`Yl9 zpUMdNZa{AZJ)tu|#yQLSi*(j$Iq`#U=o)h(W2%0(rtOq=-x{p*!&7@uQz^4R=cvM- zll!StVmC{!e4S;x=3_plbF3RtVKw`=v|wB63ijFgiFrN*$jjiNYk%8F%CBQtc7e_k z0k)&bE2m3aJ8Ygg4Y18Z)`P4GolOEi&>Qt(9g4Euwwv_1lt+<|2l`Fu5s|M#QpyS{ z-L^7S?VLbkk|wgR)@J6r+tWWeId&rJzc3z^hd0IwJ((WhBLQ7-nRYM9r(%cK81{-% z7d3bNLblP4mwKWX+Ek)S9bY5$9?HH^*VwKWNl0NEXalyrD!rY=F~i(@!9dmpbhW{c zHP)8*i;|V~elK0UEPW#C^k_n_eOa5@59=)bJx~TR5&W5&vV2_qi?^w1-m~~itGA_`x!v~~| zRrLwEZX?^e`|sW+Wyk|;=hZ_h+hixQUI2F3XaxA`EM#9A=wRRF^;BbM3o4&Dm})MZ zLR~i}(@ORuyvjNlQ&_+<_w%d=Xvgw6bfu7ir}B89gLs;CIM46{eTvcrK(_?{mCB1| z5d3E%4OkPOusw@^c?FZpo=IoZz^?QpTMIGpEIPeehYdQ=((Y5 z`j+K-=q{jhhfV|fXXMpj9YY`1x8M!kR3p~^M~eSc)>XA&zYpw9MQ1REu5bOFmw9-|sb0l1*|fL`XC?Hi@d0``0OEGnG{-c47t|0u7!NCMV9 zd|g4)73_FJC%K5v+g_}DL0^DhJ%DR=TB@mQ9$ZAH*pCXj zluvmMhe^Mx$k#pWEg!LMNvEAS3p!5wnrTJ4)Zx9nc(yeM7z4)h3Bv&0o(ek-@0K<% zrK84tNZtI_l~RWcyTCT~&jHVXJpA3o`XuP`aCYQ0z-O<{;P)lH4A97i)PC|81fBr_ zea&N=5Ntz$8*2$~_?Mm6&YeY@m&!91bUo$ZcFFGyVE^a}9jepcTa~BhTUC&BA9e-s zNzf10=vqhG8Bq&&Jd((s!>h(@5y8C$67vDfe{xj4IE4+Xza{?k|KtMNT0pHrH72%Nn*!zy)rop1)jegt3VoCfg0 zdrs_^zRlo^GqW>;o}Xh{jXk%W#{<6_J?uTUU;2i{fAR{IZc~|F|MDH0v?5WiBf!|3 zZM^}wD@(g>&nbQ7S*N%0TgSl&RxDB{cYVnMkfXIPU+3x>Css7=HL}! zJA*$Q_NY^aa`udToQGri?nWn;>EIU&+R$WVD@mu}^FJ$Pflc;twvm%>+)wDwzPE}l zyvlGl`tC#dyxOH!U_Y{LdB&PKo;)vLU%n@qVQy#ft2kGbO%U{1o$(!**6lrcASa-@ z>Ogky&HjgwkzoIZUo(7eu@^C}RF02cGEvg+icHTj1{0my#yk{waKNd~a`54h-*g!d zc{n3+f8z|FpOFUGmCAkmGSy_e6XZS>Ksglk0KDt@{!YSIb>$dAEA;?h+Me_JOSly5 z>OFn)T>5^|AXgs7Hf_^vy_sysVV{AV3KjN(S=i?F z0Kc0i?C%1Y05{%BPKL~awbG1bereYY`UW8%{z{ntoQ6GV``B;c4Y^0vIXEeGpX8On z@8SX9Jehqt5MYOf9S(b1zZbOm@K$;Yyf?!H9vpiX{!=G4e;x2D@acd|hcUk1zn=7U zK65GO{15aUkhyWjGjWlA;qX1zc}~RPFQ38Z4fZJHbkHUE7OQZOeU3)3pB3!&*u!b; z*A6=D4A2wpW!`GRjwIF7g%9{vK|X_xHyU4%7X;4y{g8jq3{;V%WBcksY#_&$#_ zK$r0RoPaGKu&Z&v=LvgC&4Ee>AHIowz9J2vDY)|!*RBe6pVV9KODCTIzp}3<{F7e% zxSBktojOts_mus>A*>}@_ zV877Wl*kX_wZ3_mz}MrR0M2A*fII+wgIeo>HIgXhUC5b`)v&K1J0lO}@W!2>biQ{K zjevOop8)!fJq=vrT!w!ed?29j^U_s9H-!6;m3d7-&jVOjaGJhH;X65lWqRB@dM#;= z954J6bvZ85abVqG99#Jg4DNWX*q$u;PLpn5?+f_FT~5emptHJcua`soI?HXxSyu|5 zPxyE`;&jfy?}rHX zO%{CDT5LYBRZL!yD7sJVCD@l!u#6`7Znx+-;!DBuzF@vlFi$ByShGyD-`L2hU&9GG9e%J;hCap{qL-y_9_#(k}7Qy_B=rHmN9?L?p@Av`1dN#3i z_bRde;AXMo*dB4{OqyWbfM7XSu>M5!nAcCRY$;gA6nvjX@O^bLdBY4bXX_%tGCbEm zBd*-I!g(Ky`a?ey?YYjOGe<<~*(2g}&hNiu7`MGij7T0YQaOD<(lF6w`nTNIZZRii zA@|Wmw42;Te9mbjR*n}Ra33pntmgV@g6-Hm_CaDLfAep82>wkGF^T)0zH6=Mm7FNL zZe1^$%^55jBz`X{kL$*LcM-1+YbWZ?7$Dj$9xHmTnJp5z?8(dNqR0Gx3~!IX8u0)6 z81OORW5CCNj{zS8J_dXY_!#gp;A6nYfR6zm13m_P4EPxEG2mms$AFIk9|JxHd<^_Q z#=u(*%GaxqP%*A7|3`wbLb>lL@}!>RGTO^80|lv<;^C_$pOBMi3Xme4xt99tD5hvWN@Bmx}Y@y-5 zAzg+CT!6+rhzwV*xb`#WckD3N~0o0RB9A9@Jor2_Zi)g8TLPQDch`e#6q>5!KP4GhyGg z$Q1l}?yz8VfuASO{kc@TF^{XMi4gwK0brYm&>pB{OSe86DM$iu3w{g6T!H1Gzzn=g z1fkW&79sp@0u%r-E(l+33u1djUtwG{1b=W7JYxsk`jR^&xb$UWgzyXV@`w-a&sW@p zQ;wrraCqva!OwK)FONymVgap39(e38*4jaOr0`d@ z-+#MvBWvRcZ3#z<;eI+#U^M_a0k2e1pN_X<`3Oa;&rKHoZ##_o zX)FpmXi^lGesB~XM^u9F$aqs9y*-{=BQ^K`!Ja3YWR~eDo2^eXk*_O^oKJjZ7xB?M zYxqE58$95Io(mPe?Sa4qnKJc8vKcRJ9)NHxo4{w~tR$Dhxf(Xit?_X-U^p{(q(_#m zLHS`GfRTD;3BJ4aUm?Xf0Mp_7`vhNzav!@F%O~!nT3IcgUjf%1UBtO~g*s07E5~`% z{aqxNd&xBd+W;!R!k2t|q+;FOvC??$5;%9W{9%{dKKs#PkJDa{vx;b$P9bVBkhl7qoDyr<;Q zq71);piI>YEqM^FTC`~0rfs|SPN)pu68_lOzuK~j2XL?}VHc7u@Qnj_%A=iZCVQ!9 z;{sfb2Dpl9=cui(hiqF@QOjTvooJ$=qMjV9t<9`I43txDUuM}H@F@86do@}-zbb-v ze)~A>nFZ~cUM*&w?uC9RsS4`gXmM|%ozEIU(T81qKWyQ{km)KNW`Y;`VWH5EB@O)8 zf|<0PuULUXh4L2!*>s0|#qQ+HV&3C-SIHv9OZ!$`a{Ly;bm%!At;x>5L^{HNFRLOR%SS2MJSM=ogI~yNHea)4sbt;e%ArLn>MizQ(Zw1NN_w@iZ_z z37}F*muP4ob5PqJA^hgES6A@Ar%-NtJ4E%M{mwoGr4;DFH-56f3d#l&>FJF79so&kx?GJ6?E{0xW_aDjty+VZ+Q@e zEbQ7a)B@8yBO-*~!1%vpp-@E(d*Er67kG!@4|))|ZAo$%0h^JY85#U;@?%sm=X0+i zPx$kcC>2v!t!@qXfhg0Vm{Pi-FEaR@r?01mHpIFFH^3il1JLmA0y&Qkt}8b(_}`KX zUj3<1#s-xABgC1>5jePC-SB0HF>j2B37U=U8Th)tslAizeua#`jt0iT1IybIWHL8k+;-i97;Lvew4_R5ShV`H`5~hj#kc4uGO-G zpZ5>iu~qmnOKRom$aDa;Oo)z;_qbvc#U*3|-z{4gzE26|JOHy`3tYTo20z}ZWL3qy z?z(Dt4KJ#%eK+)IL)+XorHY(B!z55diP#_2z-&r>mEvUE^)_Ln9U4)eE`NS;DvrR zd^2vdA~6n21RI(gKHRvlDprVJ&$ z{17CFUKGf1*IVx|thlv#AIrM9(vTY_z=OsFE#Y2lg}kMhb-$UED6Dt{J6S1SEI)gL z70Lgs-AqR#7Z zhzsWD_@$&Roha&V`wqAM-~`<7?9a^fTi^>((|o!`%0wuH=FvDFJNRs?do~2ED(~du zj91+%E9|4b*+(`~3VK^`L1?Sr;5DgvYXrCZZJ{B_m2gYSM?2a5R2wn` zPw}Uveb@G zgFpOXSIU)+i;F8$_QmWh=F+9hmf>32sbaxkMHKUMo0VeNy_kohR)OGwXNTX){gopM z{(o5g>WfB?TLpp?*N5N2NCXju{}A^Oz4dcXz9)+n$p2g+8S)n__GDI<;BqhyMSnv4 zn8*GN`5OlJubuw5y1uud?G8_HB^D|c?J)%DPv|%`a1ZD_L_ePoRB=J9C8%4c`uHdNlgi5IP*yv-_$1xF=-5^j5XlMbsuhMDP%z^~hWBHpmznP>( zX#h%q(HFG+B3Drj`ywbWgw6{K^&Bx`KQ`8bCG@<^syCTsTrD7N2MeKZLfb{BTtRvp z5*M@%Op*_l&b@~9!%3P@q&1T5sFJ|)+G^hOWPw6OV(%>QaA@ZuKe+m}-J;bpomdR# z(;~|=U27!UQELLcNQ%~?()1dcH;-k)thads*z^KgC)tgv39zjoVThkTE~^JG^vC{Dc%12cwb`m2N#v2>rp%N104xK*Bc{$g z(GSVZc#)X5Mp08s*-x{6wkk9GsOA4_-n?FGL^`S)j>G^>iq0WmVb*kqD~JxIC(U!e zk#>6S(SYDwC;+bOZ%C}pKGwAw))wG9LbqjQ{^s;}id7 zE^wDsAi_v!4@hcMB5%o397+a%4J}Baya|-~s(%Q4;W2J_sAk0MCgWuV*r^#&%f?q$A3}JUkl1t%psoI?SqlR&)eWWC6R?j zaQ}T8Ju-HoUGy)K|E|o5V!l7aw5dYoWsRL>l^AoI=CyQ3-aljoJhzwc&iwiF7btkw z-C^pd{&+86BP+;t3Pl_LYH%^^fSWsa7@(^P{@cfZj{zS8J_dXY_!#gp;A6nYfR6zm z13m_P4EPxEG2mms$AFIk9|JxHd<^&)@G; - Green Ecolution | Smartes Grünflächenmanagement - + + + + + + + + + + +
    diff --git a/public/assets/favicons/android-chrome-144x144.png b/public/assets/favicons/android-chrome-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..9f50a622277d66eab3a90571404227dd89cf08fd GIT binary patch literal 5142 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 literal 0 HcmV?d00001 diff --git a/public/assets/favicons/android-chrome-192x192.png b/public/assets/favicons/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..9801dee1666eb8fffe2b575e00ae70d92d9113d2 GIT binary patch literal 7003 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 literal 0 HcmV?d00001 diff --git a/public/assets/favicons/android-chrome-96x96.png b/public/assets/favicons/android-chrome-96x96.png new file mode 100644 index 0000000000000000000000000000000000000000..d0d9275057f477a5bd401c8a01b9735caa14dc8c GIT binary patch literal 3681 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 literal 0 HcmV?d00001 diff --git a/public/assets/favicons/apple-touch-icon.png b/public/assets/favicons/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7e376035443d0630feda2af3e7f354c3f3122557 GIT binary patch literal 6650 zcmc(ERa6vS)ID8842*O)(&ZqMgF{P7_s~eEgfxRgDo7(Z3`!|5Al=<9-5?zT(*61S zKmVV<@8R6D?_KMxbso-Id!Kz{v^AAUi0FtgFfd3|RiL{6a@Bu9fcNi|8O9U+mk2#n zjJ+{10HFT@6C>+0&A&%XZ(U^tjIt4i-G3Jx2Z#m)1Eb;t;0}h1fkFF06$;Vw$2`m- zaWT-(>ixhhJVs^f2&ghJMG8129gPrGMHJXxAyREIB$D}KnGbl#xkhXmJ)eOX2ODU) zBgRG6V}IMS0xDyy@4m%Iq@%?Lo8}@G9;@D&G#F&Wf81jke&K8VA@@eNyNY}CSO|xuVMdLPuQ{mAy z(f$0wf?e>+<>ljL;}tj#Dko)`A2NK?1gZywB^Twqw+&w@CVDJ>A3gB zA3u0MN>LK?KwctDFIyafDX+8qU~z6iYpj&RDBQl}HVQ0ma{~8`eI4*JkBzP*OY(2uz?8{a|u{Uxe<&NSh(68UW`D=vUdK$#pHPblpkl+-@b4EW*rUIp#+IcVECaXp#UKJ25p#mGGr z*Mx9BF5`&L*jkYT8a2;bBDYR)vA)i^F z{0T%G=Fa5&?WCFbGCC=z8c_tTN3zBX2-bQc0s>TGNW*4-ekv+I^D#zIsX~@Jp;YLJ z_@BeKUyU80`g#rY^7Y82t|4$JtP|?`R@v&Qw~jnPWf#y?i0#*l?TN0$Hz`DP5k*B0 zvlrVy%0*&*qZy%~j*D$XJOWyfD!Xv!u>XB!o>&4+*4Lt6+K8FLWw3}7KKaw|IDD-p zc0ibF0sbM@-({<)Q6+HCM=LxOD&KN-a~eetvHzy%ste2WcDkd=lp6OjlNHn$DpJnW zMW^kAi9&vMMKgLlYns$~KFxLp{C<#R{ItAV8a?4(9;16~l=8_SW?_zcOZJt?0%_8P zW{aqX#c|-$(mJ@Z;>kvtUKV4#V&>r5hSYB#!ekn077l$y_`x?S%n*)=&Zg>SBO@cL z7&NHC(nBKinN9N;9a&go>W(7TDp&CU5tl+H(zBy0F%#ZxHce|C{V{vwfXf0hk%#i) zylgc$vue_`O^uD=u(jpK)fH zhi&so323(V0ezJnu*q@xPg5eEK_yZMZgy%fu)^$=0vAYZ8=+B155BUkA5L|jmL(}z z=MSyqC%<)P3w*J}fy7;4g2Re7ehrI?O%mLEy|)MUBK?8JaTtIE-1VL&)OC%Vl&8Vx z^Eg~t-|-EHU7H*a>MlMbBf!zJ=1U)ML>UkH89Z*dMlRdQ2G=G@C$7!raLsSlj?D9~ z85iP25NWN;>e7|5_Fx6u^|_HISL^UQ&O2P4BOX8$u0N~LdF4f}uDNv;^$@Dw`1zxe zG!V?>-)c0As2x4L96TM%)Du_a?Tnh@n zw;$8ghoO`_L>=s4ruatyG`M@~9qjKER3+KE)l57O&~UB$yw+Y0A&d8o!pKM(#bqR+ zu=0crK=Z`7`&hdC`#MfT_?IyOpV&BcOy&hwn+$P|NT0LVw^II^s&N;oTD9QhKSzzF za@-`EY%fDoUPY5?a;eIxv0=k&MgY?@xkqJZkCv6X-YIv?3e;8EaJMa>I9NdR&XEbS za6OP8BAs;wb2umUs;l5#8?Ds+S3`AV4U7T5tBXcPxLq{7z+?Z>yxCGHK3T|Zz|HGIXBkCK^mJAg0i*1;p-MXmG0l=TAgd&M|C-Qw! z=W=tx|6${fc)ntdQN)I2&G#=ZvW9e)+FEt1Cv%GKOR-4IdSlW zQAHmRLl5xw|6sh@@lseRTS^r!%y@++ou*i-ImTE&@uhNV<=o-j@TmKN3uOKaH zUj;N0(kt|MpRAS|dc4RXU7^Kyx{p}!4vD@xrh*=Bg!EB}WguD1dbJG(!{^saNfU-{ zw~7w9#Q^FAWaug$cN|0r(yH)wPn*7uYKOBcuV%^@;oo#txScwsh4!TJLkd+Rk|==;6kMX{WOh&b zmK^=R1r$RgU)1$bdSgRsQsF}k^9RuaZ?1-Rmfi8A_$w8ScNrhQIfQPazZ zBa`fcCi9-MMQRizk1I0kq*l`#)`Jtm_0yg?;~JQx!KJ3=9pQVnir_5`lcL2J*sd?G zgaj@2_O!&%I+5s{WX2}>K6Ial)1nD^+jhESBhcWcy)jhNHmsx`tZJfcf-o{TOrfvXqkVwlps@7v+~79SNyJ;J={>aAUI_< z6`@&zWtvPO+!xP8Gx?nN4IV$wVtPg9@A8YW9lnO6y?X0v+B$_+Chwwtk3e&T@w7`i z^thnBIZPva35F$S1-czopLS-qM;TU|9! zK}-V?V>yW3(~8nWMkopjWVvgQjOp~9pluA##h-A4TyE?)hgpC1P(9UhIu%{T84lx% z(CO}NDfM)DaKx9g74}|tx#3BY9ea)Ep{VU2)rZ@afL#SqWlU2luz&2Ls3=*cgV3NO z5^+84I24bc2mFC{oIU4v|2t;8?{hI5Z^o$um_trsERyrF`(H;)z3kN7K)0xDu$YAR z9y&?d+N#}zfjp#>fK}~nV_fI1!iYA4dEnD{BuP@o{~uIkN7$(lzcCyme%PpYzZJ`S z-WLWseO|#{iN`tQ9MfY<^bFtbr=$OGgK{>M8c;z=G2e78eS|VbX)G(EA*ELCUFU0k z)*C$`q2Q0VXc24!8rPX717U?pG6I(xb}V*B5|}{WonM>+?LofX_xjv8`0Izl?ckZr zPPIX4!lTqN+yqkD!Ueigxt}8T#aYw|+^E~Vcdp=KN^^~X0>}DrB?-4?h`;(7wx3;0Ce9HMqTPdQg8-nOGWJUHXJPw-p((cq}p^H&uz(lx)?my z>)KZB-HeXvTsK~EYL(XmruRhxG^astF$+Zz)-bCR} z?ayd=_g!zjE)9nZjwj`gtDUIvgq`1Z{^nI$osgATDq_?htP`tnD_F_d_v(rE+B zO)AL_ekO6Xa;b;Ja!=0;rZ&2=Al9PRApqS*Je_0~!(D^!P5rCX5Z@iD`SR9yc-zQC zDy2ZRCUYDrr-58~4~&x)^xSbwcpX2!;*`zaXnulLj?-Mm+}3b2)GH433)r-NX;LS4 z{0b*6oFW~&4EpiZeMcV?7Uu|o$5cJ@rB~JVe@}J|e-;z(%V@8`&zkMmyr%xcOAAh#W~>eWh#$Doz01Z8rTO24#!g z%!)pcE+yg_9xb#-S+E?SuczAG_;;x<^k1R+AS)Y8kU$8(2#gdP2dn+f{<~bJjQORFQ-|`^3~|vk$d} zwf;4^9>xPQN}R`wB$K-PX*Y>ca6B5oT@QEb(HG8S0;A3O=(h+*H*(t?V=bA*iTj#A z@Ui6rRCM`1hl?2?uZhHYxzdcPHAIApk&4`mo$((ToiyeMsb%))8B|3@pHYn7TL*mq}=!zThAeMX?{?zAj%efDOCi~;?; z;uHxhHzXF?OYbj7K&j#TuQM8xZ5;&ILc(x+s{O4`Bk{g{Y&y98e`}6J3R5zC)#{ra zP>P}O995S*WMpgN@O9(TplpLwq(i2S2@`d;$AnD#X8ox42m0FGJ)Kfu{-wm+lFXYP z_-x+Y!z*>F{+WY1JSqN^F#Dle1fH)l`U6V*RgOc@eYRZ@b4vu)_A^-up=4L) zJBc;ThroNDLKLZ}OJ#l|-1hqU-g`1}35U${@PXO809@-_o1f$YLx&)7g+ehB%Rr<j=KKWub#6#|XPa`<8; zAb7)It|(*G@By_;>@1D#`2|Hz{B?xY4Jt-4zNGQ?5=`|X^CrJ`j7%_r2#=Y9sR5A@ z-mNe0#5m&}89P5%K;8O1p!>+=A(SRqy-64uw7}}=Rq+#kmr8V_#}{nof?ByWb|<*s zq7P;1#6LG#>4d8mw5;~QoH&A^f~p#-g|dNk{mCA)Z2-S)g{z)dUoG0U4iUYPtsxT4 zv;6ZhCQ}6-@`Q9)|7rQ^G2e}B?`i|EHV*m@BudmLP6sA7T|J3NOt8Iz*A}TxT3}`l zUr9xhS7CdITre%MyX01b&>N1{*hz)(F=+CXdE0$|OZ8|dH7=i&qFl?xNDB^VfzNhq ze?vQ6DJ2{J_>x_NxVnb1vdkGL2ZJDhJHZ2;`_`hJ<)UW9V4XUOO#R5{`RcaiW2k~U zq_cWf|GwpjOO)70SjO%rYy)n5Ae^m8cb9LTf*m3f`=A)L1tp+6+FsIH;czuCRk+=y z-9YLW0M|jB_89xTCDU}fSHoZa&dAeDA`_4>!pGwiK7~(QJCCfW4@|!?G!AHV_7kWC z->XQlr&XnhfB(QlAI^$}cyU-_$w;+R>WQvNW{}abxzDU#QM4pEo5_%@Ffz)gZUP4y zy!RBKb*y+A^ewSkU7A6{`^2sL}Fb)<*HVc^o6cb(n>#9X>E zA#CIWxFoEtd~4v`FUImA`WH<{F_>;`a-nYhttx=s>%)T&7Zx8{4tAA!rnJb`?pc9-Zv8G4p|!!m?_4=uP*|jOH|{GJ`RqSA zuh2Er<{Xm|K=Z^dqO8^A=4s^I^^E1MpAtS9^XURF=XfE~ zP+GuyhtqA!Iw|KJ#)8e{hApuHFuanD{y5X~9UoJsYwrLy19fB_lyspA8&;c=_jE$J zL1gT$Nw=-Bou^|fuCm*YhuznNkGaN9w8N~#&>y}B+DyZ$FmX$1EkA=l zt2I^VF^fe^evGJ1Vd=j8>e+KWWY?yAlzem}rjF#4*x(x}u8um9G2n7}Ze@4Mf>cWJ^G;bfx5={ZY7obstTIw(A&TLD&*|bM`WZBfH16k%B44X30 zzh&vGxro5hJUTA4nF>parO>ez0zU~BJ=;J2$qXJc(85yk!;hZ5;bAb^rD%NEB;C7d zq=HR^uUZNk22okvLC^t~ct;e(M1tm0Vwg&aH32RAXjP-8Vi%)nmg!F#9qXBm5!+U) zg>E2p7zLyg6~iKz-*)M5i@3>a?7p6K#S#$j!eyRzP6^X!`^zR?;~`8q$XDmRvlYP; z?`=X z^H#@k|x^f}7YZrOOolaf4PdGQTXvzp6lyn=JTU6=MY%>sSz8wNx$4>J!@fgEAL%rcF$?1fwelT>Dm9-+n zukZ5k-3UglLYueUX~D)Cpwi@#FWW2&f!y*umESs%&J(mWwm1c>hpezFS`=443M+dl zSKI}U{uF&3koJ!?|?8d#W;dX(hjT7Fmg@%p(EuV() z`Fz%op;X1XAQbH9S1m-_Zg9Ijd@pMFecet0Yh7Q3jdOkH#Vkt1r$&kF@8iq2&n&HK z%oS$kccHcl@1{#`O=A9Kp_DaqB5X4GX;ZK2=KpYQ```En8o3{p;^;W#00000NkvXX Hu0mjfqkABk literal 0 HcmV?d00001 diff --git a/public/assets/favicons/favicon-32x32.png b/public/assets/favicons/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..342e7846524273ee064633cdc9d09c552aa12e37 GIT binary patch literal 1255 zcmV%+*INcHkka-b99&7h2jZZIlMbkTJ}8Oor3UXh)Cr88z)VCf(^%t*G;y6^9_M)nCuZZtE zxQ9rcnzok{a59&>5v}$YadX@$61R1}B4WcgexO}Zm~#cL47>0(5qNFKn`}f%RDhIMLoL_h&q^4cTD{Zr*YtFmYY3b8~jfW0_M028Vyfla!p{^fbu0 z!*xU?%F8SieG!g=+F4iCH`Q#ogIR0ZDZ2ea8ti@<_BtiMkWHiH6{LK6aFh+j!qP6=pHC(S4 zx%FB3C^uHf@tX-gf`Mxe4Efy97RMnuJ{3io+!t#jrI?+-zkz?u3s|;m8xN3Bot80v zK1@Bsm5c;s1;WRwbj=eo&Wh+7Y!E^duI=2cteku_JiKzud?u7* z7(P~(?q=*ae+c|JF0@@&xNzm;M7zkO*r=FD{S=uhO3Gxo3LP}oDgw$1Sh|`-VjbMY zY0(4lT(ip9#^M^JFAI$yf8pdEuP`9P%5AtC6>8F8&?%HrkExnhNq|S_y{5NBB^ZyU zWS}6iM=D|l{h%?gTJHB;{T5yQHF9mtucqW)A>9luHVqp|&{UEfaSB*aTKlXRpraTM zjG%Od7b!`rkdj=4wb{F;?LBpNhm4=^ep~bigH6alM#V?RJ;P!)F9KhYqFwcQq@wX` zb7NK(o2A|}*oxV7bg=(NN5@Z#&D=990Z#t0peH7Mh2s!h3vVX z1gnI6q-@Gbxfwa8Te}JmzC)N9d84{VC}Ssxv#g?p{@4};;HdC#t8Qh9m+9eC)2@3!&< R7YzUa002ovPDHLkV1m>1O7;K% literal 0 HcmV?d00001 diff --git a/public/assets/favicons/favicon-48x48.png b/public/assets/favicons/favicon-48x48.png new file mode 100644 index 0000000000000000000000000000000000000000..1310df16223c591b664912d0708998652f7a942d GIT binary patch literal 1926 zcmV;12YL93P)6V(IYdXnUtEsa!ot8Bn;G|7UD>s{( zf2d8QbzOd-)bIl^h!6Qt;>wqja4!iidw#F?9M3)H+;dOdHpa$pJ3HsT?|Tl1u}vu0?l`C)3$>jiG**7@>FJ=xrt{*8x2~WGu`5LTxnI}1 z84j3PEmH(G?p;q!Oae2!k_`k238_kWyt~S%KV!U@R%maT{liPM4qS8gFPeHb1^DR-Schn?8O9&7G1)VZkHB?^|s2 z;fvottk9fwetb}E- zh2kROsnYH~yKocR^;2}KwO(U9kox>=@&>PI6tj*Qb#!%7X3i>+B4Mlq1S|H6%QBqAFK3A(D(wlVY8|{ zQTL6Duu{xutEul95^&yk(w&ZG3JD%*dWk(LDHw)StgKX#ZWp^!?pK^7jw_M`VrucL z%e=a%p$j3s<>v1c&&UkeJ*UN`XtD!pnyR|PTo#`ef(1}2DF~tMEQpY?U{Fv%ket1c zqET~6#A0~%QA7e*p`7>j8j>(vfzY7GhDzB3sZg2XP|p|tv0FAAzz(fMt^I~D7zTa1 zYL~bl;=Kd=hg7Zu&>J9RyL?&*B&-_tA0q-@gLvIH8JfI})j$bA|J-9euu$_33N@6( z5-_`vp4cOl#=y|hni4Lr11a@|S#Ew0;~|dVWfn_VzDyBu#m(s9@S9H}B>V7@( zBDvaM_o}&nHbq4~9)pvM>e?gJ-ccnc0DVTM5vB>ib+#Vcpjm~4=tPQns!*e*P|v3( z9ngHIosB;C+gdkQ1Bt{*n*=e4dgZrJqR-$}^rp&8?E@%vzvN(UWik?m4hf)XBP-p; zVdh|v`j3iZm8%7Sq7A?2NiTcr(}SrX-f$>W(>|Ryv`TxqTU-EAiq+e>QH~@3!$_pe zO>b?H%L&NVtRp)_pSPn*C7%3*VKg8&e;2iNwrJYtB`&0)0mB3dCAzwuyyX6(ES3PH zzBsg%PHHZbFwjN83@EhOb}@_ zb + + + + + + + + + + + diff --git a/public/assets/favicons/ms-icon-150x150.png b/public/assets/favicons/ms-icon-150x150.png new file mode 100644 index 0000000000000000000000000000000000000000..39787320696a3b10121934e4c63b2093731d49b0 GIT binary patch literal 5389 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 S^xu3hiPYgbDrHJmnEwK1%1JW- literal 0 HcmV?d00001 From 819c91cd3a84195bd2f82d9aead03dde5488e1f6 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Fri, 7 Jun 2024 07:45:04 +0000 Subject: [PATCH 068/193] Update dev image to commit c768fef --- k8s/values/develop.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/k8s/values/develop.yaml b/k8s/values/develop.yaml index 5194b15..6f7658f 100644 --- a/k8s/values/develop.yaml +++ b/k8s/values/develop.yaml @@ -5,7 +5,7 @@ deployment: image: repository: ghcr.io/smartcityflensburg/project-website-dev pullPolicy: Always - tag: "9e39bb9" + tag: "c768fef" ingress: enabled: true className: "traefik" From b0ad2d930d8f49a42b09b6e93b22175aaf512e7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dorien=20Gr=C3=B6nwald?= Date: Fri, 7 Jun 2024 08:40:19 +0200 Subject: [PATCH 069/193] feat: add favicons --- favicon.ico | Bin 0 -> 60094 bytes index.html | 13 +++++++++++-- .../assets/favicons/android-chrome-144x144.png | Bin 0 -> 5142 bytes .../assets/favicons/android-chrome-192x192.png | Bin 0 -> 7003 bytes public/assets/favicons/android-chrome-96x96.png | Bin 0 -> 3681 bytes public/assets/favicons/apple-touch-icon.png | Bin 0 -> 6650 bytes public/assets/favicons/favicon-16x16.png | Bin 0 -> 621 bytes public/assets/favicons/favicon-32x32.png | Bin 0 -> 1255 bytes public/assets/favicons/favicon-48x48.png | Bin 0 -> 1926 bytes public/assets/favicons/favicon.svg | 12 ++++++++++++ public/assets/favicons/ms-icon-150x150.png | Bin 0 -> 5389 bytes 11 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 favicon.ico create mode 100644 public/assets/favicons/android-chrome-144x144.png create mode 100644 public/assets/favicons/android-chrome-192x192.png create mode 100644 public/assets/favicons/android-chrome-96x96.png create mode 100644 public/assets/favicons/apple-touch-icon.png create mode 100644 public/assets/favicons/favicon-16x16.png create mode 100644 public/assets/favicons/favicon-32x32.png create mode 100644 public/assets/favicons/favicon-48x48.png create mode 100644 public/assets/favicons/favicon.svg create mode 100644 public/assets/favicons/ms-icon-150x150.png diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..dea1576712a4fcde5344a2897731864dcdbf9667 GIT binary patch literal 60094 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 - Green Ecolution | Smartes Grünflächenmanagement - + + + + + + + + + + +
    diff --git a/public/assets/favicons/android-chrome-144x144.png b/public/assets/favicons/android-chrome-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..9f50a622277d66eab3a90571404227dd89cf08fd GIT binary patch literal 5142 zcmb_gXE+;<*NqTDszQX?vDF@JsZC?o-qhx2v|4Hx5vxXRMOv$-&B<_dMr5_k6wgJU2#9M~#w#kpch!P->_n4gPY{e*h-^TennKoBk5H zhq}2J004pg2Sk96S@-@niM$NdlmS(v%sYPtiL;Wn5&%$}2)VKY0RXUa4WyEhKM^52 z&||6(-rrbR!le{Rq6~bGCgLq!N#jdY4B`^%rN+1dAQJi8>cMfH?{$Pk|BW&!NsuD# z?_VbVEFl%zv1OFWVwH9z>$+S&2s-b3;K%Ir+Rg&-&l_KARQ!4AFY?yA215UHZbyQ0`pj7-^J2#LrtU6&uP#dV8%;C*((gh;b^#JD#b2)A zB=fux8yt03^GQ*$E|zs%xClF>k-;-?HyWIpzUU0ZXUl5tkSKE%k4@IC@jj}XZjhTk zdr7-ljYY9p^~R$YtAi4Q>z%^6IpDOLI`zGupQtl+U`9uCo}XS{Ew-s*zr`^K%J~3O z3kwNaS`W1QA6d}#i}d+bZ2@&0nxijhNVN=`Z&Z9&f4#zJmiYz`^;gv*NyJLmKccm0 zdDy6)uCo-_P&y_{j|KO*?P`AYzri_<-)DsyLP*N%(iOZ5elm8Exk;OJIS!5nMLSUj z3>*d2NKIX)gRoM`wmaQ4MX4AwgrMQ8w2ptw$t9NssdUC13+no7C#{2poXru;yFL9( zO=I;VQ_eKgE_3r4Y0=xN=d>h5Q;%Ao2m8SEf6U~190)qmc6)3(*oSUbW1efb!l0w? z54d0Ohb#vwWUXrI+hOv#-FZQa?v6eg|3Q6DQkt*%=#uD>?iuyC)29#vS%A|4Rg z1$e&3tZa4iFPHO2APC5arNX$VJA97!Ef{<6Qg;5UmvyB6=8Unc`|oU;bkMHYgw~%B z6RlR9Hu8D-VqHbD;JG(1|4)t{J5r%yUkPIbkcBi43?5F;c6e8)IW;;!&Yr*RbRf9Y zr=NkHxARt`XI7YlujxAlL+d94f~Yn4e);o8ohA<^UeZu?pMgKGz<&Ci{^)A_{vn+$ zWwEi-t0ndfb1^*kn{YTIa``x2T=q5T@P|M%cG+GUF33%Y2bX7aTaJF{o` zF!-;n0mO^SAq+7^HP*frXNZ&e*tW7xkFi|VGz>~m#REY6wr=?LFq5iEpA2~yl9v#dq zf6-Z%BLw9U$Qr~cq{R7}u8mU+3EU_VM2={NaHt6pdq#hPSjT{0u$8uZ>0}Ckdg?$b zmMJp8l(m9mCOVcof8vlM#R|A`v>fcf&ict%QD@800hs#Kw%v{};r(~OGZ3;)Ct7h*gFvAH*(oKz7cXmo z5Zb{`)LG5(BoP0!yb6_;GJpki4}QbEG|v*1V9OroN1W47bl!T(lqtILz$K$-_u@P4 zk4K?5ABX&DdFYk9iRq|YaR0RbkX~4X^2rg0eJxchf;XV~99-Rh|8=(z0#o`Q&-hW; zvy12Ye~vod8LS69kB-_mL|X7S5Oj1D(tD6MiseU*J}Wt z_EkEPu2QFd!C)h;Su?)4gt2Fts*(g(`L zR?1{1_nEpK`3yIfXpq?acKyyxFz|==)`iaWG%Dp9Zv>N>TI^=4oF223u@IKql62T} zzBUxc2-i~#i~_rAeZ969@K=?t}Q(#G=)ix+Z>VOWkXKC=Tgnd7Aw$yAG_#{ zXR_#gTjVTZ%q(p^eD~2zZTOWy``PLnVYh4-I8^w0PJ4E-=V1lk460lFysB_ix;^Pg zW7*q&Yc0acgpYjh#e8yn&7&u3q^A1i^C z(6)5d+5ILV2SxAw9YJ{dN+2WN!!Z=*A!!4q-**(h*=Ll*hZlMkk9^ITnb3T2e|{;M zNI48DKiiHwv}xt5UbMZitRx6MeM@wo_`}P33NR`%+lxYBn=|pf!Ms@~QC=HdYgjmpCfZ)_Y?mn-=~ z9yap#H8^Xn%7SP7+U~;af`20+2PE-|JxWEuTX6b7LRm1}@c?Z}E4`=VqRZC<&lb;= z*)!4HX{Mh`nHy_vXQejhawiga6DanY>4E0E2$W10-R4a!2m}ikYRTXv^!fgwiob{H zSG_ybaxAeTQo5X8FIdDxpi`ee!8(xnxrEOrbb6xIIVm|iJpA{oIgMjYu?!|>Dq7eZB!lC#o(Q*zg;WZkAugp zKEhJHw9M{Ba3G?|GzdD&z9c6(=`8nPl6C~eE|58%xF(KL+i=an=nsAd|D-P{&L6dS6EyR(;M-o{h9F ziML?owx4&R<_O<*INK#MO{Hh*+@hHL2|@C2EisByDyn9A-C6dkg-4fF5|vLzj`<`i z#@6Ru1qGEws?dbv)wGTy*|dHV-9eGsp{W3?02~IIkW1kVDN-n`U#8``EyQk}H?$_} zqoL)e6T)=LvJhScmX9YyV)yq}O_4zAq~5uY9ync8U^fK_vG;Qf8#N;*enGx5H3Z07 z+K7l2Lo2A%DuM+RWrHE(5Sgma{T(zgy`AW!J2 zq63n(8!hDdJB8vv5;+_haR3 zk9xh|o7VBU61kqFl)|;87@U7FX-NAh#ZJFho7xiQFeDxCi=tU*p~fs z*HDI^eZpLtZ8AIAVmx{2WKa));=Q~@mWiPe)JgvZ|@c-ZtUrYlr$TEE@$KKdf56GhVJd3qW9pn@+Qb`;L=Hg7Y zWD?iYuv#RqnuxdWf2`499tPL@N^e>@!VY zf_p^D$4&QR_Jhnebn~gL;ya$dvR$&--hDA2Q2X)2Q$L3f8VMwH4n^88AH69Rx*nD= zSX0ibqhRxB)huMJlpoJ2a_cvA(Z3;~$9v}pzWe8kHA_PHX$HD4bR+K>5IPgjp+a)I zBhN=eGUcjV^aF&~i_X z7!=5E{GL%A>O>}ns4lB9kt4c!*0Co4dJoo)GmbZ50|&HDN=xSp&hLHIrKNlmU*-av zYnkDrqkTH*f{GJ;*uhnk8k>LD{}aE)RMl8TQ{rrc!(%Ki%_TTNY~@u_mS8M7D9{jkaRXpU=jTVS?Fs~R*At*$n15WxITK$5 z4jvD5s^+yH5Vt>j)hgHy!pGd~i}#C`fw{BS7WKJJ-@i^JQsaa|EtE^K@?|$G>=>)S zjGs5w81Hj8|7E!-=drT|{IHNHh1R5Z#T+9&+|5ao(~z8-v)09|)(5S*v3yWf-Yw+b z!T>h|1-&-bGrg_a(*yFfr1V!@9jjMvhE8 zgXJnpQEL_79&1*NS<81}S`pEtT`&LMv5yJC-C^kIl}tIDv9=3Pc_*2{VdI?zh29|k zPHj26&Z6;y(mt-4BW_hvN$SC9HFR9KHhV1JU{4HA_cH?(#R9KkF=dNi)Tn+wc_`^htw zob`UF;|*4zzx9CL4+pe_sJ)jRLtE3;&9#sWrj4N3VM~VDGEVBs6MH5At)uds z)HuHRNKmd+pe%dZE9r~u3Vs>oU~aGcaSy-(k|D}lc%PeXm2?a%XQHN()WcnO(C9fT zjBmGpMs*rQ7r=~;zkeuUyN?jm{rXr7SQuf8O@6z&N#gK5%4vi*F>ne3o-T3=i8P)w zGGZg^kk<0IZm4|ZN$wgPBWS+-^;}!=%sW}#ktn|*#O9%c8f@{WKAwRg8 zW%LG(qLS{2(Lf9N8egdR{r(q9&c?tyrCm*@yo6)hXdm%nqKjNqr^^pstJ@f2Y-VT% z8!L7n>ZMmC_o}|KGfwHZ68W6|FJWVaEH3=mG%lw4K+$Ex$|#x)Aw<%Cr;r!)CMA|7 zQxh3L-%_R2WEJ}733kKE_w{`kXzB~zfSuxZSfsKesxiv!4+rtUWcGTskKXlqcOU74rd~p!7mFJnmb^v(hW!)Q+Sd-D9M`C1BiSvZVtEk>-9*I5DEB$F{7YTFha#WI4 zaw8_!Q|j4~m&K`U;XawB3r$pF$_sBRU_U_-oM7Wh=Ex1DHg>psqo=3-G{p)`w=Lu4 z%&umfmS^iiZz<#TSvT#uJfQeAxiY?nM94x*>kcuraG_8|(mTy>E~H6y=;PP;@)r9K zr&jl_*!XMYCxUDDCE&rT2bXqg^jw+*HCZT$uR8y5i|tJ0^T};a$kIR}+ev}&9#9}J zAGEGa1_`xLet1=%^Diq@KQ)c6tqHcyZjSiYV^8~IQ?1nD-{8~e)uDCE+ zZP$RUZ%8c?$b|O7JlQpiJ)MSeCCYdj)mp`~_)PZ;DHJ*+f~ovfQ1dgl$1*;uC~{iV zpkOX6daLmC>B;dsWI#r#JpSgK#q^;ChzsVRq&t3j$OfM8W*m#Ec1#<9+$;Q3-%RRD z8mn2*I=m31!M{pnykUi46f|sn&1>G!s&(Ad9P^I965wp8GQV1~t$Zi9C=PO8ea4aN zJToY7xwqa_^>rfcBl~4{lY~*dNU}_m7tTWx)51`{@m87>%0n0UIMtOxbgvs?*zf6i z1g}ldGMB9R5ijf7QpS=`wguO2kI3^4`LT(2Qx3^BR6l{Zusc>5YX(x9qLr-wN-F<5 fx%^*rZwS$Z9Wuo~13B>bjR(+B(Lq)z+lKuQ0o=7K literal 0 HcmV?d00001 diff --git a/public/assets/favicons/android-chrome-192x192.png b/public/assets/favicons/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..9801dee1666eb8fffe2b575e00ae70d92d9113d2 GIT binary patch literal 7003 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 literal 0 HcmV?d00001 diff --git a/public/assets/favicons/android-chrome-96x96.png b/public/assets/favicons/android-chrome-96x96.png new file mode 100644 index 0000000000000000000000000000000000000000..d0d9275057f477a5bd401c8a01b9735caa14dc8c GIT binary patch literal 3681 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 literal 0 HcmV?d00001 diff --git a/public/assets/favicons/apple-touch-icon.png b/public/assets/favicons/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7e376035443d0630feda2af3e7f354c3f3122557 GIT binary patch literal 6650 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 Hu0mjfqkABk literal 0 HcmV?d00001 diff --git a/public/assets/favicons/favicon-32x32.png b/public/assets/favicons/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..342e7846524273ee064633cdc9d09c552aa12e37 GIT binary patch literal 1255 zcmV%+*INcHkka-b99&7h2jZZIlMbkTJ}8Oor3UXh)Cr88z)VCf(^%t*G;y6^9_M)nCuZZtE zxQ9rcnzok{a59&>5v}$YadX@$61R1}B4WcgexO}Zm~#cL47>0(5qNFKn`}f%RDhIMLoL_h&q^4cTD{Zr*YtFmYY3b8~jfW0_M028Vyfla!p{^fbu0 z!*xU?%F8SieG!g=+F4iCH`Q#ogIR0ZDZ2ea8ti@<_BtiMkWHiH6{LK6aFh+j!qP6=pHC(S4 zx%FB3C^uHf@tX-gf`Mxe4Efy97RMnuJ{3io+!t#jrI?+-zkz?u3s|;m8xN3Bot80v zK1@Bsm5c;s1;WRwbj=eo&Wh+7Y!E^duI=2cteku_JiKzud?u7* z7(P~(?q=*ae+c|JF0@@&xNzm;M7zkO*r=FD{S=uhO3Gxo3LP}oDgw$1Sh|`-VjbMY zY0(4lT(ip9#^M^JFAI$yf8pdEuP`9P%5AtC6>8F8&?%HrkExnhNq|S_y{5NBB^ZyU zWS}6iM=D|l{h%?gTJHB;{T5yQHF9mtucqW)A>9luHVqp|&{UEfaSB*aTKlXRpraTM zjG%Od7b!`rkdj=4wb{F;?LBpNhm4=^ep~bigH6alM#V?RJ;P!)F9KhYqFwcQq@wX` zb7NK(o2A|}*oxV7bg=(NN5@Z#&D=990Z#t0peH7Mh2s!h3vVX z1gnI6q-@Gbxfwa8Te}JmzC)N9d84{VC}Ssxv#g?p{@4};;HdC#t8Qh9m+9eC)2@3!&< R7YzUa002ovPDHLkV1m>1O7;K% literal 0 HcmV?d00001 diff --git a/public/assets/favicons/favicon-48x48.png b/public/assets/favicons/favicon-48x48.png new file mode 100644 index 0000000000000000000000000000000000000000..1310df16223c591b664912d0708998652f7a942d GIT binary patch literal 1926 zcmV;12YL93P)6V(IYdXnUtEsa!ot8Bn;G|7UD>s{( zf2d8QbzOd-)bIl^h!6Qt;>wqja4!iidw#F?9M3)H+;dOdHpa$pJ3HsT?|Tl1u}vu0?l`C)3$>jiG**7@>FJ=xrt{*8x2~WGu`5LTxnI}1 z84j3PEmH(G?p;q!Oae2!k_`k238_kWyt~S%KV!U@R%maT{liPM4qS8gFPeHb1^DR-Schn?8O9&7G1)VZkHB?^|s2 z;fvottk9fwetb}E- zh2kROsnYH~yKocR^;2}KwO(U9kox>=@&>PI6tj*Qb#!%7X3i>+B4Mlq1S|H6%QBqAFK3A(D(wlVY8|{ zQTL6Duu{xutEul95^&yk(w&ZG3JD%*dWk(LDHw)StgKX#ZWp^!?pK^7jw_M`VrucL z%e=a%p$j3s<>v1c&&UkeJ*UN`XtD!pnyR|PTo#`ef(1}2DF~tMEQpY?U{Fv%ket1c zqET~6#A0~%QA7e*p`7>j8j>(vfzY7GhDzB3sZg2XP|p|tv0FAAzz(fMt^I~D7zTa1 zYL~bl;=Kd=hg7Zu&>J9RyL?&*B&-_tA0q-@gLvIH8JfI})j$bA|J-9euu$_33N@6( z5-_`vp4cOl#=y|hni4Lr11a@|S#Ew0;~|dVWfn_VzDyBu#m(s9@S9H}B>V7@( zBDvaM_o}&nHbq4~9)pvM>e?gJ-ccnc0DVTM5vB>ib+#Vcpjm~4=tPQns!*e*P|v3( z9ngHIosB;C+gdkQ1Bt{*n*=e4dgZrJqR-$}^rp&8?E@%vzvN(UWik?m4hf)XBP-p; zVdh|v`j3iZm8%7Sq7A?2NiTcr(}SrX-f$>W(>|Ryv`TxqTU-EAiq+e>QH~@3!$_pe zO>b?H%L&NVtRp)_pSPn*C7%3*VKg8&e;2iNwrJYtB`&0)0mB3dCAzwuyyX6(ES3PH zzBsg%PHHZbFwjN83@EhOb}@_ zb + + + + + + + + + + + diff --git a/public/assets/favicons/ms-icon-150x150.png b/public/assets/favicons/ms-icon-150x150.png new file mode 100644 index 0000000000000000000000000000000000000000..39787320696a3b10121934e4c63b2093731d49b0 GIT binary patch literal 5389 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 S^xu3hiPYgbDrHJmnEwK1%1JW- literal 0 HcmV?d00001 From f895069c156150cfa5672bea35f2e39f432960f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dorien=20Gr=C3=B6nwald?= Date: Fri, 7 Jun 2024 10:10:56 +0200 Subject: [PATCH 070/193] fix: remove public from path --- index.html | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/index.html b/index.html index 23a0d45..df1c6ff 100644 --- a/index.html +++ b/index.html @@ -6,16 +6,16 @@ Green Ecolution | Smartes Grünflächenmanagement - - - - - - - - + + + + + + + + - + From a1fc674f155b4b2cc6ec96face734d73ecf32ba8 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Fri, 7 Jun 2024 08:25:50 +0000 Subject: [PATCH 071/193] Update dev image to commit 928d3c6 --- k8s/values/develop.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/k8s/values/develop.yaml b/k8s/values/develop.yaml index 6f7658f..54d8b18 100644 --- a/k8s/values/develop.yaml +++ b/k8s/values/develop.yaml @@ -5,7 +5,7 @@ deployment: image: repository: ghcr.io/smartcityflensburg/project-website-dev pullPolicy: Always - tag: "c768fef" + tag: "928d3c6" ingress: enabled: true className: "traefik" From 1e2857710e9efe7d1deec94dfddb5896b7e68c2f Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Sat, 8 Jun 2024 11:18:10 +0000 Subject: [PATCH 072/193] Update dev image to commit 513af1c --- k8s/values/develop.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/k8s/values/develop.yaml b/k8s/values/develop.yaml index 54d8b18..2ce9640 100644 --- a/k8s/values/develop.yaml +++ b/k8s/values/develop.yaml @@ -5,7 +5,7 @@ deployment: image: repository: ghcr.io/smartcityflensburg/project-website-dev pullPolicy: Always - tag: "928d3c6" + tag: "513af1c" ingress: enabled: true className: "traefik" From 3e5921b71fd920ea217312381508cb615bfed4f3 Mon Sep 17 00:00:00 2001 From: Cedrik Hoffmann Date: Sun, 9 Jun 2024 18:02:50 +0200 Subject: [PATCH 073/193] ci: add deploy on pr --- .github/workflows/build-on-pr.yml | 2 +- .github/workflows/cleanup_pull_request.yaml | 30 ++++++++ .github/workflows/deploy_pull_request.yaml | 81 +++++++++++++++++++++ k8s/values/on-pr.yaml | 25 +++++++ 4 files changed, 137 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/cleanup_pull_request.yaml create mode 100644 .github/workflows/deploy_pull_request.yaml create mode 100644 k8s/values/on-pr.yaml diff --git a/.github/workflows/build-on-pr.yml b/.github/workflows/build-on-pr.yml index aa0ac13..a4e3cf4 100644 --- a/.github/workflows/build-on-pr.yml +++ b/.github/workflows/build-on-pr.yml @@ -19,7 +19,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version-file: .node-version + node-version-file: .node-version - name: Install Yarn run: npm install -g yarn diff --git a/.github/workflows/cleanup_pull_request.yaml b/.github/workflows/cleanup_pull_request.yaml new file mode 100644 index 0000000..81a7b49 --- /dev/null +++ b/.github/workflows/cleanup_pull_request.yaml @@ -0,0 +1,30 @@ +name: 'Cleanup Pull Request' +on: + pull_request: + types: [closed] + +jobs: + cleanup-pr: + name: "Cleanup Pull Request" + runs-on: ubuntu-latest + continue-on-error: true + permissions: + contents: read + packages: write + actions: write + pull-requests: write + + steps: + - name: Kubernetes login + uses: actions-hub/kubectl@master + env: + KUBE_CONFIG: ${{ secrets.KUBE_CONFIG }} + + - name: Delete Helm Chart + run: | + helm delete project-website-pr-${{ github.event.number }} --namespace project-website-pr-${{ github.event.number }} + + - name: Delete Namespace + if: always() + run: | + kubectl delete namespace project-website-pr-${{ github.event.number }} diff --git a/.github/workflows/deploy_pull_request.yaml b/.github/workflows/deploy_pull_request.yaml new file mode 100644 index 0000000..f8b7738 --- /dev/null +++ b/.github/workflows/deploy_pull_request.yaml @@ -0,0 +1,81 @@ +name: "Deploy Pull Request" +on: + pull_request: + types: [labeled] + +jobs: + deploy_pr: + name: "Deploy Pull Request" + runs-on: ubuntu-latest + if: ${{ github.event.label.name == 'deploy' }} + permissions: + contents: read + packages: write + actions: write + pull-requests: write + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: set lower case owner name + run: | + echo "REPO_LC=${REPO,,}" >>${GITHUB_ENV} + env: + REPO: "${{ github.repository }}" + + - name: Build and push + uses: docker/build-push-action@v5 + with: + context: . + file: ./.docker/Dockerfile.dev + platforms: linux/amd64,linux/arm64 + push: true + tags: ghcr.io/${{ env.REPO_LC }}-dev:pr-${{ github.event.number }} + + - name: "Setup yq" + uses: dcarbone/install-yq-action@v1.1.1 + with: + version: "v4.42.1" + force: true + + - name: Change values in on-pr.yaml + run: | + yq -i ' + .ingress.hosts[0].name = "pr-${{ github.event.number }}.website.dev.green-ecolution.de" | + .deployment.image.tag = "pr-${{ github.event.number }}" | + .deployment.name = "project-website-pr-${{ github.event.number }}" | + .deployment.namespace = "project-website-pr-${{ github.event.number }}" + ' ./k8s/values/on-pr.yaml + + - name: Install Helm Chart + env: + KUBECONFIG: ${{ secrets.KUBE_CONFIG }} | base64 -d + run: | + helm upgrade project-website-pr-${{ github.event.number }} ./k8s \ + --install \ + --namespace project-website-pr-${{ github.event.number }} \ + --create-namespace \ + --wait \ + --values ./k8s/values.yaml \ + --values ./k8s/values/on-pr.yaml \ + + - name: Post comment to Pull Request + uses: thollander/actions-comment-pull-request@v2 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + message: | + "Deployment of PR #${{ github.event.number }} successful :rocket: \br\br You can visit it at https://pr-${{ github.event.number }}.website.dev.green-ecolution.de" diff --git a/k8s/values/on-pr.yaml b/k8s/values/on-pr.yaml new file mode 100644 index 0000000..911396f --- /dev/null +++ b/k8s/values/on-pr.yaml @@ -0,0 +1,25 @@ +deployment: + namespace: project-website-pr + name: project-website-pr + replicaCount: 1 + image: + repository: ghcr.io/smartcityflensburg/project-website-dev + pullPolicy: Always + tag: "latest" +ingress: + enabled: true + className: "traefik" + annotations: + cert-manager.io/cluster-issuer: cert-manager + kubernetes.io/ingress.class: traefik + hosts: + - name: pr.website.dev.green-ecolution.de + paths: + - path: / + pathType: Prefix + backend: + serviceName: project-website + servicePort: 80 + tls: + enabled: true + secretName: dev-green-ecolution-de-tls From b9563129b9555ac263a3fb8d504eef64e5c2d10a Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Sun, 9 Jun 2024 23:34:30 +0000 Subject: [PATCH 074/193] Update dev image to commit 3e5921b --- k8s/values/develop.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/k8s/values/develop.yaml b/k8s/values/develop.yaml index 2ce9640..e12ea87 100644 --- a/k8s/values/develop.yaml +++ b/k8s/values/develop.yaml @@ -5,7 +5,7 @@ deployment: image: repository: ghcr.io/smartcityflensburg/project-website-dev pullPolicy: Always - tag: "513af1c" + tag: "3e5921b" ingress: enabled: true className: "traefik" From b29c81bff542178be41a06ce4f69db26b548c5d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dorien=20Gr=C3=B6nwald?= Date: Mon, 10 Jun 2024 17:22:16 +0200 Subject: [PATCH 075/193] feat: add process section (wip) --- src/tsx/App.tsx | 2 + src/tsx/components/cards/ProcessCard.tsx | 23 ++++++ src/tsx/components/sections/Process.tsx | 101 +++++++++++++++++++++++ 3 files changed, 126 insertions(+) create mode 100644 src/tsx/components/cards/ProcessCard.tsx create mode 100644 src/tsx/components/sections/Process.tsx diff --git a/src/tsx/App.tsx b/src/tsx/App.tsx index b7281af..7181d8f 100644 --- a/src/tsx/App.tsx +++ b/src/tsx/App.tsx @@ -1,11 +1,13 @@ import Faq from "./components/sections/Faq"; import Introduction from "./components/sections/Introduction"; +import Process from "./components/sections/Process"; import Stakeholder from "./components/sections/Stakeholder"; function App() { return (
    +
    diff --git a/src/tsx/components/cards/ProcessCard.tsx b/src/tsx/components/cards/ProcessCard.tsx new file mode 100644 index 0000000..e0a8a65 --- /dev/null +++ b/src/tsx/components/cards/ProcessCard.tsx @@ -0,0 +1,23 @@ +import React from 'react'; + +interface ProcessCardProps { + label: string; + shortName: string; + index: number; + description: string; + isCurrent?: boolean +} + +const ProcessCard: React.FC = ({ label, shortName, index, description, isCurrent = false }) => { + return ( +
    + + Schritt {index} von 5: {shortName} + +

    {label}

    +

    {description}

    +
    + ); +}; + +export default ProcessCard; diff --git a/src/tsx/components/sections/Process.tsx b/src/tsx/components/sections/Process.tsx new file mode 100644 index 0000000..f051272 --- /dev/null +++ b/src/tsx/components/sections/Process.tsx @@ -0,0 +1,101 @@ +import { useState, useEffect, useRef } from 'react'; +import { Splide, SplideSlide } from '@splidejs/react-splide'; +import { i18nTranslated } from '../../helper/sliderTranslations'; +import '@splidejs/react-splide/css'; +import ProcessCard from "../cards/ProcessCard"; + +function Process() { + const [currentSlide, setCurrentSlide] = useState(0); + const activeStep = 1; + const splideRef = useRef(null); + + const steps = [ + { + label: "Konzepterstellung & Ideenfindung", + shortName: "Konzept", + description: "Occaecat in dolor eiusmod fugiat. Excepteur proident nostrud aliquip esse ut nostrud in ut esse. Proident ut consequat consequat consectetur magna." + }, + { + label: "MVP (Most Valid Product)", + shortName: "MVP", + description: "Occaecat in dolor eiusmod fugiat. Excepteur proident nostrud aliquip esse ut nostrud in ut esse. Proident ut consequat consequat consectetur magna." + }, + { + label: "Produktvorstellung 01", + shortName: "Vorstellung 01", + description: "Occaecat in dolor eiusmod fugiat. Excepteur proident nostrud aliquip esse ut nostrud in ut esse. Proident ut consequat consequat consectetur magna." + }, + ]; + + const breakpoints = { + 1280: { + destroy: true, + }, + }; + + useEffect(() => { + if (!splideRef.current) return; + + const splideInstance = splideRef.current.splide; + splideInstance.on('move', (newIndex: number) => { + setCurrentSlide(newIndex); + }); + }, []); + + return ( +
    +
    +

    + Der aktuelle Projektfortschritt +

    +

    + Sit sint sit incididunt magna esse incididunt incididunt consectetur ex sit. + Ipsum labore dolor minim culpa Lorem incididunt nisi nulla culpa dolor. + Occaecat in dolor eiusmod fugiat. Excepteur proident nostrud aliquip esse ut nostrud in ut esse. + Proident ut consequat consequat consectetur magna. +

    +
    + + + {steps.map((step, index) => ( + + + + ))} + + +
      + {steps.map((step, index) => ( +
    • activeStep ? 'before:bg-grey-100 after:bg-grey-100' : ''}`} + > +
      + + {index < activeStep ? ( + + + + ) : ( + index + 1 + )} + +
      +
    • + ))} +
    +
    + ); +} + +export default Process; From f02575d64adf72bf95387ae6fef162bbfa401e1b Mon Sep 17 00:00:00 2001 From: Cedrik Hoffmann Date: Sun, 9 Jun 2024 18:02:50 +0200 Subject: [PATCH 076/193] ci: add deploy on pr --- .github/workflows/build-on-pr.yml | 2 +- .github/workflows/cleanup_pull_request.yaml | 31 +++++++ .github/workflows/deploy_pull_request.yaml | 89 +++++++++++++++++++++ 3 files changed, 121 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/cleanup_pull_request.yaml create mode 100644 .github/workflows/deploy_pull_request.yaml diff --git a/.github/workflows/build-on-pr.yml b/.github/workflows/build-on-pr.yml index aa0ac13..a4e3cf4 100644 --- a/.github/workflows/build-on-pr.yml +++ b/.github/workflows/build-on-pr.yml @@ -19,7 +19,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version-file: .node-version + node-version-file: .node-version - name: Install Yarn run: npm install -g yarn diff --git a/.github/workflows/cleanup_pull_request.yaml b/.github/workflows/cleanup_pull_request.yaml new file mode 100644 index 0000000..cf31635 --- /dev/null +++ b/.github/workflows/cleanup_pull_request.yaml @@ -0,0 +1,31 @@ +name: 'Cleanup Pull Request' +on: + pull_request: + types: [closed] + +jobs: + cleanup-pr: + name: "Cleanup Pull Request" + runs-on: ubuntu-latest + continue-on-error: true + permissions: + contents: read + packages: write + actions: write + pull-requests: write + + steps: + - name: Kubernetes login + uses: azure/k8s-set-context@v4 + with: + method: kubeconfig + kubeconfig: ${{ secrets.KUBE_CONFIG }} + + - name: Delete Helm Chart + run: | + helm delete project-website-pr-${{ github.event.number }} --namespace project-website-pr-${{ github.event.number }} + + - name: Delete Namespace + if: always() + run: | + kubectl delete namespace project-website-pr-${{ github.event.number }} diff --git a/.github/workflows/deploy_pull_request.yaml b/.github/workflows/deploy_pull_request.yaml new file mode 100644 index 0000000..94b63a6 --- /dev/null +++ b/.github/workflows/deploy_pull_request.yaml @@ -0,0 +1,89 @@ +name: "Deploy Pull Request" +on: + pull_request: + types: [labeled] + +jobs: + deploy_pr: + name: "Deploy Pull Request" + runs-on: ubuntu-latest + if: ${{ github.event.label.name == 'deploy' }} + permissions: + contents: read + packages: write + actions: write + pull-requests: write + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: set lower case owner name + run: | + echo "REPO_LC=${REPO,,}" >>${GITHUB_ENV} + env: + REPO: "${{ github.repository }}" + + - name: Build and push + uses: docker/build-push-action@v5 + with: + context: . + file: ./.docker/Dockerfile.dev + platforms: linux/amd64,linux/arm64 + push: true + tags: ghcr.io/${{ env.REPO_LC }}-dev:pr-${{ github.event.number }} + + - name: "Setup yq" + uses: dcarbone/install-yq-action@v1.1.1 + with: + version: "v4.42.1" + force: true + + - name: Change values in on-pr.yaml + run: | + yq -i ' + .ingress.hosts[0].name = "pr-${{ github.event.number }}.website.dev.green-ecolution.de" | + .deployment.image.tag = "pr-${{ github.event.number }}" | + .deployment.name = "project-website-pr-${{ github.event.number }}" | + .deployment.namespace = "project-website-pr-${{ github.event.number }}" + ' ./k8s/values/develop.yaml + + - name: Kubernetes login + uses: azure/k8s-set-context@v4 + with: + method: kubeconfig + kubeconfig: ${{ secrets.KUBE_CONFIG }} + + - name: Install Helm Chart + run: | + helm upgrade project-website-pr-${{ github.event.number }} ./k8s \ + --install \ + --namespace project-website-pr-${{ github.event.number }} \ + --create-namespace \ + --wait \ + --values ./k8s/values.yaml \ + --values ./k8s/values/on-pr.yaml \ + + - name: Post comment to Pull Request + uses: thollander/actions-comment-pull-request@v2 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + message: | + Deployment of PR #${{ github.event.number }} successful :rocket: + + You can access the deployment at [pr-${{ github.event.number }}.website.dev.green-ecolution.de](https://pr-${{ github.event.number }}.website.dev.green-ecolution.de) to review the changes :eyes: + + :warning: **Please note that this deployment is temporary and will be deleted after the PR is closed.** From fb154648ee0201d819b4cafe786f9505a2e27f1a Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 10 Jun 2024 16:37:26 +0000 Subject: [PATCH 077/193] Update dev image to commit f02575d --- k8s/values/develop.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/k8s/values/develop.yaml b/k8s/values/develop.yaml index 2ce9640..b63f0f7 100644 --- a/k8s/values/develop.yaml +++ b/k8s/values/develop.yaml @@ -5,7 +5,7 @@ deployment: image: repository: ghcr.io/smartcityflensburg/project-website-dev pullPolicy: Always - tag: "513af1c" + tag: "f02575d" ingress: enabled: true className: "traefik" From 306822a164f24ac9d622941d025a724cd91bf462 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dorien=20Gr=C3=B6nwald?= Date: Mon, 10 Jun 2024 18:53:50 +0200 Subject: [PATCH 078/193] fix: make process responsive for larger screens --- src/tsx/components/cards/ProcessCard.tsx | 51 +++++++++++++++--- src/tsx/components/sections/Process.tsx | 67 +++++++++--------------- 2 files changed, 69 insertions(+), 49 deletions(-) diff --git a/src/tsx/components/cards/ProcessCard.tsx b/src/tsx/components/cards/ProcessCard.tsx index e0a8a65..d1ee292 100644 --- a/src/tsx/components/cards/ProcessCard.tsx +++ b/src/tsx/components/cards/ProcessCard.tsx @@ -4,18 +4,53 @@ interface ProcessCardProps { label: string; shortName: string; index: number; + activeStep: number; + maxIndex: number; description: string; - isCurrent?: boolean + isCurrent?: boolean; + isCompleted?: boolean; } -const ProcessCard: React.FC = ({ label, shortName, index, description, isCurrent = false }) => { +const ProcessCard: React.FC = ({ label, shortName, index, activeStep, maxIndex, description, isCurrent = false, isCompleted = false }) => { return ( -
    - - Schritt {index} von 5: {shortName} - -

    {label}

    -

    {description}

    +
    +
    + + Schritt {index + 1} von {maxIndex}: {shortName} + +

    {label}

    +

    {description}

    +
    + +
    activeStep ? 'before:bg-grey-100 after:bg-grey-100' : ''} + ${index % 2 === 0 ? 'xl:before:-right-10 xl:before:left-auto xl:before:top-0 xl:after:-right-10' : 'xl:before:-left-[2.6rem] xl:before:right-auto xl:before:top-0 xl:after:-left-[2.6rem]'}`} + > +
    + + {index < activeStep ? ( + + + + ) : ( + index + 1 + )} + +
    +
    ); }; diff --git a/src/tsx/components/sections/Process.tsx b/src/tsx/components/sections/Process.tsx index f051272..0dd6e3d 100644 --- a/src/tsx/components/sections/Process.tsx +++ b/src/tsx/components/sections/Process.tsx @@ -1,17 +1,14 @@ -import { useState, useEffect, useRef } from 'react'; import { Splide, SplideSlide } from '@splidejs/react-splide'; import { i18nTranslated } from '../../helper/sliderTranslations'; import '@splidejs/react-splide/css'; import ProcessCard from "../cards/ProcessCard"; function Process() { - const [currentSlide, setCurrentSlide] = useState(0); const activeStep = 1; - const splideRef = useRef(null); const steps = [ { - label: "Konzepterstellung & Ideenfindung", + label: "Konzepterstellung", shortName: "Konzept", description: "Occaecat in dolor eiusmod fugiat. Excepteur proident nostrud aliquip esse ut nostrud in ut esse. Proident ut consequat consequat consectetur magna." }, @@ -25,26 +22,33 @@ function Process() { shortName: "Vorstellung 01", description: "Occaecat in dolor eiusmod fugiat. Excepteur proident nostrud aliquip esse ut nostrud in ut esse. Proident ut consequat consequat consectetur magna." }, + { + label: "Produktvorstellung 02", + shortName: "Vorstellung 02", + description: "Occaecat in dolor eiusmod fugiat. Excepteur proident nostrud aliquip esse ut nostrud in ut esse. Proident ut consequat consequat consectetur magna." + }, + { + label: "Finale Vorstellung", + shortName: "Finalisierung", + description: "Occaecat in dolor eiusmod fugiat. Excepteur proident nostrud aliquip esse ut nostrud in ut esse. Proident ut consequat consequat consectetur magna." + }, ]; const breakpoints = { + 640: { + padding: '20%' + }, + 1024: { + padding: '24%' + }, 1280: { destroy: true, }, }; - useEffect(() => { - if (!splideRef.current) return; - - const splideInstance = splideRef.current.splide; - splideInstance.on('move', (newIndex: number) => { - setCurrentSlide(newIndex); - }); - }, []); - return ( -
    -
    +
    +

    Der aktuelle Projektfortschritt

    @@ -57,43 +61,24 @@ function Process() {
    {steps.map((step, index) => ( - + ))} - -
      - {steps.map((step, index) => ( -
    • activeStep ? 'before:bg-grey-100 after:bg-grey-100' : ''}`} - > -
      - - {index < activeStep ? ( - - - - ) : ( - index + 1 - )} - -
      -
    • - ))} -
    ); } From 09f7ec0cd870b6fb72894751cc956eb078a3f937 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dorien=20Gr=C3=B6nwald?= Date: Mon, 10 Jun 2024 18:58:14 +0200 Subject: [PATCH 079/193] fix: update card width --- src/tsx/components/cards/ProcessCard.tsx | 3 ++- src/tsx/components/sections/Process.tsx | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/tsx/components/cards/ProcessCard.tsx b/src/tsx/components/cards/ProcessCard.tsx index d1ee292..ad7e331 100644 --- a/src/tsx/components/cards/ProcessCard.tsx +++ b/src/tsx/components/cards/ProcessCard.tsx @@ -14,10 +14,11 @@ interface ProcessCardProps { const ProcessCard: React.FC = ({ label, shortName, index, activeStep, maxIndex, description, isCurrent = false, isCompleted = false }) => { return (
    -
    diff --git a/src/tsx/components/sections/Process.tsx b/src/tsx/components/sections/Process.tsx index 0dd6e3d..2621e5f 100644 --- a/src/tsx/components/sections/Process.tsx +++ b/src/tsx/components/sections/Process.tsx @@ -48,7 +48,7 @@ function Process() { return (
    -
    +

    Der aktuelle Projektfortschritt

    From e62e57b561830f7bc657086fd4dce5d30339873e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dorien=20Gr=C3=B6nwald?= Date: Mon, 10 Jun 2024 19:00:14 +0200 Subject: [PATCH 080/193] chore: add padding to splide types --- src/types/splidejs__react-splide.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/types/splidejs__react-splide.d.ts b/src/types/splidejs__react-splide.d.ts index 9c9c339..15885e4 100644 --- a/src/types/splidejs__react-splide.d.ts +++ b/src/types/splidejs__react-splide.d.ts @@ -14,6 +14,7 @@ declare module '@splidejs/react-splide' { interval?: number; pauseOnHover?: boolean; pauseOnFocus?: boolean; + padding?: string; resetProgress?: boolean; keyboard?: boolean | 'global'; drag?: boolean; From f51e202f679dbcc6831ba6c944ed84dd5f44c32f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dorien=20Gr=C3=B6nwald?= Date: Mon, 10 Jun 2024 19:32:41 +0200 Subject: [PATCH 081/193] chore: delete not used file from merge --- k8s/values/on-pr.yaml | 25 ------------------------- 1 file changed, 25 deletions(-) delete mode 100644 k8s/values/on-pr.yaml diff --git a/k8s/values/on-pr.yaml b/k8s/values/on-pr.yaml deleted file mode 100644 index 911396f..0000000 --- a/k8s/values/on-pr.yaml +++ /dev/null @@ -1,25 +0,0 @@ -deployment: - namespace: project-website-pr - name: project-website-pr - replicaCount: 1 - image: - repository: ghcr.io/smartcityflensburg/project-website-dev - pullPolicy: Always - tag: "latest" -ingress: - enabled: true - className: "traefik" - annotations: - cert-manager.io/cluster-issuer: cert-manager - kubernetes.io/ingress.class: traefik - hosts: - - name: pr.website.dev.green-ecolution.de - paths: - - path: / - pathType: Prefix - backend: - serviceName: project-website - servicePort: 80 - tls: - enabled: true - secretName: dev-green-ecolution-de-tls From 3c4c08fab686efe53d5b534c8e3621308d4daee8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dorien=20Gr=C3=B6nwald?= Date: Mon, 10 Jun 2024 19:34:49 +0200 Subject: [PATCH 082/193] fix: update correct aria-label --- src/tsx/components/sections/Process.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tsx/components/sections/Process.tsx b/src/tsx/components/sections/Process.tsx index 2621e5f..db33468 100644 --- a/src/tsx/components/sections/Process.tsx +++ b/src/tsx/components/sections/Process.tsx @@ -62,7 +62,7 @@ function Process() { {steps.map((step, index) => ( From 7d85f7063adcd78680f3989ba95e8b6b091176e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dorien=20Gr=C3=B6nwald?= Date: Mon, 10 Jun 2024 19:45:56 +0200 Subject: [PATCH 083/193] fix: update max-screen width --- src/css/components/splide.css | 2 +- src/tsx/components/cards/ProcessCard.tsx | 12 ++++++------ src/tsx/components/sections/Introduction.tsx | 6 +++--- src/tsx/components/sections/Process.tsx | 7 ++----- src/tsx/layout/Footer.tsx | 4 ++-- src/tsx/layout/Header.tsx | 2 +- 6 files changed, 15 insertions(+), 18 deletions(-) diff --git a/src/css/components/splide.css b/src/css/components/splide.css index c400832..6256811 100644 --- a/src/css/components/splide.css +++ b/src/css/components/splide.css @@ -4,7 +4,7 @@ } .splide.splide--grid > .splide__track > .splide__list { - @apply xl:grid xl:grid-cols-2 xl:gap-x-6 xl:gap-y-8 !important; + @apply lg:grid lg:grid-cols-2 lg:gap-x-6 lg:gap-y-8 !important; } .splide__pagination { diff --git a/src/tsx/components/cards/ProcessCard.tsx b/src/tsx/components/cards/ProcessCard.tsx index ad7e331..9eca3b3 100644 --- a/src/tsx/components/cards/ProcessCard.tsx +++ b/src/tsx/components/cards/ProcessCard.tsx @@ -14,12 +14,12 @@ interface ProcessCardProps { const ProcessCard: React.FC = ({ label, shortName, index, activeStep, maxIndex, description, isCurrent = false, isCompleted = false }) => { return (
    -
    Schritt {index + 1} von {maxIndex}: {shortName} @@ -28,18 +28,18 @@ const ProcessCard: React.FC = ({ label, shortName, index, acti

    {description}

    -
    activeStep ? 'before:bg-grey-100 after:bg-grey-100' : ''} - ${index % 2 === 0 ? 'xl:before:-right-10 xl:before:left-auto xl:before:top-0 xl:after:-right-10' : 'xl:before:-left-[2.6rem] xl:before:right-auto xl:before:top-0 xl:after:-left-[2.6rem]'}`} + ${index % 2 === 0 ? 'lg:before:-right-10 lg:before:left-auto lg:before:top-0 lg:after:-right-10' : 'lg:before:-left-[2.6rem] lg:before:right-auto lg:before:top-0 lg:after:-left-[2.6rem]'}`} > -
    {index < activeStep ? ( diff --git a/src/tsx/components/sections/Introduction.tsx b/src/tsx/components/sections/Introduction.tsx index fc4806c..b3d710c 100644 --- a/src/tsx/components/sections/Introduction.tsx +++ b/src/tsx/components/sections/Introduction.tsx @@ -31,13 +31,13 @@ function Introduction() { 640: { perPage: 2, }, - 1280: { + 1024: { destroy: true, }, } return ( -
    +

    Was beinhaltet smartes Grünflächenmanagement alles? @@ -56,7 +56,7 @@ function Introduction() { className="splide--grid md:px-2" > {facts.map((fact, index) => ( - + {steps.map((step, index) => ( - + -
    +

    - +
    ); diff --git a/src/tsx/components/homepage/HomepageIcons.tsx b/src/tsx/components/homepage/HomepageOverlayIcons.tsx similarity index 76% rename from src/tsx/components/homepage/HomepageIcons.tsx rename to src/tsx/components/homepage/HomepageOverlayIcons.tsx index c4f52a5..3462e94 100644 --- a/src/tsx/components/homepage/HomepageIcons.tsx +++ b/src/tsx/components/homepage/HomepageOverlayIcons.tsx @@ -1,10 +1,18 @@ -import React from "react"; +import React, { useEffect, useState } from "react"; -interface HomepageIconsProps { +interface HomepageOverlayIconsProps { index: number; + delay: number; } -const HomepageIcons: React.FC = ({ index }) => { +const HomepageOverlayIcons: React.FC = ({ index, delay }) => { + const [initialDelayOver, setInitialDelayOver] = useState(false); + + useEffect(() => { + const timer = setTimeout(() => { setInitialDelayOver(true) }, delay); + return () => clearTimeout(timer); + }, []); + const icons = [ { figureClasses: "top-[20%] left-[10%] w-28 h-28 before:w-36 before:h-36 after:absolute after:top-[130%] after:w-1 after:h-[calc(80vh-28rem)]", @@ -53,15 +61,15 @@ const HomepageIcons: React.FC = ({ index }) => { className={`absolute rounded-full flex items-center justify-center bg-white bg-opacity-0 transition-opacity duration-300 ease-in-out before:bg-white/30 before:transition-transform before:duration-300 before:ease-in-out before:absolute before:-z-10 before:rounded-full after:absolute after:border-dotted after:transition-opacity after:duration-300 after:ease-in-out ${key > 2 ? 'after:border-t-[6px] after:border-t-white' : 'after:border-l-[6px] after:border-l-white'} ${icon.figureClasses} - ${icon.activeOnIndex.includes(index) ? 'bg-opacity-100 before:animate-pulse before:scale-100 after:opacity-100' : 'before:scale-90 after:opacity-0'}`} + ${initialDelayOver ? (icon.activeOnIndex.includes(index) ? 'bg-opacity-100 before:animate-pulse before:scale-100 after:opacity-100' : 'before:scale-90 after:opacity-0') : 'bg-opacity-100 before:animate-pulse before:scale-100 after:opacity-100'}`} > + className={`object-contain ${icon.imageClasses} transition-opacity duration-300 ease-in-out ${initialDelayOver ? (icon.activeOnIndex.includes(index) ? 'opacity-100' : 'opacity-0') : 'opacity-100'}`} />
    ))}
    ); } -export default HomepageIcons; +export default HomepageOverlayIcons; From 5fe181d5b0c36f3074e3bb1676d44a0c3a57826b Mon Sep 17 00:00:00 2001 From: Cedrik Hoffmann Date: Wed, 19 Jun 2024 10:52:05 +0200 Subject: [PATCH 141/193] feat: use indent size of two in yaml files --- .editorconfig | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.editorconfig b/.editorconfig index aba53ac..de2e4b5 100644 --- a/.editorconfig +++ b/.editorconfig @@ -22,3 +22,9 @@ indent_size = 4 [*.json] indent_size = 2 + +[*.yaml] +indent_size = 2 + +[*.yml] +indent_size = 2 From 266ef4b43ce7c8684670e3e428ae9aeb93be8f67 Mon Sep 17 00:00:00 2001 From: Cedrik Hoffmann Date: Wed, 19 Jun 2024 10:58:08 +0200 Subject: [PATCH 142/193] feat: fix action only delete when chart and namespace exist --- .github/workflows/cleanup_pull_request.yaml | 47 +++++++++++++++++++-- 1 file changed, 44 insertions(+), 3 deletions(-) diff --git a/.github/workflows/cleanup_pull_request.yaml b/.github/workflows/cleanup_pull_request.yaml index cf31635..f9cb46f 100644 --- a/.github/workflows/cleanup_pull_request.yaml +++ b/.github/workflows/cleanup_pull_request.yaml @@ -4,9 +4,47 @@ on: types: [closed] jobs: + check-resources: + name: "Check Resources" + runs-on: ubuntu-latest + outputs: + helm_exists: ${{ steps.check_helm.outputs.exists }} + namespace_exists: ${{ steps.check_namespace.outputs.exists }} + + steps: + - name: Kubernetes login + uses: azure/k8s-set-context@v4 + with: + method: kubeconfig + kubeconfig: ${{ secrets.KUBE_CONFIG }} + + - name: Check Helm Chart + id: check_helm + run: | + RELEASE_NAME=project-website-pr-${{ github.event.number }} + if helm list --all --namespace $RELEASE_NAME | grep $RELEASE_NAME; then + echo "::set-output name=exists::true" + else + echo Helm Chart $RELEASE_NAME does not exist + echo "::set-output name=exists::false" + fi + + - name: Check Namespace + id: check_namespace + run: | + NAMESPACE=project-website-pr-${{ github.event.number }} + if kubectl get namespace $NAMESPACE; then + echo "::set-output name=exists::true" + else + echo Namespace $NAMESPACE does not exist + echo "::set-output name=exists::false" + fi + cleanup-pr: name: "Cleanup Pull Request" runs-on: ubuntu-latest + needs: check-resources + if: needs.check-resources.outputs.helm_exists == 'true' || needs.check-resources.outputs.namespace_exists == 'true' continue-on-error: true permissions: contents: read @@ -22,10 +60,13 @@ jobs: kubeconfig: ${{ secrets.KUBE_CONFIG }} - name: Delete Helm Chart + if: needs.check-resources.outputs.helm_exists == 'true' run: | - helm delete project-website-pr-${{ github.event.number }} --namespace project-website-pr-${{ github.event.number }} + RELEASE_NAME=project-website-pr-${{ github.event.number }} + helm delete $RELEASE_NAME --namespace $RELEASE_NAME - name: Delete Namespace - if: always() + if: needs.check-resources.outputs.namespace_exists == 'true' run: | - kubectl delete namespace project-website-pr-${{ github.event.number }} + NAMESPACE=project-website-pr-${{ github.event.number }} + kubectl delete namespace $NAMESPACE From 22179ec832f7561c00a31f4b142138b69af7418d Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Thu, 20 Jun 2024 08:08:50 +0000 Subject: [PATCH 143/193] Update dev image to commit 7aec460 --- k8s/values/develop.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/k8s/values/develop.yaml b/k8s/values/develop.yaml index 561bfd6..73d3d37 100644 --- a/k8s/values/develop.yaml +++ b/k8s/values/develop.yaml @@ -5,7 +5,7 @@ deployment: image: repository: ghcr.io/smartcityflensburg/project-website-dev pullPolicy: Always - tag: "bbe9c35" + tag: "7aec460" ingress: enabled: true className: "traefik" From 2cecf709fcd39df1d12cdb3733dca27575f2784e Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Thu, 20 Jun 2024 13:14:23 +0000 Subject: [PATCH 144/193] Update dev image to commit 7cd8e4c --- k8s/values/develop.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/k8s/values/develop.yaml b/k8s/values/develop.yaml index 73d3d37..ce10a5b 100644 --- a/k8s/values/develop.yaml +++ b/k8s/values/develop.yaml @@ -5,7 +5,7 @@ deployment: image: repository: ghcr.io/smartcityflensburg/project-website-dev pullPolicy: Always - tag: "7aec460" + tag: "7cd8e4c" ingress: enabled: true className: "traefik" From 3008590af3e0d4c47da5e930465327bc6cdc9a52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dorien=20Gr=C3=B6nwald?= Date: Sat, 22 Jun 2024 10:22:40 +0200 Subject: [PATCH 145/193] fix: close overlay on resize --- src/tsx/components/homepage/HomepageHero.tsx | 19 +++++++++++++++++-- .../components/homepage/HomepageHeroTrees.tsx | 2 +- .../components/homepage/HomepageOverlay.tsx | 2 +- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/tsx/components/homepage/HomepageHero.tsx b/src/tsx/components/homepage/HomepageHero.tsx index e0ac641..7dec7dc 100644 --- a/src/tsx/components/homepage/HomepageHero.tsx +++ b/src/tsx/components/homepage/HomepageHero.tsx @@ -3,7 +3,7 @@ import Arrow from "../../icons/Arrow"; import HomepageOverlay from "./HomepageOverlay"; import HomepageHeroTrees from "./HomepageHeroTrees"; -function HompageHero() { +function HomepageHero() { const [isOverlayVisible, setIsOverlayVisible] = useState(false); const handleButtonClick = () => { @@ -14,6 +14,20 @@ function HompageHero() { setIsOverlayVisible(false); }; + useEffect(() => { + const handleResize = () => { + if (window.matchMedia('(max-width: 1280px)').matches) { + setIsOverlayVisible(false); + } + }; + + window.addEventListener('resize', handleResize); + + return () => { + window.removeEventListener('resize', handleResize); + }; + }, []); + useEffect(() => { if (isOverlayVisible) { window.scrollTo({ top: 0, behavior: 'smooth' }); @@ -51,9 +65,10 @@ function HompageHero() {
    + {isOverlayVisible && }
    ); } -export default HompageHero; +export default HomepageHero; diff --git a/src/tsx/components/homepage/HomepageHeroTrees.tsx b/src/tsx/components/homepage/HomepageHeroTrees.tsx index 183bc20..8b47b28 100644 --- a/src/tsx/components/homepage/HomepageHeroTrees.tsx +++ b/src/tsx/components/homepage/HomepageHeroTrees.tsx @@ -19,7 +19,7 @@ function HomepageHeroTrees() { animationData={treeLightGreenAnimation} />
    -