diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
deleted file mode 100644
index d73852fa..00000000
--- a/.github/CODEOWNERS
+++ /dev/null
@@ -1 +0,0 @@
-* @wanjohiryan
\ No newline at end of file
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
deleted file mode 100644
index 57ada58e..00000000
--- a/.github/dependabot.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-version: 2
-updates:
- - package-ecosystem: 'gitsubmodule'
- directory: '/'
- schedule:
- interval: 'daily'
- open-pull-requests-limit: 10
- labels:
- - 'type/build'
- - package-ecosystem: 'github-actions'
- directory: '/'
- schedule:
- interval: 'weekly'
- labels:
- - 'type/build'
- ignore:
- - dependency-name: "*"
- update-types: ["version-update:semver-patch"]
\ No newline at end of file
diff --git a/.github/labeler.yml b/.github/labeler.yml
deleted file mode 100644
index f0ad6f3b..00000000
--- a/.github/labeler.yml
+++ /dev/null
@@ -1,119 +0,0 @@
-version: 2
-labels:
- - label: 'type/chore'
- branch: '^chore/.*'
- title: '^\s*.*?\schore(?:(.+))?!?:'
-
- - label: 'type/fix'
- branch: '^fix/.*'
- title: '^\s*.*?\sfix(?:(.+))?!?:'
-
- - label: 'type/feat'
- branch: '^feat/.*'
- title: '^\s*.*?\sfeat(?:(.+))?!?:'
-
- - label: 'type/breaking'
- body: '(?i)breaking.*'
-
- - label: 'type/docs'
- branch: '^docs/.*'
- title: '^\s*.*?\sdocs(?:(.+))?!?:'
- branch: '^docs/.*'
- files:
- - '**/*.md$'
- - '**/*.mdx$'
-
- - label: 'type/ci'
- branch: '^ci/.*'
- title: '^\s*.*?\sci(?:(.+))?!?:'
- files:
- - '.github/.+'
-
- - label: 'type/build'
- branch: '^dependabot/.*'
- title: '^\s*.*?\sbuild(?:(.+))?!?:'
-
- - label: 'type/perf'
- title: '^\s*.*?\sperf(?:(.+))?!?:'
-
- - label: 'mergeable/false'
- mergeable: False
-
- - label: 'usr/dependabot'
- branch: '^dependabot/.*'
- authors:
- - 'dependabot[bot]'
-
- - label: 'scope/back-end'
- files:
- - 'server.Dockerfile'
-
- - label: 'scope/base'
- files:
- - 'base.Dockerfile'
-
- - label: 'scope/ffmpeg'
- files:
- - 'ffmpeg.Dockerfile'
-
- - label: 'scope/recorder'
- files:
- - 'recorder.Dockerfile'
-
- - label: 'scope/relay'
- files:
- - 'relay.Dockerfile'
-
- - label: 'scope/front-end'
- files:
- - 'apps/www/.+'
-
- - label: 'pkg/www'
- files:
- - 'apps/www/.+'
-
- - label: 'scope/git'
- files:
- - '**/.gitignore$'
- - '.github/.+'
-
- - label: "size/xs"
- size:
- below: 10
- exclude-files: ["pnpm-lock.yml","yarn.lock"]
-
- - label: "size/s"
- size:
- above: 9
- below: 100
- exclude-files: ["pnpm-lock.yml","yarn.lock"]
-
- - label: "size/m"
- size:
- above: 49
- below: 200
- exclude-files: ["pnpm-lock.yml","yarn.lock"]
-
- - label: "size/l"
- size:
- above: 199
- below: 500
- exclude-files: ["pnpm-lock.yml","yarn.lock"]
-
- - label: "size/xl"
- size:
- above: 499
- below: 1000
- exclude-files: ["pnpm-lock.yml","yarn.lock"]
-
- - label: "size/xxl"
- size:
- above: 999
- exclude-files: ["pnpm-lock.yml","yarn.lock"]
-
- - label: "usr/wanjohi"
- authors: ['wanjohiryan']
-
- - label: "usr/unknown"
- negate: True
- authors: ['wanjohiryan','apps/dependabot','dependabot', 'dependabot[bot]']
\ No newline at end of file
diff --git a/.github/labels.yml b/.github/labels.yml
deleted file mode 100644
index 4e3fc07a..00000000
--- a/.github/labels.yml
+++ /dev/null
@@ -1,108 +0,0 @@
-# Default labels
-- name: "type/fix"
- color: "B60205"
-
-- name: "type/build"
- color: "6C55D7"
-
-- name: "type/feat"
- color: "0ADE12"
-
-- name: "type/docs"
- color: "891059"
-
-- name: "type/refactor"
- color: "8D44DF"
-
-- name: "type/revert"
- color: "5319e7"
-
-- name: "type/style"
- color: "D71964"
-
-- name: "type/test"
- color: "0B9EE8"
-
-- name: "type/breaking"
- color: "0590CC"
-
-- name: "type/chore"
- color: "B44A63"
-
-- name: "type/ci"
- color: "4FE1A6"
-
-- name: "type/perf"
- color: "4FE1A6"
-
-- name: "mergeable/false"
- color: "B60205"
-
-- name: "priority/high"
- color: "D4E734"
-
-- name: "priority/mid"
- color: "D4E734"
-
-- name: "priority/low"
- color: "D4E734"
-
-- name: "reg/docker"
- color: "5319e7"
-
-- name: "reg/npm"
- color: "5319e7"
-
-- name: "pkg/www"
- color: "5319e7"
-
-- name: "pkg/lib"
- color: "5319e7"
-
-- name: "pkg/aws"
- color: "5319e7"
-
-- name: "scope/git"
- color: "B61B66"
-
-- name: "scope/infra"
- color: "B61B66"
-
-- name: "scope/front-end"
- color: "B61B66"
-
-- name: "scope/relay"
- color: "B61B66"
-
-- name: "scope/base"
- color: "B61B66"
-
-- name: "scope/back-end"
- color: "B61B66"
-
-- name: "size/xs"
- color: "AD4322"
-
-- name: "size/s"
- color: "AD4322"
-
-- name: "size/m"
- color: "AD4322"
-
-- name: "size/l"
- color: "AD4322"
-
-- name: "size/xl"
- color: "AD4322"
-
-- name: "size/xxl"
- color: "AD4322"
-
-- name: "usr/wanjohi"
- color: "09469C"
-
-- name: "usr/dependabot"
- color: "09469C"
-
-- name: "usr/unknown"
- color: "09469C"
\ No newline at end of file
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
deleted file mode 100644
index dad5f890..00000000
--- a/.github/pull_request_template.md
+++ /dev/null
@@ -1,3 +0,0 @@
-## Description
-
-**What issue are you solving (or what feature are you adding) and how are you doing it?**
\ No newline at end of file
diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml
deleted file mode 100644
index 4eaae2b7..00000000
--- a/.github/release-drafter.yml
+++ /dev/null
@@ -1,45 +0,0 @@
-name-template: 'v$RESOLVED_VERSION'
-tag-template: 'v$RESOLVED_VERSION'
-template: |
- # What's Changed
-
- $CHANGES
-
- **Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...v$RESOLVED_VERSION
-categories:
- - title: '⚠ Breaking Changes'
- label: 'type/breaking'
- - title: '🚀 New Features'
- label: 'type/feat'
- - title: '🐜 Bug Fixes'
- label: 'type/fix'
- - title: '🧰 Maintenance'
- label: 'type/chore'
- - title: '📖 Documentation'
- label: 'type/docs'
- - title: '⬆ Version Upgrades'
- label: 'type/build'
- collapse-after: 10
- - title: 'Other changes'
- collapse-after: 10
-
-version-resolver:
- major:
- labels:
- - 'type/breaking'
- minor:
- labels:
- - 'type/feat'
- patch:
- labels:
- - 'type/fix'
- - 'type/build'
- - 'type/docs'
- - 'type/chore'
- - 'type/refactor'
- - 'type/ci'
- - 'type/style'
- - 'type/test'
-
-exclude-labels:
- - 'skip-changelog'
\ No newline at end of file
diff --git a/.github/workflows/autolabeler.yml b/.github/workflows/autolabeler.yml
deleted file mode 100644
index 69e30346..00000000
--- a/.github/workflows/autolabeler.yml
+++ /dev/null
@@ -1,93 +0,0 @@
-name: Pull request auto-labeller
-
-on:
- pull_request:
- types:
- - labeled
- - opened
- - synchronize
- - reopened
- - ready_for_review
- - edited
-
-concurrency:
- group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/main' && github.run_id || github.event.pull_request.number || github.ref }}
- cancel-in-progress: true
-
-jobs:
- validate:
- name: Validate PR title
- runs-on: ubuntu-latest
- permissions:
- pull-requests: write
- steps:
- - uses: amannn/action-semantic-pull-request@cfb60706e18bc85e8aec535e3c577abe8f70378e
- id: lint_pr_title
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- types: |-
- build
- chore
- ci
- deprecate
- docs
- feat
- fix
- perf
- refactor
- remove
- revert
- security
- style
- test
- requireScope: false
- # Ensures the subject start with an uppercase character.
- subjectPattern: ^([A-Z]).+$
- headerPattern: '^\s*.*?\s(\w*)(?:\(([\w$.\-*/ ]*)\))?: (.*)$'
- headerPatternCorrespondence: type, scope, subject
- subjectPatternError: |
- The subject "{subject}" found in the pull request title "{title}"
- didn't match the configured pattern. Please ensure that the subject
- starts with an uppercase character
-
- - uses: marocchino/sticky-pull-request-comment@331f8f5b4215f0445d3c07b4967662a32a2d3e31
- # When the previous steps fails, the workflow would stop. By adding this
- # condition you can continue the execution with the populated error message.
- if: always() && (steps.lint_pr_title.outputs.error_message != null)
- with:
- header: pr-title-lint-error
- message: |
- Hey there and thank you for opening this pull request! 👋🏼
-
- We require pull request titles to follow the [Conventional Commits specification](https://www.conventionalcommits.org/en/v1.0.0/) and it looks like your proposed title needs to be adjusted.
- Additionally, the subject of the title must start with an uppercase character (e.g. feat: New `search` component).
-
- ```
- ${{ steps.lint_pr_title.outputs.error_message }}
- ```
- # Delete a previous comment when the issue has been resolved
- - if: ${{ steps.lint_pr_title.outputs.error_message == null }}
- uses: marocchino/sticky-pull-request-comment@331f8f5b4215f0445d3c07b4967662a32a2d3e31
- with:
- header: pr-title-lint-error
- delete: true
-
- label:
- needs: [ validate ]
- runs-on: ubuntu-latest
- name: Add labels
- permissions:
- contents: read
- pull-requests: write
- issues: write
- steps:
- - name: Checkout your code
- uses: actions/checkout@v4
-
- - uses: srvaroa/labeler@v1
- with:
- config_path: .github/labeler.yml
- fail_on_error: true
- env:
- GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
\ No newline at end of file
diff --git a/.github/workflows/base.yml b/.github/workflows/base.yml
deleted file mode 100644
index 49c9334d..00000000
--- a/.github/workflows/base.yml
+++ /dev/null
@@ -1,135 +0,0 @@
-#Tabs not spaces, you moron :)
-
-name: CI for netris:base
-
-on:
- pull_request:
- paths:
- - "base.Dockerfile"
- - ".github/workflows/base.yml"
- schedule:
- - cron: 0 0 * * * # At the end of everyday
- push:
- branches: [main]
- paths:
- - "base.Dockerfile"
- - ".github/workflows/base.yml"
- tags:
- - v*.*.*
- release:
- types: [created]
-
-# concurrency:
-# group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/main' && github.run_id || github.event.pull_request.number || github.ref }}
-# cancel-in-progress: true
-
-env:
- REGISTRY: ghcr.io
- IMAGE_NAME: nestriness/nestri
- BASE_TAG_PREFIX: base
-
-jobs:
- build-docker-pr:
- name: Build image on pr
- runs-on: ubuntu-latest
- if: ${{ github.event_name == 'pull_request' }}
- steps:
- -
- name: Checkout repo
- uses: actions/checkout@v4
- -
- name: Setup Docker Buildx
- uses: docker/setup-buildx-action@v3
- -
- name: Build Docker image
- uses: docker/build-push-action@v6
- with:
- file: base.Dockerfile
- context: ./
- push: false
- load: true
- tags: netris:base
-
- build-docker-main:
- name: Build image on merge
- if: ${{github.ref == 'refs/heads/main'}}
- runs-on: ubuntu-latest
- permissions:
- contents: read
- packages: write
- steps:
- -
- name: Checkout repo
- uses: actions/checkout@v4
- -
- name: Log into registry ${{ env.REGISTRY }}
- uses: docker/login-action@v3
- with:
- registry: ${{ env.REGISTRY }}
- username: ${{ github.actor }}
- password: ${{ secrets.GIT_MASTER_TOKEN }}
- -
- name: Extract Container metadata
- id: meta
- uses: docker/metadata-action@v5
- with:
- images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}/${{ env.BASE_TAG_PREFIX }}
- #
- #tag on release, and a nightly build for 'dev'
- tags: |
- type=raw,value=nightly,enable={{is_default_branch}}
- type=ref,event=tag
- type=semver,pattern={{version}}
- type=semver,pattern={{major}}.{{minor}}
- type=semver,pattern={{major}}
- -
- name: Build Docker image
- uses: docker/build-push-action@v6
- with:
- file: base.Dockerfile
- context: ./
- push: true
- tags: ${{ steps.meta.outputs.tags }}
- labels: ${{ steps.meta.outputs.labels }}
-
- build-docker-release:
- name: Build image on release
- if: ${{ github.event_name == 'release' }}
- runs-on: ubuntu-latest
- permissions:
- contents: read
- packages: write
- steps:
- -
- name: Checkout repo
- uses: actions/checkout@v4
- -
- name: Log into registry ${{ env.REGISTRY }}
- uses: docker/login-action@v3
- with:
- registry: ${{ env.REGISTRY }}
- username: ${{ github.actor }}
- password: ${{ secrets.GIT_MASTER_TOKEN }}
- -
- name: Extract Container metadata
- id: meta
- uses: docker/metadata-action@v5
- with:
- images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}/${{ env.BASE_TAG_PREFIX }}
- #
- #tag on release, and a nightly build for 'dev'
- tags: |
- type=raw,value=nightly,enable={{is_default_branch}}
- type=ref,event=tag
- type=semver,pattern={{version}}
- type=semver,pattern={{major}}.{{minor}}
- type=semver,pattern={{major}}
- -
- name: Build Docker image
- uses: docker/build-push-action@v6
- with:
- file: base.Dockerfile
- context: ./
- push: true
- tags: ${{ steps.meta.outputs.tags }}
- labels: ${{ steps.meta.outputs.labels }}
\ No newline at end of file
diff --git a/.github/workflows/labels.yml b/.github/workflows/labels.yml
deleted file mode 100644
index 4a8e3736..00000000
--- a/.github/workflows/labels.yml
+++ /dev/null
@@ -1,33 +0,0 @@
-name: GH labels maintainer
-
-on:
- push:
- branches:
- - 'main'
- paths:
- - '.github/labels.yml'
- - '.github/workflows/labels.yml'
- pull_request:
- paths:
- - '.github/labels.yml'
- - '.github/workflows/labels.yml'
-
-concurrency:
- group: ${{ github.workflow }}-${{ github.ref }}
- cancel-in-progress: true
-
-jobs:
- labeler:
- runs-on: ubuntu-latest
- steps:
- -
- name: Checkout
- uses: actions/checkout@v4
- -
- name: Run Labeler
- uses: crazy-max/ghaction-github-labeler@v5
- env:
- GITHUB_TOKEN: "${{ secrets.GIT_MASTER_TOKEN }}"
- with:
- dry-run: ${{ github.event_name == 'pull_request' }}
- github-token: ${{ secrets.GIT_MASTER_TOKEN }}
\ No newline at end of file
diff --git a/.github/workflows/relay.yml b/.github/workflows/relay.yml
deleted file mode 100644
index 72502a47..00000000
--- a/.github/workflows/relay.yml
+++ /dev/null
@@ -1,135 +0,0 @@
-#Tabs not spaces, you moron :)
-
-name: CI for netris:relay
-
-on:
- pull_request:
- paths:
- - "relay.Dockerfile"
- - ".github/workflows/relay.yml"
- schedule:
- - cron: 0 0 * * * # At the end of everyday
- push:
- branches: [main]
- paths:
- - "relay.Dockerfile"
- - ".github/workflows/relay.yml"
- tags:
- - v*.*.*
- release:
- types: [created]
-
-# concurrency:
-# group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/main' && github.run_id || github.event.pull_request.number || github.ref }}
-# cancel-in-progress: true
-
-env:
- REGISTRY: ghcr.io
- IMAGE_NAME: netrisdotme/netris
- BASE_TAG_PREFIX: relay
-
-jobs:
- build-docker-pr:
- name: Build image on pr
- runs-on: ubuntu-latest
- if: ${{ github.event_name == 'pull_request' }}
- steps:
- -
- name: Checkout repo
- uses: actions/checkout@v4
- -
- name: Setup Docker Buildx
- uses: docker/setup-buildx-action@v3
- -
- name: Build Docker image
- uses: docker/build-push-action@v6
- with:
- file: relay.Dockerfile
- context: ./
- push: false
- load: true
- tags: netris:relay
-
- build-docker-main:
- name: Build image on merge
- if: ${{github.ref == 'refs/heads/main'}}
- runs-on: ubuntu-latest
- permissions:
- contents: read
- packages: write
- steps:
- -
- name: Checkout repo
- uses: actions/checkout@v4
- -
- name: Log into registry ${{ env.REGISTRY }}
- uses: docker/login-action@v3
- with:
- registry: ${{ env.REGISTRY }}
- username: ${{ github.actor }}
- password: ${{ secrets.GIT_MASTER_TOKEN }}
- -
- name: Extract Container metadata
- id: meta
- uses: docker/metadata-action@v5
- with:
- images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}/${{ env.BASE_TAG_PREFIX }}
- #
- #tag on release, and a nightly build for 'dev'
- tags: |
- type=raw,value=nightly,enable={{is_default_branch}}
- type=ref,event=tag
- type=semver,pattern={{version}}
- type=semver,pattern={{major}}.{{minor}}
- type=semver,pattern={{major}}
- -
- name: Build Docker image
- uses: docker/build-push-action@v6
- with:
- file: relay.Dockerfile
- context: ./
- push: true
- tags: ${{ steps.meta.outputs.tags }}
- labels: ${{ steps.meta.outputs.labels }}
-
- build-docker-release:
- name: Build image on release
- if: ${{ github.event_name == 'release' }}
- runs-on: ubuntu-latest
- permissions:
- contents: read
- packages: write
- steps:
- -
- name: Checkout repo
- uses: actions/checkout@v4
- -
- name: Log into registry ${{ env.REGISTRY }}
- uses: docker/login-action@v3
- with:
- registry: ${{ env.REGISTRY }}
- username: ${{ github.actor }}
- password: ${{ secrets.GIT_MASTER_TOKEN }}
- -
- name: Extract Container metadata
- id: meta
- uses: docker/metadata-action@v5
- with:
- images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}/${{ env.BASE_TAG_PREFIX }}
- #
- #tag on release, and a nightly build for 'dev'
- tags: |
- type=raw,value=nightly,enable={{is_default_branch}}
- type=ref,event=tag
- type=semver,pattern={{version}}
- type=semver,pattern={{major}}.{{minor}}
- type=semver,pattern={{major}}
- -
- name: Build Docker image
- uses: docker/build-push-action@v6
- with:
- file: relay.Dockerfile
- context: ./
- push: true
- tags: ${{ steps.meta.outputs.tags }}
- labels: ${{ steps.meta.outputs.labels }}
\ No newline at end of file
diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml
deleted file mode 100644
index 0052dc64..00000000
--- a/.github/workflows/release-drafter.yml
+++ /dev/null
@@ -1,16 +0,0 @@
-name: Release drafter
-
-on:
- push:
- branches: [ main ]
-
-jobs:
- update_release_draft:
- runs-on: ubuntu-latest
- permissions:
- contents: write
- pull-requests: write
- steps:
- - uses: release-drafter/release-drafter@v6
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
\ No newline at end of file
diff --git a/.github/workflows/server.yml b/.github/workflows/server.yml
deleted file mode 100644
index f81b23b9..00000000
--- a/.github/workflows/server.yml
+++ /dev/null
@@ -1,137 +0,0 @@
-#Tabs not spaces, you moron :)
-
-name: CI for netris:server
-
-on:
- pull_request:
- paths:
- - "server.Dockerfile"
- - ".scripts/**"
- - ".github/workflows/server.yml"
- schedule:
- - cron: 0 0 * * * # At the end of everyday
- push:
- branches: [main]
- paths:
- - "server.Dockerfile"
- - ".scripts/**"
- - ".github/workflows/server.yml"
- tags:
- - v*.*.*
- release:
- types: [created]
-
-env:
- REGISTRY: ghcr.io
- IMAGE_NAME: nestriness/nestri
- BASE_TAG_PREFIX: server
-
-# concurrency:
-# group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/main' && github.run_id || github.event.pull_request.number || github.ref }}
-# cancel-in-progress: true
-
-jobs:
- build-docker-pr:
- name: Build image on pr
- runs-on: ubuntu-latest
- if: ${{ github.event_name == 'pull_request' }}
- steps:
- -
- name: Checkout repo
- uses: actions/checkout@v4
- -
- name: Setup Docker Buildx
- uses: docker/setup-buildx-action@v3
- -
- name: Build Docker image
- uses: docker/build-push-action@v6
- with:
- file: server.Dockerfile
- context: ./
- push: false
- load: true
- tags: netris:server
-
- build-docker-main:
- name: Build image on merge to main
- if: ${{github.ref == 'refs/heads/main'}}
- runs-on: ubuntu-latest
- permissions:
- contents: read
- packages: write
- steps:
- -
- name: Checkout repo
- uses: actions/checkout@v4
- -
- name: Log into registry ${{ env.REGISTRY }}
- uses: docker/login-action@v3
- with:
- registry: ${{ env.REGISTRY }}
- username: ${{ github.actor }}
- password: ${{ secrets.GIT_MASTER_TOKEN }}
- -
- name: Extract Container metadata
- id: meta
- uses: docker/metadata-action@v5
- with:
- images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}/${{ env.BASE_TAG_PREFIX }}
- #
- #tag on release, and a nightly build for 'dev'
- tags: |
- type=raw,value=nightly,enable={{is_default_branch}}
- type=ref,event=tag
- type=semver,pattern={{version}}
- type=semver,pattern={{major}}.{{minor}}
- type=semver,pattern={{major}}
- -
- name: Build Docker image
- uses: docker/build-push-action@v6
- with:
- file: server.Dockerfile
- context: ./
- push: true
- tags: ${{ steps.meta.outputs.tags }}
- labels: ${{ steps.meta.outputs.labels }}
-
- build-docker-release:
- name: Build image on release
- if: ${{ github.event_name == 'release' }}
- runs-on: ubuntu-latest
- permissions:
- contents: read
- packages: write
- steps:
- -
- name: Checkout repo
- uses: actions/checkout@v4
- -
- name: Log into registry ${{ env.REGISTRY }}
- uses: docker/login-action@v3
- with:
- registry: ${{ env.REGISTRY }}
- username: ${{ github.actor }}
- password: ${{ secrets.GIT_MASTER_TOKEN }}
- -
- name: Extract Container metadata
- id: meta
- uses: docker/metadata-action@v5
- with:
- images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}/${{ env.BASE_TAG_PREFIX }}
- #
- #tag on release, and a nightly build for 'dev'
- tags: |
- type=raw,value=nightly,enable={{is_default_branch}}
- type=ref,event=tag
- type=semver,pattern={{version}}
- type=semver,pattern={{major}}.{{minor}}
- type=semver,pattern={{major}}
- -
- name: Build Docker image
- uses: docker/build-push-action@v6
- with:
- file: server.Dockerfile
- context: ./
- push: true
- tags: ${{ steps.meta.outputs.tags }}
- labels: ${{ steps.meta.outputs.labels }}
\ No newline at end of file
diff --git a/.github/workflows/warp-input.yml b/.github/workflows/warp-input.yml
deleted file mode 100644
index 2edbaf4d..00000000
--- a/.github/workflows/warp-input.yml
+++ /dev/null
@@ -1,236 +0,0 @@
-#Tabs not spaces, you moron :)
-
-name: CI for netris:warp-input
-
-on:
- pull_request:
- paths:
- - "warp-input.Dockerfile"
- - ".github/workflows/warp-input.yml"
- - "bin/input/**"
- schedule:
- - cron: 0 0 * * * # At the end of everyday
- workflow_dispatch:
- push:
- branches: [main]
- paths:
- - "warp-input.Dockerfile"
- - ".github/workflows/warp-input.yml"
- - "bin/input/**"
- tags:
- - v*.*.*
- release:
- types: [published, created]
-
-env:
- REGISTRY: ghcr.io
- IMAGE_NAME: nestriness/nestri
- BASE_TAG_PREFIX: warp-input
-
-# concurrency:
-# group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/main' && github.run_id || github.event.pull_request.number || github.ref }}
-# cancel-in-progress: true
-
-jobs:
- build-docker-pr:
- name: Build image on pr
- runs-on: ubuntu-latest
- if: ${{ github.event_name == 'pull_request' }}
- steps:
- -
- name: Checkout repo
- uses: actions/checkout@v4
- with:
- submodules: recursive
- -
- name: Setup Docker Buildx
- uses: docker/setup-buildx-action@v3
- -
- name: Build Docker image
- uses: docker/build-push-action@v6
- with:
- file: warp-input.Dockerfile
- context: ./
- push: false
- load: true
- tags: netris:warp-input
-
- build-docker-main:
- name: Build image on merge to main
- if: ${{github.ref == 'refs/heads/main'}}
- runs-on: ubuntu-latest
- permissions:
- contents: read
- packages: write
- steps:
- -
- name: Checkout repo
- uses: actions/checkout@v4
- with:
- submodules: recursive
- -
- name: Log into registry ${{ env.REGISTRY }}
- uses: docker/login-action@v3
- with:
- registry: ${{ env.REGISTRY }}
- username: ${{ github.actor }}
- password: ${{ secrets.GIT_MASTER_TOKEN }}
- -
- name: Extract Container metadata
- id: meta
- uses: docker/metadata-action@v5
- with:
- images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}/${{ env.BASE_TAG_PREFIX }}
- #
- #tag on release, and a nightly build for 'dev'
- tags: |
- type=raw,value=nightly,enable={{is_default_branch}}
- type=ref,event=tag
- type=semver,pattern={{version}}
- type=semver,pattern={{major}}.{{minor}}
- type=semver,pattern={{major}}
- -
- name: Build Docker image
- uses: docker/build-push-action@v6
- with:
- file: warp-input.Dockerfile
- context: ./
- push: true
- tags: ${{ steps.meta.outputs.tags }}
- labels: ${{ steps.meta.outputs.labels }}
-
- build-docker-release:
- name: Build image on release
- if: ${{ github.event_name == 'release' }}
- runs-on: ubuntu-latest
- permissions:
- contents: read
- packages: write
- steps:
- -
- name: Checkout repo
- uses: actions/checkout@v4
- with:
- submodules: recursive
- -
- name: Log into registry ${{ env.REGISTRY }}
- uses: docker/login-action@v3
- with:
- registry: ${{ env.REGISTRY }}
- username: ${{ github.actor }}
- password: ${{ secrets.GIT_MASTER_TOKEN }}
- -
- name: Extract Container metadata
- id: meta
- uses: docker/metadata-action@v5
- with:
- images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}/${{ env.BASE_TAG_PREFIX }}
- #
- #tag on release, and a nightly build for 'dev'
- tags: |
- type=raw,value=nightly,enable={{is_default_branch}}
- type=ref,event=tag
- type=semver,pattern={{version}}
- type=semver,pattern={{major}}.{{minor}}
- type=semver,pattern={{major}}
- -
- name: Build Docker image
- uses: docker/build-push-action@v6
- with:
- file: warp-input.Dockerfile
- context: ./
- push: true
- tags: ${{ steps.meta.outputs.tags }}
- labels: ${{ steps.meta.outputs.labels }}
-
- build-warp-input-release:
- if: ${{ github.event_name == 'release' }}
- defaults:
- run:
- working-directory: bin/input
- strategy:
- fail-fast: false
- matrix:
- settings:
- - host: ubuntu-20.04
- target: x86_64-unknown-linux-gnu
- bundles: appimage
- asset_name: warp-input-ubuntu-amd64
- - host: windows-latest
- target: x86_64-pc-windows-msvc
- bundles: msi
- asset_name: warp-input-windows-amd64
- # - host: macos-latest
- # target: x86_64-apple-darwin
- # bundles: dmg
- # asset_name: warp-input-macos-amd64
- # - host: macos-latest
- # target: aarch64-apple-darwin
- # bundles: dmg
- # asset_name: warp-input-macos-apple-silicon
- # - host: ubuntu-20.04
- # target: x86_64-unknown-linux-musl
- # - host: ubuntu-20.04
- # target: aarch64-unknown-linux-gnu
- # - host: ubuntu-20.04
- # target: aarch64-unknown-linux-musl
- # - host: ubuntu-20.04
- # target: armv7-unknown-linux-gnueabihf
- name: Build warp-input on release
- runs-on: ${{ matrix.settings.host }}
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4
- with:
- submodules: recursive
-
- - name: Install Rust
- id: toolchain
- uses: dtolnay/rust-toolchain@stable
- with:
- targets: ${{ matrix.settings.target }}
- toolchain: stable
- components: clippy, rustfmt
-
- - name: Cache Rust Dependencies
- uses: Swatinem/rust-cache@v2
- with:
- save-if: false
- prefix-key: 'v0-rust-deps'
- shared-key: ${{ matrix.settings.target }}
-
- - name: Cargo build
- run: cargo build --target ${{ matrix.settings.target }} --release
-
- - name: Copy and rename artifacts (Linux)
- if: ${{ matrix.settings.host == 'ubuntu-20.04' }}
- run: |
- cp target/${{ matrix.settings.target }}/release/warp-input ./warp-input
-
- - name: Copy and rename artifacts (Windows)
- if: ${{ matrix.settings.host == 'windows-latest' }}
- run: |
- cp "target/${{ matrix.settings.target }}/release/warp-input.exe" ./warp-input.exe
-
- - name: Copy and rename artifacts (macOS)
- if: ${{ matrix.settings.host == 'macos-latest' }}
- run: |
- cp target/${{ matrix.settings.target }}/release/warp-input ./warp-input
-
- - name: Publish release for (${{ matrix.settings.host }})
- if: ${{ matrix.settings.host == 'windows-latest' }}
- uses: svenstaro/upload-release-action@2.9.0
- with:
- repo_token: ${{ secrets.GIT_MASTER_TOKEN }}
- file: ./bin/input/warp-input.exe
- asset_name: ${{ matrix.settings.asset_name }}
- tag: ${{ github.ref }}
-
- - name: Publish release for (${{ matrix.settings.host }})
- if: ${{ matrix.settings.host != 'windows-latest' }}
- uses: svenstaro/upload-release-action@2.9.0
- with:
- repo_token: ${{ secrets.GIT_MASTER_TOKEN }}
- file: ./bin/input/warp-input
- asset_name: ${{ matrix.settings.asset_name }}
- tag: ${{ github.ref }}
\ No newline at end of file
diff --git a/.github/workflows/warp.yml b/.github/workflows/warp.yml
deleted file mode 100644
index eef598fb..00000000
--- a/.github/workflows/warp.yml
+++ /dev/null
@@ -1,234 +0,0 @@
-#Tabs not spaces, you moron :)
-
-name: CI for netris:warp
-
-on:
- pull_request:
- paths:
- - "warp.Dockerfile"
- - ".github/workflows/warp.yml"
- schedule:
- - cron: 0 0 * * * # At the end of everyday
- workflow_dispatch:
- push:
- branches: [main]
- paths:
- - "warp.Dockerfile"
- - ".github/workflows/warp.yml"
- tags:
- - v*.*.*
- release:
- types: [published, created]
-
-env:
- REGISTRY: ghcr.io
- IMAGE_NAME: nestriness/nestri
- BASE_TAG_PREFIX: warp
-
-# concurrency:
-# group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/main' && github.run_id || github.event.pull_request.number || github.ref }}
-# cancel-in-progress: true
-
-jobs:
- build-docker-pr:
- name: Build image on pr
- runs-on: ubuntu-latest
- if: ${{ github.event_name == 'pull_request' }}
- steps:
- -
- name: Checkout repo
- uses: actions/checkout@v4
- with:
- submodules: recursive
- -
- name: Setup Docker Buildx
- uses: docker/setup-buildx-action@v3
- -
- name: Build Docker image
- uses: docker/build-push-action@v6
- with:
- file: warp.Dockerfile
- context: ./
- push: false
- load: true
- tags: netris:warp
-
- build-docker-main:
- name: Build image on merge to main
- if: ${{github.ref == 'refs/heads/main'}}
- runs-on: ubuntu-latest
- permissions:
- contents: read
- packages: write
- steps:
- -
- name: Checkout repo
- uses: actions/checkout@v4
- with:
- submodules: recursive
- -
- name: Log into registry ${{ env.REGISTRY }}
- uses: docker/login-action@v3
- with:
- registry: ${{ env.REGISTRY }}
- username: ${{ github.actor }}
- password: ${{ secrets.GIT_MASTER_TOKEN }}
- -
- name: Extract Container metadata
- id: meta
- uses: docker/metadata-action@v5
- with:
- images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}/${{ env.BASE_TAG_PREFIX }}
- #
- #tag on release, and a nightly build for 'dev'
- tags: |
- type=raw,value=nightly,enable={{is_default_branch}}
- type=ref,event=tag
- type=semver,pattern={{version}}
- type=semver,pattern={{major}}.{{minor}}
- type=semver,pattern={{major}}
- -
- name: Build Docker image
- uses: docker/build-push-action@v6
- with:
- file: warp.Dockerfile
- context: ./
- push: true
- tags: ${{ steps.meta.outputs.tags }}
- labels: ${{ steps.meta.outputs.labels }}
-
- build-docker-release:
- name: Build image on release
- if: ${{ github.event_name == 'release' }}
- runs-on: ubuntu-latest
- permissions:
- contents: read
- packages: write
- steps:
- -
- name: Checkout repo
- uses: actions/checkout@v4
- with:
- submodules: recursive
- -
- name: Log into registry ${{ env.REGISTRY }}
- uses: docker/login-action@v3
- with:
- registry: ${{ env.REGISTRY }}
- username: ${{ github.actor }}
- password: ${{ secrets.GIT_MASTER_TOKEN }}
- -
- name: Extract Container metadata
- id: meta
- uses: docker/metadata-action@v5
- with:
- images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}/${{ env.BASE_TAG_PREFIX }}
- #
- #tag on release, and a nightly build for 'dev'
- tags: |
- type=raw,value=nightly,enable={{is_default_branch}}
- type=ref,event=tag
- type=semver,pattern={{version}}
- type=semver,pattern={{major}}.{{minor}}
- type=semver,pattern={{major}}
- -
- name: Build Docker image
- uses: docker/build-push-action@v6
- with:
- file: warp.Dockerfile
- context: ./
- push: true
- tags: ${{ steps.meta.outputs.tags }}
- labels: ${{ steps.meta.outputs.labels }}
-
- build-warp-release:
- if: ${{ github.event_name == 'release' }}
- defaults:
- run:
- working-directory: moq-server
- strategy:
- fail-fast: false
- matrix:
- settings:
- - host: ubuntu-20.04
- target: x86_64-unknown-linux-gnu
- bundles: appimage
- asset_name: warp-ubuntu-amd64
- - host: windows-latest
- target: x86_64-pc-windows-msvc
- bundles: msi
- asset_name: warp-windows-amd64
- - host: macos-latest
- target: x86_64-apple-darwin
- bundles: dmg
- asset_name: warp-macos-amd64
- - host: macos-latest
- target: aarch64-apple-darwin
- bundles: dmg
- asset_name: warp-macos-apple-silicon
- # - host: ubuntu-20.04
- # target: x86_64-unknown-linux-musl
- # - host: ubuntu-20.04
- # target: aarch64-unknown-linux-gnu
- # - host: ubuntu-20.04
- # target: aarch64-unknown-linux-musl
- # - host: ubuntu-20.04
- # target: armv7-unknown-linux-gnueabihf
- name: Build warp on release
- runs-on: ${{ matrix.settings.host }}
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4
- with:
- submodules: recursive
-
- - name: Install Rust
- id: toolchain
- uses: dtolnay/rust-toolchain@stable
- with:
- targets: ${{ matrix.settings.target }}
- toolchain: stable
- components: clippy, rustfmt
-
- - name: Cache Rust Dependencies
- uses: Swatinem/rust-cache@v2
- with:
- save-if: false
- prefix-key: 'v0-rust-deps'
- shared-key: ${{ matrix.settings.target }}
-
- - name: Cargo build
- run: cargo build --target ${{ matrix.settings.target }} --manifest-path ./moq-pub/Cargo.toml --release
-
- - name: Copy and rename artifacts (Linux)
- if: ${{ matrix.settings.host == 'ubuntu-20.04' }}
- run: |
- cp target/${{ matrix.settings.target }}/release/moq-pub ./warp
-
- - name: Copy and rename artifacts (Windows)
- if: ${{ matrix.settings.host == 'windows-latest' }}
- run: |
- cp "target/${{ matrix.settings.target }}/release/moq-pub.exe" ./warp.exe
-
- - name: Copy and rename artifacts (macOS)
- if: ${{ matrix.settings.host == 'macos-latest' }}
- run: |
- cp target/${{ matrix.settings.target }}/release/moq-pub ./warp
-
- - name: Publish release for (${{ matrix.settings.host }})
- if: ${{ matrix.settings.host == 'windows-latest' }}
- uses: svenstaro/upload-release-action@2.9.0
- with:
- repo_token: ${{ secrets.GITHUB_TOKEN }}
- file: ./moq-server/warp.exe
- asset_name: ${{ matrix.settings.asset_name }}
- tag: ${{ github.ref }}
-
- - name: Publish release for (${{ matrix.settings.host }})
- if: ${{ matrix.settings.host != 'windows-latest' }}
- uses: svenstaro/upload-release-action@2.9.0
- with:
- repo_token: ${{ secrets.GITHUB_TOKEN }}
- file: ./moq-server/warp
- asset_name: ${{ matrix.settings.asset_name }}
- tag: ${{ github.ref }}
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00000000..96fab4fe
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,38 @@
+# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
+
+# Dependencies
+node_modules
+.pnp
+.pnp.js
+
+# Local env files
+.env
+.env.local
+.env.development.local
+.env.test.local
+.env.production.local
+
+# Testing
+coverage
+
+# Turbo
+.turbo
+
+# Vercel
+.vercel
+
+# Build Outputs
+.next/
+out/
+build
+dist
+
+
+# Debug
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+
+# Misc
+.DS_Store
+*.pem
diff --git a/.gitmodules b/.gitmodules
deleted file mode 100644
index 43a4f529..00000000
--- a/.gitmodules
+++ /dev/null
@@ -1,6 +0,0 @@
-[submodule "moq-server"]
- path = moq-server
- url = https://github.com/kixelated/moq-rs
-[submodule "cli"]
- path = cli
- url = https://github.com/nestriness/cli.git
diff --git a/.npmrc b/.npmrc
new file mode 100644
index 00000000..e69de29b
diff --git a/.scripts/entrypoint.sh b/.scripts/entrypoint.sh
deleted file mode 100644
index 1204469e..00000000
--- a/.scripts/entrypoint.sh
+++ /dev/null
@@ -1,285 +0,0 @@
-#!/bin/bash -e
-trap "echo TRAPed signal" HUP INT QUIT TERM
-
-# Include our gpu helper functions
-source /etc/gpu_helpers.sh
-
-# Create and modify permissions of XDG_RUNTIME_DIR
-sudo -u nestri mkdir -pm700 /tmp/runtime-1000
-sudo chown nestri:nestri /tmp/runtime-1000
-sudo -u nestri chmod 700 /tmp/runtime-1000
-# Make user directory owned by the user in case it is not
-sudo chown nestri:nestri /home/nestri || sudo chown nestri:nestri /home/nestri/* || { echo "$(date +"[%Y-%m-%d %H:%M:%S]") Failed to change user directory permissions. There may be permission issues."; }
-
-#Input devices ownable by our default user
-export REQUIRED_DEVICES=${REQUIRED_DEVICES:-/dev/uinput /dev/input/event*}
-
-declare -A group_map
-
-for dev in $REQUIRED_DEVICES; do
- if [ -e "$dev" ]; then
- dev_group=$(stat -c "%G" "$dev")
- dev_gid=$(stat -c "%g" "$dev")
-
- if [ "$dev_group" = "UNKNOWN" ]; then
- new_name="nestri-gid-$dev_gid"
- # We only have a GID for this group; create a named group for it
- # this isn't 100% necessary but it prevents some useless noise in the console
- sudo groupadd -g "$dev_gid" "$new_name"
- group_map[$new_name]=1
- else
- # the group already exists; just add it to the list
- group_map[$dev_group]=1
- fi
-
- # is this device read/writable by the group? if not, make it so
- if [ "$(stat -c "%a" "$dev" | cut -c2)" -lt 6 ]; then
- sudo chmod g+rw "$dev"
- fi
- else
- echo "$(date +"[%Y-%m-%d %H:%M:%S]") Path '$dev' is not present."
- fi
-done
-
-join_by() { local IFS="$1"; shift; echo "$*"; }
-
-groups=$(join_by "," "${!group_map[@]}")
-if [ "$groups" != "" ]; then
- echo "$(date +"[%Y-%m-%d %H:%M:%S]") Adding user '${USER}' to groups: $groups"
- sudo usermod -a -G "$groups" "${USER}"
-else
- echo "$(date +"[%Y-%m-%d %H:%M:%S]") Not modifying user groups ($groups)"
-fi
-
-# Remove directories to make sure the desktop environment starts
-sudo rm -rf /tmp/.X* ~/.cache
-# Change time zone from environment variable
-sudo ln -snf "/usr/share/zoneinfo/$TZ" /etc/localtime && echo "$TZ" | sudo tee /etc/timezone >/dev/null
-# Add gamescope directories to path
-export PATH="${PATH:+${PATH}:}/usr/local/games:/usr/games"
-
-# This symbolic link enables running Xorg inside a container with `-sharevts`
-sudo ln -snf /dev/ptmx /dev/tty7
-# Start DBus without systemd
-sudo /etc/init.d/dbus start
-
-# Install Proton-GE for this user
-nestri-proton -i
-
-# Allow starting Xorg from a pseudoterminal instead of strictly on a tty console
-if [ ! -f "/etc/X11/Xwrapper.config" ]; then
- echo -e "allowed_users=anybody\nneeds_root_rights=yes" | sudo tee /etc/X11/Xwrapper.config > /dev/null
-fi
-if grep -Fxq "allowed_users=console" /etc/X11/Xwrapper.config; then
- sudo sed -i "s/allowed_users=console/allowed_users=anybody/;$ a needs_root_rights=yes" /etc/X11/Xwrapper.config
-fi
-
-# Remove existing Xorg configuration
-if [ -f "/etc/X11/xorg.conf" ]; then
- sudo rm -f "/etc/X11/xorg.conf"
-fi
-
-# Setting `VIDEO_PORT` to none disables RANDR/XRANDR, do not set this if using datacenter GPUs
-if [ "${VIDEO_PORT,,}" = "none" ]; then
- export CONNECTED_MONITOR="--use-display-device=None"
-# The X server is otherwise deliberately set to a specific video port despite not being plugged to enable RANDR/XRANDR, monitor will display the screen if plugged to the specific port
-else
- export CONNECTED_MONITOR="--connected-monitor=${VIDEO_PORT}"
-fi
-
-# A custom modeline should be generated because there is no monitor to fetch this information normally
-custom_modeline="$(cvt -r "${SIZEW}" "${SIZEH}" "${REFRESH}" | sed -n 2p)"
-custom_modeline_settings="$(echo "$custom_modeline" | sed 's/Modeline //')"
-custom_modeline_identifier="$(echo "$custom_modeline_settings" | awk '{print $1}' | tr -d '"')"
-
-# Pre-populate GPU information manually
-if ! check_and_populate_gpus; then
- exit 1
-fi
-
-# Select the GPU based on user input or first one available
-selected_gpu="${GPU_SELECTION,,:-}"
-if [[ -z "$selected_gpu" ]]; then
- selected_gpu="${gpu_map[0]}" # Select first available GPU
- echo "No GPU selected, using first one available: $selected_gpu"
-elif ! selected_gpu=$(check_selected_gpu "$selected_gpu"); then
- exit 1
-fi
-
-# Print selected GPU information
-echo "Selected GPU: $(print_gpu_info "$selected_gpu")"
-echo ""
-
-# Get GPU vendor as separate variable
-selected_gpu_vendor=$(get_gpu_vendor "$selected_gpu")
-# Convert lshw gathered bus id into Xorg compatible one
-xorg_bus_id=$(get_gpu_bus_xorg "$selected_gpu")
-
-# Get GPU card path if available
-selected_gpu_card=""
-gpu_screen_recorder_device_arg=""
-
-card_result=$(get_gpu_card "$selected_gpu")
-if [[ $? -eq 0 && -n "$card_result" ]]; then
- selected_gpu_card="$card_result"
- gpu_screen_recorder_device_arg="-device $selected_gpu_card"
-fi
-
-# Check if the selected GPU is an NVIDIA GPU
-if [[ "${selected_gpu_vendor,,}" =~ "nvidia" ]]; then
- echo "Selected GPU is NVIDIA. Handling NVIDIA-specific configuration..."
-
- # Install NVIDIA userspace driver components including X graphic libraries
- if ! command -v nvidia-xconfig &> /dev/null; then
- # Driver version is provided by the kernel through the container toolkit
- export DRIVER_ARCH="$(dpkg --print-architecture | sed -e 's/arm64/aarch64/' -e 's/armhf/32bit-ARM/' -e 's/i.*86/x86/' -e 's/amd64/x86_64/' -e 's/unknown/x86_64/')"
- export DRIVER_VERSION="$(head -n1 /dev/null
-else
- echo "Selected GPU is non-NVIDIA. Handling common configuration..."
-
- # We need permissions for the GPU(s)
- sudo chown -R root:root /dev/dri/*
- sudo chmod -R 777 /dev/dri/*
-
- # Create common config file
- sudo touch /etc/X11/xorg.conf
- config_common_xorg="
-Section \"ServerLayout\"
- Identifier \"Layout0\"
- Screen 0 \"Screen0\"
- InputDevice \"Keyboard0\" \"CoreKeyboard\"
- InputDevice \"Mouse0\" \"CorePointer\"
-EndSection
-
-Section \"InputDevice\"
- Identifier \"Mouse0\"
- Driver \"mouse\"
- Option \"Protocol\" \"auto\"
- Option \"Device\" \"/dev/mouse\"
- Option \"Emulate3Buttons\" \"no\"
- Option \"ZAxisMapping\" \"4 5\"
-EndSection
-
-Section \"InputDevice\"
- Identifier \"Keyboard0\"
- Driver \"kbd\"
-EndSection
-
-Section \"Device\"
- Identifier \"Device0\"
- Driver \"modesetting\"
- BusID \"$xorg_bus_id\"
-EndSection
-
-Section \"Screen\"
- Identifier \"Screen0\"
- Device \"Device0\"
- Option \"ModeDebug\" \"True\"
-EndSection
-
-Section \"ServerFLags\"
- Option \"AutoAddGPU\" \"off\"
-EndSection
-"
- echo "$config_common_xorg" | sudo tee /etc/X11/xorg.conf > /dev/null
-fi
-
-# Default display is :0 across the container
-export DISPLAY=":0"
-# Run Xorg server with required extensions
-/usr/bin/Xorg vt7 -noreset -novtswitch -sharevts -dpi "${DPI}" -fakescreenfps "${REFRESH}" +extension "COMPOSITE" +extension "DAMAGE" +extension "GLX" +extension "RANDR" +extension "RENDER" +extension "MIT-SHM" +extension "XFIXES" +extension "XTEST" "${DISPLAY}" &
-
-# Wait for X11 to start
-echo "Waiting for X socket"
-until [ -S "/tmp/.X11-unix/X${DISPLAY/:/}" ]; do sleep 1; done
-echo "X socket is ready"
-
-# Wait for X11 to start
-echo "$(date +"[%Y-%m-%d %H:%M:%S]") Waiting for X socket"
-until [ -S "/tmp/.X11-unix/X${DISPLAY/:/}" ]; do sleep 1; done
-echo "$(date +"[%Y-%m-%d %H:%M:%S]") X socket is ready"
-
-# Additional non-NVIDIA configuration required
-if [[ ! "${selected_gpu_vendor,,}" =~ "nvidia" ]]; then
- # Get a list of all available outputs (connected or disconnected)
- all_outputs=($(xrandr --query | awk '/ connected| disconnected/ {print $1}'))
-
- for selected_output in "${all_outputs[@]}"; do
- # Create a unique mode identifier by appending the output name
- unique_mode_identifier="${selected_output}-${custom_modeline_identifier}"
-
- # Create a unique modeline setting with the new identifier
- unique_modeline_settings="$(echo "$custom_modeline_settings" | sed "s/$custom_modeline_identifier/$unique_mode_identifier/" | tr -d '"')"
-
- # Check if the mode already exists for this output (avoid duplicates)
- if xrandr --query | grep "$selected_output" | grep -q "$unique_mode_identifier"; then
- echo "Mode '$unique_mode_identifier' already exists for output '$selected_output', skipping.."
- continue
- fi
-
- # Add the new mode for the specific output (using the unique settings variable)
- if xrandr --newmode $unique_modeline_settings; then
- echo "Successfully added mode '$unique_mode_identifier' for output '$selected_output'"
-
- # Configure the output to use the new mode
- if xrandr --addmode "$selected_output" "$unique_mode_identifier" && \
- xrandr --output "$selected_output" --primary --mode "$unique_mode_identifier"; then
- echo "Successfully configured output '$selected_output' to use mode '$unique_mode_identifier'"
- break
- fi
- fi
-
- echo "Failed to configure output '$selected_output' to use mode '$unique_mode_identifier', trying the next output.."
- done
-
- if [[ "$selected_output" == "${all_outputs[-1]}" ]]; then
- echo "Could not configure any output with the desired mode"
- exit 1
- fi
-fi
-
-# Make sure gpu-screen-recorder is owned by nestri
-sudo chown nestri:nestri /usr/bin/gpu-screen-recorder
-
-if [[ -z "${SESSION_ID}" ]]; then
- echo "$(date +"[%Y-%m-%d %H:%M:%S]") No stream name was found, did you forget to set the env variable NAME?" && exit 1
-else
- /usr/bin/gpu-screen-recorder $gpu_screen_recorder_device_arg -v no -w screen -c flv -f "${REFRESH}" -a "$(pactl get-default-sink).monitor" | ffmpeg -hide_banner -v quiet -i pipe:0 -c copy -f mp4 -movflags empty_moov+frag_every_frame+separate_moof+omit_tfhd_offset - | /usr/bin/warp --name "${SESSION_ID}" https://fst.so:4443 &
-fi
-
-openbox-session &
-
-# /usr/games/gamescope -- mangohud glxgears > /dev/null &
-
-echo "$(date +"[%Y-%m-%d %H:%M:%S]") Session Running. Press [Return] to exit."
-read
diff --git a/.scripts/proton b/.scripts/proton
deleted file mode 100644
index 0ebad1ab..00000000
--- a/.scripts/proton
+++ /dev/null
@@ -1,610 +0,0 @@
-#!/bin/bash
-# Version 1.1
-#Copied from https://github.com/noabody/unibuild/blob/master/data/wstart
-
-# WINEARCH win32/win64 not as good as binary wine/wine64"
-# WINEDEBUG="-all" not as good as dev/null
-
-# complex command line builder to simplify command objects
-# vars bin, pfx set to wine binary, prefix dirs initially
-# menus will dynamically set bin pfx to specific targets
-# menu shows gui based 32/64-bit pe header exe via pev
-# var 'x' for unified cross-functionality
-# ${@:2} skips 'wstart' and 1st arg
-
-# manjaro 21.2.1
-#sudo pacman -S bash binutils findutils gendesk grep icoutils pcre2 perl yay winetricks; yay -S pev
-
-# wnbin needs wine dir with: bin lib lib64 share
-# manjaro default path is /usr
-# can symlink various wnbin="$HOME/.local/opt"
-#mkdir "$HOME"/.local/opt
-#ln -sf /usr "$HOME"/.local/opt/wine
-#ln -sf /usr/share/steam/compatibilitytools.d/proton-ge-custom/files "$HOME"/.local/opt/proton
-
-wnbin="/usr"
-# top level wine dir, symlink into "$HOME/.local/opt" to flatten paths
-wnpfx="$HOME"
-# top level wine prefix dir
-pntop="$HOME/.steam"
-# top level linux steam dir
-pnapp="$pntop/steam/steamapps"
-# steamapps subdir
-pnbin="$pnapp/common"
-# proton subdir normally under top/app
-pnpfx="$pnapp/compatdata"
-# proton prefix subdir normally under top/app
-pnpge="$pntop/root/compatibilitytools.d"
-# proton ge
-progs="drive_c/Program Files"
-# Program Files standard subdir
-stcmn="Steam/steamapps/common"
-# windows steam client subdir under progs
-desk="$HOME/Desktop"
-# desktop entry folder
-icon="applications-other"
-# default icon
-temp="$HOME/Downloads"
-# temp folder
-clprm=("${@:2}")
-# store cmdline args minus first option
-x="$(echo "$1" | grep -Pio '(?<=-)[wp]')"
-# 1st letter of 1st cmd line arg determines wine/proton
-if [[ -n "$x" ]]; then
- xarg="$(echo "$1" | perl -pe 's/-[wp]/-x/gi')"
-else
- xarg="$(echo "$1" | perl -pe 's/-x+/-/gi')"
-fi
-# drop 1st letter x or change to it
-xcmd=()
-i_mnus=()
-myprnt=()
-i_syms=()
-pmenu=("Command Prompt/wineconsole.exe" "Control Panel/control.exe" "Registry Editor/regedit.exe" "Task Manager/taskmgr.exe" "Windows Explorer/explorer.exe" "Wine Configuration/winecfg.exe")
-# scalable built-in programs menu
-unset WINEARCH WINEDLLPATH WINEPREFIX STEAM_COMPAT_CLIENT_INSTALL_PATH STEAM_COMPAT_DATA_PATH
-# prevent shell inheritance of env vars we use
-
-w_menu () {
-PS3="Please enter your choice: "
-select answer in "${i_mnus[@]}"; do
- for item in "${i_mnus[@]}"; do
- if [[ $item == "$answer" ]]; then
- break 2
- fi
- done
-done
-# repeating menu requires valid selection from array
-if [[ "$answer" = "quit" ]]; then
-# pop quit from end of array for menu option
- exit
-else
- xmrtn="$answer"
-fi
-unset i_mnus
-clear
-}
-
-# Path ordering: wine64 x64/x32 or wine32 x32 then standard
-# Order critical to proper operation
-xn64 () {
-xstrt="wine64"
-xnldl="$xnbin/lib64:$xnbin/lib"
-xndll="$xnbin/lib64/wine:$xnbin/lib/wine"
-}
-
-xn32 () {
-xstrt="wine"
-xnldl="$xnbin/lib"
-xndll="$xnbin/lib/wine"
-}
-
-xnint () {
-if [[ "$x" = "p" ]]; then
- xnbin="$pnbin"
- xnpfx="$pnpfx"
- dpth=(4 3)
-else
- xnbin="$wnbin"
- xnpfx="$wnpfx"
- dpth=(3 2)
-fi
-}
-
-xnexe () {
-# menu installed wine/proton or exit
-readarray -t i_mnus < <(find -L "$xnbin" -maxdepth "${dpth[0]}" -type f -iname 'wine' ! \( -ipath '*/sbin*' \) 2>/dev/null | perl -pe "s|\Q$xnbin\E/(.*)[/]*bin/wine|\1| ; s|/$||" | sort ; echo "quit")
-if [[ ${#i_mnus[@]} -gt 2 ]]; then
- clear
- w_menu
- xnbin="$(realpath "$xnbin/$xmrtn")"
- unset xmrtn
-elif [[ ${#i_mnus[@]} -eq 2 ]]; then
- xnbin="$(realpath "$xnbin/${i_mnus[0]}")"
-else
- echo "No installed Wine/Proton found."
- exit 1
-fi
-}
-
-xndef () {
-# create default prefix cross-function
-if [[ "$x" = "p" ]]; then
- if [[ ! -d "$xnpfx/0" ]]; then
- # always create default 0 prefix
- xnpfx="$xnpfx/0"
- echo "Creating default prefix: $xnpfx"
- mkdir -p "$xnpfx"
- STEAM_COMPAT_DATA_PATH="$xnpfx" "${xnbin%/*}/proton" run > /dev/null 2>&1 &
- xnpfx="$xnpfx/pfx"
- fi
-else
- if [[ ! -d "$xnpfx/.wine" ]]; then
- # always create default wine prefix
- xnpfx="$xnpfx/.wine"
- echo "Creating default prefix: $xnpfx"
- WINEPREFIX="$xnpfx" "$xnbin"/bin/winecfg > /dev/null 2>&1 &
- if [[ -d "$HOME/.wine" && "$HOME/.wine" != "$xnpfx" ]]; then
- rm -rf "$HOME"/.wine
- ln -sf "$xnpfx" "$HOME"/.wine
- fi
- fi
-fi
-}
-
-xnpre () {
-# menu wine/proton prefix
-readarray -t i_mnus < <(find "$xnpfx" -maxdepth "${dpth[1]}" -type f -iname 'system.reg' 2>/dev/null | perl -pe "s|\Q$xnpfx\E/(.*)/system.reg|\1|" | sort ; echo "quit")
-# use perl escaped Q/E to preserve special characters in path variable
-if [[ ${#i_mnus[@]} -gt 2 ]]; then
-# display menu with min two options plus quit
-# guard proton cross-function
- if [[ "$x" = "p" ]]; then
- # shellcheck disable=SC2044
- for value in $(find "$xnpfx" -maxdepth 1 -type d -ipath '*/[0-9]*' -printf "${xnpfx///compatdata}/appmanifest_%P.acf\n" 2>/dev/null); do
- test -f "$value" && myprnt+=("$(grep -Pio '^\s+\"(appid|name)\"\s+\"(.*)\"' "$value" | perl -pe 's/.*appid.+?\"(.*)\"\v|.*name.+?\"(.*)\"/\1 \2/')")
- done
- if [[ ${#myprnt[@]} -gt 0 ]]; then
- printf '%s\n' "${myprnt[@]}" | sort
- fi
- # correlate appmanifest to proton prefix and list before menu
- unset myprnt
- fi
- w_menu
- xnpfx="$xnpfx/$xmrtn"
- unset xmrtn
-elif [[ ${#i_mnus[@]} -eq 2 ]]; then
-# don't menu if only one option plus quit
- xnpfx="$xnpfx/${i_mnus[0]}"
-fi
-if [[ -d "$xnpfx/$progs (x86)" ]]; then
- xn64
-else
- xn32
-fi
-}
-
-xnenv () {
-# core env vars allow proper targetting of wine/proton
-xpath="$xnbin/bin:$PATH"
-xcmd=(env PATH="$xpath" WINEDLLPATH="$xndll" LD_LIBRARY_PATH="$xnldl" WINEPREFIX="$xnpfx")
-# guard proton cross-function which adds on to core env vars
-if [[ "$x" = "p" ]]; then
- xcmd+=(STEAM_COMPAT_DATA_PATH="${xnpfx///pfx}" STEAM_COMPAT_CLIENT_INSTALL_PATH="$pntop")
-fi
-}
-
-xnldr () {
-# loader default to proton as applicable, otherwise wine
-if [[ "$x" = "p" ]]; then
- read -r -p 'wine loader? [y/N] ' chse
- if [[ "$chse" =~ ^([yY][eE][sS]|[yY])+$ ]]; then
- xcmd+=("$xstrt")
- else
- xcmd+=("${xnbin%/*}/proton" "run")
- fi
-else
- xcmd+=("$xstrt")
-fi
-}
-
-xnset () {
-# set cross-fuction
-xnint
-# wine/proton menu
-xnexe
-# create default prefix as required
-xndef
-# wine/proton prefix
-xnpre
-# wine/proton env vars
-xnenv
-}
-
-xlnch () {
-# cross-function command line launcher
-if [[ -z "$dbg" ]]; then
- ("${xcmd[@]}" > /dev/null 2>&1 &)
-else
- echo "${xcmd[@]}"
- if [[ "$dbg" = "1" ]]; then
- ("${xcmd[@]}" &)
- elif [[ "$dbg" = "2" ]]; then
- (WINEDEBUG="warn+all" "${xcmd[@]}" &)
- fi
-fi
-# prepend cmd with dbg=1 to see command and default debug output
-# dbg=2 to see command and all debug output, dbg=? for command only
-}
-
-allexe () {
-# unfiltered list of exe in specified path
-if [[ -n "$(stat --file-system --format=%T "$(stat --format=%m "$pedir" 2>/dev/null)" 2>/dev/null | grep -Pio 'fuse')" ]]; then
- readarray -t i_mnus < <(find "$pedir" -maxdepth 7 -type f -regextype posix-extended -iname '*.exe' 2>/dev/null | perl -pe "s|\Q$pedir\E/(.*)|\1|" | sort ; echo "quit")
- # skip exe validity tests if file is on network drive
-else
- readarray -t i_mnus < <(env pedir="$pedir" find "$pedir" -maxdepth 7 -type f -regextype posix-extended -iname '*.exe' -exec sh -c '(readpe -h optional "$1" 2>/dev/null | grep -Piq '0x2.*gui') && (wrestool "$1" 2>/dev/null | grep -Piq 'type=icon') && echo "$1" 2>/dev/null | perl -pe "s|\Q$pedir\E/(.*)|\1|"' -- {} \; 2>/dev/null | sort ; echo "quit")
- # perform exe validity tests if file is on local drive
-fi
-}
-
-fewexe () {
-# filtered list of exe in standard paths
-readarray -t i_mnus < <(env pedir="$pedir" find "$pedir" -maxdepth 7 -type f -regextype posix-extended ! \( -ipath '*cache*' -o -ipath '*/microsoft*' -o -ipath '*/windows*' -o -ipath '*/temp*' \) ! \( -iregex '.*(capture|clokspl|helper|iexplore|install|internal|kernel|[^ ]launcher|legacypm|overlay|proxy|redist|renderer|(crash|error)reporter|serv(er|ice)|setup|streaming|tutorial|unins|update).*' \) -iname '*.exe' -exec sh -c '(readpe -h optional "$1" 2>/dev/null | grep -Piq '0x2.*gui') && (wrestool "$1" 2>/dev/null | grep -Piq 'type=icon') && echo "$1" 2>/dev/null | perl -pe "s|\Q$pedir\E/(.*)|\1|"' -- {} \; 2>/dev/null | sort ; echo "quit")
-# valid exe will have gui and icon
-}
-
-alloth () {
-# unfiltered list of variable type in specified path
- readarray -t i_mnus < <(find "$pedir" -maxdepth 7 -type f -regextype posix-extended -iname "$xflt" 2>/dev/null | perl -pe "s|\Q$pedir\E/(.*)|\1|" | sort ; echo "quit")
-}
-
-fewoth () {
-# filtered list of variable type in standard paths
-readarray -t i_mnus < <(env pedir="$pedir" find "$pedir" -maxdepth 7 -type f -regextype posix-extended ! \( -ipath '*cache*' -o -ipath '*/microsoft*' -o -ipath '*/windows*' -o -ipath '*/temp*' \) ! \( -iregex '.*(capture|clokspl|helper|iexplore|install|internal|kernel|[^ ]launcher|legacypm|overlay|proxy|redist|renderer|(crash|error)reporter|serv(er|ice)|setup|streaming|tutorial|unins|update).*' \) -iname "$xflt" 2>/dev/null | perl -pe "s|\Q$pedir\E/(.*)|\1|" | sort ; echo "quit")
-}
-
-xbld () {
-# cross-function custom prefix builder
-pnpfx="$pnpfx/${clprm[0]}"
-wnpfx="$wnpfx/${clprm[0]}"
-xnint
-if [[ -z "${clprm[0]}" ]]; then
- echo "Wine/Proton prefix name required: (e.g. .wine, 0 )"
-elif [[ -d "$xnpfx" ]]; then
- echo "Wine/Proton Prefix exists: $xnpfx"
-else
- xnexe
- echo "Creating Wine/Proton Prefix: ${clprm[0]}"
- if [[ "$x" = "p" ]]; then
- xnenv
- mkdir -p "$xnpfx"
- xcmd+=(STEAM_COMPAT_DATA_PATH="$xnpfx" "${xnbin%/*}/proton" "run")
- else
- read -r -p '32-bit only? [y/N] ' chse
- if [[ "$chse" =~ ^([yY][eE][sS]|[yY])+$ ]]; then
- xn32
- xnenv
- xcmd+=(WINEARCH="win32" "$xstrt" "winecfg.exe")
- else
- xn64
- xnenv
- xcmd+=(WINEARCH="win64" "$xstrt" "winecfg.exe")
- fi
- fi
- xlnch
-fi
-}
-
-xpmn () {
-# use specified exe, menu specified folder, or menu system
-if [[ -f "${clprm[0]}" ]]; then
-# parse 1st cmdline arg, queue if valid file
- pedir="$(realpath "${clprm[0]}")"
- xmrtn="$(basename "$pedir")"
- pedir="$(dirname "$pedir")"
-else
- if [[ -d "${clprm[0]}" ]]; then
- # parse 1st cmdline arg, use as path if valid
- pedir="$(realpath "${clprm[0]}")"
- test -z "$xflt" && allexe || alloth
- else
- # if no cmdline path, use prefix drive_c
- pedir="$xnpfx/drive_c"
- test -z "$xflt" && fewexe || fewoth
- fi
- # create menu, from path, of file
- test ${#i_mnus[@]} -gt 1 && w_menu
-fi
-}
-
-xlyt() {
-# pe layout for launch
-# 64-bit prefix, 32-bit pe header, reset env to 32
-if [[ -n "$(readpe -h optional "$pedir/$xmrtn" 2>/dev/null | grep -Pi 'magic number.*0x10b')" && -d "$xnpfx/$progs (x86)" ]]; then
- xn32
- xnenv
-fi
-xnldr
-# if 1st arg is file/folder, skip it and run selection + remaining args
-if [[ -e "${clprm[0]}" ]];then
- xcmd+=("$pedir/$xmrtn" "${clprm[@]:1}")
-else
- xcmd+=("$pedir/$xmrtn" "${clprm[@]}")
-fi
-}
-
-xstm() {
-if [[ "$x" = "p" ]]; then
- sstrt="$(realpath "$(which steam)" 2>/dev/null)"
-else
- xnset
- sstrt="$(find "$xnpfx/drive_c" -maxdepth 3 -iname 'steam.exe' 2>/dev/null)"
- if [[ -f "$sstrt" ]]; then
- pnapp="$(dirname "$sstrt")/steamapps"
- xcmd+=("$xstrt")
- fi
-fi
-# find wine/proton steam binary path, normally subdir of program files
-if [[ -f "$sstrt" ]]; then
- test -d "$pnapp" && readarray -t i_mnus < <(find "$pnapp" -maxdepth 1 -type f -iname 'appmanifest_*.acf' -exec grep -Pio '^\s+\"(appid|name)\"\s+\"(.*)\"' "{}" \; 2>/dev/null | perl -pe 's/.*appid.+?\"(.*)\"\v|.*name.+?\"(.*)\"/\1 \2/' | sort ; echo -e "steam\nquit")
- # read appmanifests to create menu entries
- test ${#i_mnus[@]} -gt 2 && w_menu && xmrtn="$(expr "$xmrtn" : '\([0-9]*\)')"
- if [[ -n "$xmrtn" ]]; then
- # lauch selection with steam
- xcmd+=("$sstrt" "-no-browser" "-applaunch" "$xmrtn")
- xlnch
- else
- # launch steam was selected
- # minigamelist (short game list) for no-browser (disabled chrome) to save memory
- xcmd+=("$sstrt" "-no-browser" "steam://open/minigameslist")
- xlnch
- fi
-else
- echo -e "Steam not found."
-fi
-}
-
-xpge () {
- test -d "$pnpge" || mkdir -p "$pnpge"
- test -d "$pnbin" || mkdir -p "$pnbin"
-
- if [[ ! -d "$(dirname "$pnpge")" ]]; then
- echo -e "Could not create folder 'compatibilitytools.d/protonge' in:\n $(dirname "$pnpge")\n because that path does not exist.\nVerify script variable 'pnpge'"
- elif [[ ! -d "$pnbin" ]]; then
- echo -e "Could not create sym-link 'protonge' in:\n $pnbin\n because that path does not exist.\nVerify script variable 'pnbin'"
- else
- gedl="$(curl -sL https://api.github.com/repos/GloriousEggroll/proton-ge-custom/releases/latest | jq -r ".tag_name")"
- # gedl="$(gh release list -R GloriousEggroll/proton-ge-custom -L 1 | grep -Pio '^ge[^ ]+')"
- gever="$(echo "$gedl" | grep -Pio '(?<=ge-proton).*')"
- if [[ -f "$pnpge/protonge/version" ]]; then
- if [[ -z "$(grep -Pio "$gever" "$pnpge/protonge/version")" ]]; then
- echo -e "Available Proton GE $gever differs from installed, updating...\n"
- chse=y
- else
- echo -e "Available Proton GE $gever matches installed, nothing to do.\n"
- fi
- else
- echo -e "Proton GE not found, installing...\n"
- chse=y
- fi
- fi
- if [[ -n "$chse" ]]; then
- wget --progress=dot:giga "$(curl -s https://api.github.com/repos/GloriousEggroll/proton-ge-custom/releases/latest | grep browser_download_url | cut -d\" -f4 | grep .tar.gz)" -P "$temp"/
-
- rm -rf "$pnpge/protonge"
- tar -xf "$temp/$gedl".tar.gz -C "$pnpge/"
- mv "$pnpge"/*roton* "$pnpge/protonge"
- rm -f "$temp/$gedl".tar.gz
- grep -Piq "$gever" "$pnpge/protonge/version" || perl -pi -e "s|(?<=ge-proton).*|$gever|gi" "$pnpge/protonge/version"
- test -h "$pnbin/protonge" || ln -sf "$pnpge/protonge" "$pnbin"
- fi
-}
-
-xwn () {
- export WINE_BRANCH=staging
- sudo mkdir -pm755 /etc/apt/keyrings && sudo curl -fsSL -o /etc/apt/keyrings/winehq-archive.key "https://dl.winehq.org/wine-builds/winehq.key" \
- && sudo curl -fsSL -o "/etc/apt/sources.list.d/winehq-$(grep UBUNTU_CODENAME= /etc/os-release | cut -d= -f2 | tr -d '\"').sources" "https://dl.winehq.org/wine-builds/ubuntu/dists/$(grep UBUNTU_CODENAME= /etc/os-release | cut -d= -f2 | tr -d '\"')/winehq-$(grep UBUNTU_CODENAME= /etc/os-release | cut -d= -f2 | tr -d '\"').sources" \
- && sudo apt-get update && sudo apt-get install --install-recommends -y winehq-${WINE_BRANCH} \
- && sudo curl -fsSL -o /usr/bin/winetricks "https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks" \
- && sudo chmod 755 /usr/bin/winetricks \
- && sudo curl -fsSL -o /usr/share/bash-completion/completions/winetricks "https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks.bash-completion"
-}
-
-usage() {
- echo -e "\n$(basename $0): ERROR - $*" 1>&2
- echo -e "\nusage: $(basename $0)\n [-?a,--?add] [-?b,--?bld] [-?c,--?cmd] [-?d,--?dsk]\n [-?i,--?inf] [-?k,--?kil] [-?o,--?ovr] [-?p,--?prg]\n [-?s,--?stm] [-?t,--?trk] [-?u,--?cut] [-?v,--?ver]\n\n[?] = (p)roton, (w)ine\n (add) exe path to reg, (bld) build prefix,\n (cmd) prog menu, (dsk) desktop, (inf) exe info,\n (kil) kill wine, (ovr) overrides, (prg) exe list,\n (stm) steam, (trk) winetricks, (cut) shortcut,\n (ver) wine version\n" 1>&2
-}
-
-if [[ $# -lt 1 ]]; then
- usage "one option required!"
-else
- case $xarg in
- -xa|--xadd)
- # cross-fuction path add to registry based on exe
- xnint
- xnpre
- xpmn
- if [[ -n "$xmrtn" ]]; then
- ptadd="$(dirname "$pedir/$xmrtn")"
- ptadd="z:${ptadd////\\\\}"
- read -r -p 'prepend to system path? [y/N] ' chse
- clear
- if [[ "$chse" =~ ^([yY][eE][sS]|[yY])+$ ]]; then
- xnreg='System\\CurrentControlSet\\Control\\Session Manager\\Environment'
- xmrtn='system.reg'
- else
- xnreg='Environment'
- xmrtn='user.reg'
- fi
- if [[ -z "$(pcre2grep -Mio "\[\Q${xnreg,,}\E\](?s).+?\"PATH\"=str\(2\):\".+?(?=\[.+?\])(?-s)" "$xnpfx/$xmrtn")" ]]; then
- perl -0777 -pi -e "s|(\[\Q${xnreg,,}\E\](?s).+?#time=(?-s).*)(?s)(.+?)(?=\[.+?\])(?-s)|\\1\n\"PATH\"=str\(2\):\"${ptadd//\\/\\\\}\"\\2|gi" "$xnpfx/$xmrtn"
- echo -e "$( (echo "$xnreg" | grep -Pioq '\\Environment') && echo 'HKLM\\' || echo 'HKCU\\')$xnreg:\n\n $ptadd\n\nPATH created successfully\n"
- elif [[ -z "$(pcre2grep -Mio "\[\Q${xnreg,,}\E\](?s).+?\"PATH\"=str\(2\):\"(?-s).*\Q${ptadd,,}\E[\;\"](?s).+?(?=\[.+?\])(?-s)" "$xnpfx/$xmrtn")" ]]; then
- perl -0777 -pi -e "s|(\[\Q${xnreg,,}\E\](?s).+?\"PATH\"=str\(2\):\")(?-s)(.*)(?s)(.+?)(?=\[.+?\])(?-s)|\\1${ptadd//\\/\\\\}\;\\2\\3|gi" "$xnpfx/$xmrtn"
- echo -e "$( (echo "$xnreg" | grep -Pioq '\\Environment') && echo 'HKLM\\' || echo 'HKCU\\')$xnreg:\n\n $ptadd\n\nPATH added successfully\n"
- else
- echo -e "$( (echo "$xnreg" | grep -Pioq '\\Environment') && echo 'HKLM\\' || echo 'HKCU\\')$xnreg:\n\n $ptadd\n\nalready in PATH\n"
- fi
- # \Q \E adds \ to non alphanums but variable with \E ends \Q
- # lowercase ${var,,} to avoid since path/reg not case sensitive
- # linux path is case sensitive so user must not create duplicates
- fi
- ;;
- -xb|--xbld)
- # cross-function prefix builder
- xbld
- ;;
- -xc|--xcmd)
- # cross-function standard tools menu
- xnset
- readarray -t i_mnus < <(printf '%s\n' "${pmenu[@]}" | perl -pe 's|/.*||gi' ; echo "quit")
- w_menu
- xmrtn="$(printf '%s\n' "${pmenu[@]}" | grep -Pio "(?<=$xmrtn/).*")"
- xnldr
- if [[ -f "${clprm[0]}" ]];then
- pedir="$(realpath "${clprm[0]}")"
- cd "$(dirname "$pedir")" || exit
- xcmd+=("$xmrtn" "$pedir" "${clprm[@]:1}")
- else
- xcmd+=("$xmrtn" "${clprm[@]}")
- fi
- xlnch
- ;;
- -xd|--xdsk)
- # cross-function wine desktop
- xnset
- xnldr
- xcmd+=("explorer.exe" "/desktop=shell,1024x768" "explorer.exe")
- xlnch
- ;;
- -i|--install)
- # proton ge
- xpge
- xwn
- ;;
- -xi|--xinf)
- # cross-fuction program info
- if [[ ! -f "${clprm[0]}" && ! -d "${clprm[0]}" ]]; then
- # don't menu prefix on supplied file or folder
- xnint
- xnpre
- fi
- if [[ ! -f "${clprm[0]}" ]]; then
- # offer to menu dll if no file given
- read -r -p 'query dll? [y/N] ' chse
- if [[ "$chse" =~ ^([yY][eE][sS]|[yY])+$ ]]; then
- xflt="*.dll"
- fi
- fi
- xpmn
- IFS=$'\n'
- if [[ -n "$xmrtn" ]]; then
- if [[ $(readpe "$pedir/$xmrtn" 2>/dev/null) ]]; then
- # if file is PE print 32/64-bit and dll references
- myprnt+=("$(readpe -h optional "$pedir/$xmrtn" 2>/dev/null | grep -Piq 'PE32\+' && echo -e "FILE:\n$xmrtn\n \nPE HEADER:\n64-bit" || echo -e "FILE:\n$xmrtn\n \nPE HEADER:\n32-bit")")
- myprnt+=("$(echo -e ' \nVersion:' ; peres -v "$pedir/$xmrtn" 2>/dev/null | grep -Pio '(?<=Product Version:).*' | tr -d ' ')")
- # find dll references, filenames without spaces
- myprnt+=("$(echo -e ' \nREFERENCES:' ; strings "$pedir/$xmrtn" | grep -Pio '[^<>:"/\\|?*\s]+\.dll' | perl -pe 's|([^/]*\Z)|lc($1)|e' | sort -u ; echo ' ')")
- else
- myprnt+=("$(echo -e ' \nNot a 32/64-bit program, no information to provide\n ')")
- fi
- else
- myprnt+=("$(echo -e ' \nNo file found\n ')")
- fi
- printf '%s\n' "${myprnt[@]}"
- unset IFS myprnt
- ;;
- -xk|--xkil)
- # cross-function wine kill, must select same as running
- xnset
- xcmd+=("wineserver" "-k")
- xlnch
- ;;
- -xo|--xovr)
- # cross-function prefix override list
- xnint
- xnpre
- read -r -p 'per application? [y/N] ' chse
- clear
- IFS=$'\n'
- myprnt+=("$(echo -e "Prefix:\n$xnpfx\n ")")
- if [[ "$chse" =~ ^([yY][eE][sS]|[yY])+$ ]]; then
- # show existing per-application overrides
- myprnt+=("$(echo -e 'Per-application overrides:' ; pcre2grep -Mio '\[\Qsoftware\\wine\\appdefaults\\\E[^\\]+\Q\\dlloverrides\E\](?s).+?(?=\[.+?\])(?-s)' "$xnpfx/user.reg" | grep -Pio '(?<=appdefaults..).*(?=..dlloverrides)|\".*\"' && echo ' ' || echo -e 'None found\n ')")
- else
- # show existing prefix overrides
- myprnt+=("$(echo -e 'Global overrides:' ; pcre2grep -Mio '\[\Qsoftware\\wine\\dlloverrides\E\](?s).+?(?=\[.+?\])(?-s)' "$xnpfx/user.reg" | grep -Pio '\".*\"' && echo ' ' || echo -e 'None found\n ')")
- fi
- printf '%s\n' "${myprnt[@]}"
- unset IFS myprnt
- # A command like:
- # perl -pi -e 's/(\".*msvc.*\"=\")(.*),(.*)(")/\1\3,\2\4/g' user.reg
- # Swaps msvc entries (native,builtin) to (builtin,native)
- ;;
- -xr|--xrun)
- # cross-fuction run program - 1st arg valid file to run, folder to menu,
- # neither (sys menu), 2nd arg... passed to exe
- xnset
- xpmn
- if [[ -n "$xmrtn" ]]; then
- xlyt
- # change to exe dir before run
- cd "$(dirname "$pedir/$xmrtn")" || exit
- xlnch
- fi
- ;;
- -xs|--xstm)
- # cross-function steam launcher
- xstm
- ;;
- -xt|--xtrk)
- # cross-function winetricks
- xnset
- # winetricks for selected wine/proton prefix
- if [[ ${#clprm[@]} -gt 0 ]]; then
- xcmd+=("winetricks" "${clprm[@]}")
- dbg="1"
- # use args if supplied, otherwise gui
- else
- xcmd+=("winetricks" "--gui")
- # protontricks may work better
- fi
- xlnch
- ;;
- -xu|--xcut)
- # cross-function desktop shortcut
- if [[ -d "$desk" ]]; then
- xnset
- xpmn
- if [[ -n "$xmrtn" ]]; then
- xlyt
- # change to desktop dir before create icon
- cd "$desk" || exit
- read -r -e -p $'Shortcut Name?\x0a' -i "$(basename "${xmrtn/.*}")" chse
- # create desktop entry
- gendesk -f -n --name="$chse" --comment='created by wstart' --custom='Keywords=wine;proton;launcher;' --exec="bash -c 'cd \"$(dirname "$pedir/$xmrtn")\" ; $(printf '"%s" ' "${xcmd[@]}")'" --icon="$icon" --terminal=false --categories='Emulator;Game' --startupnotify=false --pkgname="$chse"
- chmod 755 "$chse".desktop
- fi
- else
- echo -e "Invalid desktop location: $desk\nPlease edit the script"
- fi
- ;;
- -xv|--xver)
- # cross-function wine version
- xnint
- xnexe
- xnenv
- xcmd+=("wine" "--version")
- ("${xcmd[@]}" &)
- ;;
- -h|--help)
- echo -e "\n General usage: netris-proton -w? args\n -w? options for wine and -p? for proton.\n Type wstart by itself for command list.\n\n Edit script path variables as needed.\n bash, find, gendesk, grep, readpe,\n strings, winetricks, wrestool,\n pcre2grep, peres, perl needed by\n certain items.\n"
- ;;
- -*|\*|*)
- # do_usage
- usage "invalid option $1"
- exit 1
- ;;
- esac
-fi
\ No newline at end of file
diff --git a/.scripts/startup.sh b/.scripts/startup.sh
deleted file mode 100644
index 938326ac..00000000
--- a/.scripts/startup.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/bash
-#TODO: Fix the warp-input startup problem
-if [ -z "$SESSION_ID" ]; then
- echo "Error: SESSION_ID environment variable is not set."
- exit 1
-fi
-
-#Open udp port to listed for QUIC events on
-export PORT=${PORT:-"8080"}
-
-sudo -E /usr/bin/supervisord -c /etc/supervisord.conf
diff --git a/.scripts/supervisord.conf b/.scripts/supervisord.conf
deleted file mode 100644
index 7fbc50ae..00000000
--- a/.scripts/supervisord.conf
+++ /dev/null
@@ -1,42 +0,0 @@
-[supervisord]
-user=nestri
-nodaemon=true
-loglevel=info
-logfile=/tmp/supervisord.log
-pidfile=/tmp/supervisord.pid
-
-[program:entrypoint]
-command=/etc/entrypoint.sh
-user=nestri
-logfile=/tmp/entrypoint.log
-pidfile=/tmp/entrypoint.pid
-stopsignal=INT
-autostart=true
-autorestart=true
-redirect_stderr=true
-priority=1
-
-[program:pulseaudio]
-user=nestri
-command=bash -c "until [ -S \"/tmp/.X11-unix/X${DISPLAY/:/}\" ]; do sleep 1; done; sudo /usr/bin/pulseaudio -k >/dev/null 2>&1 || sudo /usr/bin/pulseaudio --system --verbose --log-target=stderr --realtime=true --disallow-exit -L 'module-native-protocol-tcp auth-ip-acl=127.0.0.0/8 port=4713 auth-anonymous=1'"
-environment=DISPLAY=":0"
-logfile=/tmp/pulseaudio.log
-pidfile=/tmp/pulseaudio.pid
-stopsignal=INT
-autostart=true
-autorestart=true
-redirect_stderr=true
-priority=10
-
-[program:warp-input]
-command=bash -c "until [ -S \"/tmp/.X11-unix/X${DISPLAY/:/}\" ]; do sleep 1; done; /usr/bin/warp-input --namespace $SESSION_ID --bind '[::]:8080' https://fst.so:4443"
-logfile=/tmp/warp-input.log
-pidfile=/tmp/warp-input.pid
-stopsignal=INT
-user=nestri
-environment=HOME="/home/%(ENV_USER)s",USER="%(ENV_USER)s",DISPLAY=":0",SESSION_ID="%(ENV_SESSION_ID)s"
-autostart=true
-autorestart=true
-startretries=100
-redirect_stderr=true
-priority=20
diff --git a/.vscode/settings.json b/.vscode/settings.json
deleted file mode 100644
index 37441bee..00000000
--- a/.vscode/settings.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "files.eol": "\n"
-}
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
index 2c496e35..28403246 100644
--- a/LICENSE
+++ b/LICENSE
@@ -629,8 +629,8 @@ to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
- Netris: The open-source cloud gaming platform for friends
- Copyright (C) 2024 Wanjohi Ryan
+ Nestri: Your games, Your rules
+ Copyright (C) 2023 WanjohiRyan
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
diff --git a/README.md b/README.md
index 349a0bf8..a2310fc2 100644
--- a/README.md
+++ b/README.md
@@ -1,39 +1,24 @@
-
-
-
-
-
-
+
-
-
-
-An open-source cloud gaming platform built for you to play together with your friends.
A GeForce NOW alternative that can be self-hosted.
-
-
+
+Nestri is an open-source, self-hosted cloud gaming platform that allows you to play games in your web browser with friends. Built and shaped by our gaming community.
+
+
+
+
+
+
[![][github-release-shield]][github-release-link]
[![][discord-shield]][discord-link]
@@ -49,158 +34,21 @@ An open-source cloud gaming platform built for you to play together with your fr
-
-
-[![][image-overview]][website-link]
-
-
-
-## Features 🌟
-
-As Nestri navigates through its _experimental_ phase, we're in the process of crafting and testing a variety of features for you:
-
-1. **🎮 Proton-GE Compatibility:** We utilize Proton-GE for running games, offering extensive game compatibility and ensuring you can play a wide variety of titles.
-
-2. **⚡ QUIC Protocol:** For input and video/audio transmission, we use QUIC via [MoQ][moq-github-url] to significantly reduce latency on variable networks, ensuring crisp visuals without sacrificing data or increasing latency.
-
-3. **🔗 Session IDs:** With a `SESSION_ID`, we seamlessly tie your game progress, achievements, and devices without the need for logging into [nestri.io][website-link]. Our public CDNs, currently located in Europe (eu-north-1) and the US (us-east-1), further reduce latency for friends playing together from afar. More locations are on the way!
-
-4. **🔄 Automatic Game Progress Sync:** Like Stadia's state share, we automatically sync your game progress based on the *.exe file you're running, allowing you to share your progress with friends via a link.
-
-5. **👫 Co-op Gameplay:** Play co-op with up to 8 people, or play single player by sharing mouse and keyboard inputs seamlessly (similar to [neko][neko-url]).
-
-6. **🌐 Cross-Platform Play:** Our platform is accessible on any device that can run a Chrome-based browser, including Edge, Chrome, Brave, and Arc. And you do not have to set up anything, it's all done and maintained for you.
-
-7. **📊 Bandwidth Optimization:** Experience hardware-accelerated `VMAF` for optimized bandwidth, ensuring the best possible video quality. [Learn More][vmaf-cuda-link]
-
-8. **🌟 ...and more:** Stay tuned as we continue to add features _sometimes inspired by platforms like Stadia_, to give you the best and most customizable gaming experience.
-
-This platform is in an _experimental_ phase, and we're actively working on adding new features. Your feedback and support is very much appreciated.
-
-> \[!IMPORTANT]
->
-> If you're excited about what we're doing and want to support our journey, consider giving us a star ⭐ on our repository. Your support fuels our progress!. \~ ✨
+> More info coming soon!
-[![][image-star]][github-stars-link]
-
-
-## Getting Started 🎮
-
-Whether you're looking to self-host Nestri or simply want to try it out without the need for your own GPU, we've got you covered. Choose the path that best suits your needs:
-
-
-
-| If you don't have a Nvidia GPU or prefer not to self-host, you can visit our website. No installation or set up required !
This is the perfect option for gamers looking to dive straight into the action without any setup. | [👉🏽 Get Access][website-link] |
-| :---------------------------------------- | :----------------------------------------------------------------------------------------------------------------- |
-| If you're interested in self-hosting Nestri, continue reading for detailed instructions on how to get started.
This option is ideal if you have your own Nvidia GPU and are comfortable with setting up and managing your own server. | [🛠️ Self Host Nestri](#self-hosting) |
-
-> \[!TIP]
->
-> Remember, flexibility is key with Nestri. You're free to switch between self-hosting and using `nestri.io` whenever you like, without losing your game progress. \~ 💡
-
-
-### Self-Hosting Nestri 🔨
-
-For those interested in self-hosting, here are is what you need to get your own Nestri server up and running:
-
-- **Nvidia GPU**: Unfortunately, this setup is exclusive to Nvidia GPUs. If you don't own one, consider renting from cloud services like AWS, GCP, or Vast.ai. We highly recommend this approach.
-
-- **CUDA**: For GPU acceleration, CUDA version `12.0` or newer is required. Verify your CUDA installation by running `nvcc --version`.
-
-- **Docker**: Ensure you have `docker` and `nvidia-docker` are up to date to avoid compatibility issues with CUDA. You can check your Docker version by running `docker --version` in your terminal.
-
-- **GPU Driver**: Ensure your GPU drivers are up to date to avoid compatibility issues with CUDA. Nvidia driver version `520.56.06` or newer is required.
-
-- **Xorg Display**: Your Nvidia GPU should not be attached to a running X display server. You can confirm this by running `nvidia-smi`.
-
-- **Nvidia-DRM**: Make sure that the `nvidia-drm` module has been loaded and that the module is loaded with the flag `modeset=1`. Confirm this by running `sudo cat /sys/module/nvidia_drm/parameters/modeset`
-
-> \[!TIP]
->
-> Typically, if your setup meets the necessary CUDA requirements, the `nvidia-drm` module will already be loaded, particularly in AWS G4dn instances. \~ 💡
-
-### Step-by-Step Guide
-
-Follow these steps to get Nestri up and running on your system.
-
-> \[!IMPORTANT]
->
-> This is our pilot, there is a lot we haven't figured out yet. Please file an issue if anything comes up. \~ 🫂
-
-
-> \[!TIP]
->
-> The setup process will become much simpler with the launch of our CLI tool, so stay tuned for that! In the meantime, you'll need to follow these manual steps.
-
-#### Step 1: Navigate to Your Game Directory
-
-First, change your directory to the location of your `.exe` file. For Steam games, this typically means:
-
-```bash
-cd $HOME/.steam/steam/steamapps
-ls -la .
-```
-
-#### Step 2: Generate a Session ID
-
-Create a unique session ID using the following command:
-
-```bash
-head /dev/urandom | LC_ALL=C tr -dc 'a-zA-Z0-9' | head -c 16
-```
-
-This command generates a random 16-character string. Be sure to note this string carefully, as you'll need it for the next step.
-
-#### Step 3: Launch the Nestri Server
-
-With your SESSION_ID ready, insert it into the command below, replacing `
` with your actual session ID. Then, run the command to start the Nestri server:
-
-```
-docker run --gpus all --device=/dev/dri --name nestri -it --entrypoint /bin/bash -e SESSION_ID= -v "$(pwd)":/game -p 8080:8080/udp --cap-add=SYS_NICE --cap-add=SYS_ADMIN ghcr.io/nestriness/nestri/server:nightly
-```
-
-> \[!TIP]
->
-> Ensure UDP port 8080 is accessible from the internet. Use `ufw allow 8080/udp` or adjust your cloud provider's security group settings accordingly.
-
-#### Step 4: Configure the Game within the Container
-
-After executing the previous command, you'll be in a new shell within the container (example: `nestri@3f199ee68c01:~$`). Perform the following checks:
-
-1. Verify the game is mounted by executing `ls -la /game`. If not, exit and ensure you've correctly mounted the game directory as a volume.
-2. Then, start the Netris server by running `/etc/startup.sh > /dev/null &`.
-
-#### Step 5: Running Your Game
-
-Wait for the `.X11-unix` directory to appear in `/tmp` (check with `ls -la /tmp`). Once it appears, you're ready to launch your game.
-
-- With Proton-GE: `nestri-proton -pr .exe`
-- With Wine: `nestri-proton -wr .exe`
-
-#### Step 6: Begin Playing
-
-Finally, construct the play URL with your session ID:
-
-```
-echo "https://nestri.io/play/$SESSION_ID"
-```
-
-Navigate to this URL in your browser, click on the page to capture your mouse pointer, and start playing!
-
-
-[github-release-link]: https://github.com/wanjohiryan/netris/releases
-[github-release-shield]: https://img.shields.io/github/v/release/wanjohiryan/netris?color=369eff&labelColor=black&logo=github&style=flat-square
+[github-release-link]: https://github.com/nestriness/nestri/releases
+[github-release-shield]: https://img.shields.io/github/v/release/nestriness/nestri?color=369eff&labelColor=black&logo=github&style=flat-square
[discord-shield]: https://img.shields.io/discord/1080111004698021909?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=flat-square
[discord-link]: https://discord.com/invite/Y6etn3qKZ3
-[github-license-shield]: https://img.shields.io/github/license/wanjohiryan/netris?color=white&labelColor=black&style=flat-square
-[github-license-link]: https://github.com/wanjohiryan/netris/blob/main/LICENSE
-[github-stars-shield]: https://img.shields.io/github/stars/wanjohiryan/netris?color=ffcb47&labelColor=black&style=flat-square
-[github-stars-link]: https://github.com/wanjohiryan/netris/network/stargazers
+[github-license-shield]: https://img.shields.io/github/license/nestriness/nestri?color=white&labelColor=black&style=flat-square
+[github-license-link]: https://github.com/nestriness/nestri/blob/main/LICENSE
+[github-stars-shield]: https://img.shields.io/github/stars/nestriness/nestri?color=ffcb47&labelColor=black&style=flat-square
+[github-stars-link]: https://github.com/nestriness/nestri/network/stargazers
[share-x-shield]: https://img.shields.io/badge/-share%20on%20x-black?labelColor=black&logo=x&logoColor=white&style=flat-square
-[share-x-link]: https://twitter.com/intent/tweet?text=Hey%2C%20check%20out%20this%20Github%20repository.%20It%20is%20an%20open-source%20self-hosted%20Geforce%20Now%20alternative.&url=https%3A%2F%2Fgithub.com%2Fwanjohiryan%2Fnetris
+[share-x-link]: https://twitter.com/intent/tweet?text=Hey%2C%20check%20out%20this%20Github%20repository.%20It%20is%20an%20open-source%20self-hosted%20Geforce%20Now%20alternative.&url=https%3A%2F%2Fgithub.com%2Fnestriness%2Fnestri
[share-reddit-shield]: https://img.shields.io/badge/-share%20on%20reddit-black?labelColor=black&logo=reddit&logoColor=white&style=flat-square
-[share-reddit-link]: https://www.reddit.com/submit?title=Hey%2C%20check%20out%20this%20Github%20repository.%20It%20is%20an%20open-source%20self-hosted%20Geforce%20Now%20alternative.&url=https%3A%2F%2Fgithub.com%2Fwanjohiryan%2Fnetris
+[share-reddit-link]: https://www.reddit.com/submit?title=Hey%2C%20check%20out%20this%20Github%20repository.%20It%20is%20an%20open-source%20self-hosted%20Geforce%20Now%20alternative.&url=https%3A%2F%2Fgithub.com%2Fnestriness%2Fnestri
[image-overview]: assets/banner.png
[website-link]: https://nestri.io
[neko-url]: https://github.com/m1k1o/neko
diff --git a/apps/docs/.eslintrc.js b/apps/docs/.eslintrc.js
new file mode 100644
index 00000000..27f9fd4b
--- /dev/null
+++ b/apps/docs/.eslintrc.js
@@ -0,0 +1,9 @@
+/** @type {import("eslint").Linter.Config} */
+module.exports = {
+ root: true,
+ extends: ["@nestri/eslint-config/next.js"],
+ parser: "@typescript-eslint/parser",
+ parserOptions: {
+ project: true,
+ },
+};
diff --git a/apps/docs/.gitignore b/apps/docs/.gitignore
new file mode 100644
index 00000000..f886745c
--- /dev/null
+++ b/apps/docs/.gitignore
@@ -0,0 +1,36 @@
+# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
+
+# dependencies
+/node_modules
+/.pnp
+.pnp.js
+.yarn/install-state.gz
+
+# testing
+/coverage
+
+# next.js
+/.next/
+/out/
+
+# production
+/build
+
+# misc
+.DS_Store
+*.pem
+
+# debug
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+
+# env files (can opt-in for commiting if needed)
+.env*
+
+# vercel
+.vercel
+
+# typescript
+*.tsbuildinfo
+next-env.d.ts
diff --git a/apps/docs/README.md b/apps/docs/README.md
new file mode 100644
index 00000000..a98bfa81
--- /dev/null
+++ b/apps/docs/README.md
@@ -0,0 +1,36 @@
+This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/create-next-app).
+
+## Getting Started
+
+First, run the development server:
+
+```bash
+npm run dev
+# or
+yarn dev
+# or
+pnpm dev
+# or
+bun dev
+```
+
+Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
+
+You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
+
+This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load Inter, a custom Google Font.
+
+## Learn More
+
+To learn more about Next.js, take a look at the following resources:
+
+- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
+- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
+
+You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!
+
+## Deploy on Vercel
+
+The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
+
+Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
diff --git a/apps/docs/app/favicon.ico b/apps/docs/app/favicon.ico
new file mode 100644
index 00000000..718d6fea
Binary files /dev/null and b/apps/docs/app/favicon.ico differ
diff --git a/apps/docs/app/fonts/GeistMonoVF.woff b/apps/docs/app/fonts/GeistMonoVF.woff
new file mode 100644
index 00000000..f2ae185c
Binary files /dev/null and b/apps/docs/app/fonts/GeistMonoVF.woff differ
diff --git a/apps/docs/app/fonts/GeistVF.woff b/apps/docs/app/fonts/GeistVF.woff
new file mode 100644
index 00000000..1b62daac
Binary files /dev/null and b/apps/docs/app/fonts/GeistVF.woff differ
diff --git a/apps/docs/app/globals.css b/apps/docs/app/globals.css
new file mode 100644
index 00000000..9147fcd3
--- /dev/null
+++ b/apps/docs/app/globals.css
@@ -0,0 +1,39 @@
+:root {
+ --background: #ffffff;
+ --foreground: #171717;
+}
+
+@media (prefers-color-scheme: dark) {
+ :root {
+ --background: #0a0a0a;
+ --foreground: #ededed;
+ }
+}
+
+html,
+body {
+ max-width: 100vw;
+ overflow-x: hidden;
+}
+
+body {
+ color: var(--foreground);
+ background: var(--background);
+}
+
+* {
+ box-sizing: border-box;
+ padding: 0;
+ margin: 0;
+}
+
+a {
+ color: inherit;
+ text-decoration: none;
+}
+
+@media (prefers-color-scheme: dark) {
+ html {
+ color-scheme: dark;
+ }
+}
diff --git a/apps/docs/app/layout.tsx b/apps/docs/app/layout.tsx
new file mode 100644
index 00000000..84695375
--- /dev/null
+++ b/apps/docs/app/layout.tsx
@@ -0,0 +1,31 @@
+import type { Metadata } from "next";
+import localFont from "next/font/local";
+import "./globals.css";
+
+const geistSans = localFont({
+ src: "./fonts/GeistVF.woff",
+ variable: "--font-geist-sans",
+});
+const geistMono = localFont({
+ src: "./fonts/GeistMonoVF.woff",
+ variable: "--font-geist-mono",
+});
+
+export const metadata: Metadata = {
+ title: "Create Next App",
+ description: "Generated by create next app",
+};
+
+export default function RootLayout({
+ children,
+}: Readonly<{
+ children: React.ReactNode;
+}>) {
+ return (
+
+
+ {children}
+
+
+ );
+}
diff --git a/apps/docs/app/page.module.css b/apps/docs/app/page.module.css
new file mode 100644
index 00000000..3630662c
--- /dev/null
+++ b/apps/docs/app/page.module.css
@@ -0,0 +1,188 @@
+.page {
+ --gray-rgb: 0, 0, 0;
+ --gray-alpha-200: rgba(var(--gray-rgb), 0.08);
+ --gray-alpha-100: rgba(var(--gray-rgb), 0.05);
+
+ --button-primary-hover: #383838;
+ --button-secondary-hover: #f2f2f2;
+
+ display: grid;
+ grid-template-rows: 20px 1fr 20px;
+ align-items: center;
+ justify-items: center;
+ min-height: 100svh;
+ padding: 80px;
+ gap: 64px;
+ font-synthesis: none;
+}
+
+@media (prefers-color-scheme: dark) {
+ .page {
+ --gray-rgb: 255, 255, 255;
+ --gray-alpha-200: rgba(var(--gray-rgb), 0.145);
+ --gray-alpha-100: rgba(var(--gray-rgb), 0.06);
+
+ --button-primary-hover: #ccc;
+ --button-secondary-hover: #1a1a1a;
+ }
+}
+
+.main {
+ display: flex;
+ flex-direction: column;
+ gap: 32px;
+ grid-row-start: 2;
+}
+
+.main ol {
+ font-family: var(--font-geist-mono);
+ padding-left: 0;
+ margin: 0;
+ font-size: 14px;
+ line-height: 24px;
+ letter-spacing: -0.01em;
+ list-style-position: inside;
+}
+
+.main li:not(:last-of-type) {
+ margin-bottom: 8px;
+}
+
+.main code {
+ font-family: inherit;
+ background: var(--gray-alpha-100);
+ padding: 2px 4px;
+ border-radius: 4px;
+ font-weight: 600;
+}
+
+.ctas {
+ display: flex;
+ gap: 16px;
+}
+
+.ctas a {
+ appearance: none;
+ border-radius: 128px;
+ height: 48px;
+ padding: 0 20px;
+ border: none;
+ font-family: var(--font-geist-sans);
+ border: 1px solid transparent;
+ transition: background 0.2s, color 0.2s, border-color 0.2s;
+ cursor: pointer;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 16px;
+ line-height: 20px;
+ font-weight: 500;
+}
+
+a.primary {
+ background: var(--foreground);
+ color: var(--background);
+ gap: 8px;
+}
+
+a.secondary {
+ border-color: var(--gray-alpha-200);
+ min-width: 180px;
+}
+
+button.secondary {
+ appearance: none;
+ border-radius: 128px;
+ height: 48px;
+ padding: 0 20px;
+ border: none;
+ font-family: var(--font-geist-sans);
+ border: 1px solid transparent;
+ transition: background 0.2s, color 0.2s, border-color 0.2s;
+ cursor: pointer;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 16px;
+ line-height: 20px;
+ font-weight: 500;
+ background: transparent;
+ border-color: var(--gray-alpha-200);
+ min-width: 180px;
+}
+
+.footer {
+ font-family: var(--font-geist-sans);
+ grid-row-start: 3;
+ display: flex;
+ gap: 24px;
+}
+
+.footer a {
+ display: flex;
+ align-items: center;
+ gap: 8px;
+}
+
+.footer img {
+ flex-shrink: 0;
+}
+
+/* Enable hover only on non-touch devices */
+@media (hover: hover) and (pointer: fine) {
+ a.primary:hover {
+ background: var(--button-primary-hover);
+ border-color: transparent;
+ }
+
+ a.secondary:hover {
+ background: var(--button-secondary-hover);
+ border-color: transparent;
+ }
+
+ .footer a:hover {
+ text-decoration: underline;
+ text-underline-offset: 4px;
+ }
+}
+
+@media (max-width: 600px) {
+ .page {
+ padding: 32px;
+ padding-bottom: 80px;
+ }
+
+ .main {
+ align-items: center;
+ }
+
+ .main ol {
+ text-align: center;
+ }
+
+ .ctas {
+ flex-direction: column;
+ }
+
+ .ctas a {
+ font-size: 14px;
+ height: 40px;
+ padding: 0 16px;
+ }
+
+ a.secondary {
+ min-width: auto;
+ }
+
+ .footer {
+ flex-wrap: wrap;
+ align-items: center;
+ justify-content: center;
+ }
+}
+
+@media (prefers-color-scheme: dark) {
+ .logo {
+ filter: invert();
+ }
+}
diff --git a/apps/docs/app/page.tsx b/apps/docs/app/page.tsx
new file mode 100644
index 00000000..95933490
--- /dev/null
+++ b/apps/docs/app/page.tsx
@@ -0,0 +1,99 @@
+import Image from "next/image";
+import { Button } from "@nestri/ui/button";
+import styles from "./page.module.css";
+
+export default function Home() {
+ return (
+
+
+
+
+
+ Get started by editing app/page.tsx
+
+ Save and see your changes instantly.
+
+
+
+
+ Open alert
+
+
+
+
+ );
+}
diff --git a/apps/docs/next.config.mjs b/apps/docs/next.config.mjs
new file mode 100644
index 00000000..4678774e
--- /dev/null
+++ b/apps/docs/next.config.mjs
@@ -0,0 +1,4 @@
+/** @type {import('next').NextConfig} */
+const nextConfig = {};
+
+export default nextConfig;
diff --git a/apps/docs/package.json b/apps/docs/package.json
new file mode 100644
index 00000000..fb9b0901
--- /dev/null
+++ b/apps/docs/package.json
@@ -0,0 +1,27 @@
+{
+ "name": "@nestri/docs",
+ "version": "0.1.0",
+ "private": true,
+ "scripts": {
+ "dev": "next dev --turbo --port 3001",
+ "build": "next build",
+ "start": "next start",
+ "lint": "next lint"
+ },
+ "dependencies": {
+ "@nestri/ui": "*",
+ "react": "19.0.0-rc-f994737d14-20240522",
+ "react-dom": "19.0.0-rc-f994737d14-20240522",
+ "next": "15.0.0-rc.0"
+ },
+ "devDependencies": {
+ "@nestri/eslint-config": "*",
+ "@nestri/typescript-config": "*",
+ "typescript": "^5",
+ "@types/node": "^20",
+ "@types/react": "^18",
+ "@types/react-dom": "^18",
+ "eslint": "^8",
+ "eslint-config-next": "15.0.0-rc.0"
+ }
+}
diff --git a/apps/docs/public/file-text.svg b/apps/docs/public/file-text.svg
new file mode 100644
index 00000000..9cfb3c98
--- /dev/null
+++ b/apps/docs/public/file-text.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/apps/docs/public/globe.svg b/apps/docs/public/globe.svg
new file mode 100644
index 00000000..4230a3d2
--- /dev/null
+++ b/apps/docs/public/globe.svg
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/docs/public/next.svg b/apps/docs/public/next.svg
new file mode 100644
index 00000000..5174b28c
--- /dev/null
+++ b/apps/docs/public/next.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/apps/docs/public/vercel.svg b/apps/docs/public/vercel.svg
new file mode 100644
index 00000000..0164ddc5
--- /dev/null
+++ b/apps/docs/public/vercel.svg
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/docs/public/window.svg b/apps/docs/public/window.svg
new file mode 100644
index 00000000..bbc78006
--- /dev/null
+++ b/apps/docs/public/window.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/apps/docs/tsconfig.json b/apps/docs/tsconfig.json
new file mode 100644
index 00000000..27d728a8
--- /dev/null
+++ b/apps/docs/tsconfig.json
@@ -0,0 +1,18 @@
+{
+ "extends": "@nestri/typescript-config/nextjs.json",
+ "compilerOptions": {
+ "plugins": [
+ {
+ "name": "next"
+ }
+ ]
+ },
+ "include": [
+ "next-env.d.ts",
+ "next.config.mjs",
+ "**/*.ts",
+ "**/*.tsx",
+ ".next/types/**/*.ts"
+ ],
+ "exclude": ["node_modules"]
+}
diff --git a/apps/www/.create-qwik-28s64ekndxx/package.json b/apps/www/.create-qwik-28s64ekndxx/package.json
deleted file mode 100644
index 46c0293e..00000000
--- a/apps/www/.create-qwik-28s64ekndxx/package.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "name": "qwik-project-name",
- "scripts": {
- "build": "qwik build",
- "build.client": "vite build",
- "build.preview": "vite build --ssr src/entry.preview.tsx",
- "build.types": "tsc --incremental --noEmit",
- "dev": "vite --mode ssr",
- "dev.debug": "node --inspect-brk ./node_modules/vite/bin/vite.js --mode ssr --force",
- "fmt": "prettier --write .",
- "fmt.check": "prettier --check .",
- "lint": "eslint \"src/**/*.ts*\"",
- "preview": "qwik build preview && vite preview --open",
- "start": "vite --open --mode ssr",
- "deploy": "echo 'Run \"npm run qwik add\" to install a server adapter'",
- "qwik": "qwik"
- },
- "devDependencies": {
- "@builder.io/qwik": "^1.5.1",
- "@builder.io/qwik-city": "^1.5.1",
- "@types/eslint": "^8.56.5",
- "@types/node": "^20.11.24",
- "@typescript-eslint/eslint-plugin": "^7.1.0",
- "@typescript-eslint/parser": "^7.1.0",
- "eslint": "^8.57.0",
- "eslint-plugin-qwik": "^1.5.1",
- "prettier": "^3.2.5",
- "typescript": "5.3.3",
- "undici": "*",
- "vite": "^5.1.4",
- "vite-tsconfig-paths": "^4.2.1"
- },
- "trustedDependencies": [
- "sharp"
- ],
- "trustedDependencies-annotation": "Needed for bun to allow running install scripts",
- "engines": {
- "node": "^18.17.0 || ^20.3.0 || >=21.0.0",
- "npm": ">=10.0.0",
- "pnpm": ">=8.0.0",
- "yarn": ">=3.0.0"
- },
- "engines-annotation": "Mostly required by sharp which needs a Node-API v9 compatible runtime",
- "private": true,
- "type": "module"
-}
diff --git a/apps/www/.eslintrc.cjs b/apps/www/.eslintrc.cjs
index d2185906..70dc5d03 100644
--- a/apps/www/.eslintrc.cjs
+++ b/apps/www/.eslintrc.cjs
@@ -35,7 +35,7 @@ module.exports = {
"prefer-spread": "off",
"no-case-declarations": "off",
"no-console": "off",
- "@typescript-eslint/no-unused-vars": ["warn"],
+ "@typescript-eslint/no-unused-vars": ["error"],
"@typescript-eslint/consistent-type-imports": "warn",
"@typescript-eslint/no-unnecessary-condition": "warn",
},
diff --git a/apps/www/.gitignore b/apps/www/.gitignore
index 6186fd12..48dce735 100644
--- a/apps/www/.gitignore
+++ b/apps/www/.gitignore
@@ -39,6 +39,3 @@ lerna-debug.log*
# Yarn
.yarn/*
!.yarn/releases
-
-# Vercel
-.vercel
diff --git a/apps/www/.prettierrc.js b/apps/www/.prettierrc.js
deleted file mode 100644
index fb4220c2..00000000
--- a/apps/www/.prettierrc.js
+++ /dev/null
@@ -1,3 +0,0 @@
-export default {
- plugins: ['prettier-plugin-tailwindcss'],
-}
\ No newline at end of file
diff --git a/apps/www/README.md b/apps/www/README.md
index c2635a1a..482a769f 100644
--- a/apps/www/README.md
+++ b/apps/www/README.md
@@ -1,8 +1,8 @@
# Qwik City App ⚡️
-- [Qwik Docs](https://qwik.builder.io/)
-- [Discord](https://qwik.builder.io/chat)
-- [Qwik GitHub](https://github.com/BuilderIO/qwik)
+- [Qwik Docs](https://qwik.dev/)
+- [Discord](https://qwik.dev/chat)
+- [Qwik GitHub](https://github.com/QwikDev/qwik)
- [@QwikDev](https://twitter.com/QwikDev)
- [Vite](https://vitejs.dev/)
@@ -10,7 +10,7 @@
## Project Structure
-This project is using Qwik with [QwikCity](https://qwik.builder.io/qwikcity/overview/). QwikCity is just an extra set of tools on top of Qwik to make it easier to build a full site, including directory-based routing, layouts, and more.
+This project is using Qwik with [QwikCity](https://qwik.dev/qwikcity/overview/). QwikCity is just an extra set of tools on top of Qwik to make it easier to build a full site, including directory-based routing, layouts, and more.
Inside your project, you'll see the following directory structure:
@@ -24,7 +24,7 @@ Inside your project, you'll see the following directory structure:
└── ...
```
-- `src/routes`: Provides the directory-based routing, which can include a hierarchy of `layout.tsx` layout files, and an `index.tsx` file as the page. Additionally, `index.ts` files are endpoints. Please see the [routing docs](https://qwik.builder.io/qwikcity/routing/overview/) for more info.
+- `src/routes`: Provides the directory-based routing, which can include a hierarchy of `layout.tsx` layout files, and an `index.tsx` file as the page. Additionally, `index.ts` files are endpoints. Please see the [routing docs](https://qwik.dev/qwikcity/routing/overview/) for more info.
- `src/components`: Recommended directory for components.
@@ -32,10 +32,10 @@ Inside your project, you'll see the following directory structure:
## Add Integrations and deployment
-Use the `pnpm qwik add` command to add additional integrations. Some examples of integrations includes: Cloudflare, Netlify or Express Server, and the [Static Site Generator (SSG)](https://qwik.builder.io/qwikcity/guides/static-site-generation/).
+Use the `bun qwik add` command to add additional integrations. Some examples of integrations includes: Cloudflare, Netlify or Express Server, and the [Static Site Generator (SSG)](https://qwik.dev/qwikcity/guides/static-site-generation/).
```shell
-pnpm qwik add # or `pnpm qwik add`
+bun qwik add # or `bun qwik add`
```
## Development
@@ -43,7 +43,7 @@ pnpm qwik add # or `pnpm qwik add`
Development mode uses [Vite's development server](https://vitejs.dev/). The `dev` command will server-side render (SSR) the output during development.
```shell
-npm start # or `pnpm start`
+npm start # or `bun start`
```
> Note: during dev mode, Vite may request a significant number of `.js` files. This does not represent a Qwik production build.
@@ -53,7 +53,7 @@ npm start # or `pnpm start`
The preview command will create a production build of the client modules, a production build of `src/entry.preview.tsx`, and run a local server. The preview server is only for convenience to preview a production build locally and should not be used as a production server.
```shell
-pnpm preview # or `pnpm preview`
+bun preview # or `bun preview`
```
## Production
@@ -61,49 +61,5 @@ pnpm preview # or `pnpm preview`
The production build will generate client and server modules by running both client and server build commands. The build command will use Typescript to run a type check on the source code.
```shell
-pnpm build # or `pnpm build`
+bun build # or `bun build`
```
-
-## Vercel Edge
-
-This starter site is configured to deploy to [Vercel Edge Functions](https://vercel.com/docs/concepts/functions/edge-functions), which means it will be rendered at an edge location near to your users.
-
-## Installation
-
-The adaptor will add a new `vite.config.ts` within the `adapters/` directory, and a new entry file will be created, such as:
-
-```
-└── adapters/
- └── vercel-edge/
- └── vite.config.ts
-└── src/
- └── entry.vercel-edge.tsx
-```
-
-Additionally, within the `package.json`, the `build.server` script will be updated with the Vercel Edge build.
-
-## Production build
-
-To build the application for production, use the `build` command, this command will automatically run `pnpm build.server` and `pnpm build.client`:
-
-```shell
-pnpm build
-```
-
-[Read the full guide here](https://github.com/BuilderIO/qwik/blob/main/starters/adapters/vercel-edge/README.md)
-
-## Dev deploy
-
-To deploy the application for development:
-
-```shell
-pnpm deploy
-```
-
-Notice that you might need a [Vercel account](https://docs.Vercel.com/get-started/) in order to complete this step!
-
-## Production deploy
-
-The project is ready to be deployed to Vercel. However, you will need to create a git repository and push the code to it.
-
-You can [deploy your site to Vercel](https://vercel.com/docs/concepts/deployments/overview) either via a Git provider integration or through the Vercel CLI.
diff --git a/apps/www/adapters/vercel-edge/vite.config.ts b/apps/www/adapters/vercel-edge/vite.config.ts
deleted file mode 100644
index 5824893f..00000000
--- a/apps/www/adapters/vercel-edge/vite.config.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { vercelEdgeAdapter } from "@builder.io/qwik-city/adapters/vercel-edge/vite";
-import { extendConfig } from "@builder.io/qwik-city/vite";
-import baseConfig from "../../vite.config";
-
-export default extendConfig(baseConfig, () => {
- return {
- build: {
- ssr: true,
- rollupOptions: {
- input: ["src/entry.vercel-edge.tsx", "@qwik-city-plan"],
- },
- outDir: ".vercel/output/functions/_qwik-city.func",
- },
- plugins: [vercelEdgeAdapter()],
- };
-});
diff --git a/apps/www/package.json b/apps/www/package.json
index 52137f40..fc838185 100644
--- a/apps/www/package.json
+++ b/apps/www/package.json
@@ -1,6 +1,6 @@
{
- "name": "my-qwik-empty-starter",
- "description": "App with Routing built-in ready to create your app",
+ "name": "@nestri/www",
+ "description": "Website for Nestri",
"engines": {
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
},
@@ -15,9 +15,8 @@
"build": "qwik build",
"build.client": "vite build",
"build.preview": "vite build --ssr src/entry.preview.tsx",
- "build.server": "vite build -c adapters/vercel-edge/vite.config.ts",
"build.types": "tsc --incremental --noEmit",
- "deploy": "vercel deploy",
+ "deploy": "echo 'Run \"npm run qwik add\" to install a server adapter'",
"dev": "vite --mode ssr",
"dev.debug": "node --inspect-brk ./node_modules/vite/bin/vite.js --mode ssr --force",
"fmt": "prettier --write .",
@@ -28,31 +27,18 @@
"qwik": "qwik"
},
"devDependencies": {
- "@builder.io/qwik": "^1.5.1",
- "@builder.io/qwik-city": "^1.5.1",
- "@builder.io/qwik-react": "0.5.0",
- "@types/eslint": "^8.56.5",
- "@types/node": "^20.11.24",
- "@types/react": "^18.2.28",
- "@types/react-dom": "^18.2.13",
- "@typescript-eslint/eslint-plugin": "^7.1.0",
- "@typescript-eslint/parser": "^7.1.0",
- "autoprefixer": "^10.4.14",
- "eslint": "^8.57.0",
- "eslint-plugin-qwik": "^1.5.1",
- "postcss": "^8.4.31",
- "prettier": "^3.2.5",
- "prettier-plugin-tailwindcss": "^0.5.4",
- "react": "18.2.0",
- "react-dom": "18.2.0",
- "tailwindcss": "3.3.3",
- "typescript": "5.3.3",
+ "@builder.io/qwik": "^1.8.0",
+ "@builder.io/qwik-city": "^1.8.0",
+ "@types/eslint": "8.56.10",
+ "@types/node": "20.14.11",
+ "@typescript-eslint/eslint-plugin": "7.16.1",
+ "@typescript-eslint/parser": "7.16.1",
+ "eslint": "8.57.0",
+ "eslint-plugin-qwik": "^1.8.0",
+ "prettier": "3.3.3",
+ "typescript": "5.4.5",
"undici": "*",
- "vercel": "^29.1.1",
- "vite": "^5.1.4",
+ "vite": "5.3.5",
"vite-tsconfig-paths": "^4.2.1"
- },
- "dependencies": {
- "@fontsource/geist-sans": "^5.0.2"
}
}
diff --git a/apps/www/pnpm-lock.yaml b/apps/www/pnpm-lock.yaml
deleted file mode 100644
index fd1f086b..00000000
--- a/apps/www/pnpm-lock.yaml
+++ /dev/null
@@ -1,9347 +0,0 @@
-lockfileVersion: '6.0'
-
-settings:
- autoInstallPeers: true
- excludeLinksFromLockfile: false
-
-dependencies:
- '@fontsource/geist-sans':
- specifier: ^5.0.2
- version: 5.0.2
-
-devDependencies:
- '@builder.io/qwik':
- specifier: ^1.5.1
- version: 1.5.1(@types/node@20.11.30)(undici@6.10.2)
- '@builder.io/qwik-city':
- specifier: ^1.5.1
- version: 1.5.1(@types/node@20.11.30)
- '@builder.io/qwik-react':
- specifier: 0.5.0
- version: 0.5.0(@builder.io/qwik@1.5.1)(@types/react-dom@18.2.23)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
- '@types/eslint':
- specifier: ^8.56.5
- version: 8.56.6
- '@types/node':
- specifier: ^20.11.24
- version: 20.11.30
- '@types/react':
- specifier: ^18.2.28
- version: 18.2.73
- '@types/react-dom':
- specifier: ^18.2.13
- version: 18.2.23
- '@typescript-eslint/eslint-plugin':
- specifier: ^7.1.0
- version: 7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.3.3)
- '@typescript-eslint/parser':
- specifier: ^7.1.0
- version: 7.4.0(eslint@8.57.0)(typescript@5.3.3)
- autoprefixer:
- specifier: ^10.4.14
- version: 10.4.19(postcss@8.4.38)
- eslint:
- specifier: ^8.57.0
- version: 8.57.0
- eslint-plugin-qwik:
- specifier: ^1.5.1
- version: 1.5.1(eslint@8.57.0)
- postcss:
- specifier: ^8.4.31
- version: 8.4.38
- prettier:
- specifier: ^3.2.5
- version: 3.2.5
- prettier-plugin-tailwindcss:
- specifier: ^0.5.4
- version: 0.5.13(prettier@3.2.5)
- react:
- specifier: 18.2.0
- version: 18.2.0
- react-dom:
- specifier: 18.2.0
- version: 18.2.0(react@18.2.0)
- tailwindcss:
- specifier: 3.3.3
- version: 3.3.3
- typescript:
- specifier: 5.3.3
- version: 5.3.3
- undici:
- specifier: '*'
- version: 6.10.2
- vercel:
- specifier: ^29.1.1
- version: 29.4.0(@types/node@20.11.30)
- vite:
- specifier: ^5.1.4
- version: 5.2.7(@types/node@20.11.30)
- vite-tsconfig-paths:
- specifier: ^4.2.1
- version: 4.3.2(typescript@5.3.3)(vite@5.2.7)
-
-packages:
-
- /@aashutoshrathi/word-wrap@1.2.6:
- resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /@alloc/quick-lru@5.2.0:
- resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
- engines: {node: '>=10'}
- dev: true
-
- /@ampproject/remapping@2.3.0:
- resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
- engines: {node: '>=6.0.0'}
- dependencies:
- '@jridgewell/gen-mapping': 0.3.5
- '@jridgewell/trace-mapping': 0.3.25
- dev: true
-
- /@babel/code-frame@7.24.2:
- resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/highlight': 7.24.2
- picocolors: 1.0.0
- dev: true
-
- /@babel/compat-data@7.24.1:
- resolution: {integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==}
- engines: {node: '>=6.9.0'}
- dev: true
-
- /@babel/core@7.24.3:
- resolution: {integrity: sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@ampproject/remapping': 2.3.0
- '@babel/code-frame': 7.24.2
- '@babel/generator': 7.24.1
- '@babel/helper-compilation-targets': 7.23.6
- '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3)
- '@babel/helpers': 7.24.1
- '@babel/parser': 7.24.1
- '@babel/template': 7.24.0
- '@babel/traverse': 7.24.1
- '@babel/types': 7.24.0
- convert-source-map: 2.0.0
- debug: 4.3.4
- gensync: 1.0.0-beta.2
- json5: 2.2.3
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@babel/generator@7.24.1:
- resolution: {integrity: sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.0
- '@jridgewell/gen-mapping': 0.3.5
- '@jridgewell/trace-mapping': 0.3.25
- jsesc: 2.5.2
- dev: true
-
- /@babel/helper-annotate-as-pure@7.22.5:
- resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.0
- dev: true
-
- /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15:
- resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.0
- dev: true
-
- /@babel/helper-compilation-targets@7.23.6:
- resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/compat-data': 7.24.1
- '@babel/helper-validator-option': 7.23.5
- browserslist: 4.23.0
- lru-cache: 5.1.1
- semver: 6.3.1
- dev: true
-
- /@babel/helper-create-class-features-plugin@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-annotate-as-pure': 7.22.5
- '@babel/helper-environment-visitor': 7.22.20
- '@babel/helper-function-name': 7.23.0
- '@babel/helper-member-expression-to-functions': 7.23.0
- '@babel/helper-optimise-call-expression': 7.22.5
- '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3)
- '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
- '@babel/helper-split-export-declaration': 7.22.6
- semver: 6.3.1
- dev: true
-
- /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.3):
- resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-annotate-as-pure': 7.22.5
- regexpu-core: 5.3.2
- semver: 6.3.1
- dev: true
-
- /@babel/helper-define-polyfill-provider@0.6.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==}
- peerDependencies:
- '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-compilation-targets': 7.23.6
- '@babel/helper-plugin-utils': 7.24.0
- debug: 4.3.4
- lodash.debounce: 4.0.8
- resolve: 1.22.8
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@babel/helper-environment-visitor@7.22.20:
- resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==}
- engines: {node: '>=6.9.0'}
- dev: true
-
- /@babel/helper-function-name@7.23.0:
- resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/template': 7.24.0
- '@babel/types': 7.24.0
- dev: true
-
- /@babel/helper-hoist-variables@7.22.5:
- resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.0
- dev: true
-
- /@babel/helper-member-expression-to-functions@7.23.0:
- resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.0
- dev: true
-
- /@babel/helper-module-imports@7.24.3:
- resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.0
- dev: true
-
- /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.3):
- resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-environment-visitor': 7.22.20
- '@babel/helper-module-imports': 7.24.3
- '@babel/helper-simple-access': 7.22.5
- '@babel/helper-split-export-declaration': 7.22.6
- '@babel/helper-validator-identifier': 7.22.20
- dev: true
-
- /@babel/helper-optimise-call-expression@7.22.5:
- resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.0
- dev: true
-
- /@babel/helper-plugin-utils@7.24.0:
- resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==}
- engines: {node: '>=6.9.0'}
- dev: true
-
- /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.3):
- resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-annotate-as-pure': 7.22.5
- '@babel/helper-environment-visitor': 7.22.20
- '@babel/helper-wrap-function': 7.22.20
- dev: true
-
- /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-environment-visitor': 7.22.20
- '@babel/helper-member-expression-to-functions': 7.23.0
- '@babel/helper-optimise-call-expression': 7.22.5
- dev: true
-
- /@babel/helper-simple-access@7.22.5:
- resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.0
- dev: true
-
- /@babel/helper-skip-transparent-expression-wrappers@7.22.5:
- resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.0
- dev: true
-
- /@babel/helper-split-export-declaration@7.22.6:
- resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.0
- dev: true
-
- /@babel/helper-string-parser@7.24.1:
- resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==}
- engines: {node: '>=6.9.0'}
- dev: true
-
- /@babel/helper-validator-identifier@7.22.20:
- resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
- engines: {node: '>=6.9.0'}
- dev: true
-
- /@babel/helper-validator-option@7.23.5:
- resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==}
- engines: {node: '>=6.9.0'}
- dev: true
-
- /@babel/helper-wrap-function@7.22.20:
- resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/helper-function-name': 7.23.0
- '@babel/template': 7.24.0
- '@babel/types': 7.24.0
- dev: true
-
- /@babel/helpers@7.24.1:
- resolution: {integrity: sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/template': 7.24.0
- '@babel/traverse': 7.24.1
- '@babel/types': 7.24.0
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@babel/highlight@7.24.2:
- resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/helper-validator-identifier': 7.22.20
- chalk: 2.4.2
- js-tokens: 4.0.0
- picocolors: 1.0.0
- dev: true
-
- /@babel/parser@7.24.1:
- resolution: {integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==}
- engines: {node: '>=6.0.0'}
- hasBin: true
- dependencies:
- '@babel/types': 7.24.0
- dev: true
-
- /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.13.0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
- '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.3)
- dev: true
-
- /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-environment-visitor': 7.22.20
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.3):
- resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- dev: true
-
- /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.3):
- resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.3):
- resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.3):
- resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.3):
- resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.3):
- resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.3):
- resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.3):
- resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.3):
- resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.3):
- resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.3):
- resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.3):
- resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.3):
- resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.3):
- resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.3):
- resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.3):
- resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.3):
- resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3)
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.3):
- resolution: {integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-environment-visitor': 7.22.20
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.3)
- '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.3)
- dev: true
-
- /@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-module-imports': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.3)
- dev: true
-
- /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-transform-block-scoping@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-h71T2QQvDgM2SmT29UYU6ozjMlAt7s7CSs5Hvy8f8cf/GM/Z4a2zMfN+fjVGaieeCrXR3EdQl6C4gQG+OgmbKw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3)
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-transform-class-static-block@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-FUHlKCn6J3ERiu8Dv+4eoz7w8+kFLSyeVG4vDAikwADGjUCoHw/JHokyGtr8OR4UjpwPVivyF+h8Q5iv/JmrtA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.12.0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3)
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.3)
- dev: true
-
- /@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-annotate-as-pure': 7.22.5
- '@babel/helper-compilation-targets': 7.23.6
- '@babel/helper-environment-visitor': 7.22.20
- '@babel/helper-function-name': 7.23.0
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3)
- '@babel/helper-split-export-declaration': 7.22.6
- globals: 11.12.0
- dev: true
-
- /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/template': 7.24.0
- dev: true
-
- /@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3)
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.3)
- dev: true
-
- /@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.3)
- dev: true
-
- /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
- dev: true
-
- /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-compilation-targets': 7.23.6
- '@babel/helper-function-name': 7.23.0
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.3)
- dev: true
-
- /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.3)
- dev: true
-
- /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3)
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3)
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/helper-simple-access': 7.22.5
- dev: true
-
- /@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-hoist-variables': 7.22.5
- '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3)
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/helper-validator-identifier': 7.22.20
- dev: true
-
- /@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3)
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.3):
- resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3)
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.3)
- dev: true
-
- /@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.3)
- dev: true
-
- /@babel/plugin-transform-object-rest-spread@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-compilation-targets': 7.23.6
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.3)
- '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.3)
- dev: true
-
- /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3)
- dev: true
-
- /@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.3)
- dev: true
-
- /@babel/plugin-transform-optional-chaining@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
- '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.3)
- dev: true
-
- /@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3)
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-transform-private-property-in-object@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-annotate-as-pure': 7.22.5
- '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3)
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.3)
- dev: true
-
- /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- regenerator-transform: 0.15.2
- dev: true
-
- /@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
- dev: true
-
- /@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-transform-typeof-symbol@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-transform-typescript@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-annotate-as-pure': 7.22.5
- '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3)
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.3)
- dev: true
-
- /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3)
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3)
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3)
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/preset-env@7.24.3(@babel/core@7.24.3):
- resolution: {integrity: sha512-fSk430k5c2ff8536JcPvPWK4tZDwehWLGlBp0wrsBUjZVdeQV6lePbwKWZaZfK2vnh/1kQX1PzAJWsnBmVgGJA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/compat-data': 7.24.1
- '@babel/core': 7.24.3
- '@babel/helper-compilation-targets': 7.23.6
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/helper-validator-option': 7.23.5
- '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.3)
- '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.3)
- '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.3)
- '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.3)
- '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.3)
- '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.3)
- '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.3)
- '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.3)
- '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.3)
- '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.3)
- '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.3)
- '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.3)
- '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.3)
- '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.3)
- '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.3)
- '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.3)
- '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.3)
- '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.3)
- '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-block-scoping': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-class-static-block': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-classes': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-destructuring': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.3)
- '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-object-rest-spread': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-private-property-in-object': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-typeof-symbol': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.3)
- '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.3)
- babel-plugin-polyfill-corejs2: 0.4.10(@babel/core@7.24.3)
- babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.3)
- babel-plugin-polyfill-regenerator: 0.6.1(@babel/core@7.24.3)
- core-js-compat: 3.36.1
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.3):
- resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==}
- peerDependencies:
- '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/types': 7.24.0
- esutils: 2.0.3
- dev: true
-
- /@babel/preset-typescript@7.24.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/helper-validator-option': 7.23.5
- '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.3)
- dev: true
-
- /@babel/regjsgen@0.8.0:
- resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==}
- dev: true
-
- /@babel/runtime@7.12.1:
- resolution: {integrity: sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA==}
- dependencies:
- regenerator-runtime: 0.13.11
- dev: true
-
- /@babel/runtime@7.24.1:
- resolution: {integrity: sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==}
- engines: {node: '>=6.9.0'}
- dependencies:
- regenerator-runtime: 0.14.1
- dev: true
-
- /@babel/template@7.24.0:
- resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/code-frame': 7.24.2
- '@babel/parser': 7.24.1
- '@babel/types': 7.24.0
- dev: true
-
- /@babel/traverse@7.24.1:
- resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/code-frame': 7.24.2
- '@babel/generator': 7.24.1
- '@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.22.6
- '@babel/parser': 7.24.1
- '@babel/types': 7.24.0
- debug: 4.3.4
- globals: 11.12.0
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@babel/types@7.24.0:
- resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/helper-string-parser': 7.24.1
- '@babel/helper-validator-identifier': 7.22.20
- to-fast-properties: 2.0.0
- dev: true
-
- /@builder.io/qwik-city@1.5.1(@types/node@20.11.30):
- resolution: {integrity: sha512-toa2eNgXFSFE+Tv6SYAtYnoubtidYmedy6MnVjxXHKmrMB1sz3e/yO+R6dJLUTHiaJf+D9PI6l4DtF71I+7C/A==}
- engines: {node: '>=16.8.0 <18.0.0 || >=18.11'}
- dependencies:
- '@mdx-js/mdx': 3.0.1
- '@types/mdx': 2.0.12
- source-map: 0.7.4
- svgo: 3.2.0
- undici: 6.10.2
- vfile: 6.0.1
- vite: 5.2.7(@types/node@20.11.30)
- vite-imagetools: 6.2.9
- zod: 3.22.4
- transitivePeerDependencies:
- - '@types/node'
- - less
- - lightningcss
- - rollup
- - sass
- - stylus
- - sugarss
- - supports-color
- - terser
- dev: true
-
- /@builder.io/qwik-react@0.5.0(@builder.io/qwik@1.5.1)(@types/react-dom@18.2.23)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-JdJWQWOJGv7ddQqEZwzR8wPh0IoCQZwD9qo75+reiQaLp6eH+Pjsm/kn1LaMQt6u72pCCNjnj5kEn/bnbfnIjQ==}
- engines: {node: '>=16'}
- peerDependencies:
- '@builder.io/qwik': '>=0.22.0'
- '@types/react': '>=18.0.1'
- '@types/react-dom': '>=18.0.0'
- react: '>=18.0.0'
- react-dom: '>=18.0.0'
- dependencies:
- '@builder.io/qwik': 1.5.1(@types/node@20.11.30)(undici@6.10.2)
- '@types/react': 18.2.73
- '@types/react-dom': 18.2.23
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- dev: true
-
- /@builder.io/qwik@1.5.1(@types/node@20.11.30)(undici@6.10.2):
- resolution: {integrity: sha512-xjGVH6xx/ADN+ACSfvoZQWIlN6B4bTcL1gpoijVKyx/Wed7U7QPgVq2VIJ92Vhr6Y+uKiUaoNlsuY5s4PhVQkQ==}
- engines: {node: '>=16.8.0 <18.0.0 || >=18.11'}
- hasBin: true
- peerDependencies:
- undici: '*'
- dependencies:
- csstype: 3.1.3
- undici: 6.10.2
- vite: 5.2.7(@types/node@20.11.30)
- transitivePeerDependencies:
- - '@types/node'
- - less
- - lightningcss
- - sass
- - stylus
- - sugarss
- - terser
- dev: true
-
- /@cspotcode/source-map-support@0.8.1:
- resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
- engines: {node: '>=12'}
- dependencies:
- '@jridgewell/trace-mapping': 0.3.9
- dev: true
-
- /@edge-runtime/format@2.0.1:
- resolution: {integrity: sha512-aE+9DtBvQyg349srixtXEUNauWtIv5HTKPy8Q9dvG1NvpldVIvvhcDBI+SuvDVM8kQl8phbYnp2NTNloBCn/Yg==}
- engines: {node: '>=14'}
- dev: true
-
- /@edge-runtime/primitives@2.0.0:
- resolution: {integrity: sha512-AXqUq1zruTJAICrllUvZcgciIcEGHdF6KJ3r6FM0n4k8LpFxZ62tPWVIJ9HKm+xt+ncTBUZxwgUaQ73QMUQEKw==}
- dev: true
-
- /@edge-runtime/primitives@2.1.2:
- resolution: {integrity: sha512-SR04SMDybALlhIYIi0hiuEUwIl0b7Sn+RKwQkX6hydg4+AKMzBNDFhj2nqHDD1+xkHArV9EhmJIb6iGjShwSzg==}
- engines: {node: '>=14'}
- dev: true
-
- /@edge-runtime/vm@2.0.0:
- resolution: {integrity: sha512-BOLrAX8IWHRXu1siZocwLguKJPEUv7cr+rG8tI4hvHgMdIsBWHJlLeB8EjuUVnIURFrUiM49lVKn8DRrECmngw==}
- dependencies:
- '@edge-runtime/primitives': 2.0.0
- dev: true
-
- /@edge-runtime/vm@2.1.2:
- resolution: {integrity: sha512-j4H5S26NJhYOyjVMN8T/YJuwwslfnEX1P0j6N2Rq1FaubgNowdYunA9nlO7lg8Rgjv6dqJ2zKuM7GD1HFtNSGw==}
- engines: {node: '>=14'}
- dependencies:
- '@edge-runtime/primitives': 2.1.2
- dev: true
-
- /@emnapi/runtime@1.1.1:
- resolution: {integrity: sha512-3bfqkzuR1KLx57nZfjr2NLnFOobvyS0aTszaEGCGqmYMVDRaGvgIZbjGSV/MHSSmLgQ/b9JFHQ5xm5WRZYd+XQ==}
- requiresBuild: true
- dependencies:
- tslib: 2.6.2
- dev: true
- optional: true
-
- /@emotion/hash@0.9.1:
- resolution: {integrity: sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==}
- dev: true
-
- /@esbuild/aix-ppc64@0.20.2:
- resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [aix]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/android-arm64@0.17.6:
- resolution: {integrity: sha512-YnYSCceN/dUzUr5kdtUzB+wZprCafuD89Hs0Aqv9QSdwhYQybhXTaSTcrl6X/aWThn1a/j0eEpUBGOE7269REg==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/android-arm64@0.20.2:
- resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/android-arm@0.17.6:
- resolution: {integrity: sha512-bSC9YVUjADDy1gae8RrioINU6e1lCkg3VGVwm0QQ2E1CWcC4gnMce9+B6RpxuSsrsXsk1yojn7sp1fnG8erE2g==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/android-arm@0.20.2:
- resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/android-x64@0.17.6:
- resolution: {integrity: sha512-MVcYcgSO7pfu/x34uX9u2QIZHmXAB7dEiLQC5bBl5Ryqtpj9lT2sg3gNDEsrPEmimSJW2FXIaxqSQ501YLDsZQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/android-x64@0.20.2:
- resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/darwin-arm64@0.17.6:
- resolution: {integrity: sha512-bsDRvlbKMQMt6Wl08nHtFz++yoZHsyTOxnjfB2Q95gato+Yi4WnRl13oC2/PJJA9yLCoRv9gqT/EYX0/zDsyMA==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/darwin-arm64@0.20.2:
- resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/darwin-x64@0.17.6:
- resolution: {integrity: sha512-xh2A5oPrYRfMFz74QXIQTQo8uA+hYzGWJFoeTE8EvoZGHb+idyV4ATaukaUvnnxJiauhs/fPx3vYhU4wiGfosg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/darwin-x64@0.20.2:
- resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/freebsd-arm64@0.17.6:
- resolution: {integrity: sha512-EnUwjRc1inT4ccZh4pB3v1cIhohE2S4YXlt1OvI7sw/+pD+dIE4smwekZlEPIwY6PhU6oDWwITrQQm5S2/iZgg==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/freebsd-arm64@0.20.2:
- resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/freebsd-x64@0.17.6:
- resolution: {integrity: sha512-Uh3HLWGzH6FwpviUcLMKPCbZUAFzv67Wj5MTwK6jn89b576SR2IbEp+tqUHTr8DIl0iDmBAf51MVaP7pw6PY5Q==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/freebsd-x64@0.20.2:
- resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-arm64@0.17.6:
- resolution: {integrity: sha512-bUR58IFOMJX523aDVozswnlp5yry7+0cRLCXDsxnUeQYJik1DukMY+apBsLOZJblpH+K7ox7YrKrHmJoWqVR9w==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-arm64@0.20.2:
- resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-arm@0.17.6:
- resolution: {integrity: sha512-7YdGiurNt7lqO0Bf/U9/arrPWPqdPqcV6JCZda4LZgEn+PTQ5SMEI4MGR52Bfn3+d6bNEGcWFzlIxiQdS48YUw==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-arm@0.20.2:
- resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-ia32@0.17.6:
- resolution: {integrity: sha512-ujp8uoQCM9FRcbDfkqECoARsLnLfCUhKARTP56TFPog8ie9JG83D5GVKjQ6yVrEVdMie1djH86fm98eY3quQkQ==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-ia32@0.20.2:
- resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-loong64@0.17.6:
- resolution: {integrity: sha512-y2NX1+X/Nt+izj9bLoiaYB9YXT/LoaQFYvCkVD77G/4F+/yuVXYCWz4SE9yr5CBMbOxOfBcy/xFL4LlOeNlzYQ==}
- engines: {node: '>=12'}
- cpu: [loong64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-loong64@0.20.2:
- resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==}
- engines: {node: '>=12'}
- cpu: [loong64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-mips64el@0.17.6:
- resolution: {integrity: sha512-09AXKB1HDOzXD+j3FdXCiL/MWmZP0Ex9eR8DLMBVcHorrWJxWmY8Nms2Nm41iRM64WVx7bA/JVHMv081iP2kUA==}
- engines: {node: '>=12'}
- cpu: [mips64el]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-mips64el@0.20.2:
- resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==}
- engines: {node: '>=12'}
- cpu: [mips64el]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-ppc64@0.17.6:
- resolution: {integrity: sha512-AmLhMzkM8JuqTIOhxnX4ubh0XWJIznEynRnZAVdA2mMKE6FAfwT2TWKTwdqMG+qEaeyDPtfNoZRpJbD4ZBv0Tg==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-ppc64@0.20.2:
- resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-riscv64@0.17.6:
- resolution: {integrity: sha512-Y4Ri62PfavhLQhFbqucysHOmRamlTVK10zPWlqjNbj2XMea+BOs4w6ASKwQwAiqf9ZqcY9Ab7NOU4wIgpxwoSQ==}
- engines: {node: '>=12'}
- cpu: [riscv64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-riscv64@0.20.2:
- resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==}
- engines: {node: '>=12'}
- cpu: [riscv64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-s390x@0.17.6:
- resolution: {integrity: sha512-SPUiz4fDbnNEm3JSdUW8pBJ/vkop3M1YwZAVwvdwlFLoJwKEZ9L98l3tzeyMzq27CyepDQ3Qgoba44StgbiN5Q==}
- engines: {node: '>=12'}
- cpu: [s390x]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-s390x@0.20.2:
- resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==}
- engines: {node: '>=12'}
- cpu: [s390x]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-x64@0.17.6:
- resolution: {integrity: sha512-a3yHLmOodHrzuNgdpB7peFGPx1iJ2x6m+uDvhP2CKdr2CwOaqEFMeSqYAHU7hG+RjCq8r2NFujcd/YsEsFgTGw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-x64@0.20.2:
- resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/netbsd-x64@0.17.6:
- resolution: {integrity: sha512-EanJqcU/4uZIBreTrnbnre2DXgXSa+Gjap7ifRfllpmyAU7YMvaXmljdArptTHmjrkkKm9BK6GH5D5Yo+p6y5A==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [netbsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/netbsd-x64@0.20.2:
- resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [netbsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/openbsd-x64@0.17.6:
- resolution: {integrity: sha512-xaxeSunhQRsTNGFanoOkkLtnmMn5QbA0qBhNet/XLVsc+OVkpIWPHcr3zTW2gxVU5YOHFbIHR9ODuaUdNza2Vw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [openbsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/openbsd-x64@0.20.2:
- resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [openbsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/sunos-x64@0.17.6:
- resolution: {integrity: sha512-gnMnMPg5pfMkZvhHee21KbKdc6W3GR8/JuE0Da1kjwpK6oiFU3nqfHuVPgUX2rsOx9N2SadSQTIYV1CIjYG+xw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [sunos]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/sunos-x64@0.20.2:
- resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [sunos]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/win32-arm64@0.17.6:
- resolution: {integrity: sha512-G95n7vP1UnGJPsVdKXllAJPtqjMvFYbN20e8RK8LVLhlTiSOH1sd7+Gt7rm70xiG+I5tM58nYgwWrLs6I1jHqg==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/win32-arm64@0.20.2:
- resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/win32-ia32@0.17.6:
- resolution: {integrity: sha512-96yEFzLhq5bv9jJo5JhTs1gI+1cKQ83cUpyxHuGqXVwQtY5Eq54ZEsKs8veKtiKwlrNimtckHEkj4mRh4pPjsg==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/win32-ia32@0.20.2:
- resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/win32-x64@0.17.6:
- resolution: {integrity: sha512-n6d8MOyUrNp6G4VSpRcgjs5xj4A91svJSaiwLIDWVWEsZtpN5FA9NlBbZHDmAJc2e8e6SF4tkBD3HAvPF+7igA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/win32-x64@0.20.2:
- resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0):
- resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
- dependencies:
- eslint: 8.57.0
- eslint-visitor-keys: 3.4.3
- dev: true
-
- /@eslint-community/regexpp@4.10.0:
- resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
- engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
- dev: true
-
- /@eslint/eslintrc@2.1.4:
- resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dependencies:
- ajv: 6.12.6
- debug: 4.3.4
- espree: 9.6.1
- globals: 13.24.0
- ignore: 5.3.1
- import-fresh: 3.3.0
- js-yaml: 4.1.0
- minimatch: 3.1.2
- strip-json-comments: 3.1.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@eslint/js@8.57.0:
- resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dev: true
-
- /@fontsource/geist-sans@5.0.2:
- resolution: {integrity: sha512-i2djbiDmVBmoGAD3LbW0b75fnPIBFCTBJ0eOJB1VlcyNc5M7RbdmVNoSW38MVl3VPoXWIxXoQvlCHnhZMSJ4TA==}
- dev: false
-
- /@gar/promisify@1.1.3:
- resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==}
- dev: true
-
- /@humanwhocodes/config-array@0.11.14:
- resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
- engines: {node: '>=10.10.0'}
- dependencies:
- '@humanwhocodes/object-schema': 2.0.2
- debug: 4.3.4
- minimatch: 3.1.2
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@humanwhocodes/module-importer@1.0.1:
- resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
- engines: {node: '>=12.22'}
- dev: true
-
- /@humanwhocodes/object-schema@2.0.2:
- resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==}
- dev: true
-
- /@img/sharp-darwin-arm64@0.33.3:
- resolution: {integrity: sha512-FaNiGX1MrOuJ3hxuNzWgsT/mg5OHG/Izh59WW2mk1UwYHUwtfbhk5QNKYZgxf0pLOhx9ctGiGa2OykD71vOnSw==}
- engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- optionalDependencies:
- '@img/sharp-libvips-darwin-arm64': 1.0.2
- dev: true
- optional: true
-
- /@img/sharp-darwin-x64@0.33.3:
- resolution: {integrity: sha512-2QeSl7QDK9ru//YBT4sQkoq7L0EAJZA3rtV+v9p8xTKl4U1bUqTIaCnoC7Ctx2kCjQgwFXDasOtPTCT8eCTXvw==}
- engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- optionalDependencies:
- '@img/sharp-libvips-darwin-x64': 1.0.2
- dev: true
- optional: true
-
- /@img/sharp-libvips-darwin-arm64@1.0.2:
- resolution: {integrity: sha512-tcK/41Rq8IKlSaKRCCAuuY3lDJjQnYIW1UXU1kxcEKrfL8WR7N6+rzNoOxoQRJWTAECuKwgAHnPvqXGN8XfkHA==}
- engines: {macos: '>=11', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@img/sharp-libvips-darwin-x64@1.0.2:
- resolution: {integrity: sha512-Ofw+7oaWa0HiiMiKWqqaZbaYV3/UGL2wAPeLuJTx+9cXpCRdvQhCLG0IH8YGwM0yGWGLpsF4Su9vM1o6aer+Fw==}
- engines: {macos: '>=10.13', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@img/sharp-libvips-linux-arm64@1.0.2:
- resolution: {integrity: sha512-x7kCt3N00ofFmmkkdshwj3vGPCnmiDh7Gwnd4nUwZln2YjqPxV1NlTyZOvoDWdKQVDL911487HOueBvrpflagw==}
- engines: {glibc: '>=2.26', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@img/sharp-libvips-linux-arm@1.0.2:
- resolution: {integrity: sha512-iLWCvrKgeFoglQxdEwzu1eQV04o8YeYGFXtfWU26Zr2wWT3q3MTzC+QTCO3ZQfWd3doKHT4Pm2kRmLbupT+sZw==}
- engines: {glibc: '>=2.28', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@img/sharp-libvips-linux-s390x@1.0.2:
- resolution: {integrity: sha512-cmhQ1J4qVhfmS6szYW7RT+gLJq9dH2i4maq+qyXayUSn9/3iY2ZeWpbAgSpSVbV2E1JUL2Gg7pwnYQ1h8rQIog==}
- engines: {glibc: '>=2.28', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
- cpu: [s390x]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@img/sharp-libvips-linux-x64@1.0.2:
- resolution: {integrity: sha512-E441q4Qdb+7yuyiADVi5J+44x8ctlrqn8XgkDTwr4qPJzWkaHwD489iZ4nGDgcuya4iMN3ULV6NwbhRZJ9Z7SQ==}
- engines: {glibc: '>=2.26', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@img/sharp-libvips-linuxmusl-arm64@1.0.2:
- resolution: {integrity: sha512-3CAkndNpYUrlDqkCM5qhksfE+qSIREVpyoeHIU6jd48SJZViAmznoQQLAv4hVXF7xyUB9zf+G++e2v1ABjCbEQ==}
- engines: {musl: '>=1.2.2', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@img/sharp-libvips-linuxmusl-x64@1.0.2:
- resolution: {integrity: sha512-VI94Q6khIHqHWNOh6LLdm9s2Ry4zdjWJwH56WoiJU7NTeDwyApdZZ8c+SADC8OH98KWNQXnE01UdJ9CSfZvwZw==}
- engines: {musl: '>=1.2.2', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@img/sharp-linux-arm64@0.33.3:
- resolution: {integrity: sha512-Zf+sF1jHZJKA6Gor9hoYG2ljr4wo9cY4twaxgFDvlG0Xz9V7sinsPp8pFd1XtlhTzYo0IhDbl3rK7P6MzHpnYA==}
- engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- optionalDependencies:
- '@img/sharp-libvips-linux-arm64': 1.0.2
- dev: true
- optional: true
-
- /@img/sharp-linux-arm@0.33.3:
- resolution: {integrity: sha512-Q7Ee3fFSC9P7vUSqVEF0zccJsZ8GiiCJYGWDdhEjdlOeS9/jdkyJ6sUSPj+bL8VuOYFSbofrW0t/86ceVhx32w==}
- engines: {glibc: '>=2.28', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- optionalDependencies:
- '@img/sharp-libvips-linux-arm': 1.0.2
- dev: true
- optional: true
-
- /@img/sharp-linux-s390x@0.33.3:
- resolution: {integrity: sha512-vFk441DKRFepjhTEH20oBlFrHcLjPfI8B0pMIxGm3+yilKyYeHEVvrZhYFdqIseSclIqbQ3SnZMwEMWonY5XFA==}
- engines: {glibc: '>=2.28', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
- cpu: [s390x]
- os: [linux]
- requiresBuild: true
- optionalDependencies:
- '@img/sharp-libvips-linux-s390x': 1.0.2
- dev: true
- optional: true
-
- /@img/sharp-linux-x64@0.33.3:
- resolution: {integrity: sha512-Q4I++herIJxJi+qmbySd072oDPRkCg/SClLEIDh5IL9h1zjhqjv82H0Seupd+q2m0yOfD+/fJnjSoDFtKiHu2g==}
- engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- optionalDependencies:
- '@img/sharp-libvips-linux-x64': 1.0.2
- dev: true
- optional: true
-
- /@img/sharp-linuxmusl-arm64@0.33.3:
- resolution: {integrity: sha512-qnDccehRDXadhM9PM5hLvcPRYqyFCBN31kq+ErBSZtZlsAc1U4Z85xf/RXv1qolkdu+ibw64fUDaRdktxTNP9A==}
- engines: {musl: '>=1.2.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- optionalDependencies:
- '@img/sharp-libvips-linuxmusl-arm64': 1.0.2
- dev: true
- optional: true
-
- /@img/sharp-linuxmusl-x64@0.33.3:
- resolution: {integrity: sha512-Jhchim8kHWIU/GZ+9poHMWRcefeaxFIs9EBqf9KtcC14Ojk6qua7ghKiPs0sbeLbLj/2IGBtDcxHyjCdYWkk2w==}
- engines: {musl: '>=1.2.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- optionalDependencies:
- '@img/sharp-libvips-linuxmusl-x64': 1.0.2
- dev: true
- optional: true
-
- /@img/sharp-wasm32@0.33.3:
- resolution: {integrity: sha512-68zivsdJ0koE96stdUfM+gmyaK/NcoSZK5dV5CAjES0FUXS9lchYt8LAB5rTbM7nlWtxaU/2GON0HVN6/ZYJAQ==}
- engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
- cpu: [wasm32]
- requiresBuild: true
- dependencies:
- '@emnapi/runtime': 1.1.1
- dev: true
- optional: true
-
- /@img/sharp-win32-ia32@0.33.3:
- resolution: {integrity: sha512-CyimAduT2whQD8ER4Ux7exKrtfoaUiVr7HG0zZvO0XTFn2idUWljjxv58GxNTkFb8/J9Ub9AqITGkJD6ZginxQ==}
- engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@img/sharp-win32-x64@0.33.3:
- resolution: {integrity: sha512-viT4fUIDKnli3IfOephGnolMzhz5VaTvDRkYqtZxOMIoMQ4MrAziO7pT1nVnOt2FAm7qW5aa+CCc13aEY6Le0g==}
- engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@isaacs/cliui@8.0.2:
- resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
- engines: {node: '>=12'}
- dependencies:
- string-width: 5.1.2
- string-width-cjs: /string-width@4.2.3
- strip-ansi: 7.1.0
- strip-ansi-cjs: /strip-ansi@6.0.1
- wrap-ansi: 8.1.0
- wrap-ansi-cjs: /wrap-ansi@7.0.0
- dev: true
-
- /@jridgewell/gen-mapping@0.3.5:
- resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
- engines: {node: '>=6.0.0'}
- dependencies:
- '@jridgewell/set-array': 1.2.1
- '@jridgewell/sourcemap-codec': 1.4.15
- '@jridgewell/trace-mapping': 0.3.25
- dev: true
-
- /@jridgewell/resolve-uri@3.1.2:
- resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
- engines: {node: '>=6.0.0'}
- dev: true
-
- /@jridgewell/set-array@1.2.1:
- resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
- engines: {node: '>=6.0.0'}
- dev: true
-
- /@jridgewell/sourcemap-codec@1.4.15:
- resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
- dev: true
-
- /@jridgewell/trace-mapping@0.3.25:
- resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
- dependencies:
- '@jridgewell/resolve-uri': 3.1.2
- '@jridgewell/sourcemap-codec': 1.4.15
- dev: true
-
- /@jridgewell/trace-mapping@0.3.9:
- resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
- dependencies:
- '@jridgewell/resolve-uri': 3.1.2
- '@jridgewell/sourcemap-codec': 1.4.15
- dev: true
-
- /@jspm/core@2.0.1:
- resolution: {integrity: sha512-Lg3PnLp0QXpxwLIAuuJboLeRaIhrgJjeuh797QADg3xz8wGLugQOS5DpsE8A6i6Adgzf+bacllkKZG3J0tGfDw==}
- dev: true
-
- /@mapbox/node-pre-gyp@1.0.11:
- resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==}
- hasBin: true
- dependencies:
- detect-libc: 2.0.3
- https-proxy-agent: 5.0.1
- make-dir: 3.1.0
- node-fetch: 2.7.0
- nopt: 5.0.0
- npmlog: 5.0.1
- rimraf: 3.0.2
- semver: 7.6.0
- tar: 6.2.1
- transitivePeerDependencies:
- - encoding
- - supports-color
- dev: true
-
- /@mdx-js/mdx@3.0.1:
- resolution: {integrity: sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA==}
- dependencies:
- '@types/estree': 1.0.5
- '@types/estree-jsx': 1.0.5
- '@types/hast': 3.0.4
- '@types/mdx': 2.0.12
- collapse-white-space: 2.1.0
- devlop: 1.1.0
- estree-util-build-jsx: 3.0.1
- estree-util-is-identifier-name: 3.0.0
- estree-util-to-js: 2.0.0
- estree-walker: 3.0.3
- hast-util-to-estree: 3.1.0
- hast-util-to-jsx-runtime: 2.3.0
- markdown-extensions: 2.0.0
- periscopic: 3.1.0
- remark-mdx: 3.0.1
- remark-parse: 11.0.0
- remark-rehype: 11.1.0
- source-map: 0.7.4
- unified: 11.0.4
- unist-util-position-from-estree: 2.0.0
- unist-util-stringify-position: 4.0.0
- unist-util-visit: 5.0.0
- vfile: 6.0.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@nodelib/fs.scandir@2.1.5:
- resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
- engines: {node: '>= 8'}
- dependencies:
- '@nodelib/fs.stat': 2.0.5
- run-parallel: 1.2.0
- dev: true
-
- /@nodelib/fs.stat@2.0.5:
- resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
- engines: {node: '>= 8'}
- dev: true
-
- /@nodelib/fs.walk@1.2.8:
- resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
- engines: {node: '>= 8'}
- dependencies:
- '@nodelib/fs.scandir': 2.1.5
- fastq: 1.17.1
- dev: true
-
- /@npmcli/fs@1.1.1:
- resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==}
- dependencies:
- '@gar/promisify': 1.1.3
- semver: 7.6.0
- dev: true
-
- /@npmcli/move-file@1.1.2:
- resolution: {integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==}
- engines: {node: '>=10'}
- deprecated: This functionality has been moved to @npmcli/fs
- dependencies:
- mkdirp: 1.0.4
- rimraf: 3.0.2
- dev: true
-
- /@npmcli/package-json@2.0.0:
- resolution: {integrity: sha512-42jnZ6yl16GzjWSH7vtrmWyJDGVa/LXPdpN2rcUWolFjc9ON2N3uz0qdBbQACfmhuJZ2lbKYtmK5qx68ZPLHMA==}
- engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
- dependencies:
- json-parse-even-better-errors: 2.3.1
- dev: true
-
- /@pkgjs/parseargs@0.11.0:
- resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
- engines: {node: '>=14'}
- requiresBuild: true
- dev: true
- optional: true
-
- /@remix-run/router@1.6.2:
- resolution: {integrity: sha512-LzqpSrMK/3JBAVBI9u3NWtOhWNw5AMQfrUFYB0+bDHTSw17z++WJLsPsxAuK+oSddsxk4d7F/JcdDPM1M5YAhA==}
- engines: {node: '>=14'}
- dev: true
-
- /@remix-run/server-runtime@1.16.1:
- resolution: {integrity: sha512-HG+f3PGE9kzTTPe5i5Hv7UGrJLmFID1Ae4BMohP5e0xXOxbdlKDPj6NN6yGDgE7OqKFuDVliW2B5LlUdJZgUFw==}
- engines: {node: '>=14'}
- dependencies:
- '@remix-run/router': 1.6.2
- '@web3-storage/multipart-parser': 1.0.0
- cookie: 0.4.2
- set-cookie-parser: 2.6.0
- source-map: 0.7.4
- dev: true
-
- /@rollup/pluginutils@4.2.1:
- resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
- engines: {node: '>= 8.0.0'}
- dependencies:
- estree-walker: 2.0.2
- picomatch: 2.3.1
- dev: true
-
- /@rollup/pluginutils@5.1.0:
- resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
- peerDependenciesMeta:
- rollup:
- optional: true
- dependencies:
- '@types/estree': 1.0.5
- estree-walker: 2.0.2
- picomatch: 2.3.1
- dev: true
-
- /@rollup/rollup-android-arm-eabi@4.13.2:
- resolution: {integrity: sha512-3XFIDKWMFZrMnao1mJhnOT1h2g0169Os848NhhmGweEcfJ4rCi+3yMCOLG4zA61rbJdkcrM/DjVZm9Hg5p5w7g==}
- cpu: [arm]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-android-arm64@4.13.2:
- resolution: {integrity: sha512-GdxxXbAuM7Y/YQM9/TwwP+L0omeE/lJAR1J+olu36c3LqqZEBdsIWeQ91KBe6nxwOnb06Xh7JS2U5ooWU5/LgQ==}
- cpu: [arm64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-darwin-arm64@4.13.2:
- resolution: {integrity: sha512-mCMlpzlBgOTdaFs83I4XRr8wNPveJiJX1RLfv4hggyIVhfB5mJfN4P8Z6yKh+oE4Luz+qq1P3kVdWrCKcMYrrA==}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-darwin-x64@4.13.2:
- resolution: {integrity: sha512-yUoEvnH0FBef/NbB1u6d3HNGyruAKnN74LrPAfDQL3O32e3k3OSfLrPgSJmgb3PJrBZWfPyt6m4ZhAFa2nZp2A==}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-linux-arm-gnueabihf@4.13.2:
- resolution: {integrity: sha512-GYbLs5ErswU/Xs7aGXqzc3RrdEjKdmoCrgzhJWyFL0r5fL3qd1NPcDKDowDnmcoSiGJeU68/Vy+OMUluRxPiLQ==}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-linux-arm64-gnu@4.13.2:
- resolution: {integrity: sha512-L1+D8/wqGnKQIlh4Zre9i4R4b4noxzH5DDciyahX4oOz62CphY7WDWqJoQ66zNR4oScLNOqQJfNSIAe/6TPUmQ==}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-linux-arm64-musl@4.13.2:
- resolution: {integrity: sha512-tK5eoKFkXdz6vjfkSTCupUzCo40xueTOiOO6PeEIadlNBkadH1wNOH8ILCPIl8by/Gmb5AGAeQOFeLev7iZDOA==}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-linux-powerpc64le-gnu@4.13.2:
- resolution: {integrity: sha512-zvXvAUGGEYi6tYhcDmb9wlOckVbuD+7z3mzInCSTACJ4DQrdSLPNUeDIcAQW39M3q6PDquqLWu7pnO39uSMRzQ==}
- cpu: [ppc64le]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-linux-riscv64-gnu@4.13.2:
- resolution: {integrity: sha512-C3GSKvMtdudHCN5HdmAMSRYR2kkhgdOfye4w0xzyii7lebVr4riCgmM6lRiSCnJn2w1Xz7ZZzHKuLrjx5620kw==}
- cpu: [riscv64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-linux-s390x-gnu@4.13.2:
- resolution: {integrity: sha512-l4U0KDFwzD36j7HdfJ5/TveEQ1fUTjFFQP5qIt9gBqBgu1G8/kCaq5Ok05kd5TG9F8Lltf3MoYsUMw3rNlJ0Yg==}
- cpu: [s390x]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-linux-x64-gnu@4.13.2:
- resolution: {integrity: sha512-xXMLUAMzrtsvh3cZ448vbXqlUa7ZL8z0MwHp63K2IIID2+DeP5iWIT6g1SN7hg1VxPzqx0xZdiDM9l4n9LRU1A==}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-linux-x64-musl@4.13.2:
- resolution: {integrity: sha512-M/JYAWickafUijWPai4ehrjzVPKRCyDb1SLuO+ZyPfoXgeCEAlgPkNXewFZx0zcnoIe3ay4UjXIMdXQXOZXWqA==}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-win32-arm64-msvc@4.13.2:
- resolution: {integrity: sha512-2YWwoVg9KRkIKaXSh0mz3NmfurpmYoBBTAXA9qt7VXk0Xy12PoOP40EFuau+ajgALbbhi4uTj3tSG3tVseCjuA==}
- cpu: [arm64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-win32-ia32-msvc@4.13.2:
- resolution: {integrity: sha512-2FSsE9aQ6OWD20E498NYKEQLneShWes0NGMPQwxWOdws35qQXH+FplabOSP5zEe1pVjurSDOGEVCE2agFwSEsw==}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-win32-x64-msvc@4.13.2:
- resolution: {integrity: sha512-7h7J2nokcdPePdKykd8wtc8QqqkqxIrUz7MHj6aNr8waBRU//NLDVnNjQnqQO6fqtjrtCdftpbTuOKAyrAQETQ==}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@sinclair/typebox@0.25.24:
- resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==}
- dev: true
-
- /@sindresorhus/is@4.6.0:
- resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==}
- engines: {node: '>=10'}
- dev: true
-
- /@szmarczak/http-timer@4.0.6:
- resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==}
- engines: {node: '>=10'}
- dependencies:
- defer-to-connect: 2.0.1
- dev: true
-
- /@tootallnate/once@1.1.2:
- resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==}
- engines: {node: '>= 6'}
- dev: true
-
- /@trysound/sax@0.2.0:
- resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
- engines: {node: '>=10.13.0'}
- dev: true
-
- /@ts-morph/common@0.11.1:
- resolution: {integrity: sha512-7hWZS0NRpEsNV8vWJzg7FEz6V8MaLNeJOmwmghqUXTpzk16V1LLZhdo+4QvE/+zv4cVci0OviuJFnqhEfoV3+g==}
- dependencies:
- fast-glob: 3.3.2
- minimatch: 3.1.2
- mkdirp: 1.0.4
- path-browserify: 1.0.1
- dev: true
-
- /@tsconfig/node10@1.0.11:
- resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==}
- dev: true
-
- /@tsconfig/node12@1.0.11:
- resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==}
- dev: true
-
- /@tsconfig/node14@1.0.3:
- resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==}
- dev: true
-
- /@tsconfig/node16@1.0.4:
- resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==}
- dev: true
-
- /@types/acorn@4.0.6:
- resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==}
- dependencies:
- '@types/estree': 1.0.5
- dev: true
-
- /@types/cacheable-request@6.0.3:
- resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==}
- dependencies:
- '@types/http-cache-semantics': 4.0.4
- '@types/keyv': 3.1.4
- '@types/node': 20.11.30
- '@types/responselike': 1.0.3
- dev: true
-
- /@types/debug@4.1.12:
- resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
- dependencies:
- '@types/ms': 0.7.34
- dev: true
-
- /@types/eslint@8.56.6:
- resolution: {integrity: sha512-ymwc+qb1XkjT/gfoQwxIeHZ6ixH23A+tCT2ADSA/DPVKzAjwYkTXBMCQ/f6fe4wEa85Lhp26VPeUxI7wMhAi7A==}
- dependencies:
- '@types/estree': 1.0.5
- '@types/json-schema': 7.0.15
- dev: true
-
- /@types/estree-jsx@0.0.1:
- resolution: {integrity: sha512-gcLAYiMfQklDCPjQegGn0TBAn9it05ISEsEhlKQUddIk7o2XDokOcTN7HBO8tznM0D9dGezvHEfRZBfZf6me0A==}
- dependencies:
- '@types/estree': 1.0.5
- dev: true
-
- /@types/estree-jsx@1.0.5:
- resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==}
- dependencies:
- '@types/estree': 1.0.5
- dev: true
-
- /@types/estree@1.0.5:
- resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
- dev: true
-
- /@types/glob@7.2.0:
- resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==}
- dependencies:
- '@types/minimatch': 5.1.2
- '@types/node': 20.11.30
- dev: true
-
- /@types/hast@2.3.10:
- resolution: {integrity: sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==}
- dependencies:
- '@types/unist': 2.0.10
- dev: true
-
- /@types/hast@3.0.4:
- resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==}
- dependencies:
- '@types/unist': 3.0.2
- dev: true
-
- /@types/http-cache-semantics@4.0.4:
- resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==}
- dev: true
-
- /@types/json-schema@7.0.15:
- resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
- dev: true
-
- /@types/keyv@3.1.4:
- resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==}
- dependencies:
- '@types/node': 20.11.30
- dev: true
-
- /@types/mdast@3.0.15:
- resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==}
- dependencies:
- '@types/unist': 2.0.10
- dev: true
-
- /@types/mdast@4.0.3:
- resolution: {integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==}
- dependencies:
- '@types/unist': 3.0.2
- dev: true
-
- /@types/mdurl@1.0.5:
- resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==}
- dev: true
-
- /@types/mdx@2.0.12:
- resolution: {integrity: sha512-H9VZ9YqE+H28FQVchC83RCs5xQ2J7mAAv6qdDEaWmXEVl3OpdH+xfrSUzQ1lp7U7oSTRZ0RvW08ASPJsYBi7Cw==}
- dev: true
-
- /@types/minimatch@5.1.2:
- resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==}
- dev: true
-
- /@types/ms@0.7.34:
- resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==}
- dev: true
-
- /@types/node-fetch@2.6.3:
- resolution: {integrity: sha512-ETTL1mOEdq/sxUtgtOhKjyB2Irra4cjxksvcMUR5Zr4n+PxVhsCD9WS46oPbHL3et9Zde7CNRr+WUNlcHvsX+w==}
- dependencies:
- '@types/node': 20.11.30
- form-data: 3.0.1
- dev: true
-
- /@types/node@14.18.33:
- resolution: {integrity: sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==}
- dev: true
-
- /@types/node@20.11.30:
- resolution: {integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==}
- dependencies:
- undici-types: 5.26.5
- dev: true
-
- /@types/prop-types@15.7.12:
- resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==}
- dev: true
-
- /@types/react-dom@18.2.23:
- resolution: {integrity: sha512-ZQ71wgGOTmDYpnav2knkjr3qXdAFu0vsk8Ci5w3pGAIdj7/kKAyn+VsQDhXsmzzzepAiI9leWMmubXz690AI/A==}
- dependencies:
- '@types/react': 18.2.73
- dev: true
-
- /@types/react@18.2.73:
- resolution: {integrity: sha512-XcGdod0Jjv84HOC7N5ziY3x+qL0AfmubvKOZ9hJjJ2yd5EE+KYjWhdOjt387e9HPheHkdggF9atTifMRtyAaRA==}
- dependencies:
- '@types/prop-types': 15.7.12
- csstype: 3.1.3
- dev: true
-
- /@types/responselike@1.0.3:
- resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==}
- dependencies:
- '@types/node': 20.11.30
- dev: true
-
- /@types/semver@7.5.8:
- resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==}
- dev: true
-
- /@types/unist@2.0.10:
- resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==}
- dev: true
-
- /@types/unist@3.0.2:
- resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==}
- dev: true
-
- /@typescript-eslint/eslint-plugin@7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.3.3):
- resolution: {integrity: sha512-yHMQ/oFaM7HZdVrVm/M2WHaNPgyuJH4WelkSVEWSSsir34kxW2kDJCxlXRhhGWEsMN0WAW/vLpKfKVcm8k+MPw==}
- engines: {node: ^18.18.0 || >=20.0.0}
- peerDependencies:
- '@typescript-eslint/parser': ^7.0.0
- eslint: ^8.56.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
- dependencies:
- '@eslint-community/regexpp': 4.10.0
- '@typescript-eslint/parser': 7.4.0(eslint@8.57.0)(typescript@5.3.3)
- '@typescript-eslint/scope-manager': 7.4.0
- '@typescript-eslint/type-utils': 7.4.0(eslint@8.57.0)(typescript@5.3.3)
- '@typescript-eslint/utils': 7.4.0(eslint@8.57.0)(typescript@5.3.3)
- '@typescript-eslint/visitor-keys': 7.4.0
- debug: 4.3.4
- eslint: 8.57.0
- graphemer: 1.4.0
- ignore: 5.3.1
- natural-compare: 1.4.0
- semver: 7.6.0
- ts-api-utils: 1.3.0(typescript@5.3.3)
- typescript: 5.3.3
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@typescript-eslint/parser@7.4.0(eslint@8.57.0)(typescript@5.3.3):
- resolution: {integrity: sha512-ZvKHxHLusweEUVwrGRXXUVzFgnWhigo4JurEj0dGF1tbcGh6buL+ejDdjxOQxv6ytcY1uhun1p2sm8iWStlgLQ==}
- engines: {node: ^18.18.0 || >=20.0.0}
- peerDependencies:
- eslint: ^8.56.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
- dependencies:
- '@typescript-eslint/scope-manager': 7.4.0
- '@typescript-eslint/types': 7.4.0
- '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.3.3)
- '@typescript-eslint/visitor-keys': 7.4.0
- debug: 4.3.4
- eslint: 8.57.0
- typescript: 5.3.3
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@typescript-eslint/scope-manager@7.4.0:
- resolution: {integrity: sha512-68VqENG5HK27ypafqLVs8qO+RkNc7TezCduYrx8YJpXq2QGZ30vmNZGJJJC48+MVn4G2dCV8m5ZTVnzRexTVtw==}
- engines: {node: ^18.18.0 || >=20.0.0}
- dependencies:
- '@typescript-eslint/types': 7.4.0
- '@typescript-eslint/visitor-keys': 7.4.0
- dev: true
-
- /@typescript-eslint/type-utils@7.4.0(eslint@8.57.0)(typescript@5.3.3):
- resolution: {integrity: sha512-247ETeHgr9WTRMqHbbQdzwzhuyaJ8dPTuyuUEMANqzMRB1rj/9qFIuIXK7l0FX9i9FXbHeBQl/4uz6mYuCE7Aw==}
- engines: {node: ^18.18.0 || >=20.0.0}
- peerDependencies:
- eslint: ^8.56.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
- dependencies:
- '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.3.3)
- '@typescript-eslint/utils': 7.4.0(eslint@8.57.0)(typescript@5.3.3)
- debug: 4.3.4
- eslint: 8.57.0
- ts-api-utils: 1.3.0(typescript@5.3.3)
- typescript: 5.3.3
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@typescript-eslint/types@7.4.0:
- resolution: {integrity: sha512-mjQopsbffzJskos5B4HmbsadSJQWaRK0UxqQ7GuNA9Ga4bEKeiO6b2DnB6cM6bpc8lemaPseh0H9B/wyg+J7rw==}
- engines: {node: ^18.18.0 || >=20.0.0}
- dev: true
-
- /@typescript-eslint/typescript-estree@7.4.0(typescript@5.3.3):
- resolution: {integrity: sha512-A99j5AYoME/UBQ1ucEbbMEmGkN7SE0BvZFreSnTd1luq7yulcHdyGamZKizU7canpGDWGJ+Q6ZA9SyQobipePg==}
- engines: {node: ^18.18.0 || >=20.0.0}
- peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
- dependencies:
- '@typescript-eslint/types': 7.4.0
- '@typescript-eslint/visitor-keys': 7.4.0
- debug: 4.3.4
- globby: 11.1.0
- is-glob: 4.0.3
- minimatch: 9.0.3
- semver: 7.6.0
- ts-api-utils: 1.3.0(typescript@5.3.3)
- typescript: 5.3.3
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@typescript-eslint/utils@7.4.0(eslint@8.57.0)(typescript@5.3.3):
- resolution: {integrity: sha512-NQt9QLM4Tt8qrlBVY9lkMYzfYtNz8/6qwZg8pI3cMGlPnj6mOpRxxAm7BMJN9K0AiY+1BwJ5lVC650YJqYOuNg==}
- engines: {node: ^18.18.0 || >=20.0.0}
- peerDependencies:
- eslint: ^8.56.0
- dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
- '@types/json-schema': 7.0.15
- '@types/semver': 7.5.8
- '@typescript-eslint/scope-manager': 7.4.0
- '@typescript-eslint/types': 7.4.0
- '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.3.3)
- eslint: 8.57.0
- semver: 7.6.0
- transitivePeerDependencies:
- - supports-color
- - typescript
- dev: true
-
- /@typescript-eslint/visitor-keys@7.4.0:
- resolution: {integrity: sha512-0zkC7YM0iX5Y41homUUeW1CHtZR01K3ybjM1l6QczoMuay0XKtrb93kv95AxUGwdjGr64nNqnOCwmEl616N8CA==}
- engines: {node: ^18.18.0 || >=20.0.0}
- dependencies:
- '@typescript-eslint/types': 7.4.0
- eslint-visitor-keys: 3.4.3
- dev: true
-
- /@ungap/structured-clone@1.2.0:
- resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
- dev: true
-
- /@vanilla-extract/babel-plugin-debug-ids@1.0.5:
- resolution: {integrity: sha512-Rc9A6ylsw7EBErmpgqCMvc/Z/eEZxI5k1xfLQHw7f5HHh3oc5YfzsAsYU/PdmSNjF1dp3sGEViBdDltvwnfVaA==}
- dependencies:
- '@babel/core': 7.24.3
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@vanilla-extract/css@1.14.2:
- resolution: {integrity: sha512-OasEW4ojGqqRiUpsyEDUMrSkLnmwbChtafkogpCZ1eDAgAZ9eY9CHLYodj2nB8aV5T25kQ5shm92k25ngjYhhg==}
- dependencies:
- '@emotion/hash': 0.9.1
- '@vanilla-extract/private': 1.0.4
- chalk: 4.1.2
- css-what: 6.1.0
- cssesc: 3.0.0
- csstype: 3.1.3
- deep-object-diff: 1.1.9
- deepmerge: 4.3.1
- media-query-parser: 2.0.2
- modern-ahocorasick: 1.0.1
- outdent: 0.8.0
- dev: true
-
- /@vanilla-extract/integration@6.5.0(@types/node@20.11.30):
- resolution: {integrity: sha512-E2YcfO8vA+vs+ua+gpvy1HRqvgWbI+MTlUpxA8FvatOvybuNcWAY0CKwQ/Gpj7rswYKtC6C7+xw33emM6/ImdQ==}
- dependencies:
- '@babel/core': 7.24.3
- '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.3)
- '@vanilla-extract/babel-plugin-debug-ids': 1.0.5
- '@vanilla-extract/css': 1.14.2
- esbuild: 0.17.6
- eval: 0.1.8
- find-up: 5.0.0
- javascript-stringify: 2.1.0
- lodash: 4.17.21
- mlly: 1.6.1
- outdent: 0.8.0
- vite: 5.2.7(@types/node@20.11.30)
- vite-node: 1.4.0(@types/node@20.11.30)
- transitivePeerDependencies:
- - '@types/node'
- - less
- - lightningcss
- - sass
- - stylus
- - sugarss
- - supports-color
- - terser
- dev: true
-
- /@vanilla-extract/private@1.0.4:
- resolution: {integrity: sha512-8FGD6AejeC/nXcblgNCM5rnZb9KXa4WNkR03HCWtdJBpANjTgjHEglNLFnhuvdQ78tC6afaxBPI+g7F2NX3tgg==}
- dev: true
-
- /@vercel/build-utils@6.7.3:
- resolution: {integrity: sha512-BCu5zX8MhzXAvd7X1Hn6b8blSTzKyY7JAEAdT5+FcB8e5fTs4bIQmYNc9JMeCqUgtisSpJvDAt69OLYP/aqEKw==}
- dev: true
-
- /@vercel/error-utils@1.0.8:
- resolution: {integrity: sha512-s+f7jP2oH1koICbQ8e3K9hOpOeUct7rbCnF9qsNwXemq850wAh2e90tp9R6oYBM0BNpiLRRm+oG5zD2sCIm3HQ==}
- dev: true
-
- /@vercel/gatsby-plugin-vercel-analytics@1.0.10:
- resolution: {integrity: sha512-v329WHdtIce+y7oAmaWRvEx59Xfo0FxlQqK4BJG0u6VWYoKWPaflohDAiehIZf/YHCRVb59ZxnzmMOcm/LR8YQ==}
- dependencies:
- '@babel/runtime': 7.12.1
- web-vitals: 0.2.4
- dev: true
-
- /@vercel/gatsby-plugin-vercel-builder@1.3.5:
- resolution: {integrity: sha512-pZgLNDJTc7qxgzoMkalqFstWo0JVAd4i8MupajRbMQV+Ve5TZcUv3pGn3HcjrjQVZ3fjN5KWnJOiHdXTUCHHAQ==}
- dependencies:
- '@sinclair/typebox': 0.25.24
- '@vercel/build-utils': 6.7.3
- '@vercel/node': 2.14.3
- '@vercel/routing-utils': 2.2.1
- esbuild: 0.14.47
- etag: 1.8.1
- fs-extra: 11.1.0
- transitivePeerDependencies:
- - '@swc/core'
- - '@swc/wasm'
- - bufferutil
- - encoding
- - utf-8-validate
- dev: true
-
- /@vercel/go@2.5.1:
- resolution: {integrity: sha512-yZGzzGmVXt2Rsy1cR0EDbst0fMhdELQY8c3jXy6/FTWJFG1e/40JYksu+WiRCxRBp8e7zfcxMrv0dN8JWRmbPQ==}
- dev: true
-
- /@vercel/hydrogen@0.0.64:
- resolution: {integrity: sha512-1rzFB664G6Yzp7j4ezW9hvVjqnaU2BhyUdhchbsxtRuxkMpGgPBZKhjzRQHFvlmkz37XLC658T5Nb1P91b4sBw==}
- dev: true
-
- /@vercel/next@3.8.5:
- resolution: {integrity: sha512-ywD5cDytlCgcTdVTajamU1vpWJZbpDteC0sCxfCGFdlIdaMi3Nh8cv3G1SNWuXd7GbHsSFeQ6S4iVJxWVy84Yg==}
- dev: true
-
- /@vercel/nft@0.22.5:
- resolution: {integrity: sha512-mug57Wd1BL7GMj9gXMgMeKUjdqO0e4u+0QLPYMFE1rwdJ+55oPy6lp3nIBCS8gOvigT62UI4QKUL2sGqcoW4Hw==}
- engines: {node: '>=14'}
- hasBin: true
- dependencies:
- '@mapbox/node-pre-gyp': 1.0.11
- '@rollup/pluginutils': 4.2.1
- acorn: 8.11.3
- async-sema: 3.1.1
- bindings: 1.5.0
- estree-walker: 2.0.2
- glob: 7.2.3
- graceful-fs: 4.2.11
- micromatch: 4.0.5
- node-gyp-build: 4.8.0
- resolve-from: 5.0.0
- transitivePeerDependencies:
- - encoding
- - supports-color
- dev: true
-
- /@vercel/node@2.14.3:
- resolution: {integrity: sha512-XEoMTQvqQC11hItfDsTegtBA66jTFXA7PTyI2QHASpoAQFMGcx91XI/sTPvxgK/1u+eXjxpiv6OU3l4/i27G4Q==}
- dependencies:
- '@edge-runtime/vm': 2.0.0
- '@types/node': 14.18.33
- '@types/node-fetch': 2.6.3
- '@vercel/build-utils': 6.7.3
- '@vercel/error-utils': 1.0.8
- '@vercel/static-config': 2.0.17
- async-listen: 3.0.0
- edge-runtime: 2.1.4
- esbuild: 0.14.47
- exit-hook: 2.2.1
- node-fetch: 2.6.9
- path-to-regexp: 6.2.1
- ts-morph: 12.0.0
- ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.9.5)
- typescript: 4.9.5
- ws: 8.13.0
- transitivePeerDependencies:
- - '@swc/core'
- - '@swc/wasm'
- - bufferutil
- - encoding
- - utf-8-validate
- dev: true
-
- /@vercel/python@3.1.60:
- resolution: {integrity: sha512-1aYinyTfejS8Us+sOum+RQPYcre0vF3XoL7ohL170ZCcHA0l35qV0b1slGAmLt3pqaHKYy3g/nkzUhuR8XXIrQ==}
- dev: true
-
- /@vercel/redwood@1.1.15:
- resolution: {integrity: sha512-j0XaXe4ZpGVHG7XQSmZ3kza6s+ZtOBfRhnSxA70yCkrvPNN3tZgF3fevSKXizfL9fzVDd7Tdj++SCGWMdGfsyA==}
- dependencies:
- '@vercel/nft': 0.22.5
- '@vercel/routing-utils': 2.2.1
- semver: 6.1.1
- transitivePeerDependencies:
- - encoding
- - supports-color
- dev: true
-
- /@vercel/remix-builder@1.8.10(@types/node@20.11.30):
- resolution: {integrity: sha512-DXOjz/4HUawFojrbK9AQq1sjA2YxGbG8/bTTwSdqdYJZv0QgeK1vkOioxLmQP5qzZ7DQNK+LgSn9oMrX3Bq/lA==}
- dependencies:
- '@remix-run/dev': /@vercel/remix-run-dev@1.16.1(@types/node@20.11.30)
- '@vercel/build-utils': 6.7.3
- '@vercel/nft': 0.22.5
- '@vercel/static-config': 2.0.17
- path-to-regexp: 6.2.1
- semver: 7.3.8
- ts-morph: 12.0.0
- transitivePeerDependencies:
- - '@remix-run/serve'
- - '@types/node'
- - bluebird
- - bufferutil
- - encoding
- - less
- - lightningcss
- - sass
- - stylus
- - sugarss
- - supports-color
- - terser
- - ts-node
- - utf-8-validate
- dev: true
-
- /@vercel/remix-run-dev@1.16.1(@types/node@20.11.30):
- resolution: {integrity: sha512-b+gIUNqW9JwPKHSfGs0ylMk9U80dbvEmkjczNmyWvO7r1tz8O9dEmTUmbJ22/aRPPJQ/aEYosqP7UNJtDvieqw==}
- engines: {node: '>=14'}
- hasBin: true
- peerDependencies:
- '@remix-run/serve': ^1.16.1
- peerDependenciesMeta:
- '@remix-run/serve':
- optional: true
- dependencies:
- '@babel/core': 7.24.3
- '@babel/generator': 7.24.1
- '@babel/parser': 7.24.1
- '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3)
- '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.3)
- '@babel/preset-env': 7.24.3(@babel/core@7.24.3)
- '@babel/preset-typescript': 7.24.1(@babel/core@7.24.3)
- '@babel/traverse': 7.24.1
- '@babel/types': 7.24.0
- '@npmcli/package-json': 2.0.0
- '@remix-run/server-runtime': 1.16.1
- '@vanilla-extract/integration': 6.5.0(@types/node@20.11.30)
- arg: 5.0.2
- cacache: 15.3.0
- chalk: 4.1.2
- chokidar: 3.6.0
- dotenv: 16.4.5
- esbuild: 0.17.6
- esbuild-plugin-polyfill-node: 0.2.0(esbuild@0.17.6)
- execa: 5.1.1
- exit-hook: 2.2.1
- express: 4.19.2
- fast-glob: 3.2.11
- fs-extra: 10.1.0
- get-port: 5.1.1
- gunzip-maybe: 1.4.2
- inquirer: 8.2.6
- jsesc: 3.0.2
- json5: 2.2.3
- lodash: 4.17.21
- lodash.debounce: 4.0.8
- lru-cache: 7.18.3
- minimatch: 9.0.3
- node-fetch: 2.7.0
- ora: 5.4.1
- postcss: 8.4.38
- postcss-discard-duplicates: 5.1.0(postcss@8.4.38)
- postcss-load-config: 4.0.2(postcss@8.4.38)
- postcss-modules: 6.0.0(postcss@8.4.38)
- prettier: 2.7.1
- pretty-ms: 7.0.1
- proxy-agent: 5.0.0
- react-refresh: 0.14.0
- recast: 0.21.5
- remark-frontmatter: 4.0.1
- remark-mdx-frontmatter: 1.1.1
- semver: 7.6.0
- sort-package-json: 1.57.0
- tar-fs: 2.1.1
- tsconfig-paths: 4.2.0
- ws: 7.5.9
- xdm: 2.1.0
- transitivePeerDependencies:
- - '@types/node'
- - bluebird
- - bufferutil
- - encoding
- - less
- - lightningcss
- - sass
- - stylus
- - sugarss
- - supports-color
- - terser
- - ts-node
- - utf-8-validate
- dev: true
-
- /@vercel/routing-utils@2.2.1:
- resolution: {integrity: sha512-kzMZsvToDCDskNRZD71B9UAgstec7ujmlGH8cBEo6F/07VaFeji6GQdgd6Zwnrj+TvzQBggKoPQR64VkVY8Lzw==}
- dependencies:
- path-to-regexp: 6.1.0
- optionalDependencies:
- ajv: 6.12.6
- dev: true
-
- /@vercel/ruby@1.3.76:
- resolution: {integrity: sha512-J8I0B7wAn8piGoPhBroBfJWgMEJTMEL/2o8MCoCyWdaE7MRtpXhI10pj8IvcUvAECoGJ+SM1Pm+SvBqtbtZ5FQ==}
- dev: true
-
- /@vercel/static-build@1.3.32:
- resolution: {integrity: sha512-pFZ9dG/Ixm72o8ZGc5G78zUsgHUm5t9V6Ob/RI6KtDz+LP3iIXt7Mh0SLd4hWb553i2vgywe5T1KMPyuy3tOvw==}
- dependencies:
- '@vercel/gatsby-plugin-vercel-analytics': 1.0.10
- '@vercel/gatsby-plugin-vercel-builder': 1.3.5
- transitivePeerDependencies:
- - '@swc/core'
- - '@swc/wasm'
- - bufferutil
- - encoding
- - utf-8-validate
- dev: true
-
- /@vercel/static-config@2.0.17:
- resolution: {integrity: sha512-2f50OTVrN07x7pH+XNW0e7cj7T+Ufg+19+a2N3/XZBjQmV+FaMlmSLiaQ4tBxp2H8lWWHzENua7ZSSQPtRZ3/A==}
- dependencies:
- ajv: 8.6.3
- json-schema-to-ts: 1.6.4
- ts-morph: 12.0.0
- dev: true
-
- /@web3-storage/multipart-parser@1.0.0:
- resolution: {integrity: sha512-BEO6al7BYqcnfX15W2cnGR+Q566ACXAT9UQykORCWW80lmkpWsnEob6zJS1ZVBKsSJC8+7vJkHwlp+lXG1UCdw==}
- dev: true
-
- /abbrev@1.1.1:
- resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==}
- dev: true
-
- /accepts@1.3.8:
- resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
- engines: {node: '>= 0.6'}
- dependencies:
- mime-types: 2.1.35
- negotiator: 0.6.3
- dev: true
-
- /acorn-jsx@5.3.2(acorn@8.11.3):
- resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
- peerDependencies:
- acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
- dependencies:
- acorn: 8.11.3
- dev: true
-
- /acorn-walk@8.3.2:
- resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==}
- engines: {node: '>=0.4.0'}
- dev: true
-
- /acorn@8.11.3:
- resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
- engines: {node: '>=0.4.0'}
- hasBin: true
- dev: true
-
- /agent-base@6.0.2:
- resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
- engines: {node: '>= 6.0.0'}
- dependencies:
- debug: 4.3.4
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /aggregate-error@3.1.0:
- resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==}
- engines: {node: '>=8'}
- dependencies:
- clean-stack: 2.2.0
- indent-string: 4.0.0
- dev: true
-
- /ajv@6.12.6:
- resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
- dependencies:
- fast-deep-equal: 3.1.3
- fast-json-stable-stringify: 2.1.0
- json-schema-traverse: 0.4.1
- uri-js: 4.4.1
- dev: true
-
- /ajv@8.6.3:
- resolution: {integrity: sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==}
- dependencies:
- fast-deep-equal: 3.1.3
- json-schema-traverse: 1.0.0
- require-from-string: 2.0.2
- uri-js: 4.4.1
- dev: true
-
- /ansi-escapes@4.3.2:
- resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
- engines: {node: '>=8'}
- dependencies:
- type-fest: 0.21.3
- dev: true
-
- /ansi-regex@5.0.1:
- resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
- engines: {node: '>=8'}
- dev: true
-
- /ansi-regex@6.0.1:
- resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
- engines: {node: '>=12'}
- dev: true
-
- /ansi-styles@3.2.1:
- resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
- engines: {node: '>=4'}
- dependencies:
- color-convert: 1.9.3
- dev: true
-
- /ansi-styles@4.3.0:
- resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
- engines: {node: '>=8'}
- dependencies:
- color-convert: 2.0.1
- dev: true
-
- /ansi-styles@6.2.1:
- resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
- engines: {node: '>=12'}
- dev: true
-
- /any-promise@1.3.0:
- resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
- dev: true
-
- /anymatch@3.1.3:
- resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
- engines: {node: '>= 8'}
- dependencies:
- normalize-path: 3.0.0
- picomatch: 2.3.1
- dev: true
-
- /aproba@2.0.0:
- resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==}
- dev: true
-
- /are-we-there-yet@2.0.0:
- resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==}
- engines: {node: '>=10'}
- dependencies:
- delegates: 1.0.0
- readable-stream: 3.6.2
- dev: true
-
- /arg@4.1.3:
- resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==}
- dev: true
-
- /arg@5.0.2:
- resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
- dev: true
-
- /argparse@2.0.1:
- resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
- dev: true
-
- /array-buffer-byte-length@1.0.1:
- resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- is-array-buffer: 3.0.4
- dev: true
-
- /array-flatten@1.1.1:
- resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
- dev: true
-
- /array-includes@3.1.8:
- resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.23.2
- es-object-atoms: 1.0.0
- get-intrinsic: 1.2.4
- is-string: 1.0.7
- dev: true
-
- /array-union@2.1.0:
- resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
- engines: {node: '>=8'}
- dev: true
-
- /array.prototype.flat@1.3.2:
- resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.23.2
- es-shim-unscopables: 1.0.2
- dev: true
-
- /arraybuffer.prototype.slice@1.0.3:
- resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==}
- engines: {node: '>= 0.4'}
- dependencies:
- array-buffer-byte-length: 1.0.1
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.23.2
- es-errors: 1.3.0
- get-intrinsic: 1.2.4
- is-array-buffer: 3.0.4
- is-shared-array-buffer: 1.0.3
- dev: true
-
- /ast-types@0.13.4:
- resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==}
- engines: {node: '>=4'}
- dependencies:
- tslib: 2.6.2
- dev: true
-
- /ast-types@0.15.2:
- resolution: {integrity: sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==}
- engines: {node: '>=4'}
- dependencies:
- tslib: 2.6.2
- dev: true
-
- /astring@1.8.6:
- resolution: {integrity: sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==}
- hasBin: true
- dev: true
-
- /async-listen@2.0.3:
- resolution: {integrity: sha512-WVLi/FGIQaXyfYyNvmkwKT1RZbkzszLLnmW/gFCc5lbVvN/0QQCWpBwRBk2OWSdkkmKRBc8yD6BrKsjA3XKaSw==}
- engines: {node: '>= 14'}
- dev: true
-
- /async-listen@3.0.0:
- resolution: {integrity: sha512-V+SsTpDqkrWTimiotsyl33ePSjA5/KrithwupuvJ6ztsqPvGv6ge4OredFhPffVXiLN/QUWvE0XcqJaYgt6fOg==}
- engines: {node: '>= 14'}
- dev: true
-
- /async-sema@3.1.1:
- resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==}
- dev: true
-
- /asynckit@0.4.0:
- resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
- dev: true
-
- /autoprefixer@10.4.19(postcss@8.4.38):
- resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==}
- engines: {node: ^10 || ^12 || >=14}
- hasBin: true
- peerDependencies:
- postcss: ^8.1.0
- dependencies:
- browserslist: 4.23.0
- caniuse-lite: 1.0.30001600
- fraction.js: 4.3.7
- normalize-range: 0.1.2
- picocolors: 1.0.0
- postcss: 8.4.38
- postcss-value-parser: 4.2.0
- dev: true
-
- /available-typed-arrays@1.0.7:
- resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- possible-typed-array-names: 1.0.0
- dev: true
-
- /babel-plugin-polyfill-corejs2@0.4.10(@babel/core@7.24.3):
- resolution: {integrity: sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==}
- peerDependencies:
- '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
- dependencies:
- '@babel/compat-data': 7.24.1
- '@babel/core': 7.24.3
- '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3)
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.3):
- resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==}
- peerDependencies:
- '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3)
- core-js-compat: 3.36.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /babel-plugin-polyfill-regenerator@0.6.1(@babel/core@7.24.3):
- resolution: {integrity: sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==}
- peerDependencies:
- '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
- dependencies:
- '@babel/core': 7.24.3
- '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3)
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /bail@2.0.2:
- resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
- dev: true
-
- /balanced-match@1.0.2:
- resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
- dev: true
-
- /base64-js@1.5.1:
- resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
- dev: true
-
- /big.js@5.2.2:
- resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==}
- dev: true
-
- /binary-extensions@2.3.0:
- resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
- engines: {node: '>=8'}
- dev: true
-
- /bindings@1.5.0:
- resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==}
- dependencies:
- file-uri-to-path: 1.0.0
- dev: true
-
- /bl@4.1.0:
- resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
- dependencies:
- buffer: 5.7.1
- inherits: 2.0.4
- readable-stream: 3.6.2
- dev: true
-
- /body-parser@1.20.2:
- resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==}
- engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
- dependencies:
- bytes: 3.1.2
- content-type: 1.0.5
- debug: 2.6.9
- depd: 2.0.0
- destroy: 1.2.0
- http-errors: 2.0.0
- iconv-lite: 0.4.24
- on-finished: 2.4.1
- qs: 6.11.0
- raw-body: 2.5.2
- type-is: 1.6.18
- unpipe: 1.0.0
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /boolbase@1.0.0:
- resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
- dev: true
-
- /brace-expansion@1.1.11:
- resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
- dependencies:
- balanced-match: 1.0.2
- concat-map: 0.0.1
- dev: true
-
- /brace-expansion@2.0.1:
- resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
- dependencies:
- balanced-match: 1.0.2
- dev: true
-
- /braces@3.0.2:
- resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
- engines: {node: '>=8'}
- dependencies:
- fill-range: 7.0.1
- dev: true
-
- /browserify-zlib@0.1.4:
- resolution: {integrity: sha512-19OEpq7vWgsH6WkvkBJQDFvJS1uPcbFOQ4v9CU839dO+ZZXUZO6XpE6hNCqvlIIj+4fZvRiJ6DsAQ382GwiyTQ==}
- dependencies:
- pako: 0.2.9
- dev: true
-
- /browserslist@4.23.0:
- resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==}
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
- hasBin: true
- dependencies:
- caniuse-lite: 1.0.30001600
- electron-to-chromium: 1.4.722
- node-releases: 2.0.14
- update-browserslist-db: 1.0.13(browserslist@4.23.0)
- dev: true
-
- /buffer-from@1.1.2:
- resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
- dev: true
-
- /buffer@5.7.1:
- resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
- dependencies:
- base64-js: 1.5.1
- ieee754: 1.2.1
- dev: true
-
- /bytes@3.1.2:
- resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
- engines: {node: '>= 0.8'}
- dev: true
-
- /cac@6.7.14:
- resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
- engines: {node: '>=8'}
- dev: true
-
- /cacache@15.3.0:
- resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==}
- engines: {node: '>= 10'}
- dependencies:
- '@npmcli/fs': 1.1.1
- '@npmcli/move-file': 1.1.2
- chownr: 2.0.0
- fs-minipass: 2.1.0
- glob: 7.2.3
- infer-owner: 1.0.4
- lru-cache: 6.0.0
- minipass: 3.3.6
- minipass-collect: 1.0.2
- minipass-flush: 1.0.5
- minipass-pipeline: 1.2.4
- mkdirp: 1.0.4
- p-map: 4.0.0
- promise-inflight: 1.0.1
- rimraf: 3.0.2
- ssri: 8.0.1
- tar: 6.2.1
- unique-filename: 1.1.1
- transitivePeerDependencies:
- - bluebird
- dev: true
-
- /cacheable-lookup@5.0.4:
- resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==}
- engines: {node: '>=10.6.0'}
- dev: true
-
- /cacheable-request@7.0.4:
- resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==}
- engines: {node: '>=8'}
- dependencies:
- clone-response: 1.0.3
- get-stream: 5.2.0
- http-cache-semantics: 4.1.1
- keyv: 4.5.4
- lowercase-keys: 2.0.0
- normalize-url: 6.1.0
- responselike: 2.0.1
- dev: true
-
- /call-bind@1.0.7:
- resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
- engines: {node: '>= 0.4'}
- dependencies:
- es-define-property: 1.0.0
- es-errors: 1.3.0
- function-bind: 1.1.2
- get-intrinsic: 1.2.4
- set-function-length: 1.2.2
- dev: true
-
- /callsites@3.1.0:
- resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
- engines: {node: '>=6'}
- dev: true
-
- /camelcase-css@2.0.1:
- resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
- engines: {node: '>= 6'}
- dev: true
-
- /caniuse-lite@1.0.30001600:
- resolution: {integrity: sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==}
- dev: true
-
- /ccount@2.0.1:
- resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
- dev: true
-
- /chalk@2.4.2:
- resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
- engines: {node: '>=4'}
- dependencies:
- ansi-styles: 3.2.1
- escape-string-regexp: 1.0.5
- supports-color: 5.5.0
- dev: true
-
- /chalk@4.1.2:
- resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
- engines: {node: '>=10'}
- dependencies:
- ansi-styles: 4.3.0
- supports-color: 7.2.0
- dev: true
-
- /character-entities-html4@2.1.0:
- resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==}
- dev: true
-
- /character-entities-legacy@3.0.0:
- resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==}
- dev: true
-
- /character-entities@2.0.2:
- resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
- dev: true
-
- /character-reference-invalid@2.0.1:
- resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==}
- dev: true
-
- /chardet@0.7.0:
- resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
- dev: true
-
- /chokidar@3.6.0:
- resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
- engines: {node: '>= 8.10.0'}
- dependencies:
- anymatch: 3.1.3
- braces: 3.0.2
- glob-parent: 5.1.2
- is-binary-path: 2.1.0
- is-glob: 4.0.3
- normalize-path: 3.0.0
- readdirp: 3.6.0
- optionalDependencies:
- fsevents: 2.3.3
- dev: true
-
- /chownr@1.1.4:
- resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==}
- dev: true
-
- /chownr@2.0.0:
- resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
- engines: {node: '>=10'}
- dev: true
-
- /clean-stack@2.2.0:
- resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==}
- engines: {node: '>=6'}
- dev: true
-
- /cli-cursor@3.1.0:
- resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
- engines: {node: '>=8'}
- dependencies:
- restore-cursor: 3.1.0
- dev: true
-
- /cli-spinners@2.9.2:
- resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
- engines: {node: '>=6'}
- dev: true
-
- /cli-width@3.0.0:
- resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==}
- engines: {node: '>= 10'}
- dev: true
-
- /clone-response@1.0.3:
- resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==}
- dependencies:
- mimic-response: 1.0.1
- dev: true
-
- /clone@1.0.4:
- resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
- engines: {node: '>=0.8'}
- dev: true
-
- /code-block-writer@10.1.1:
- resolution: {integrity: sha512-67ueh2IRGst/51p0n6FvPrnRjAGHY5F8xdjkgrYE7DDzpJe6qA07RYQ9VcoUeo5ATOjSOiWpSL3SWBRRbempMw==}
- dev: true
-
- /collapse-white-space@2.1.0:
- resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==}
- dev: true
-
- /color-convert@1.9.3:
- resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
- dependencies:
- color-name: 1.1.3
- dev: true
-
- /color-convert@2.0.1:
- resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
- engines: {node: '>=7.0.0'}
- dependencies:
- color-name: 1.1.4
- dev: true
-
- /color-name@1.1.3:
- resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
- dev: true
-
- /color-name@1.1.4:
- resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
- dev: true
-
- /color-string@1.9.1:
- resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==}
- dependencies:
- color-name: 1.1.4
- simple-swizzle: 0.2.2
- dev: true
-
- /color-support@1.1.3:
- resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==}
- hasBin: true
- dev: true
-
- /color@4.2.3:
- resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==}
- engines: {node: '>=12.5.0'}
- dependencies:
- color-convert: 2.0.1
- color-string: 1.9.1
- dev: true
-
- /combined-stream@1.0.8:
- resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
- engines: {node: '>= 0.8'}
- dependencies:
- delayed-stream: 1.0.0
- dev: true
-
- /comma-separated-tokens@2.0.3:
- resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
- dev: true
-
- /commander@4.1.1:
- resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
- engines: {node: '>= 6'}
- dev: true
-
- /commander@7.2.0:
- resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
- engines: {node: '>= 10'}
- dev: true
-
- /concat-map@0.0.1:
- resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
- dev: true
-
- /console-control-strings@1.1.0:
- resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==}
- dev: true
-
- /content-disposition@0.5.4:
- resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
- engines: {node: '>= 0.6'}
- dependencies:
- safe-buffer: 5.2.1
- dev: true
-
- /content-type@1.0.5:
- resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
- engines: {node: '>= 0.6'}
- dev: true
-
- /convert-hrtime@3.0.0:
- resolution: {integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==}
- engines: {node: '>=8'}
- dev: true
-
- /convert-source-map@2.0.0:
- resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
- dev: true
-
- /cookie-signature@1.0.6:
- resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
- dev: true
-
- /cookie@0.4.2:
- resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==}
- engines: {node: '>= 0.6'}
- dev: true
-
- /cookie@0.6.0:
- resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
- engines: {node: '>= 0.6'}
- dev: true
-
- /core-js-compat@3.36.1:
- resolution: {integrity: sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==}
- dependencies:
- browserslist: 4.23.0
- dev: true
-
- /core-util-is@1.0.3:
- resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
- dev: true
-
- /create-require@1.1.1:
- resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
- dev: true
-
- /cross-spawn@7.0.3:
- resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
- engines: {node: '>= 8'}
- dependencies:
- path-key: 3.1.1
- shebang-command: 2.0.0
- which: 2.0.2
- dev: true
-
- /css-select@5.1.0:
- resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==}
- dependencies:
- boolbase: 1.0.0
- css-what: 6.1.0
- domhandler: 5.0.3
- domutils: 3.1.0
- nth-check: 2.1.1
- dev: true
-
- /css-tree@2.2.1:
- resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==}
- engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
- dependencies:
- mdn-data: 2.0.28
- source-map-js: 1.2.0
- dev: true
-
- /css-tree@2.3.1:
- resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
- engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
- dependencies:
- mdn-data: 2.0.30
- source-map-js: 1.2.0
- dev: true
-
- /css-what@6.1.0:
- resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
- engines: {node: '>= 6'}
- dev: true
-
- /cssesc@3.0.0:
- resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
- engines: {node: '>=4'}
- hasBin: true
- dev: true
-
- /csso@5.0.5:
- resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==}
- engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
- dependencies:
- css-tree: 2.2.1
- dev: true
-
- /csstype@3.1.3:
- resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
- dev: true
-
- /data-uri-to-buffer@3.0.1:
- resolution: {integrity: sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==}
- engines: {node: '>= 6'}
- dev: true
-
- /data-view-buffer@1.0.1:
- resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- is-data-view: 1.0.1
- dev: true
-
- /data-view-byte-length@1.0.1:
- resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- is-data-view: 1.0.1
- dev: true
-
- /data-view-byte-offset@1.0.0:
- resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- is-data-view: 1.0.1
- dev: true
-
- /deasync@0.1.29:
- resolution: {integrity: sha512-EBtfUhVX23CE9GR6m+F8WPeImEE4hR/FW9RkK0PMl9V1t283s0elqsTD8EZjaKX28SY1BW2rYfCgNsAYdpamUw==}
- engines: {node: '>=0.11.0'}
- requiresBuild: true
- dependencies:
- bindings: 1.5.0
- node-addon-api: 1.7.2
- dev: true
- optional: true
-
- /debug@2.6.9:
- resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
- dependencies:
- ms: 2.0.0
- dev: true
-
- /debug@4.3.4:
- resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
- engines: {node: '>=6.0'}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
- dependencies:
- ms: 2.1.2
- dev: true
-
- /decode-named-character-reference@1.0.2:
- resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==}
- dependencies:
- character-entities: 2.0.2
- dev: true
-
- /decompress-response@6.0.0:
- resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
- engines: {node: '>=10'}
- dependencies:
- mimic-response: 3.1.0
- dev: true
-
- /deep-is@0.1.4:
- resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
- dev: true
-
- /deep-object-diff@1.1.9:
- resolution: {integrity: sha512-Rn+RuwkmkDwCi2/oXOFS9Gsr5lJZu/yTGpK7wAaAIE75CC+LCGEZHpY6VQJa/RoJcrmaA/docWJZvYohlNkWPA==}
- dev: true
-
- /deepmerge@4.3.1:
- resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /defaults@1.0.4:
- resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==}
- dependencies:
- clone: 1.0.4
- dev: true
-
- /defer-to-connect@2.0.1:
- resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==}
- engines: {node: '>=10'}
- dev: true
-
- /define-data-property@1.1.4:
- resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
- engines: {node: '>= 0.4'}
- dependencies:
- es-define-property: 1.0.0
- es-errors: 1.3.0
- gopd: 1.0.1
- dev: true
-
- /define-properties@1.2.1:
- resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
- engines: {node: '>= 0.4'}
- dependencies:
- define-data-property: 1.1.4
- has-property-descriptors: 1.0.2
- object-keys: 1.1.1
- dev: true
-
- /degenerator@3.0.4:
- resolution: {integrity: sha512-Z66uPeBfHZAHVmue3HPfyKu2Q0rC2cRxbTOsvmU/po5fvvcx27W4mIu9n0PUlQih4oUYvcG1BsbtVv8x7KDOSw==}
- engines: {node: '>= 6'}
- dependencies:
- ast-types: 0.13.4
- escodegen: 1.14.3
- esprima: 4.0.1
- vm2: 3.9.19
- dev: true
-
- /delayed-stream@1.0.0:
- resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
- engines: {node: '>=0.4.0'}
- dev: true
-
- /delegates@1.0.0:
- resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==}
- dev: true
-
- /depd@2.0.0:
- resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
- engines: {node: '>= 0.8'}
- dev: true
-
- /dequal@2.0.3:
- resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
- engines: {node: '>=6'}
- dev: true
-
- /destroy@1.2.0:
- resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
- engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
- dev: true
-
- /detect-indent@6.1.0:
- resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==}
- engines: {node: '>=8'}
- dev: true
-
- /detect-libc@2.0.3:
- resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==}
- engines: {node: '>=8'}
- dev: true
-
- /detect-newline@3.1.0:
- resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==}
- engines: {node: '>=8'}
- dev: true
-
- /devlop@1.1.0:
- resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
- dependencies:
- dequal: 2.0.3
- dev: true
-
- /didyoumean@1.2.2:
- resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
- dev: true
-
- /diff@4.0.2:
- resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==}
- engines: {node: '>=0.3.1'}
- dev: true
-
- /diff@5.2.0:
- resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==}
- engines: {node: '>=0.3.1'}
- dev: true
-
- /dir-glob@3.0.1:
- resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
- engines: {node: '>=8'}
- dependencies:
- path-type: 4.0.0
- dev: true
-
- /dlv@1.1.3:
- resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
- dev: true
-
- /doctrine@3.0.0:
- resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
- engines: {node: '>=6.0.0'}
- dependencies:
- esutils: 2.0.3
- dev: true
-
- /dom-serializer@2.0.0:
- resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
- dependencies:
- domelementtype: 2.3.0
- domhandler: 5.0.3
- entities: 4.5.0
- dev: true
-
- /domelementtype@2.3.0:
- resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
- dev: true
-
- /domhandler@5.0.3:
- resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
- engines: {node: '>= 4'}
- dependencies:
- domelementtype: 2.3.0
- dev: true
-
- /domutils@3.1.0:
- resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==}
- dependencies:
- dom-serializer: 2.0.0
- domelementtype: 2.3.0
- domhandler: 5.0.3
- dev: true
-
- /dotenv@16.4.5:
- resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==}
- engines: {node: '>=12'}
- dev: true
-
- /duplexify@3.7.1:
- resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==}
- dependencies:
- end-of-stream: 1.4.4
- inherits: 2.0.4
- readable-stream: 2.3.8
- stream-shift: 1.0.3
- dev: true
-
- /eastasianwidth@0.2.0:
- resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
- dev: true
-
- /edge-runtime@2.1.4:
- resolution: {integrity: sha512-SertKByzAmjm+MkLbFl1q0ko+/90V24dhZgQM8fcdguQaDYVEVtb6okEBGeg8IQgL1/JUP8oSlUIxSI/bvsVRQ==}
- engines: {node: '>=14'}
- hasBin: true
- dependencies:
- '@edge-runtime/format': 2.0.1
- '@edge-runtime/vm': 2.1.2
- async-listen: 2.0.3
- exit-hook: 2.2.1
- mri: 1.2.0
- picocolors: 1.0.0
- pretty-bytes: 5.6.0
- pretty-ms: 7.0.1
- time-span: 4.0.0
- dev: true
-
- /ee-first@1.1.1:
- resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
- dev: true
-
- /electron-to-chromium@1.4.722:
- resolution: {integrity: sha512-5nLE0TWFFpZ80Crhtp4pIp8LXCztjYX41yUcV6b+bKR2PqzjskTMOOlBi1VjBHlvHwS+4gar7kNKOrsbsewEZQ==}
- dev: true
-
- /emoji-regex@8.0.0:
- resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
- dev: true
-
- /emoji-regex@9.2.2:
- resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
- dev: true
-
- /emojis-list@3.0.0:
- resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==}
- engines: {node: '>= 4'}
- dev: true
-
- /encodeurl@1.0.2:
- resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
- engines: {node: '>= 0.8'}
- dev: true
-
- /end-of-stream@1.4.4:
- resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
- dependencies:
- once: 1.4.0
- dev: true
-
- /entities@4.5.0:
- resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
- engines: {node: '>=0.12'}
- dev: true
-
- /es-abstract@1.23.2:
- resolution: {integrity: sha512-60s3Xv2T2p1ICykc7c+DNDPLDMm9t4QxCOUU0K9JxiLjM3C1zB9YVdN7tjxrFd4+AkZ8CdX1ovUga4P2+1e+/w==}
- engines: {node: '>= 0.4'}
- dependencies:
- array-buffer-byte-length: 1.0.1
- arraybuffer.prototype.slice: 1.0.3
- available-typed-arrays: 1.0.7
- call-bind: 1.0.7
- data-view-buffer: 1.0.1
- data-view-byte-length: 1.0.1
- data-view-byte-offset: 1.0.0
- es-define-property: 1.0.0
- es-errors: 1.3.0
- es-object-atoms: 1.0.0
- es-set-tostringtag: 2.0.3
- es-to-primitive: 1.2.1
- function.prototype.name: 1.1.6
- get-intrinsic: 1.2.4
- get-symbol-description: 1.0.2
- globalthis: 1.0.3
- gopd: 1.0.1
- has-property-descriptors: 1.0.2
- has-proto: 1.0.3
- has-symbols: 1.0.3
- hasown: 2.0.2
- internal-slot: 1.0.7
- is-array-buffer: 3.0.4
- is-callable: 1.2.7
- is-data-view: 1.0.1
- is-negative-zero: 2.0.3
- is-regex: 1.1.4
- is-shared-array-buffer: 1.0.3
- is-string: 1.0.7
- is-typed-array: 1.1.13
- is-weakref: 1.0.2
- object-inspect: 1.13.1
- object-keys: 1.1.1
- object.assign: 4.1.5
- regexp.prototype.flags: 1.5.2
- safe-array-concat: 1.1.2
- safe-regex-test: 1.0.3
- string.prototype.trim: 1.2.9
- string.prototype.trimend: 1.0.8
- string.prototype.trimstart: 1.0.8
- typed-array-buffer: 1.0.2
- typed-array-byte-length: 1.0.1
- typed-array-byte-offset: 1.0.2
- typed-array-length: 1.0.6
- unbox-primitive: 1.0.2
- which-typed-array: 1.1.15
- dev: true
-
- /es-define-property@1.0.0:
- resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- get-intrinsic: 1.2.4
- dev: true
-
- /es-errors@1.3.0:
- resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
- engines: {node: '>= 0.4'}
- dev: true
-
- /es-object-atoms@1.0.0:
- resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==}
- engines: {node: '>= 0.4'}
- dependencies:
- es-errors: 1.3.0
- dev: true
-
- /es-set-tostringtag@2.0.3:
- resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- get-intrinsic: 1.2.4
- has-tostringtag: 1.0.2
- hasown: 2.0.2
- dev: true
-
- /es-shim-unscopables@1.0.2:
- resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==}
- dependencies:
- hasown: 2.0.2
- dev: true
-
- /es-to-primitive@1.2.1:
- resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
- engines: {node: '>= 0.4'}
- dependencies:
- is-callable: 1.2.7
- is-date-object: 1.0.5
- is-symbol: 1.0.4
- dev: true
-
- /esbuild-android-64@0.14.47:
- resolution: {integrity: sha512-R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-android-arm64@0.14.47:
- resolution: {integrity: sha512-OkwOjj7ts4lBp/TL6hdd8HftIzOy/pdtbrNA4+0oVWgGG64HrdVzAF5gxtJufAPOsEjkyh1oIYvKAUinKKQRSQ==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-darwin-64@0.14.47:
- resolution: {integrity: sha512-R6oaW0y5/u6Eccti/TS6c/2c1xYTb1izwK3gajJwi4vIfNs1s8B1dQzI1UiC9T61YovOQVuePDcfqHLT3mUZJA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-darwin-arm64@0.14.47:
- resolution: {integrity: sha512-seCmearlQyvdvM/noz1L9+qblC5vcBrhUaOoLEDDoLInF/VQ9IkobGiLlyTPYP5dW1YD4LXhtBgOyevoIHGGnw==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-freebsd-64@0.14.47:
- resolution: {integrity: sha512-ZH8K2Q8/Ux5kXXvQMDsJcxvkIwut69KVrYQhza/ptkW50DC089bCVrJZZ3sKzIoOx+YPTrmsZvqeZERjyYrlvQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-freebsd-arm64@0.14.47:
- resolution: {integrity: sha512-ZJMQAJQsIOhn3XTm7MPQfCzEu5b9STNC+s90zMWe2afy9EwnHV7Ov7ohEMv2lyWlc2pjqLW8QJnz2r0KZmeAEQ==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-linux-32@0.14.47:
- resolution: {integrity: sha512-FxZOCKoEDPRYvq300lsWCTv1kcHgiiZfNrPtEhFAiqD7QZaXrad8LxyJ8fXGcWzIFzRiYZVtB3ttvITBvAFhKw==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-linux-64@0.14.47:
- resolution: {integrity: sha512-nFNOk9vWVfvWYF9YNYksZptgQAdstnDCMtR6m42l5Wfugbzu11VpMCY9XrD4yFxvPo9zmzcoUL/88y0lfJZJJw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-linux-arm64@0.14.47:
- resolution: {integrity: sha512-ywfme6HVrhWcevzmsufjd4iT3PxTfCX9HOdxA7Hd+/ZM23Y9nXeb+vG6AyA6jgq/JovkcqRHcL9XwRNpWG6XRw==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-linux-arm@0.14.47:
- resolution: {integrity: sha512-ZGE1Bqg/gPRXrBpgpvH81tQHpiaGxa8c9Rx/XOylkIl2ypLuOcawXEAo8ls+5DFCcRGt/o3sV+PzpAFZobOsmA==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-linux-mips64le@0.14.47:
- resolution: {integrity: sha512-mg3D8YndZ1LvUiEdDYR3OsmeyAew4MA/dvaEJxvyygahWmpv1SlEEnhEZlhPokjsUMfRagzsEF/d/2XF+kTQGg==}
- engines: {node: '>=12'}
- cpu: [mips64el]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-linux-ppc64le@0.14.47:
- resolution: {integrity: sha512-WER+f3+szmnZiWoK6AsrTKGoJoErG2LlauSmk73LEZFQ/iWC+KhhDsOkn1xBUpzXWsxN9THmQFltLoaFEH8F8w==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-linux-riscv64@0.14.47:
- resolution: {integrity: sha512-1fI6bP3A3rvI9BsaaXbMoaOjLE3lVkJtLxsgLHqlBhLlBVY7UqffWBvkrX/9zfPhhVMd9ZRFiaqXnB1T7BsL2g==}
- engines: {node: '>=12'}
- cpu: [riscv64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-linux-s390x@0.14.47:
- resolution: {integrity: sha512-eZrWzy0xFAhki1CWRGnhsHVz7IlSKX6yT2tj2Eg8lhAwlRE5E96Hsb0M1mPSE1dHGpt1QVwwVivXIAacF/G6mw==}
- engines: {node: '>=12'}
- cpu: [s390x]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-netbsd-64@0.14.47:
- resolution: {integrity: sha512-Qjdjr+KQQVH5Q2Q1r6HBYswFTToPpss3gqCiSw2Fpq/ua8+eXSQyAMG+UvULPqXceOwpnPo4smyZyHdlkcPppQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [netbsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-openbsd-64@0.14.47:
- resolution: {integrity: sha512-QpgN8ofL7B9z8g5zZqJE+eFvD1LehRlxr25PBkjyyasakm4599iroUpaj96rdqRlO2ShuyqwJdr+oNqWwTUmQw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [openbsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-plugin-polyfill-node@0.2.0(esbuild@0.17.6):
- resolution: {integrity: sha512-rpCoK4mag0nehBtFlFMLSuL9bNBLEh8h3wZ/FsrJEDompA/AwOqInx6Xow01+CXAcvZYhkoJ0SIZiS37qkecDA==}
- peerDependencies:
- esbuild: '*'
- dependencies:
- '@jspm/core': 2.0.1
- esbuild: 0.17.6
- import-meta-resolve: 2.2.2
- dev: true
-
- /esbuild-sunos-64@0.14.47:
- resolution: {integrity: sha512-uOeSgLUwukLioAJOiGYm3kNl+1wJjgJA8R671GYgcPgCx7QR73zfvYqXFFcIO93/nBdIbt5hd8RItqbbf3HtAQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [sunos]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-windows-32@0.14.47:
- resolution: {integrity: sha512-H0fWsLTp2WBfKLBgwYT4OTfFly4Im/8B5f3ojDv1Kx//kiubVY0IQunP2Koc/fr/0wI7hj3IiBDbSrmKlrNgLQ==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-windows-64@0.14.47:
- resolution: {integrity: sha512-/Pk5jIEH34T68r8PweKRi77W49KwanZ8X6lr3vDAtOlH5EumPE4pBHqkCUdELanvsT14yMXLQ/C/8XPi1pAtkQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-windows-arm64@0.14.47:
- resolution: {integrity: sha512-HFSW2lnp62fl86/qPQlqw6asIwCnEsEoNIL1h2uVMgakddf+vUuMcCbtUY1i8sst7KkgHrVKCJQB33YhhOweCQ==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild@0.14.47:
- resolution: {integrity: sha512-wI4ZiIfFxpkuxB8ju4MHrGwGLyp1+awEHAHVpx6w7a+1pmYIq8T9FGEVVwFo0iFierDoMj++Xq69GXWYn2EiwA==}
- engines: {node: '>=12'}
- hasBin: true
- requiresBuild: true
- optionalDependencies:
- esbuild-android-64: 0.14.47
- esbuild-android-arm64: 0.14.47
- esbuild-darwin-64: 0.14.47
- esbuild-darwin-arm64: 0.14.47
- esbuild-freebsd-64: 0.14.47
- esbuild-freebsd-arm64: 0.14.47
- esbuild-linux-32: 0.14.47
- esbuild-linux-64: 0.14.47
- esbuild-linux-arm: 0.14.47
- esbuild-linux-arm64: 0.14.47
- esbuild-linux-mips64le: 0.14.47
- esbuild-linux-ppc64le: 0.14.47
- esbuild-linux-riscv64: 0.14.47
- esbuild-linux-s390x: 0.14.47
- esbuild-netbsd-64: 0.14.47
- esbuild-openbsd-64: 0.14.47
- esbuild-sunos-64: 0.14.47
- esbuild-windows-32: 0.14.47
- esbuild-windows-64: 0.14.47
- esbuild-windows-arm64: 0.14.47
- dev: true
-
- /esbuild@0.17.6:
- resolution: {integrity: sha512-TKFRp9TxrJDdRWfSsSERKEovm6v30iHnrjlcGhLBOtReE28Yp1VSBRfO3GTaOFMoxsNerx4TjrhzSuma9ha83Q==}
- engines: {node: '>=12'}
- hasBin: true
- requiresBuild: true
- optionalDependencies:
- '@esbuild/android-arm': 0.17.6
- '@esbuild/android-arm64': 0.17.6
- '@esbuild/android-x64': 0.17.6
- '@esbuild/darwin-arm64': 0.17.6
- '@esbuild/darwin-x64': 0.17.6
- '@esbuild/freebsd-arm64': 0.17.6
- '@esbuild/freebsd-x64': 0.17.6
- '@esbuild/linux-arm': 0.17.6
- '@esbuild/linux-arm64': 0.17.6
- '@esbuild/linux-ia32': 0.17.6
- '@esbuild/linux-loong64': 0.17.6
- '@esbuild/linux-mips64el': 0.17.6
- '@esbuild/linux-ppc64': 0.17.6
- '@esbuild/linux-riscv64': 0.17.6
- '@esbuild/linux-s390x': 0.17.6
- '@esbuild/linux-x64': 0.17.6
- '@esbuild/netbsd-x64': 0.17.6
- '@esbuild/openbsd-x64': 0.17.6
- '@esbuild/sunos-x64': 0.17.6
- '@esbuild/win32-arm64': 0.17.6
- '@esbuild/win32-ia32': 0.17.6
- '@esbuild/win32-x64': 0.17.6
- dev: true
-
- /esbuild@0.20.2:
- resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==}
- engines: {node: '>=12'}
- hasBin: true
- requiresBuild: true
- 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
- dev: true
-
- /escalade@3.1.2:
- resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
- engines: {node: '>=6'}
- dev: true
-
- /escape-html@1.0.3:
- resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
- dev: true
-
- /escape-string-regexp@1.0.5:
- resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
- engines: {node: '>=0.8.0'}
- dev: true
-
- /escape-string-regexp@4.0.0:
- resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
- engines: {node: '>=10'}
- dev: true
-
- /escodegen@1.14.3:
- resolution: {integrity: sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==}
- engines: {node: '>=4.0'}
- hasBin: true
- dependencies:
- esprima: 4.0.1
- estraverse: 4.3.0
- esutils: 2.0.3
- optionator: 0.8.3
- optionalDependencies:
- source-map: 0.6.1
- dev: true
-
- /eslint-plugin-qwik@1.5.1(eslint@8.57.0):
- resolution: {integrity: sha512-FC6rDPdf9nExjCHzFl1YMir23xeibxoooc7KuF3KCaY0A79e/+dWaFn5smQK0dMncIAJPL6No4oKkiMlfjytGQ==}
- engines: {node: '>=16.8.0 <18.0.0 || >=18.11'}
- peerDependencies:
- eslint: ^8.57.0
- dependencies:
- eslint: 8.57.0
- jsx-ast-utils: 3.3.5
- dev: true
-
- /eslint-scope@7.2.2:
- resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dependencies:
- esrecurse: 4.3.0
- estraverse: 5.3.0
- dev: true
-
- /eslint-visitor-keys@3.4.3:
- resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dev: true
-
- /eslint@8.57.0:
- resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- hasBin: true
- dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
- '@eslint-community/regexpp': 4.10.0
- '@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.6
- chalk: 4.1.2
- cross-spawn: 7.0.3
- debug: 4.3.4
- 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.5.0
- esutils: 2.0.3
- fast-deep-equal: 3.1.3
- file-entry-cache: 6.0.1
- find-up: 5.0.0
- glob-parent: 6.0.2
- globals: 13.24.0
- graphemer: 1.4.0
- ignore: 5.3.1
- imurmurhash: 0.1.4
- is-glob: 4.0.3
- 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
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /espree@9.6.1:
- resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dependencies:
- acorn: 8.11.3
- acorn-jsx: 5.3.2(acorn@8.11.3)
- eslint-visitor-keys: 3.4.3
- dev: true
-
- /esprima@4.0.1:
- resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
- engines: {node: '>=4'}
- hasBin: true
- dev: true
-
- /esquery@1.5.0:
- resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
- engines: {node: '>=0.10'}
- dependencies:
- estraverse: 5.3.0
- dev: true
-
- /esrecurse@4.3.0:
- resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
- engines: {node: '>=4.0'}
- dependencies:
- estraverse: 5.3.0
- dev: true
-
- /estraverse@4.3.0:
- resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
- engines: {node: '>=4.0'}
- dev: true
-
- /estraverse@5.3.0:
- resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
- engines: {node: '>=4.0'}
- dev: true
-
- /estree-util-attach-comments@2.1.1:
- resolution: {integrity: sha512-+5Ba/xGGS6mnwFbXIuQiDPTbuTxuMCooq3arVv7gPZtYpjp+VXH/NkHAP35OOefPhNG/UGqU3vt/LTABwcHX0w==}
- dependencies:
- '@types/estree': 1.0.5
- dev: true
-
- /estree-util-attach-comments@3.0.0:
- resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==}
- dependencies:
- '@types/estree': 1.0.5
- dev: true
-
- /estree-util-build-jsx@2.2.2:
- resolution: {integrity: sha512-m56vOXcOBuaF+Igpb9OPAy7f9w9OIkb5yhjsZuaPm7HoGi4oTOQi0h2+yZ+AtKklYFZ+rPC4n0wYCJCEU1ONqg==}
- dependencies:
- '@types/estree-jsx': 1.0.5
- estree-util-is-identifier-name: 2.1.0
- estree-walker: 3.0.3
- dev: true
-
- /estree-util-build-jsx@3.0.1:
- resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==}
- dependencies:
- '@types/estree-jsx': 1.0.5
- devlop: 1.1.0
- estree-util-is-identifier-name: 3.0.0
- estree-walker: 3.0.3
- dev: true
-
- /estree-util-is-identifier-name@1.1.0:
- resolution: {integrity: sha512-OVJZ3fGGt9By77Ix9NhaRbzfbDV/2rx9EP7YIDJTmsZSEc5kYn2vWcNccYyahJL2uAQZK2a5Or2i0wtIKTPoRQ==}
- dev: true
-
- /estree-util-is-identifier-name@2.1.0:
- resolution: {integrity: sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ==}
- dev: true
-
- /estree-util-is-identifier-name@3.0.0:
- resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==}
- dev: true
-
- /estree-util-to-js@2.0.0:
- resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==}
- dependencies:
- '@types/estree-jsx': 1.0.5
- astring: 1.8.6
- source-map: 0.7.4
- dev: true
-
- /estree-util-value-to-estree@1.3.0:
- resolution: {integrity: sha512-Y+ughcF9jSUJvncXwqRageavjrNPAI+1M/L3BI3PyLp1nmgYTGUXU6t5z1Y7OWuThoDdhPME07bQU+d5LxdJqw==}
- engines: {node: '>=12.0.0'}
- dependencies:
- is-plain-obj: 3.0.0
- dev: true
-
- /estree-util-visit@1.2.1:
- resolution: {integrity: sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw==}
- dependencies:
- '@types/estree-jsx': 1.0.5
- '@types/unist': 2.0.10
- dev: true
-
- /estree-util-visit@2.0.0:
- resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==}
- dependencies:
- '@types/estree-jsx': 1.0.5
- '@types/unist': 3.0.2
- dev: true
-
- /estree-walker@2.0.2:
- resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
- dev: true
-
- /estree-walker@3.0.3:
- resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
- dependencies:
- '@types/estree': 1.0.5
- dev: true
-
- /esutils@2.0.3:
- resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /etag@1.8.1:
- resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
- engines: {node: '>= 0.6'}
- dev: true
-
- /eval@0.1.8:
- resolution: {integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==}
- engines: {node: '>= 0.8'}
- dependencies:
- '@types/node': 20.11.30
- require-like: 0.1.2
- dev: true
-
- /execa@5.1.1:
- resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
- engines: {node: '>=10'}
- dependencies:
- cross-spawn: 7.0.3
- get-stream: 6.0.1
- human-signals: 2.1.0
- is-stream: 2.0.1
- merge-stream: 2.0.0
- npm-run-path: 4.0.1
- onetime: 5.1.2
- signal-exit: 3.0.7
- strip-final-newline: 2.0.0
- dev: true
-
- /exit-hook@2.2.1:
- resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==}
- engines: {node: '>=6'}
- dev: true
-
- /express@4.19.2:
- resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==}
- engines: {node: '>= 0.10.0'}
- dependencies:
- accepts: 1.3.8
- array-flatten: 1.1.1
- body-parser: 1.20.2
- content-disposition: 0.5.4
- content-type: 1.0.5
- cookie: 0.6.0
- cookie-signature: 1.0.6
- debug: 2.6.9
- depd: 2.0.0
- encodeurl: 1.0.2
- escape-html: 1.0.3
- etag: 1.8.1
- finalhandler: 1.2.0
- fresh: 0.5.2
- http-errors: 2.0.0
- merge-descriptors: 1.0.1
- methods: 1.1.2
- on-finished: 2.4.1
- parseurl: 1.3.3
- path-to-regexp: 0.1.7
- proxy-addr: 2.0.7
- qs: 6.11.0
- range-parser: 1.2.1
- safe-buffer: 5.2.1
- send: 0.18.0
- serve-static: 1.15.0
- setprototypeof: 1.2.0
- statuses: 2.0.1
- type-is: 1.6.18
- utils-merge: 1.0.1
- vary: 1.1.2
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /extend@3.0.2:
- resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
- dev: true
-
- /external-editor@3.1.0:
- resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==}
- engines: {node: '>=4'}
- dependencies:
- chardet: 0.7.0
- iconv-lite: 0.4.24
- tmp: 0.0.33
- dev: true
-
- /fast-deep-equal@3.1.3:
- resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
- dev: true
-
- /fast-glob@3.2.11:
- resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==}
- engines: {node: '>=8.6.0'}
- dependencies:
- '@nodelib/fs.stat': 2.0.5
- '@nodelib/fs.walk': 1.2.8
- glob-parent: 5.1.2
- merge2: 1.4.1
- micromatch: 4.0.5
- dev: true
-
- /fast-glob@3.3.2:
- resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
- engines: {node: '>=8.6.0'}
- dependencies:
- '@nodelib/fs.stat': 2.0.5
- '@nodelib/fs.walk': 1.2.8
- glob-parent: 5.1.2
- merge2: 1.4.1
- micromatch: 4.0.5
- dev: true
-
- /fast-json-stable-stringify@2.1.0:
- resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
- dev: true
-
- /fast-levenshtein@2.0.6:
- resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
- dev: true
-
- /fastq@1.17.1:
- resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
- dependencies:
- reusify: 1.0.4
- dev: true
-
- /fault@2.0.1:
- resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==}
- dependencies:
- format: 0.2.2
- dev: true
-
- /figures@3.2.0:
- resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==}
- engines: {node: '>=8'}
- dependencies:
- escape-string-regexp: 1.0.5
- dev: true
-
- /file-entry-cache@6.0.1:
- resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
- engines: {node: ^10.12.0 || >=12.0.0}
- dependencies:
- flat-cache: 3.2.0
- dev: true
-
- /file-uri-to-path@1.0.0:
- resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==}
- dev: true
-
- /file-uri-to-path@2.0.0:
- resolution: {integrity: sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg==}
- engines: {node: '>= 6'}
- dev: true
-
- /fill-range@7.0.1:
- resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
- engines: {node: '>=8'}
- dependencies:
- to-regex-range: 5.0.1
- dev: true
-
- /finalhandler@1.2.0:
- resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==}
- engines: {node: '>= 0.8'}
- dependencies:
- debug: 2.6.9
- encodeurl: 1.0.2
- escape-html: 1.0.3
- on-finished: 2.4.1
- parseurl: 1.3.3
- statuses: 2.0.1
- unpipe: 1.0.0
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /find-up@5.0.0:
- resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
- engines: {node: '>=10'}
- dependencies:
- locate-path: 6.0.0
- path-exists: 4.0.0
- dev: true
-
- /flat-cache@3.2.0:
- resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
- engines: {node: ^10.12.0 || >=12.0.0}
- dependencies:
- flatted: 3.3.1
- keyv: 4.5.4
- rimraf: 3.0.2
- dev: true
-
- /flatted@3.3.1:
- resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
- dev: true
-
- /for-each@0.3.3:
- resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
- dependencies:
- is-callable: 1.2.7
- dev: true
-
- /foreground-child@3.1.1:
- resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==}
- engines: {node: '>=14'}
- dependencies:
- cross-spawn: 7.0.3
- signal-exit: 4.1.0
- dev: true
-
- /form-data@3.0.1:
- resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==}
- engines: {node: '>= 6'}
- dependencies:
- asynckit: 0.4.0
- combined-stream: 1.0.8
- mime-types: 2.1.35
- dev: true
-
- /format@0.2.2:
- resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==}
- engines: {node: '>=0.4.x'}
- dev: true
-
- /forwarded@0.2.0:
- resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
- engines: {node: '>= 0.6'}
- dev: true
-
- /fraction.js@4.3.7:
- resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
- dev: true
-
- /fresh@0.5.2:
- resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
- engines: {node: '>= 0.6'}
- dev: true
-
- /fs-constants@1.0.0:
- resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==}
- dev: true
-
- /fs-extra@10.1.0:
- resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==}
- engines: {node: '>=12'}
- dependencies:
- graceful-fs: 4.2.11
- jsonfile: 6.1.0
- universalify: 2.0.1
- dev: true
-
- /fs-extra@11.1.0:
- resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==}
- engines: {node: '>=14.14'}
- dependencies:
- graceful-fs: 4.2.11
- jsonfile: 6.1.0
- universalify: 2.0.1
- dev: true
-
- /fs-extra@8.1.0:
- resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==}
- engines: {node: '>=6 <7 || >=8'}
- dependencies:
- graceful-fs: 4.2.11
- jsonfile: 4.0.0
- universalify: 0.1.2
- dev: true
-
- /fs-minipass@2.1.0:
- resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==}
- engines: {node: '>= 8'}
- dependencies:
- minipass: 3.3.6
- dev: true
-
- /fs.realpath@1.0.0:
- resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
- dev: true
-
- /fsevents@2.3.3:
- resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
- engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /ftp@0.3.10:
- resolution: {integrity: sha512-faFVML1aBx2UoDStmLwv2Wptt4vw5x03xxX172nhA5Y5HBshW5JweqQ2W4xL4dezQTG8inJsuYcpPHHU3X5OTQ==}
- engines: {node: '>=0.8.0'}
- dependencies:
- readable-stream: 1.1.14
- xregexp: 2.0.0
- dev: true
-
- /function-bind@1.1.2:
- resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
- dev: true
-
- /function.prototype.name@1.1.6:
- resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.23.2
- functions-have-names: 1.2.3
- dev: true
-
- /functions-have-names@1.2.3:
- resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
- dev: true
-
- /gauge@3.0.2:
- resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==}
- engines: {node: '>=10'}
- dependencies:
- aproba: 2.0.0
- color-support: 1.1.3
- console-control-strings: 1.1.0
- has-unicode: 2.0.1
- object-assign: 4.1.1
- signal-exit: 3.0.7
- string-width: 4.2.3
- strip-ansi: 6.0.1
- wide-align: 1.1.5
- dev: true
-
- /generic-names@4.0.0:
- resolution: {integrity: sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==}
- dependencies:
- loader-utils: 3.2.1
- dev: true
-
- /gensync@1.0.0-beta.2:
- resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
- engines: {node: '>=6.9.0'}
- dev: true
-
- /get-intrinsic@1.2.4:
- resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- es-errors: 1.3.0
- function-bind: 1.1.2
- has-proto: 1.0.3
- has-symbols: 1.0.3
- hasown: 2.0.2
- dev: true
-
- /get-port@5.1.1:
- resolution: {integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==}
- engines: {node: '>=8'}
- dev: true
-
- /get-stream@5.2.0:
- resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==}
- engines: {node: '>=8'}
- dependencies:
- pump: 3.0.0
- dev: true
-
- /get-stream@6.0.1:
- resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
- engines: {node: '>=10'}
- dev: true
-
- /get-symbol-description@1.0.2:
- resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- get-intrinsic: 1.2.4
- dev: true
-
- /get-uri@3.0.2:
- resolution: {integrity: sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg==}
- engines: {node: '>= 6'}
- dependencies:
- '@tootallnate/once': 1.1.2
- data-uri-to-buffer: 3.0.1
- debug: 4.3.4
- file-uri-to-path: 2.0.0
- fs-extra: 8.1.0
- ftp: 0.3.10
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /git-hooks-list@1.0.3:
- resolution: {integrity: sha512-Y7wLWcrLUXwk2noSka166byGCvhMtDRpgHdzCno1UQv/n/Hegp++a2xBWJL1lJarnKD3SWaljD+0z1ztqxuKyQ==}
- dev: true
-
- /glob-parent@5.1.2:
- resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
- engines: {node: '>= 6'}
- dependencies:
- is-glob: 4.0.3
- dev: true
-
- /glob-parent@6.0.2:
- resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
- engines: {node: '>=10.13.0'}
- dependencies:
- is-glob: 4.0.3
- dev: true
-
- /glob@10.3.12:
- resolution: {integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==}
- engines: {node: '>=16 || 14 >=14.17'}
- hasBin: true
- dependencies:
- foreground-child: 3.1.1
- jackspeak: 2.3.6
- minimatch: 9.0.3
- minipass: 7.0.4
- path-scurry: 1.10.2
- dev: true
-
- /glob@7.2.3:
- resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
- dependencies:
- fs.realpath: 1.0.0
- inflight: 1.0.6
- inherits: 2.0.4
- minimatch: 3.1.2
- once: 1.4.0
- path-is-absolute: 1.0.1
- dev: true
-
- /globals@11.12.0:
- resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
- engines: {node: '>=4'}
- dev: true
-
- /globals@13.24.0:
- resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
- engines: {node: '>=8'}
- dependencies:
- type-fest: 0.20.2
- dev: true
-
- /globalthis@1.0.3:
- resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==}
- engines: {node: '>= 0.4'}
- dependencies:
- define-properties: 1.2.1
- dev: true
-
- /globby@10.0.0:
- resolution: {integrity: sha512-3LifW9M4joGZasyYPz2A1U74zbC/45fvpXUvO/9KbSa+VV0aGZarWkfdgKyR9sExNP0t0x0ss/UMJpNpcaTspw==}
- engines: {node: '>=8'}
- dependencies:
- '@types/glob': 7.2.0
- array-union: 2.1.0
- dir-glob: 3.0.1
- fast-glob: 3.3.2
- glob: 7.2.3
- ignore: 5.3.1
- merge2: 1.4.1
- slash: 3.0.0
- dev: true
-
- /globby@11.1.0:
- resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
- engines: {node: '>=10'}
- dependencies:
- array-union: 2.1.0
- dir-glob: 3.0.1
- fast-glob: 3.3.2
- ignore: 5.3.1
- merge2: 1.4.1
- slash: 3.0.0
- dev: true
-
- /globrex@0.1.2:
- resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
- dev: true
-
- /gopd@1.0.1:
- resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
- dependencies:
- get-intrinsic: 1.2.4
- dev: true
-
- /got@11.8.6:
- resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==}
- engines: {node: '>=10.19.0'}
- dependencies:
- '@sindresorhus/is': 4.6.0
- '@szmarczak/http-timer': 4.0.6
- '@types/cacheable-request': 6.0.3
- '@types/responselike': 1.0.3
- cacheable-lookup: 5.0.4
- cacheable-request: 7.0.4
- decompress-response: 6.0.0
- http2-wrapper: 1.0.3
- lowercase-keys: 2.0.0
- p-cancelable: 2.1.1
- responselike: 2.0.1
- dev: true
-
- /graceful-fs@4.2.11:
- resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
- dev: true
-
- /graphemer@1.4.0:
- resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
- dev: true
-
- /gunzip-maybe@1.4.2:
- resolution: {integrity: sha512-4haO1M4mLO91PW57BMsDFf75UmwoRX0GkdD+Faw+Lr+r/OZrOCS0pIBwOL1xCKQqnQzbNFGgK2V2CpBUPeFNTw==}
- hasBin: true
- dependencies:
- browserify-zlib: 0.1.4
- is-deflate: 1.0.0
- is-gzip: 1.0.0
- peek-stream: 1.1.3
- pumpify: 1.5.1
- through2: 2.0.5
- dev: true
-
- /has-bigints@1.0.2:
- resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
- dev: true
-
- /has-flag@3.0.0:
- resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
- engines: {node: '>=4'}
- dev: true
-
- /has-flag@4.0.0:
- resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
- engines: {node: '>=8'}
- dev: true
-
- /has-property-descriptors@1.0.2:
- resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
- dependencies:
- es-define-property: 1.0.0
- dev: true
-
- /has-proto@1.0.3:
- resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
- engines: {node: '>= 0.4'}
- dev: true
-
- /has-symbols@1.0.3:
- resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
- engines: {node: '>= 0.4'}
- dev: true
-
- /has-tostringtag@1.0.2:
- resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
- engines: {node: '>= 0.4'}
- dependencies:
- has-symbols: 1.0.3
- dev: true
-
- /has-unicode@2.0.1:
- resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==}
- dev: true
-
- /hasown@2.0.2:
- resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- function-bind: 1.1.2
- dev: true
-
- /hast-util-to-estree@2.3.3:
- resolution: {integrity: sha512-ihhPIUPxN0v0w6M5+IiAZZrn0LH2uZomeWwhn7uP7avZC6TE7lIiEh2yBMPr5+zi1aUCXq6VoYRgs2Bw9xmycQ==}
- dependencies:
- '@types/estree': 1.0.5
- '@types/estree-jsx': 1.0.5
- '@types/hast': 2.3.10
- '@types/unist': 2.0.10
- comma-separated-tokens: 2.0.3
- estree-util-attach-comments: 2.1.1
- estree-util-is-identifier-name: 2.1.0
- hast-util-whitespace: 2.0.1
- mdast-util-mdx-expression: 1.3.2
- mdast-util-mdxjs-esm: 1.3.1
- property-information: 6.4.1
- space-separated-tokens: 2.0.2
- style-to-object: 0.4.4
- unist-util-position: 4.0.4
- zwitch: 2.0.4
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /hast-util-to-estree@3.1.0:
- resolution: {integrity: sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==}
- dependencies:
- '@types/estree': 1.0.5
- '@types/estree-jsx': 1.0.5
- '@types/hast': 3.0.4
- comma-separated-tokens: 2.0.3
- devlop: 1.1.0
- estree-util-attach-comments: 3.0.0
- estree-util-is-identifier-name: 3.0.0
- hast-util-whitespace: 3.0.0
- mdast-util-mdx-expression: 2.0.0
- mdast-util-mdx-jsx: 3.1.2
- mdast-util-mdxjs-esm: 2.0.1
- property-information: 6.4.1
- space-separated-tokens: 2.0.2
- style-to-object: 0.4.4
- unist-util-position: 5.0.0
- zwitch: 2.0.4
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /hast-util-to-jsx-runtime@2.3.0:
- resolution: {integrity: sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==}
- dependencies:
- '@types/estree': 1.0.5
- '@types/hast': 3.0.4
- '@types/unist': 3.0.2
- comma-separated-tokens: 2.0.3
- devlop: 1.1.0
- estree-util-is-identifier-name: 3.0.0
- hast-util-whitespace: 3.0.0
- mdast-util-mdx-expression: 2.0.0
- mdast-util-mdx-jsx: 3.1.2
- mdast-util-mdxjs-esm: 2.0.1
- property-information: 6.4.1
- space-separated-tokens: 2.0.2
- style-to-object: 1.0.6
- unist-util-position: 5.0.0
- vfile-message: 4.0.2
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /hast-util-whitespace@2.0.1:
- resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==}
- dev: true
-
- /hast-util-whitespace@3.0.0:
- resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==}
- dependencies:
- '@types/hast': 3.0.4
- dev: true
-
- /http-cache-semantics@4.1.1:
- resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==}
- dev: true
-
- /http-errors@2.0.0:
- resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
- engines: {node: '>= 0.8'}
- dependencies:
- depd: 2.0.0
- inherits: 2.0.4
- setprototypeof: 1.2.0
- statuses: 2.0.1
- toidentifier: 1.0.1
- dev: true
-
- /http-proxy-agent@4.0.1:
- resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==}
- engines: {node: '>= 6'}
- dependencies:
- '@tootallnate/once': 1.1.2
- agent-base: 6.0.2
- debug: 4.3.4
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /http2-wrapper@1.0.3:
- resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==}
- engines: {node: '>=10.19.0'}
- dependencies:
- quick-lru: 5.1.1
- resolve-alpn: 1.2.1
- dev: true
-
- /https-proxy-agent@5.0.1:
- resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
- engines: {node: '>= 6'}
- dependencies:
- agent-base: 6.0.2
- debug: 4.3.4
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /human-signals@2.1.0:
- resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
- engines: {node: '>=10.17.0'}
- dev: true
-
- /iconv-lite@0.4.24:
- resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
- engines: {node: '>=0.10.0'}
- dependencies:
- safer-buffer: 2.1.2
- dev: true
-
- /icss-utils@5.1.0(postcss@8.4.38):
- resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==}
- engines: {node: ^10 || ^12 || >= 14}
- peerDependencies:
- postcss: ^8.1.0
- dependencies:
- postcss: 8.4.38
- dev: true
-
- /ieee754@1.2.1:
- resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
- dev: true
-
- /ignore@5.3.1:
- resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
- engines: {node: '>= 4'}
- dev: true
-
- /imagetools-core@6.0.4:
- resolution: {integrity: sha512-N1qs5qn7u9nR3kboISkYuvJm8MohiphCfBa+wx1UOropVaFis9/mh6wuDPLHJNhl6/64C7q2Pch5NASVKAaSrg==}
- engines: {node: '>=12.0.0'}
- dependencies:
- sharp: 0.33.3
- dev: true
-
- /import-fresh@3.3.0:
- resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
- engines: {node: '>=6'}
- dependencies:
- parent-module: 1.0.1
- resolve-from: 4.0.0
- dev: true
-
- /import-meta-resolve@2.2.2:
- resolution: {integrity: sha512-f8KcQ1D80V7RnqVm+/lirO9zkOxjGxhaTC1IPrBGd3MEfNgmNG67tSUO9gTi2F3Blr2Az6g1vocaxzkVnWl9MA==}
- dev: true
-
- /imurmurhash@0.1.4:
- resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
- engines: {node: '>=0.8.19'}
- dev: true
-
- /indent-string@4.0.0:
- resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
- engines: {node: '>=8'}
- dev: true
-
- /infer-owner@1.0.4:
- resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==}
- dev: true
-
- /inflight@1.0.6:
- resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
- dependencies:
- once: 1.4.0
- wrappy: 1.0.2
- dev: true
-
- /inherits@2.0.4:
- resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
- dev: true
-
- /inline-style-parser@0.1.1:
- resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==}
- dev: true
-
- /inline-style-parser@0.2.3:
- resolution: {integrity: sha512-qlD8YNDqyTKTyuITrDOffsl6Tdhv+UC4hcdAVuQsK4IMQ99nSgd1MIA/Q+jQYoh9r3hVUXhYh7urSRmXPkW04g==}
- dev: true
-
- /inquirer@8.2.6:
- resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==}
- engines: {node: '>=12.0.0'}
- dependencies:
- ansi-escapes: 4.3.2
- chalk: 4.1.2
- cli-cursor: 3.1.0
- cli-width: 3.0.0
- external-editor: 3.1.0
- figures: 3.2.0
- lodash: 4.17.21
- mute-stream: 0.0.8
- ora: 5.4.1
- run-async: 2.4.1
- rxjs: 7.8.1
- string-width: 4.2.3
- strip-ansi: 6.0.1
- through: 2.3.8
- wrap-ansi: 6.2.0
- dev: true
-
- /internal-slot@1.0.7:
- resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==}
- engines: {node: '>= 0.4'}
- dependencies:
- es-errors: 1.3.0
- hasown: 2.0.2
- side-channel: 1.0.6
- dev: true
-
- /ip-address@9.0.5:
- resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==}
- engines: {node: '>= 12'}
- dependencies:
- jsbn: 1.1.0
- sprintf-js: 1.1.3
- dev: true
-
- /ip@1.1.9:
- resolution: {integrity: sha512-cyRxvOEpNHNtchU3Ln9KC/auJgup87llfQpQ+t5ghoC/UhL16SWzbueiCsdTnWmqAWl7LadfuwhlqmtOaqMHdQ==}
- dev: true
-
- /ipaddr.js@1.9.1:
- resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
- engines: {node: '>= 0.10'}
- dev: true
-
- /is-alphabetical@2.0.1:
- resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==}
- dev: true
-
- /is-alphanumerical@2.0.1:
- resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==}
- dependencies:
- is-alphabetical: 2.0.1
- is-decimal: 2.0.1
- dev: true
-
- /is-array-buffer@3.0.4:
- resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- get-intrinsic: 1.2.4
- dev: true
-
- /is-arrayish@0.3.2:
- resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==}
- dev: true
-
- /is-bigint@1.0.4:
- resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
- dependencies:
- has-bigints: 1.0.2
- dev: true
-
- /is-binary-path@2.1.0:
- resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
- engines: {node: '>=8'}
- dependencies:
- binary-extensions: 2.3.0
- dev: true
-
- /is-boolean-object@1.1.2:
- resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- has-tostringtag: 1.0.2
- dev: true
-
- /is-buffer@2.0.5:
- resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==}
- engines: {node: '>=4'}
- dev: true
-
- /is-callable@1.2.7:
- resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
- engines: {node: '>= 0.4'}
- dev: true
-
- /is-core-module@2.13.1:
- resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
- dependencies:
- hasown: 2.0.2
- dev: true
-
- /is-data-view@1.0.1:
- resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==}
- engines: {node: '>= 0.4'}
- dependencies:
- is-typed-array: 1.1.13
- dev: true
-
- /is-date-object@1.0.5:
- resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- has-tostringtag: 1.0.2
- dev: true
-
- /is-decimal@2.0.1:
- resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==}
- dev: true
-
- /is-deflate@1.0.0:
- resolution: {integrity: sha512-YDoFpuZWu1VRXlsnlYMzKyVRITXj7Ej/V9gXQ2/pAe7X1J7M/RNOqaIYi6qUn+B7nGyB9pDXrv02dsB58d2ZAQ==}
- dev: true
-
- /is-extglob@2.1.1:
- resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /is-fullwidth-code-point@3.0.0:
- resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
- engines: {node: '>=8'}
- dev: true
-
- /is-glob@4.0.3:
- resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
- engines: {node: '>=0.10.0'}
- dependencies:
- is-extglob: 2.1.1
- dev: true
-
- /is-gzip@1.0.0:
- resolution: {integrity: sha512-rcfALRIb1YewtnksfRIHGcIY93QnK8BIQ/2c9yDYcG/Y6+vRoJuTWBmmSEbyLLYtXm7q35pHOHbZFQBaLrhlWQ==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /is-hexadecimal@2.0.1:
- resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==}
- dev: true
-
- /is-interactive@1.0.0:
- resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==}
- engines: {node: '>=8'}
- dev: true
-
- /is-negative-zero@2.0.3:
- resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
- engines: {node: '>= 0.4'}
- dev: true
-
- /is-number-object@1.0.7:
- resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- has-tostringtag: 1.0.2
- dev: true
-
- /is-number@7.0.0:
- resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
- engines: {node: '>=0.12.0'}
- dev: true
-
- /is-path-inside@3.0.3:
- resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
- engines: {node: '>=8'}
- dev: true
-
- /is-plain-obj@2.1.0:
- resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==}
- engines: {node: '>=8'}
- dev: true
-
- /is-plain-obj@3.0.0:
- resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==}
- engines: {node: '>=10'}
- dev: true
-
- /is-plain-obj@4.1.0:
- resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
- engines: {node: '>=12'}
- dev: true
-
- /is-reference@3.0.2:
- resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==}
- dependencies:
- '@types/estree': 1.0.5
- dev: true
-
- /is-regex@1.1.4:
- resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- has-tostringtag: 1.0.2
- dev: true
-
- /is-shared-array-buffer@1.0.3:
- resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- dev: true
-
- /is-stream@2.0.1:
- resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
- engines: {node: '>=8'}
- dev: true
-
- /is-string@1.0.7:
- resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
- engines: {node: '>= 0.4'}
- dependencies:
- has-tostringtag: 1.0.2
- dev: true
-
- /is-symbol@1.0.4:
- resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
- engines: {node: '>= 0.4'}
- dependencies:
- has-symbols: 1.0.3
- dev: true
-
- /is-typed-array@1.1.13:
- resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==}
- engines: {node: '>= 0.4'}
- dependencies:
- which-typed-array: 1.1.15
- dev: true
-
- /is-unicode-supported@0.1.0:
- resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==}
- engines: {node: '>=10'}
- dev: true
-
- /is-weakref@1.0.2:
- resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
- dependencies:
- call-bind: 1.0.7
- dev: true
-
- /isarray@0.0.1:
- resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==}
- dev: true
-
- /isarray@1.0.0:
- resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
- dev: true
-
- /isarray@2.0.5:
- resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
- dev: true
-
- /isexe@2.0.0:
- resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
- dev: true
-
- /jackspeak@2.3.6:
- resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==}
- engines: {node: '>=14'}
- dependencies:
- '@isaacs/cliui': 8.0.2
- optionalDependencies:
- '@pkgjs/parseargs': 0.11.0
- dev: true
-
- /javascript-stringify@2.1.0:
- resolution: {integrity: sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==}
- dev: true
-
- /jiti@1.21.0:
- resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==}
- hasBin: true
- dev: true
-
- /js-tokens@4.0.0:
- resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
- dev: true
-
- /js-yaml@4.1.0:
- resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
- hasBin: true
- dependencies:
- argparse: 2.0.1
- dev: true
-
- /jsbn@1.1.0:
- resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==}
- dev: true
-
- /jsesc@0.5.0:
- resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==}
- hasBin: true
- dev: true
-
- /jsesc@2.5.2:
- resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
- engines: {node: '>=4'}
- hasBin: true
- dev: true
-
- /jsesc@3.0.2:
- resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==}
- engines: {node: '>=6'}
- hasBin: true
- dev: true
-
- /json-buffer@3.0.1:
- resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
- dev: true
-
- /json-parse-even-better-errors@2.3.1:
- resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
- dev: true
-
- /json-schema-to-ts@1.6.4:
- resolution: {integrity: sha512-pR4yQ9DHz6itqswtHCm26mw45FSNfQ9rEQjosaZErhn5J3J2sIViQiz8rDaezjKAhFGpmsoczYVBgGHzFw/stA==}
- dependencies:
- '@types/json-schema': 7.0.15
- ts-toolbelt: 6.15.5
- dev: true
-
- /json-schema-traverse@0.4.1:
- resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
- dev: true
-
- /json-schema-traverse@1.0.0:
- resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
- dev: true
-
- /json-stable-stringify-without-jsonify@1.0.1:
- resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
- dev: true
-
- /json5@2.2.3:
- resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
- engines: {node: '>=6'}
- hasBin: true
- dev: true
-
- /jsonc-parser@3.2.1:
- resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==}
- dev: true
-
- /jsonfile@4.0.0:
- resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
- optionalDependencies:
- graceful-fs: 4.2.11
- dev: true
-
- /jsonfile@6.1.0:
- resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
- dependencies:
- universalify: 2.0.1
- optionalDependencies:
- graceful-fs: 4.2.11
- dev: true
-
- /jsx-ast-utils@3.3.5:
- resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
- engines: {node: '>=4.0'}
- dependencies:
- array-includes: 3.1.8
- array.prototype.flat: 1.3.2
- object.assign: 4.1.5
- object.values: 1.2.0
- dev: true
-
- /keyv@4.5.4:
- resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
- dependencies:
- json-buffer: 3.0.1
- dev: true
-
- /kleur@4.1.5:
- resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
- engines: {node: '>=6'}
- dev: true
-
- /levn@0.3.0:
- resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==}
- engines: {node: '>= 0.8.0'}
- dependencies:
- prelude-ls: 1.1.2
- type-check: 0.3.2
- dev: true
-
- /levn@0.4.1:
- resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
- engines: {node: '>= 0.8.0'}
- dependencies:
- prelude-ls: 1.2.1
- type-check: 0.4.0
- dev: true
-
- /lilconfig@2.1.0:
- resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
- engines: {node: '>=10'}
- dev: true
-
- /lilconfig@3.1.1:
- resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==}
- engines: {node: '>=14'}
- dev: true
-
- /lines-and-columns@1.2.4:
- resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
- dev: true
-
- /loader-utils@2.0.4:
- resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==}
- engines: {node: '>=8.9.0'}
- dependencies:
- big.js: 5.2.2
- emojis-list: 3.0.0
- json5: 2.2.3
- dev: true
-
- /loader-utils@3.2.1:
- resolution: {integrity: sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==}
- engines: {node: '>= 12.13.0'}
- dev: true
-
- /locate-path@6.0.0:
- resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
- engines: {node: '>=10'}
- dependencies:
- p-locate: 5.0.0
- dev: true
-
- /lodash.camelcase@4.3.0:
- resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==}
- dev: true
-
- /lodash.debounce@4.0.8:
- resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
- dev: true
-
- /lodash.merge@4.6.2:
- resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
- dev: true
-
- /lodash@4.17.21:
- resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
- dev: true
-
- /log-symbols@4.1.0:
- resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
- engines: {node: '>=10'}
- dependencies:
- chalk: 4.1.2
- is-unicode-supported: 0.1.0
- dev: true
-
- /longest-streak@3.1.0:
- resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
- dev: true
-
- /loose-envify@1.4.0:
- resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
- hasBin: true
- dependencies:
- js-tokens: 4.0.0
- dev: true
-
- /lowercase-keys@2.0.0:
- resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==}
- engines: {node: '>=8'}
- dev: true
-
- /lru-cache@10.2.0:
- resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==}
- engines: {node: 14 || >=16.14}
- dev: true
-
- /lru-cache@5.1.1:
- resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
- dependencies:
- yallist: 3.1.1
- dev: true
-
- /lru-cache@6.0.0:
- resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
- engines: {node: '>=10'}
- dependencies:
- yallist: 4.0.0
- dev: true
-
- /lru-cache@7.18.3:
- resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==}
- engines: {node: '>=12'}
- dev: true
-
- /make-dir@3.1.0:
- resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
- engines: {node: '>=8'}
- dependencies:
- semver: 6.3.1
- dev: true
-
- /make-error@1.3.6:
- resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
- dev: true
-
- /markdown-extensions@1.1.1:
- resolution: {integrity: sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /markdown-extensions@2.0.0:
- resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==}
- engines: {node: '>=16'}
- dev: true
-
- /mdast-util-definitions@5.1.2:
- resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==}
- dependencies:
- '@types/mdast': 3.0.15
- '@types/unist': 2.0.10
- unist-util-visit: 4.1.2
- dev: true
-
- /mdast-util-from-markdown@1.3.1:
- resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==}
- dependencies:
- '@types/mdast': 3.0.15
- '@types/unist': 2.0.10
- decode-named-character-reference: 1.0.2
- mdast-util-to-string: 3.2.0
- micromark: 3.2.0
- micromark-util-decode-numeric-character-reference: 1.1.0
- micromark-util-decode-string: 1.1.0
- micromark-util-normalize-identifier: 1.1.0
- micromark-util-symbol: 1.1.0
- micromark-util-types: 1.1.0
- unist-util-stringify-position: 3.0.3
- uvu: 0.5.6
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /mdast-util-from-markdown@2.0.0:
- resolution: {integrity: sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==}
- dependencies:
- '@types/mdast': 4.0.3
- '@types/unist': 3.0.2
- decode-named-character-reference: 1.0.2
- devlop: 1.1.0
- mdast-util-to-string: 4.0.0
- micromark: 4.0.0
- micromark-util-decode-numeric-character-reference: 2.0.1
- micromark-util-decode-string: 2.0.0
- micromark-util-normalize-identifier: 2.0.0
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
- unist-util-stringify-position: 4.0.0
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /mdast-util-frontmatter@1.0.1:
- resolution: {integrity: sha512-JjA2OjxRqAa8wEG8hloD0uTU0kdn8kbtOWpPP94NBkfAlbxn4S8gCGf/9DwFtEeGPXrDcNXdiDjVaRdUFqYokw==}
- dependencies:
- '@types/mdast': 3.0.15
- mdast-util-to-markdown: 1.5.0
- micromark-extension-frontmatter: 1.1.1
- dev: true
-
- /mdast-util-mdx-expression@1.3.2:
- resolution: {integrity: sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA==}
- dependencies:
- '@types/estree-jsx': 1.0.5
- '@types/hast': 2.3.10
- '@types/mdast': 3.0.15
- mdast-util-from-markdown: 1.3.1
- mdast-util-to-markdown: 1.5.0
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /mdast-util-mdx-expression@2.0.0:
- resolution: {integrity: sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==}
- dependencies:
- '@types/estree-jsx': 1.0.5
- '@types/hast': 3.0.4
- '@types/mdast': 4.0.3
- devlop: 1.1.0
- mdast-util-from-markdown: 2.0.0
- mdast-util-to-markdown: 2.1.0
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /mdast-util-mdx-jsx@1.2.0:
- resolution: {integrity: sha512-5+ot/kfxYd3ChgEMwsMUO71oAfYjyRI3pADEK4I7xTmWLGQ8Y7ghm1CG36zUoUvDPxMlIYwQV/9DYHAUWdG4dA==}
- dependencies:
- '@types/estree-jsx': 0.0.1
- '@types/mdast': 3.0.15
- mdast-util-to-markdown: 1.5.0
- parse-entities: 4.0.1
- stringify-entities: 4.0.3
- unist-util-remove-position: 4.0.2
- unist-util-stringify-position: 3.0.3
- vfile-message: 3.1.4
- dev: true
-
- /mdast-util-mdx-jsx@3.1.2:
- resolution: {integrity: sha512-eKMQDeywY2wlHc97k5eD8VC+9ASMjN8ItEZQNGwJ6E0XWKiW/Z0V5/H8pvoXUf+y+Mj0VIgeRRbujBmFn4FTyA==}
- dependencies:
- '@types/estree-jsx': 1.0.5
- '@types/hast': 3.0.4
- '@types/mdast': 4.0.3
- '@types/unist': 3.0.2
- ccount: 2.0.1
- devlop: 1.1.0
- mdast-util-from-markdown: 2.0.0
- mdast-util-to-markdown: 2.1.0
- parse-entities: 4.0.1
- stringify-entities: 4.0.3
- unist-util-remove-position: 5.0.0
- unist-util-stringify-position: 4.0.0
- vfile-message: 4.0.2
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /mdast-util-mdx@1.1.0:
- resolution: {integrity: sha512-leKb9uG7laXdyFlTleYV4ZEaCpsxeU1LlkkR/xp35pgKrfV1Y0fNCuOw9vaRc2a9YDpH22wd145Wt7UY5yzeZw==}
- dependencies:
- mdast-util-mdx-expression: 1.3.2
- mdast-util-mdx-jsx: 1.2.0
- mdast-util-mdxjs-esm: 1.3.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /mdast-util-mdx@3.0.0:
- resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==}
- dependencies:
- mdast-util-from-markdown: 2.0.0
- mdast-util-mdx-expression: 2.0.0
- mdast-util-mdx-jsx: 3.1.2
- mdast-util-mdxjs-esm: 2.0.1
- mdast-util-to-markdown: 2.1.0
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /mdast-util-mdxjs-esm@1.3.1:
- resolution: {integrity: sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w==}
- dependencies:
- '@types/estree-jsx': 1.0.5
- '@types/hast': 2.3.10
- '@types/mdast': 3.0.15
- mdast-util-from-markdown: 1.3.1
- mdast-util-to-markdown: 1.5.0
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /mdast-util-mdxjs-esm@2.0.1:
- resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==}
- dependencies:
- '@types/estree-jsx': 1.0.5
- '@types/hast': 3.0.4
- '@types/mdast': 4.0.3
- devlop: 1.1.0
- mdast-util-from-markdown: 2.0.0
- mdast-util-to-markdown: 2.1.0
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /mdast-util-phrasing@3.0.1:
- resolution: {integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==}
- dependencies:
- '@types/mdast': 3.0.15
- unist-util-is: 5.2.1
- dev: true
-
- /mdast-util-phrasing@4.1.0:
- resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==}
- dependencies:
- '@types/mdast': 4.0.3
- unist-util-is: 6.0.0
- dev: true
-
- /mdast-util-to-hast@11.3.0:
- resolution: {integrity: sha512-4o3Cli3hXPmm1LhB+6rqhfsIUBjnKFlIUZvudaermXB+4/KONdd/W4saWWkC+LBLbPMqhFSSTSRgafHsT5fVJw==}
- dependencies:
- '@types/hast': 2.3.10
- '@types/mdast': 3.0.15
- '@types/mdurl': 1.0.5
- mdast-util-definitions: 5.1.2
- mdurl: 1.0.1
- unist-builder: 3.0.1
- unist-util-generated: 2.0.1
- unist-util-position: 4.0.4
- unist-util-visit: 4.1.2
- dev: true
-
- /mdast-util-to-hast@13.1.0:
- resolution: {integrity: sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==}
- dependencies:
- '@types/hast': 3.0.4
- '@types/mdast': 4.0.3
- '@ungap/structured-clone': 1.2.0
- devlop: 1.1.0
- micromark-util-sanitize-uri: 2.0.0
- trim-lines: 3.0.1
- unist-util-position: 5.0.0
- unist-util-visit: 5.0.0
- vfile: 6.0.1
- dev: true
-
- /mdast-util-to-markdown@1.5.0:
- resolution: {integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==}
- dependencies:
- '@types/mdast': 3.0.15
- '@types/unist': 2.0.10
- longest-streak: 3.1.0
- mdast-util-phrasing: 3.0.1
- mdast-util-to-string: 3.2.0
- micromark-util-decode-string: 1.1.0
- unist-util-visit: 4.1.2
- zwitch: 2.0.4
- dev: true
-
- /mdast-util-to-markdown@2.1.0:
- resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==}
- dependencies:
- '@types/mdast': 4.0.3
- '@types/unist': 3.0.2
- longest-streak: 3.1.0
- mdast-util-phrasing: 4.1.0
- mdast-util-to-string: 4.0.0
- micromark-util-decode-string: 2.0.0
- unist-util-visit: 5.0.0
- zwitch: 2.0.4
- dev: true
-
- /mdast-util-to-string@3.2.0:
- resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==}
- dependencies:
- '@types/mdast': 3.0.15
- dev: true
-
- /mdast-util-to-string@4.0.0:
- resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==}
- dependencies:
- '@types/mdast': 4.0.3
- dev: true
-
- /mdn-data@2.0.28:
- resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==}
- dev: true
-
- /mdn-data@2.0.30:
- resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
- dev: true
-
- /mdurl@1.0.1:
- resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==}
- dev: true
-
- /media-query-parser@2.0.2:
- resolution: {integrity: sha512-1N4qp+jE0pL5Xv4uEcwVUhIkwdUO3S/9gML90nqKA7v7FcOS5vUtatfzok9S9U1EJU8dHWlcv95WLnKmmxZI9w==}
- dependencies:
- '@babel/runtime': 7.24.1
- dev: true
-
- /media-typer@0.3.0:
- resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
- engines: {node: '>= 0.6'}
- dev: true
-
- /merge-descriptors@1.0.1:
- resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==}
- dev: true
-
- /merge-stream@2.0.0:
- resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
- dev: true
-
- /merge2@1.4.1:
- resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
- engines: {node: '>= 8'}
- dev: true
-
- /methods@1.1.2:
- resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
- engines: {node: '>= 0.6'}
- dev: true
-
- /micromark-core-commonmark@1.1.0:
- resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==}
- dependencies:
- decode-named-character-reference: 1.0.2
- micromark-factory-destination: 1.1.0
- micromark-factory-label: 1.1.0
- micromark-factory-space: 1.1.0
- micromark-factory-title: 1.1.0
- micromark-factory-whitespace: 1.1.0
- micromark-util-character: 1.2.0
- micromark-util-chunked: 1.1.0
- micromark-util-classify-character: 1.1.0
- micromark-util-html-tag-name: 1.2.0
- micromark-util-normalize-identifier: 1.1.0
- micromark-util-resolve-all: 1.1.0
- micromark-util-subtokenize: 1.1.0
- micromark-util-symbol: 1.1.0
- micromark-util-types: 1.1.0
- uvu: 0.5.6
- dev: true
-
- /micromark-core-commonmark@2.0.0:
- resolution: {integrity: sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==}
- dependencies:
- decode-named-character-reference: 1.0.2
- devlop: 1.1.0
- micromark-factory-destination: 2.0.0
- micromark-factory-label: 2.0.0
- micromark-factory-space: 2.0.0
- micromark-factory-title: 2.0.0
- micromark-factory-whitespace: 2.0.0
- micromark-util-character: 2.1.0
- micromark-util-chunked: 2.0.0
- micromark-util-classify-character: 2.0.0
- micromark-util-html-tag-name: 2.0.0
- micromark-util-normalize-identifier: 2.0.0
- micromark-util-resolve-all: 2.0.0
- micromark-util-subtokenize: 2.0.0
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
- dev: true
-
- /micromark-extension-frontmatter@1.1.1:
- resolution: {integrity: sha512-m2UH9a7n3W8VAH9JO9y01APpPKmNNNs71P0RbknEmYSaZU5Ghogv38BYO94AI5Xw6OYfxZRdHZZ2nYjs/Z+SZQ==}
- dependencies:
- fault: 2.0.1
- micromark-util-character: 1.2.0
- micromark-util-symbol: 1.1.0
- micromark-util-types: 1.1.0
- dev: true
-
- /micromark-extension-mdx-expression@1.0.8:
- resolution: {integrity: sha512-zZpeQtc5wfWKdzDsHRBY003H2Smg+PUi2REhqgIhdzAa5xonhP03FcXxqFSerFiNUr5AWmHpaNPQTBVOS4lrXw==}
- dependencies:
- '@types/estree': 1.0.5
- micromark-factory-mdx-expression: 1.0.9
- micromark-factory-space: 1.1.0
- micromark-util-character: 1.2.0
- micromark-util-events-to-acorn: 1.2.3
- micromark-util-symbol: 1.1.0
- micromark-util-types: 1.1.0
- uvu: 0.5.6
- dev: true
-
- /micromark-extension-mdx-expression@3.0.0:
- resolution: {integrity: sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==}
- dependencies:
- '@types/estree': 1.0.5
- devlop: 1.1.0
- micromark-factory-mdx-expression: 2.0.1
- micromark-factory-space: 2.0.0
- micromark-util-character: 2.1.0
- micromark-util-events-to-acorn: 2.0.2
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
- dev: true
-
- /micromark-extension-mdx-jsx@1.0.5:
- resolution: {integrity: sha512-gPH+9ZdmDflbu19Xkb8+gheqEDqkSpdCEubQyxuz/Hn8DOXiXvrXeikOoBA71+e8Pfi0/UYmU3wW3H58kr7akA==}
- dependencies:
- '@types/acorn': 4.0.6
- '@types/estree': 1.0.5
- estree-util-is-identifier-name: 2.1.0
- micromark-factory-mdx-expression: 1.0.9
- micromark-factory-space: 1.1.0
- micromark-util-character: 1.2.0
- micromark-util-symbol: 1.1.0
- micromark-util-types: 1.1.0
- uvu: 0.5.6
- vfile-message: 3.1.4
- dev: true
-
- /micromark-extension-mdx-jsx@3.0.0:
- resolution: {integrity: sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==}
- dependencies:
- '@types/acorn': 4.0.6
- '@types/estree': 1.0.5
- devlop: 1.1.0
- estree-util-is-identifier-name: 3.0.0
- micromark-factory-mdx-expression: 2.0.1
- micromark-factory-space: 2.0.0
- micromark-util-character: 2.1.0
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
- vfile-message: 4.0.2
- dev: true
-
- /micromark-extension-mdx-md@1.0.1:
- resolution: {integrity: sha512-7MSuj2S7xjOQXAjjkbjBsHkMtb+mDGVW6uI2dBL9snOBCbZmoNgDAeZ0nSn9j3T42UE/g2xVNMn18PJxZvkBEA==}
- dependencies:
- micromark-util-types: 1.1.0
- dev: true
-
- /micromark-extension-mdx-md@2.0.0:
- resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==}
- dependencies:
- micromark-util-types: 2.0.0
- dev: true
-
- /micromark-extension-mdxjs-esm@1.0.5:
- resolution: {integrity: sha512-xNRBw4aoURcyz/S69B19WnZAkWJMxHMT5hE36GtDAyhoyn/8TuAeqjFJQlwk+MKQsUD7b3l7kFX+vlfVWgcX1w==}
- dependencies:
- '@types/estree': 1.0.5
- micromark-core-commonmark: 1.1.0
- micromark-util-character: 1.2.0
- micromark-util-events-to-acorn: 1.2.3
- micromark-util-symbol: 1.1.0
- micromark-util-types: 1.1.0
- unist-util-position-from-estree: 1.1.2
- uvu: 0.5.6
- vfile-message: 3.1.4
- dev: true
-
- /micromark-extension-mdxjs-esm@3.0.0:
- resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==}
- dependencies:
- '@types/estree': 1.0.5
- devlop: 1.1.0
- micromark-core-commonmark: 2.0.0
- micromark-util-character: 2.1.0
- micromark-util-events-to-acorn: 2.0.2
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
- unist-util-position-from-estree: 2.0.0
- vfile-message: 4.0.2
- dev: true
-
- /micromark-extension-mdxjs@1.0.1:
- resolution: {integrity: sha512-7YA7hF6i5eKOfFUzZ+0z6avRG52GpWR8DL+kN47y3f2KhxbBZMhmxe7auOeaTBrW2DenbbZTf1ea9tA2hDpC2Q==}
- dependencies:
- acorn: 8.11.3
- acorn-jsx: 5.3.2(acorn@8.11.3)
- micromark-extension-mdx-expression: 1.0.8
- micromark-extension-mdx-jsx: 1.0.5
- micromark-extension-mdx-md: 1.0.1
- micromark-extension-mdxjs-esm: 1.0.5
- micromark-util-combine-extensions: 1.1.0
- micromark-util-types: 1.1.0
- dev: true
-
- /micromark-extension-mdxjs@3.0.0:
- resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==}
- dependencies:
- acorn: 8.11.3
- acorn-jsx: 5.3.2(acorn@8.11.3)
- micromark-extension-mdx-expression: 3.0.0
- micromark-extension-mdx-jsx: 3.0.0
- micromark-extension-mdx-md: 2.0.0
- micromark-extension-mdxjs-esm: 3.0.0
- micromark-util-combine-extensions: 2.0.0
- micromark-util-types: 2.0.0
- dev: true
-
- /micromark-factory-destination@1.1.0:
- resolution: {integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==}
- dependencies:
- micromark-util-character: 1.2.0
- micromark-util-symbol: 1.1.0
- micromark-util-types: 1.1.0
- dev: true
-
- /micromark-factory-destination@2.0.0:
- resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==}
- dependencies:
- micromark-util-character: 2.1.0
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
- dev: true
-
- /micromark-factory-label@1.1.0:
- resolution: {integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==}
- dependencies:
- micromark-util-character: 1.2.0
- micromark-util-symbol: 1.1.0
- micromark-util-types: 1.1.0
- uvu: 0.5.6
- dev: true
-
- /micromark-factory-label@2.0.0:
- resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==}
- dependencies:
- devlop: 1.1.0
- micromark-util-character: 2.1.0
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
- dev: true
-
- /micromark-factory-mdx-expression@1.0.9:
- resolution: {integrity: sha512-jGIWzSmNfdnkJq05c7b0+Wv0Kfz3NJ3N4cBjnbO4zjXIlxJr+f8lk+5ZmwFvqdAbUy2q6B5rCY//g0QAAaXDWA==}
- dependencies:
- '@types/estree': 1.0.5
- micromark-util-character: 1.2.0
- micromark-util-events-to-acorn: 1.2.3
- micromark-util-symbol: 1.1.0
- micromark-util-types: 1.1.0
- unist-util-position-from-estree: 1.1.2
- uvu: 0.5.6
- vfile-message: 3.1.4
- dev: true
-
- /micromark-factory-mdx-expression@2.0.1:
- resolution: {integrity: sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==}
- dependencies:
- '@types/estree': 1.0.5
- devlop: 1.1.0
- micromark-util-character: 2.1.0
- micromark-util-events-to-acorn: 2.0.2
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
- unist-util-position-from-estree: 2.0.0
- vfile-message: 4.0.2
- dev: true
-
- /micromark-factory-space@1.1.0:
- resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==}
- dependencies:
- micromark-util-character: 1.2.0
- micromark-util-types: 1.1.0
- dev: true
-
- /micromark-factory-space@2.0.0:
- resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==}
- dependencies:
- micromark-util-character: 2.1.0
- micromark-util-types: 2.0.0
- dev: true
-
- /micromark-factory-title@1.1.0:
- resolution: {integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==}
- dependencies:
- micromark-factory-space: 1.1.0
- micromark-util-character: 1.2.0
- micromark-util-symbol: 1.1.0
- micromark-util-types: 1.1.0
- dev: true
-
- /micromark-factory-title@2.0.0:
- resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==}
- dependencies:
- micromark-factory-space: 2.0.0
- micromark-util-character: 2.1.0
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
- dev: true
-
- /micromark-factory-whitespace@1.1.0:
- resolution: {integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==}
- dependencies:
- micromark-factory-space: 1.1.0
- micromark-util-character: 1.2.0
- micromark-util-symbol: 1.1.0
- micromark-util-types: 1.1.0
- dev: true
-
- /micromark-factory-whitespace@2.0.0:
- resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==}
- dependencies:
- micromark-factory-space: 2.0.0
- micromark-util-character: 2.1.0
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
- dev: true
-
- /micromark-util-character@1.2.0:
- resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==}
- dependencies:
- micromark-util-symbol: 1.1.0
- micromark-util-types: 1.1.0
- dev: true
-
- /micromark-util-character@2.1.0:
- resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==}
- dependencies:
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
- dev: true
-
- /micromark-util-chunked@1.1.0:
- resolution: {integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==}
- dependencies:
- micromark-util-symbol: 1.1.0
- dev: true
-
- /micromark-util-chunked@2.0.0:
- resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==}
- dependencies:
- micromark-util-symbol: 2.0.0
- dev: true
-
- /micromark-util-classify-character@1.1.0:
- resolution: {integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==}
- dependencies:
- micromark-util-character: 1.2.0
- micromark-util-symbol: 1.1.0
- micromark-util-types: 1.1.0
- dev: true
-
- /micromark-util-classify-character@2.0.0:
- resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==}
- dependencies:
- micromark-util-character: 2.1.0
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
- dev: true
-
- /micromark-util-combine-extensions@1.1.0:
- resolution: {integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==}
- dependencies:
- micromark-util-chunked: 1.1.0
- micromark-util-types: 1.1.0
- dev: true
-
- /micromark-util-combine-extensions@2.0.0:
- resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==}
- dependencies:
- micromark-util-chunked: 2.0.0
- micromark-util-types: 2.0.0
- dev: true
-
- /micromark-util-decode-numeric-character-reference@1.1.0:
- resolution: {integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==}
- dependencies:
- micromark-util-symbol: 1.1.0
- dev: true
-
- /micromark-util-decode-numeric-character-reference@2.0.1:
- resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==}
- dependencies:
- micromark-util-symbol: 2.0.0
- dev: true
-
- /micromark-util-decode-string@1.1.0:
- resolution: {integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==}
- dependencies:
- decode-named-character-reference: 1.0.2
- micromark-util-character: 1.2.0
- micromark-util-decode-numeric-character-reference: 1.1.0
- micromark-util-symbol: 1.1.0
- dev: true
-
- /micromark-util-decode-string@2.0.0:
- resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==}
- dependencies:
- decode-named-character-reference: 1.0.2
- micromark-util-character: 2.1.0
- micromark-util-decode-numeric-character-reference: 2.0.1
- micromark-util-symbol: 2.0.0
- dev: true
-
- /micromark-util-encode@1.1.0:
- resolution: {integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==}
- dev: true
-
- /micromark-util-encode@2.0.0:
- resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==}
- dev: true
-
- /micromark-util-events-to-acorn@1.2.3:
- resolution: {integrity: sha512-ij4X7Wuc4fED6UoLWkmo0xJQhsktfNh1J0m8g4PbIMPlx+ek/4YdW5mvbye8z/aZvAPUoxgXHrwVlXAPKMRp1w==}
- dependencies:
- '@types/acorn': 4.0.6
- '@types/estree': 1.0.5
- '@types/unist': 2.0.10
- estree-util-visit: 1.2.1
- micromark-util-symbol: 1.1.0
- micromark-util-types: 1.1.0
- uvu: 0.5.6
- vfile-message: 3.1.4
- dev: true
-
- /micromark-util-events-to-acorn@2.0.2:
- resolution: {integrity: sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==}
- dependencies:
- '@types/acorn': 4.0.6
- '@types/estree': 1.0.5
- '@types/unist': 3.0.2
- devlop: 1.1.0
- estree-util-visit: 2.0.0
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
- vfile-message: 4.0.2
- dev: true
-
- /micromark-util-html-tag-name@1.2.0:
- resolution: {integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==}
- dev: true
-
- /micromark-util-html-tag-name@2.0.0:
- resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==}
- dev: true
-
- /micromark-util-normalize-identifier@1.1.0:
- resolution: {integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==}
- dependencies:
- micromark-util-symbol: 1.1.0
- dev: true
-
- /micromark-util-normalize-identifier@2.0.0:
- resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==}
- dependencies:
- micromark-util-symbol: 2.0.0
- dev: true
-
- /micromark-util-resolve-all@1.1.0:
- resolution: {integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==}
- dependencies:
- micromark-util-types: 1.1.0
- dev: true
-
- /micromark-util-resolve-all@2.0.0:
- resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==}
- dependencies:
- micromark-util-types: 2.0.0
- dev: true
-
- /micromark-util-sanitize-uri@1.2.0:
- resolution: {integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==}
- dependencies:
- micromark-util-character: 1.2.0
- micromark-util-encode: 1.1.0
- micromark-util-symbol: 1.1.0
- dev: true
-
- /micromark-util-sanitize-uri@2.0.0:
- resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==}
- dependencies:
- micromark-util-character: 2.1.0
- micromark-util-encode: 2.0.0
- micromark-util-symbol: 2.0.0
- dev: true
-
- /micromark-util-subtokenize@1.1.0:
- resolution: {integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==}
- dependencies:
- micromark-util-chunked: 1.1.0
- micromark-util-symbol: 1.1.0
- micromark-util-types: 1.1.0
- uvu: 0.5.6
- dev: true
-
- /micromark-util-subtokenize@2.0.0:
- resolution: {integrity: sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==}
- dependencies:
- devlop: 1.1.0
- micromark-util-chunked: 2.0.0
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
- dev: true
-
- /micromark-util-symbol@1.1.0:
- resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==}
- dev: true
-
- /micromark-util-symbol@2.0.0:
- resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==}
- dev: true
-
- /micromark-util-types@1.1.0:
- resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==}
- dev: true
-
- /micromark-util-types@2.0.0:
- resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==}
- dev: true
-
- /micromark@3.2.0:
- resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==}
- dependencies:
- '@types/debug': 4.1.12
- debug: 4.3.4
- decode-named-character-reference: 1.0.2
- micromark-core-commonmark: 1.1.0
- micromark-factory-space: 1.1.0
- micromark-util-character: 1.2.0
- micromark-util-chunked: 1.1.0
- micromark-util-combine-extensions: 1.1.0
- micromark-util-decode-numeric-character-reference: 1.1.0
- micromark-util-encode: 1.1.0
- micromark-util-normalize-identifier: 1.1.0
- micromark-util-resolve-all: 1.1.0
- micromark-util-sanitize-uri: 1.2.0
- micromark-util-subtokenize: 1.1.0
- micromark-util-symbol: 1.1.0
- micromark-util-types: 1.1.0
- uvu: 0.5.6
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /micromark@4.0.0:
- resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==}
- dependencies:
- '@types/debug': 4.1.12
- debug: 4.3.4
- decode-named-character-reference: 1.0.2
- devlop: 1.1.0
- micromark-core-commonmark: 2.0.0
- micromark-factory-space: 2.0.0
- micromark-util-character: 2.1.0
- micromark-util-chunked: 2.0.0
- micromark-util-combine-extensions: 2.0.0
- micromark-util-decode-numeric-character-reference: 2.0.1
- micromark-util-encode: 2.0.0
- micromark-util-normalize-identifier: 2.0.0
- micromark-util-resolve-all: 2.0.0
- micromark-util-sanitize-uri: 2.0.0
- micromark-util-subtokenize: 2.0.0
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /micromatch@4.0.5:
- resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
- engines: {node: '>=8.6'}
- dependencies:
- braces: 3.0.2
- picomatch: 2.3.1
- dev: true
-
- /mime-db@1.52.0:
- resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
- engines: {node: '>= 0.6'}
- dev: true
-
- /mime-types@2.1.35:
- resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
- engines: {node: '>= 0.6'}
- dependencies:
- mime-db: 1.52.0
- dev: true
-
- /mime@1.6.0:
- resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
- engines: {node: '>=4'}
- hasBin: true
- dev: true
-
- /mimic-fn@2.1.0:
- resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
- engines: {node: '>=6'}
- dev: true
-
- /mimic-response@1.0.1:
- resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==}
- engines: {node: '>=4'}
- dev: true
-
- /mimic-response@3.1.0:
- resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==}
- engines: {node: '>=10'}
- dev: true
-
- /minimatch@3.1.2:
- resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
- dependencies:
- brace-expansion: 1.1.11
- dev: true
-
- /minimatch@9.0.3:
- resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
- engines: {node: '>=16 || 14 >=14.17'}
- dependencies:
- brace-expansion: 2.0.1
- dev: true
-
- /minimist@1.2.8:
- resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
- dev: true
-
- /minipass-collect@1.0.2:
- resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==}
- engines: {node: '>= 8'}
- dependencies:
- minipass: 3.3.6
- dev: true
-
- /minipass-flush@1.0.5:
- resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==}
- engines: {node: '>= 8'}
- dependencies:
- minipass: 3.3.6
- dev: true
-
- /minipass-pipeline@1.2.4:
- resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==}
- engines: {node: '>=8'}
- dependencies:
- minipass: 3.3.6
- dev: true
-
- /minipass@3.3.6:
- resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==}
- engines: {node: '>=8'}
- dependencies:
- yallist: 4.0.0
- dev: true
-
- /minipass@5.0.0:
- resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==}
- engines: {node: '>=8'}
- dev: true
-
- /minipass@7.0.4:
- resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==}
- engines: {node: '>=16 || 14 >=14.17'}
- dev: true
-
- /minizlib@2.1.2:
- resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==}
- engines: {node: '>= 8'}
- dependencies:
- minipass: 3.3.6
- yallist: 4.0.0
- dev: true
-
- /mkdirp-classic@0.5.3:
- resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==}
- dev: true
-
- /mkdirp@1.0.4:
- resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
- engines: {node: '>=10'}
- hasBin: true
- dev: true
-
- /mlly@1.6.1:
- resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==}
- dependencies:
- acorn: 8.11.3
- pathe: 1.1.2
- pkg-types: 1.0.3
- ufo: 1.5.3
- dev: true
-
- /modern-ahocorasick@1.0.1:
- resolution: {integrity: sha512-yoe+JbhTClckZ67b2itRtistFKf8yPYelHLc7e5xAwtNAXxM6wJTUx2C7QeVSJFDzKT7bCIFyBVybPMKvmB9AA==}
- dev: true
-
- /mri@1.2.0:
- resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
- engines: {node: '>=4'}
- dev: true
-
- /ms@2.0.0:
- resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
- dev: true
-
- /ms@2.1.2:
- resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
- dev: true
-
- /ms@2.1.3:
- resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
- dev: true
-
- /mute-stream@0.0.8:
- resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==}
- dev: true
-
- /mz@2.7.0:
- resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
- dependencies:
- any-promise: 1.3.0
- object-assign: 4.1.1
- thenify-all: 1.6.0
- dev: true
-
- /nanoid@3.3.7:
- resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
- engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
- hasBin: true
- dev: true
-
- /natural-compare@1.4.0:
- resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
- dev: true
-
- /negotiator@0.6.3:
- resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
- engines: {node: '>= 0.6'}
- dev: true
-
- /netmask@2.0.2:
- resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==}
- engines: {node: '>= 0.4.0'}
- dev: true
-
- /node-addon-api@1.7.2:
- resolution: {integrity: sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==}
- requiresBuild: true
- dev: true
- optional: true
-
- /node-fetch@2.6.9:
- resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==}
- engines: {node: 4.x || >=6.0.0}
- peerDependencies:
- encoding: ^0.1.0
- peerDependenciesMeta:
- encoding:
- optional: true
- dependencies:
- whatwg-url: 5.0.0
- dev: true
-
- /node-fetch@2.7.0:
- resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
- engines: {node: 4.x || >=6.0.0}
- peerDependencies:
- encoding: ^0.1.0
- peerDependenciesMeta:
- encoding:
- optional: true
- dependencies:
- whatwg-url: 5.0.0
- dev: true
-
- /node-gyp-build@4.8.0:
- resolution: {integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==}
- hasBin: true
- dev: true
-
- /node-releases@2.0.14:
- resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
- dev: true
-
- /nopt@5.0.0:
- resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==}
- engines: {node: '>=6'}
- hasBin: true
- dependencies:
- abbrev: 1.1.1
- dev: true
-
- /normalize-path@3.0.0:
- resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /normalize-range@0.1.2:
- resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /normalize-url@6.1.0:
- resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==}
- engines: {node: '>=10'}
- dev: true
-
- /npm-run-path@4.0.1:
- resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
- engines: {node: '>=8'}
- dependencies:
- path-key: 3.1.1
- dev: true
-
- /npmlog@5.0.1:
- resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==}
- dependencies:
- are-we-there-yet: 2.0.0
- console-control-strings: 1.1.0
- gauge: 3.0.2
- set-blocking: 2.0.0
- dev: true
-
- /nth-check@2.1.1:
- resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
- dependencies:
- boolbase: 1.0.0
- dev: true
-
- /object-assign@4.1.1:
- resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /object-hash@3.0.0:
- resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
- engines: {node: '>= 6'}
- dev: true
-
- /object-inspect@1.13.1:
- resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==}
- dev: true
-
- /object-keys@1.1.1:
- resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
- engines: {node: '>= 0.4'}
- dev: true
-
- /object.assign@4.1.5:
- resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- has-symbols: 1.0.3
- object-keys: 1.1.1
- dev: true
-
- /object.values@1.2.0:
- resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-object-atoms: 1.0.0
- dev: true
-
- /on-finished@2.4.1:
- resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
- engines: {node: '>= 0.8'}
- dependencies:
- ee-first: 1.1.1
- dev: true
-
- /once@1.4.0:
- resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
- dependencies:
- wrappy: 1.0.2
- dev: true
-
- /onetime@5.1.2:
- resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
- engines: {node: '>=6'}
- dependencies:
- mimic-fn: 2.1.0
- dev: true
-
- /optionator@0.8.3:
- resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==}
- engines: {node: '>= 0.8.0'}
- dependencies:
- deep-is: 0.1.4
- fast-levenshtein: 2.0.6
- levn: 0.3.0
- prelude-ls: 1.1.2
- type-check: 0.3.2
- word-wrap: 1.2.5
- dev: true
-
- /optionator@0.9.3:
- resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
- engines: {node: '>= 0.8.0'}
- dependencies:
- '@aashutoshrathi/word-wrap': 1.2.6
- deep-is: 0.1.4
- fast-levenshtein: 2.0.6
- levn: 0.4.1
- prelude-ls: 1.2.1
- type-check: 0.4.0
- dev: true
-
- /ora@5.4.1:
- resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==}
- engines: {node: '>=10'}
- dependencies:
- bl: 4.1.0
- chalk: 4.1.2
- cli-cursor: 3.1.0
- cli-spinners: 2.9.2
- is-interactive: 1.0.0
- is-unicode-supported: 0.1.0
- log-symbols: 4.1.0
- strip-ansi: 6.0.1
- wcwidth: 1.0.1
- dev: true
-
- /os-tmpdir@1.0.2:
- resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /outdent@0.8.0:
- resolution: {integrity: sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A==}
- dev: true
-
- /p-cancelable@2.1.1:
- resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==}
- engines: {node: '>=8'}
- dev: true
-
- /p-limit@3.1.0:
- resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
- engines: {node: '>=10'}
- dependencies:
- yocto-queue: 0.1.0
- dev: true
-
- /p-locate@5.0.0:
- resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
- engines: {node: '>=10'}
- dependencies:
- p-limit: 3.1.0
- dev: true
-
- /p-map@4.0.0:
- resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==}
- engines: {node: '>=10'}
- dependencies:
- aggregate-error: 3.1.0
- dev: true
-
- /pac-proxy-agent@5.0.0:
- resolution: {integrity: sha512-CcFG3ZtnxO8McDigozwE3AqAw15zDvGH+OjXO4kzf7IkEKkQ4gxQ+3sdF50WmhQ4P/bVusXcqNE2S3XrNURwzQ==}
- engines: {node: '>= 8'}
- dependencies:
- '@tootallnate/once': 1.1.2
- agent-base: 6.0.2
- debug: 4.3.4
- get-uri: 3.0.2
- http-proxy-agent: 4.0.1
- https-proxy-agent: 5.0.1
- pac-resolver: 5.0.1
- raw-body: 2.5.2
- socks-proxy-agent: 5.0.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /pac-resolver@5.0.1:
- resolution: {integrity: sha512-cy7u00ko2KVgBAjuhevqpPeHIkCIqPe1v24cydhWjmeuzaBfmUWFCZJ1iAh5TuVzVZoUzXIW7K8sMYOZ84uZ9Q==}
- engines: {node: '>= 8'}
- dependencies:
- degenerator: 3.0.4
- ip: 1.1.9
- netmask: 2.0.2
- dev: true
-
- /pako@0.2.9:
- resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==}
- dev: true
-
- /parent-module@1.0.1:
- resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
- engines: {node: '>=6'}
- dependencies:
- callsites: 3.1.0
- dev: true
-
- /parse-entities@4.0.1:
- resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==}
- dependencies:
- '@types/unist': 2.0.10
- character-entities: 2.0.2
- character-entities-legacy: 3.0.0
- character-reference-invalid: 2.0.1
- decode-named-character-reference: 1.0.2
- is-alphanumerical: 2.0.1
- is-decimal: 2.0.1
- is-hexadecimal: 2.0.1
- dev: true
-
- /parse-ms@2.1.0:
- resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==}
- engines: {node: '>=6'}
- dev: true
-
- /parseurl@1.3.3:
- resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
- engines: {node: '>= 0.8'}
- dev: true
-
- /path-browserify@1.0.1:
- resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
- dev: true
-
- /path-exists@4.0.0:
- resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
- engines: {node: '>=8'}
- dev: true
-
- /path-is-absolute@1.0.1:
- resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /path-key@3.1.1:
- resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
- engines: {node: '>=8'}
- dev: true
-
- /path-parse@1.0.7:
- resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
- dev: true
-
- /path-scurry@1.10.2:
- resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==}
- engines: {node: '>=16 || 14 >=14.17'}
- dependencies:
- lru-cache: 10.2.0
- minipass: 7.0.4
- dev: true
-
- /path-to-regexp@0.1.7:
- resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==}
- dev: true
-
- /path-to-regexp@6.1.0:
- resolution: {integrity: sha512-h9DqehX3zZZDCEm+xbfU0ZmwCGFCAAraPJWMXJ4+v32NjZJilVg3k1TcKsRgIb8IQ/izZSaydDc1OhJCZvs2Dw==}
- dev: true
-
- /path-to-regexp@6.2.1:
- resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==}
- dev: true
-
- /path-type@4.0.0:
- resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
- engines: {node: '>=8'}
- dev: true
-
- /pathe@1.1.2:
- resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
- dev: true
-
- /peek-stream@1.1.3:
- resolution: {integrity: sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA==}
- dependencies:
- buffer-from: 1.1.2
- duplexify: 3.7.1
- through2: 2.0.5
- dev: true
-
- /periscopic@3.1.0:
- resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==}
- dependencies:
- '@types/estree': 1.0.5
- estree-walker: 3.0.3
- is-reference: 3.0.2
- dev: true
-
- /picocolors@1.0.0:
- resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
- dev: true
-
- /picomatch@2.3.1:
- resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
- engines: {node: '>=8.6'}
- dev: true
-
- /pify@2.3.0:
- resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /pirates@4.0.6:
- resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
- engines: {node: '>= 6'}
- dev: true
-
- /pkg-types@1.0.3:
- resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==}
- dependencies:
- jsonc-parser: 3.2.1
- mlly: 1.6.1
- pathe: 1.1.2
- dev: true
-
- /possible-typed-array-names@1.0.0:
- resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
- engines: {node: '>= 0.4'}
- dev: true
-
- /postcss-discard-duplicates@5.1.0(postcss@8.4.38):
- resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==}
- engines: {node: ^10 || ^12 || >=14.0}
- peerDependencies:
- postcss: ^8.2.15
- dependencies:
- postcss: 8.4.38
- dev: true
-
- /postcss-import@15.1.0(postcss@8.4.38):
- resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- postcss: ^8.0.0
- dependencies:
- postcss: 8.4.38
- postcss-value-parser: 4.2.0
- read-cache: 1.0.0
- resolve: 1.22.8
- dev: true
-
- /postcss-js@4.0.1(postcss@8.4.38):
- resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
- engines: {node: ^12 || ^14 || >= 16}
- peerDependencies:
- postcss: ^8.4.21
- dependencies:
- camelcase-css: 2.0.1
- postcss: 8.4.38
- dev: true
-
- /postcss-load-config@4.0.2(postcss@8.4.38):
- resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
- engines: {node: '>= 14'}
- peerDependencies:
- postcss: '>=8.0.9'
- ts-node: '>=9.0.0'
- peerDependenciesMeta:
- postcss:
- optional: true
- ts-node:
- optional: true
- dependencies:
- lilconfig: 3.1.1
- postcss: 8.4.38
- yaml: 2.4.1
- dev: true
-
- /postcss-modules-extract-imports@3.0.0(postcss@8.4.38):
- resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==}
- engines: {node: ^10 || ^12 || >= 14}
- peerDependencies:
- postcss: ^8.1.0
- dependencies:
- postcss: 8.4.38
- dev: true
-
- /postcss-modules-local-by-default@4.0.4(postcss@8.4.38):
- resolution: {integrity: sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==}
- engines: {node: ^10 || ^12 || >= 14}
- peerDependencies:
- postcss: ^8.1.0
- dependencies:
- icss-utils: 5.1.0(postcss@8.4.38)
- postcss: 8.4.38
- postcss-selector-parser: 6.0.16
- postcss-value-parser: 4.2.0
- dev: true
-
- /postcss-modules-scope@3.1.1(postcss@8.4.38):
- resolution: {integrity: sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==}
- engines: {node: ^10 || ^12 || >= 14}
- peerDependencies:
- postcss: ^8.1.0
- dependencies:
- postcss: 8.4.38
- postcss-selector-parser: 6.0.16
- dev: true
-
- /postcss-modules-values@4.0.0(postcss@8.4.38):
- resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==}
- engines: {node: ^10 || ^12 || >= 14}
- peerDependencies:
- postcss: ^8.1.0
- dependencies:
- icss-utils: 5.1.0(postcss@8.4.38)
- postcss: 8.4.38
- dev: true
-
- /postcss-modules@6.0.0(postcss@8.4.38):
- resolution: {integrity: sha512-7DGfnlyi/ju82BRzTIjWS5C4Tafmzl3R79YP/PASiocj+aa6yYphHhhKUOEoXQToId5rgyFgJ88+ccOUydjBXQ==}
- peerDependencies:
- postcss: ^8.0.0
- dependencies:
- generic-names: 4.0.0
- icss-utils: 5.1.0(postcss@8.4.38)
- lodash.camelcase: 4.3.0
- postcss: 8.4.38
- postcss-modules-extract-imports: 3.0.0(postcss@8.4.38)
- postcss-modules-local-by-default: 4.0.4(postcss@8.4.38)
- postcss-modules-scope: 3.1.1(postcss@8.4.38)
- postcss-modules-values: 4.0.0(postcss@8.4.38)
- string-hash: 1.1.3
- dev: true
-
- /postcss-nested@6.0.1(postcss@8.4.38):
- resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
- engines: {node: '>=12.0'}
- peerDependencies:
- postcss: ^8.2.14
- dependencies:
- postcss: 8.4.38
- postcss-selector-parser: 6.0.16
- dev: true
-
- /postcss-selector-parser@6.0.16:
- resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==}
- engines: {node: '>=4'}
- dependencies:
- cssesc: 3.0.0
- util-deprecate: 1.0.2
- dev: true
-
- /postcss-value-parser@4.2.0:
- resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
- dev: true
-
- /postcss@8.4.38:
- resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==}
- engines: {node: ^10 || ^12 || >=14}
- dependencies:
- nanoid: 3.3.7
- picocolors: 1.0.0
- source-map-js: 1.2.0
- dev: true
-
- /prelude-ls@1.1.2:
- resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==}
- engines: {node: '>= 0.8.0'}
- dev: true
-
- /prelude-ls@1.2.1:
- resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
- engines: {node: '>= 0.8.0'}
- dev: true
-
- /prettier-plugin-tailwindcss@0.5.13(prettier@3.2.5):
- resolution: {integrity: sha512-2tPWHCFNC+WRjAC4SIWQNSOdcL1NNkydXim8w7TDqlZi+/ulZYz2OouAI6qMtkggnPt7lGamboj6LcTMwcCvoQ==}
- engines: {node: '>=14.21.3'}
- peerDependencies:
- '@ianvs/prettier-plugin-sort-imports': '*'
- '@prettier/plugin-pug': '*'
- '@shopify/prettier-plugin-liquid': '*'
- '@trivago/prettier-plugin-sort-imports': '*'
- '@zackad/prettier-plugin-twig-melody': '*'
- prettier: ^3.0
- prettier-plugin-astro: '*'
- prettier-plugin-css-order: '*'
- prettier-plugin-import-sort: '*'
- prettier-plugin-jsdoc: '*'
- prettier-plugin-marko: '*'
- prettier-plugin-organize-attributes: '*'
- prettier-plugin-organize-imports: '*'
- prettier-plugin-sort-imports: '*'
- prettier-plugin-style-order: '*'
- prettier-plugin-svelte: '*'
- peerDependenciesMeta:
- '@ianvs/prettier-plugin-sort-imports':
- optional: true
- '@prettier/plugin-pug':
- optional: true
- '@shopify/prettier-plugin-liquid':
- optional: true
- '@trivago/prettier-plugin-sort-imports':
- optional: true
- '@zackad/prettier-plugin-twig-melody':
- optional: true
- prettier-plugin-astro:
- optional: true
- prettier-plugin-css-order:
- optional: true
- prettier-plugin-import-sort:
- optional: true
- prettier-plugin-jsdoc:
- optional: true
- prettier-plugin-marko:
- optional: true
- prettier-plugin-organize-attributes:
- optional: true
- prettier-plugin-organize-imports:
- optional: true
- prettier-plugin-sort-imports:
- optional: true
- prettier-plugin-style-order:
- optional: true
- prettier-plugin-svelte:
- optional: true
- dependencies:
- prettier: 3.2.5
- dev: true
-
- /prettier@2.7.1:
- resolution: {integrity: sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==}
- engines: {node: '>=10.13.0'}
- hasBin: true
- dev: true
-
- /prettier@3.2.5:
- resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==}
- engines: {node: '>=14'}
- hasBin: true
- dev: true
-
- /pretty-bytes@5.6.0:
- resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==}
- engines: {node: '>=6'}
- dev: true
-
- /pretty-ms@7.0.1:
- resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==}
- engines: {node: '>=10'}
- dependencies:
- parse-ms: 2.1.0
- dev: true
-
- /process-nextick-args@2.0.1:
- resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
- dev: true
-
- /promise-inflight@1.0.1:
- resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==}
- peerDependencies:
- bluebird: '*'
- peerDependenciesMeta:
- bluebird:
- optional: true
- dev: true
-
- /property-information@6.4.1:
- resolution: {integrity: sha512-OHYtXfu5aI2sS2LWFSN5rgJjrQ4pCy8i1jubJLe2QvMF8JJ++HXTUIVWFLfXJoaOfvYYjk2SN8J2wFUWIGXT4w==}
- dev: true
-
- /proxy-addr@2.0.7:
- resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
- engines: {node: '>= 0.10'}
- dependencies:
- forwarded: 0.2.0
- ipaddr.js: 1.9.1
- dev: true
-
- /proxy-agent@5.0.0:
- resolution: {integrity: sha512-gkH7BkvLVkSfX9Dk27W6TyNOWWZWRilRfk1XxGNWOYJ2TuedAv1yFpCaU9QSBmBe716XOTNpYNOzhysyw8xn7g==}
- engines: {node: '>= 8'}
- dependencies:
- agent-base: 6.0.2
- debug: 4.3.4
- http-proxy-agent: 4.0.1
- https-proxy-agent: 5.0.1
- lru-cache: 5.1.1
- pac-proxy-agent: 5.0.0
- proxy-from-env: 1.1.0
- socks-proxy-agent: 5.0.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /proxy-from-env@1.1.0:
- resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
- dev: true
-
- /pump@2.0.1:
- resolution: {integrity: sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==}
- dependencies:
- end-of-stream: 1.4.4
- once: 1.4.0
- dev: true
-
- /pump@3.0.0:
- resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==}
- dependencies:
- end-of-stream: 1.4.4
- once: 1.4.0
- dev: true
-
- /pumpify@1.5.1:
- resolution: {integrity: sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==}
- dependencies:
- duplexify: 3.7.1
- inherits: 2.0.4
- pump: 2.0.1
- dev: true
-
- /punycode@2.3.1:
- resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
- engines: {node: '>=6'}
- dev: true
-
- /qs@6.11.0:
- resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==}
- engines: {node: '>=0.6'}
- dependencies:
- side-channel: 1.0.6
- dev: true
-
- /queue-microtask@1.2.3:
- resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
- dev: true
-
- /quick-lru@5.1.1:
- resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
- engines: {node: '>=10'}
- dev: true
-
- /range-parser@1.2.1:
- resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
- engines: {node: '>= 0.6'}
- dev: true
-
- /raw-body@2.5.2:
- resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==}
- engines: {node: '>= 0.8'}
- dependencies:
- bytes: 3.1.2
- http-errors: 2.0.0
- iconv-lite: 0.4.24
- unpipe: 1.0.0
- dev: true
-
- /react-dom@18.2.0(react@18.2.0):
- resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
- peerDependencies:
- react: ^18.2.0
- dependencies:
- loose-envify: 1.4.0
- react: 18.2.0
- scheduler: 0.23.0
- dev: true
-
- /react-refresh@0.14.0:
- resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /react@18.2.0:
- resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
- engines: {node: '>=0.10.0'}
- dependencies:
- loose-envify: 1.4.0
- dev: true
-
- /read-cache@1.0.0:
- resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
- dependencies:
- pify: 2.3.0
- dev: true
-
- /readable-stream@1.1.14:
- resolution: {integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==}
- dependencies:
- core-util-is: 1.0.3
- inherits: 2.0.4
- isarray: 0.0.1
- string_decoder: 0.10.31
- dev: true
-
- /readable-stream@2.3.8:
- resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==}
- dependencies:
- core-util-is: 1.0.3
- inherits: 2.0.4
- isarray: 1.0.0
- process-nextick-args: 2.0.1
- safe-buffer: 5.1.2
- string_decoder: 1.1.1
- util-deprecate: 1.0.2
- dev: true
-
- /readable-stream@3.6.2:
- resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
- engines: {node: '>= 6'}
- dependencies:
- inherits: 2.0.4
- string_decoder: 1.3.0
- util-deprecate: 1.0.2
- dev: true
-
- /readdirp@3.6.0:
- resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
- engines: {node: '>=8.10.0'}
- dependencies:
- picomatch: 2.3.1
- dev: true
-
- /recast@0.21.5:
- resolution: {integrity: sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==}
- engines: {node: '>= 4'}
- dependencies:
- ast-types: 0.15.2
- esprima: 4.0.1
- source-map: 0.6.1
- tslib: 2.6.2
- dev: true
-
- /regenerate-unicode-properties@10.1.1:
- resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==}
- engines: {node: '>=4'}
- dependencies:
- regenerate: 1.4.2
- dev: true
-
- /regenerate@1.4.2:
- resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==}
- dev: true
-
- /regenerator-runtime@0.13.11:
- resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
- dev: true
-
- /regenerator-runtime@0.14.1:
- resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
- dev: true
-
- /regenerator-transform@0.15.2:
- resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==}
- dependencies:
- '@babel/runtime': 7.24.1
- dev: true
-
- /regexp.prototype.flags@1.5.2:
- resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-errors: 1.3.0
- set-function-name: 2.0.2
- dev: true
-
- /regexpu-core@5.3.2:
- resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==}
- engines: {node: '>=4'}
- dependencies:
- '@babel/regjsgen': 0.8.0
- regenerate: 1.4.2
- regenerate-unicode-properties: 10.1.1
- regjsparser: 0.9.1
- unicode-match-property-ecmascript: 2.0.0
- unicode-match-property-value-ecmascript: 2.1.0
- dev: true
-
- /regjsparser@0.9.1:
- resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==}
- hasBin: true
- dependencies:
- jsesc: 0.5.0
- dev: true
-
- /remark-frontmatter@4.0.1:
- resolution: {integrity: sha512-38fJrB0KnmD3E33a5jZC/5+gGAC2WKNiPw1/fdXJvijBlhA7RCsvJklrYJakS0HedninvaCYW8lQGf9C918GfA==}
- dependencies:
- '@types/mdast': 3.0.15
- mdast-util-frontmatter: 1.0.1
- micromark-extension-frontmatter: 1.1.1
- unified: 10.1.2
- dev: true
-
- /remark-mdx-frontmatter@1.1.1:
- resolution: {integrity: sha512-7teX9DW4tI2WZkXS4DBxneYSY7NHiXl4AKdWDO9LXVweULlCT8OPWsOjLEnMIXViN1j+QcY8mfbq3k0EK6x3uA==}
- engines: {node: '>=12.2.0'}
- dependencies:
- estree-util-is-identifier-name: 1.1.0
- estree-util-value-to-estree: 1.3.0
- js-yaml: 4.1.0
- toml: 3.0.0
- dev: true
-
- /remark-mdx@3.0.1:
- resolution: {integrity: sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==}
- dependencies:
- mdast-util-mdx: 3.0.0
- micromark-extension-mdxjs: 3.0.0
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /remark-parse@10.0.2:
- resolution: {integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==}
- dependencies:
- '@types/mdast': 3.0.15
- mdast-util-from-markdown: 1.3.1
- unified: 10.1.2
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /remark-parse@11.0.0:
- resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==}
- dependencies:
- '@types/mdast': 4.0.3
- mdast-util-from-markdown: 2.0.0
- micromark-util-types: 2.0.0
- unified: 11.0.4
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /remark-rehype@11.1.0:
- resolution: {integrity: sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==}
- dependencies:
- '@types/hast': 3.0.4
- '@types/mdast': 4.0.3
- mdast-util-to-hast: 13.1.0
- unified: 11.0.4
- vfile: 6.0.1
- dev: true
-
- /remark-rehype@9.1.0:
- resolution: {integrity: sha512-oLa6YmgAYg19zb0ZrBACh40hpBLteYROaPLhBXzLgjqyHQrN+gVP9N/FJvfzuNNuzCutktkroXEZBrxAxKhh7Q==}
- dependencies:
- '@types/hast': 2.3.10
- '@types/mdast': 3.0.15
- mdast-util-to-hast: 11.3.0
- unified: 10.1.2
- dev: true
-
- /require-from-string@2.0.2:
- resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /require-like@0.1.2:
- resolution: {integrity: sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==}
- dev: true
-
- /resolve-alpn@1.2.1:
- resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==}
- dev: true
-
- /resolve-from@4.0.0:
- resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
- engines: {node: '>=4'}
- dev: true
-
- /resolve-from@5.0.0:
- resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
- engines: {node: '>=8'}
- dev: true
-
- /resolve@1.22.8:
- resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
- hasBin: true
- dependencies:
- is-core-module: 2.13.1
- path-parse: 1.0.7
- supports-preserve-symlinks-flag: 1.0.0
- dev: true
-
- /responselike@2.0.1:
- resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==}
- dependencies:
- lowercase-keys: 2.0.0
- dev: true
-
- /restore-cursor@3.1.0:
- resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==}
- engines: {node: '>=8'}
- dependencies:
- onetime: 5.1.2
- signal-exit: 3.0.7
- dev: true
-
- /reusify@1.0.4:
- resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
- engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
- dev: true
-
- /rimraf@3.0.2:
- resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
- hasBin: true
- dependencies:
- glob: 7.2.3
- dev: true
-
- /rollup@4.13.2:
- resolution: {integrity: sha512-MIlLgsdMprDBXC+4hsPgzWUasLO9CE4zOkj/u6j+Z6j5A4zRY+CtiXAdJyPtgCsc42g658Aeh1DlrdVEJhsL2g==}
- engines: {node: '>=18.0.0', npm: '>=8.0.0'}
- hasBin: true
- dependencies:
- '@types/estree': 1.0.5
- optionalDependencies:
- '@rollup/rollup-android-arm-eabi': 4.13.2
- '@rollup/rollup-android-arm64': 4.13.2
- '@rollup/rollup-darwin-arm64': 4.13.2
- '@rollup/rollup-darwin-x64': 4.13.2
- '@rollup/rollup-linux-arm-gnueabihf': 4.13.2
- '@rollup/rollup-linux-arm64-gnu': 4.13.2
- '@rollup/rollup-linux-arm64-musl': 4.13.2
- '@rollup/rollup-linux-powerpc64le-gnu': 4.13.2
- '@rollup/rollup-linux-riscv64-gnu': 4.13.2
- '@rollup/rollup-linux-s390x-gnu': 4.13.2
- '@rollup/rollup-linux-x64-gnu': 4.13.2
- '@rollup/rollup-linux-x64-musl': 4.13.2
- '@rollup/rollup-win32-arm64-msvc': 4.13.2
- '@rollup/rollup-win32-ia32-msvc': 4.13.2
- '@rollup/rollup-win32-x64-msvc': 4.13.2
- fsevents: 2.3.3
- dev: true
-
- /run-async@2.4.1:
- resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==}
- engines: {node: '>=0.12.0'}
- dev: true
-
- /run-parallel@1.2.0:
- resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
- dependencies:
- queue-microtask: 1.2.3
- dev: true
-
- /rxjs@7.8.1:
- resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==}
- dependencies:
- tslib: 2.6.2
- dev: true
-
- /sade@1.8.1:
- resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
- engines: {node: '>=6'}
- dependencies:
- mri: 1.2.0
- dev: true
-
- /safe-array-concat@1.1.2:
- resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==}
- engines: {node: '>=0.4'}
- dependencies:
- call-bind: 1.0.7
- get-intrinsic: 1.2.4
- has-symbols: 1.0.3
- isarray: 2.0.5
- dev: true
-
- /safe-buffer@5.1.2:
- resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
- dev: true
-
- /safe-buffer@5.2.1:
- resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
- dev: true
-
- /safe-regex-test@1.0.3:
- resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- is-regex: 1.1.4
- dev: true
-
- /safer-buffer@2.1.2:
- resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
- dev: true
-
- /scheduler@0.23.0:
- resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
- dependencies:
- loose-envify: 1.4.0
- dev: true
-
- /semver@6.1.1:
- resolution: {integrity: sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==}
- hasBin: true
- dev: true
-
- /semver@6.3.1:
- resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
- hasBin: true
- dev: true
-
- /semver@7.3.8:
- resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==}
- engines: {node: '>=10'}
- hasBin: true
- dependencies:
- lru-cache: 6.0.0
- dev: true
-
- /semver@7.6.0:
- resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==}
- engines: {node: '>=10'}
- hasBin: true
- dependencies:
- lru-cache: 6.0.0
- dev: true
-
- /send@0.18.0:
- resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==}
- engines: {node: '>= 0.8.0'}
- dependencies:
- debug: 2.6.9
- depd: 2.0.0
- destroy: 1.2.0
- encodeurl: 1.0.2
- escape-html: 1.0.3
- etag: 1.8.1
- fresh: 0.5.2
- http-errors: 2.0.0
- mime: 1.6.0
- ms: 2.1.3
- on-finished: 2.4.1
- range-parser: 1.2.1
- statuses: 2.0.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /serve-static@1.15.0:
- resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==}
- engines: {node: '>= 0.8.0'}
- dependencies:
- encodeurl: 1.0.2
- escape-html: 1.0.3
- parseurl: 1.3.3
- send: 0.18.0
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /set-blocking@2.0.0:
- resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
- dev: true
-
- /set-cookie-parser@2.6.0:
- resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==}
- dev: true
-
- /set-function-length@1.2.2:
- resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
- engines: {node: '>= 0.4'}
- dependencies:
- define-data-property: 1.1.4
- es-errors: 1.3.0
- function-bind: 1.1.2
- get-intrinsic: 1.2.4
- gopd: 1.0.1
- has-property-descriptors: 1.0.2
- dev: true
-
- /set-function-name@2.0.2:
- resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- define-data-property: 1.1.4
- es-errors: 1.3.0
- functions-have-names: 1.2.3
- has-property-descriptors: 1.0.2
- dev: true
-
- /setprototypeof@1.2.0:
- resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
- dev: true
-
- /sharp@0.33.3:
- resolution: {integrity: sha512-vHUeXJU1UvlO/BNwTpT0x/r53WkLUVxrmb5JTgW92fdFCFk0ispLMAeu/jPO2vjkXM1fYUi3K7/qcLF47pwM1A==}
- engines: {libvips: '>=8.15.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0}
- requiresBuild: true
- dependencies:
- color: 4.2.3
- detect-libc: 2.0.3
- semver: 7.6.0
- optionalDependencies:
- '@img/sharp-darwin-arm64': 0.33.3
- '@img/sharp-darwin-x64': 0.33.3
- '@img/sharp-libvips-darwin-arm64': 1.0.2
- '@img/sharp-libvips-darwin-x64': 1.0.2
- '@img/sharp-libvips-linux-arm': 1.0.2
- '@img/sharp-libvips-linux-arm64': 1.0.2
- '@img/sharp-libvips-linux-s390x': 1.0.2
- '@img/sharp-libvips-linux-x64': 1.0.2
- '@img/sharp-libvips-linuxmusl-arm64': 1.0.2
- '@img/sharp-libvips-linuxmusl-x64': 1.0.2
- '@img/sharp-linux-arm': 0.33.3
- '@img/sharp-linux-arm64': 0.33.3
- '@img/sharp-linux-s390x': 0.33.3
- '@img/sharp-linux-x64': 0.33.3
- '@img/sharp-linuxmusl-arm64': 0.33.3
- '@img/sharp-linuxmusl-x64': 0.33.3
- '@img/sharp-wasm32': 0.33.3
- '@img/sharp-win32-ia32': 0.33.3
- '@img/sharp-win32-x64': 0.33.3
- dev: true
-
- /shebang-command@2.0.0:
- resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
- engines: {node: '>=8'}
- dependencies:
- shebang-regex: 3.0.0
- dev: true
-
- /shebang-regex@3.0.0:
- resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
- engines: {node: '>=8'}
- dev: true
-
- /side-channel@1.0.6:
- resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- get-intrinsic: 1.2.4
- object-inspect: 1.13.1
- dev: true
-
- /signal-exit@3.0.7:
- resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
- dev: true
-
- /signal-exit@4.1.0:
- resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
- engines: {node: '>=14'}
- dev: true
-
- /simple-swizzle@0.2.2:
- resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==}
- dependencies:
- is-arrayish: 0.3.2
- dev: true
-
- /slash@3.0.0:
- resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
- engines: {node: '>=8'}
- dev: true
-
- /smart-buffer@4.2.0:
- resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==}
- engines: {node: '>= 6.0.0', npm: '>= 3.0.0'}
- dev: true
-
- /socks-proxy-agent@5.0.1:
- resolution: {integrity: sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==}
- engines: {node: '>= 6'}
- dependencies:
- agent-base: 6.0.2
- debug: 4.3.4
- socks: 2.8.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /socks@2.8.1:
- resolution: {integrity: sha512-B6w7tkwNid7ToxjZ08rQMT8M9BJAf8DKx8Ft4NivzH0zBUfd6jldGcisJn/RLgxcX3FPNDdNQCUEMMT79b+oCQ==}
- engines: {node: '>= 10.0.0', npm: '>= 3.0.0'}
- dependencies:
- ip-address: 9.0.5
- smart-buffer: 4.2.0
- dev: true
-
- /sort-object-keys@1.1.3:
- resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==}
- dev: true
-
- /sort-package-json@1.57.0:
- resolution: {integrity: sha512-FYsjYn2dHTRb41wqnv+uEqCUvBpK3jZcTp9rbz2qDTmel7Pmdtf+i2rLaaPMRZeSVM60V3Se31GyWFpmKs4Q5Q==}
- hasBin: true
- dependencies:
- detect-indent: 6.1.0
- detect-newline: 3.1.0
- git-hooks-list: 1.0.3
- globby: 10.0.0
- is-plain-obj: 2.1.0
- sort-object-keys: 1.1.3
- dev: true
-
- /source-map-js@1.2.0:
- resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /source-map@0.6.1:
- resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /source-map@0.7.4:
- resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
- engines: {node: '>= 8'}
- dev: true
-
- /space-separated-tokens@2.0.2:
- resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
- dev: true
-
- /sprintf-js@1.1.3:
- resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==}
- dev: true
-
- /ssri@8.0.1:
- resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==}
- engines: {node: '>= 8'}
- dependencies:
- minipass: 3.3.6
- dev: true
-
- /statuses@2.0.1:
- resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
- engines: {node: '>= 0.8'}
- dev: true
-
- /stream-shift@1.0.3:
- resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==}
- dev: true
-
- /string-hash@1.1.3:
- resolution: {integrity: sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==}
- dev: true
-
- /string-width@4.2.3:
- resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
- engines: {node: '>=8'}
- dependencies:
- emoji-regex: 8.0.0
- is-fullwidth-code-point: 3.0.0
- strip-ansi: 6.0.1
- dev: true
-
- /string-width@5.1.2:
- resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
- engines: {node: '>=12'}
- dependencies:
- eastasianwidth: 0.2.0
- emoji-regex: 9.2.2
- strip-ansi: 7.1.0
- dev: true
-
- /string.prototype.trim@1.2.9:
- resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.23.2
- es-object-atoms: 1.0.0
- dev: true
-
- /string.prototype.trimend@1.0.8:
- resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==}
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-object-atoms: 1.0.0
- dev: true
-
- /string.prototype.trimstart@1.0.8:
- resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-object-atoms: 1.0.0
- dev: true
-
- /string_decoder@0.10.31:
- resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==}
- dev: true
-
- /string_decoder@1.1.1:
- resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
- dependencies:
- safe-buffer: 5.1.2
- dev: true
-
- /string_decoder@1.3.0:
- resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
- dependencies:
- safe-buffer: 5.2.1
- dev: true
-
- /stringify-entities@4.0.3:
- resolution: {integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==}
- dependencies:
- character-entities-html4: 2.1.0
- character-entities-legacy: 3.0.0
- dev: true
-
- /strip-ansi@6.0.1:
- resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
- engines: {node: '>=8'}
- dependencies:
- ansi-regex: 5.0.1
- dev: true
-
- /strip-ansi@7.1.0:
- resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
- engines: {node: '>=12'}
- dependencies:
- ansi-regex: 6.0.1
- dev: true
-
- /strip-bom@3.0.0:
- resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
- engines: {node: '>=4'}
- dev: true
-
- /strip-final-newline@2.0.0:
- resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
- engines: {node: '>=6'}
- dev: true
-
- /strip-json-comments@3.1.1:
- resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
- engines: {node: '>=8'}
- dev: true
-
- /style-to-object@0.4.4:
- resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==}
- dependencies:
- inline-style-parser: 0.1.1
- dev: true
-
- /style-to-object@1.0.6:
- resolution: {integrity: sha512-khxq+Qm3xEyZfKd/y9L3oIWQimxuc4STrQKtQn8aSDRHb8mFgpukgX1hdzfrMEW6JCjyJ8p89x+IUMVnCBI1PA==}
- dependencies:
- inline-style-parser: 0.2.3
- dev: true
-
- /sucrase@3.35.0:
- resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
- engines: {node: '>=16 || 14 >=14.17'}
- hasBin: true
- dependencies:
- '@jridgewell/gen-mapping': 0.3.5
- commander: 4.1.1
- glob: 10.3.12
- lines-and-columns: 1.2.4
- mz: 2.7.0
- pirates: 4.0.6
- ts-interface-checker: 0.1.13
- dev: true
-
- /supports-color@5.5.0:
- resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
- engines: {node: '>=4'}
- dependencies:
- has-flag: 3.0.0
- dev: true
-
- /supports-color@7.2.0:
- resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
- engines: {node: '>=8'}
- dependencies:
- has-flag: 4.0.0
- dev: true
-
- /supports-preserve-symlinks-flag@1.0.0:
- resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
- engines: {node: '>= 0.4'}
- dev: true
-
- /svgo@3.2.0:
- resolution: {integrity: sha512-4PP6CMW/V7l/GmKRKzsLR8xxjdHTV4IMvhTnpuHwwBazSIlw5W/5SmPjN8Dwyt7lKbSJrRDgp4t9ph0HgChFBQ==}
- engines: {node: '>=14.0.0'}
- hasBin: true
- dependencies:
- '@trysound/sax': 0.2.0
- commander: 7.2.0
- css-select: 5.1.0
- css-tree: 2.3.1
- css-what: 6.1.0
- csso: 5.0.5
- picocolors: 1.0.0
- dev: true
-
- /tailwindcss@3.3.3:
- resolution: {integrity: sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==}
- engines: {node: '>=14.0.0'}
- hasBin: true
- dependencies:
- '@alloc/quick-lru': 5.2.0
- arg: 5.0.2
- chokidar: 3.6.0
- didyoumean: 1.2.2
- dlv: 1.1.3
- fast-glob: 3.3.2
- glob-parent: 6.0.2
- is-glob: 4.0.3
- jiti: 1.21.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.38
- postcss-import: 15.1.0(postcss@8.4.38)
- postcss-js: 4.0.1(postcss@8.4.38)
- postcss-load-config: 4.0.2(postcss@8.4.38)
- postcss-nested: 6.0.1(postcss@8.4.38)
- postcss-selector-parser: 6.0.16
- resolve: 1.22.8
- sucrase: 3.35.0
- transitivePeerDependencies:
- - ts-node
- dev: true
-
- /tar-fs@2.1.1:
- resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==}
- dependencies:
- chownr: 1.1.4
- mkdirp-classic: 0.5.3
- pump: 3.0.0
- tar-stream: 2.2.0
- dev: true
-
- /tar-stream@2.2.0:
- resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==}
- engines: {node: '>=6'}
- dependencies:
- bl: 4.1.0
- end-of-stream: 1.4.4
- fs-constants: 1.0.0
- inherits: 2.0.4
- readable-stream: 3.6.2
- dev: true
-
- /tar@6.2.1:
- resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==}
- engines: {node: '>=10'}
- dependencies:
- chownr: 2.0.0
- fs-minipass: 2.1.0
- minipass: 5.0.0
- minizlib: 2.1.2
- mkdirp: 1.0.4
- yallist: 4.0.0
- dev: true
-
- /text-table@0.2.0:
- resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
- dev: true
-
- /thenify-all@1.6.0:
- resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
- engines: {node: '>=0.8'}
- dependencies:
- thenify: 3.3.1
- dev: true
-
- /thenify@3.3.1:
- resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
- dependencies:
- any-promise: 1.3.0
- dev: true
-
- /through2@2.0.5:
- resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==}
- dependencies:
- readable-stream: 2.3.8
- xtend: 4.0.2
- dev: true
-
- /through@2.3.8:
- resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
- dev: true
-
- /time-span@4.0.0:
- resolution: {integrity: sha512-MyqZCTGLDZ77u4k+jqg4UlrzPTPZ49NDlaekU6uuFaJLzPIN1woaRXCbGeqOfxwc3Y37ZROGAJ614Rdv7Olt+g==}
- engines: {node: '>=10'}
- dependencies:
- convert-hrtime: 3.0.0
- dev: true
-
- /tmp@0.0.33:
- resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==}
- engines: {node: '>=0.6.0'}
- dependencies:
- os-tmpdir: 1.0.2
- dev: true
-
- /to-fast-properties@2.0.0:
- resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
- engines: {node: '>=4'}
- dev: true
-
- /to-regex-range@5.0.1:
- resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
- engines: {node: '>=8.0'}
- dependencies:
- is-number: 7.0.0
- dev: true
-
- /toidentifier@1.0.1:
- resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
- engines: {node: '>=0.6'}
- dev: true
-
- /toml@3.0.0:
- resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==}
- dev: true
-
- /tr46@0.0.3:
- resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
- dev: true
-
- /trim-lines@3.0.1:
- resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
- dev: true
-
- /trough@2.2.0:
- resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==}
- dev: true
-
- /ts-api-utils@1.3.0(typescript@5.3.3):
- resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
- engines: {node: '>=16'}
- peerDependencies:
- typescript: '>=4.2.0'
- dependencies:
- typescript: 5.3.3
- dev: true
-
- /ts-interface-checker@0.1.13:
- resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
- dev: true
-
- /ts-morph@12.0.0:
- resolution: {integrity: sha512-VHC8XgU2fFW7yO1f/b3mxKDje1vmyzFXHWzOYmKEkCEwcLjDtbdLgBQviqj4ZwP4MJkQtRo6Ha2I29lq/B+VxA==}
- dependencies:
- '@ts-morph/common': 0.11.1
- code-block-writer: 10.1.1
- dev: true
-
- /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.9.5):
- resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==}
- hasBin: true
- peerDependencies:
- '@swc/core': '>=1.2.50'
- '@swc/wasm': '>=1.2.50'
- '@types/node': '*'
- typescript: '>=2.7'
- peerDependenciesMeta:
- '@swc/core':
- optional: true
- '@swc/wasm':
- optional: true
- dependencies:
- '@cspotcode/source-map-support': 0.8.1
- '@tsconfig/node10': 1.0.11
- '@tsconfig/node12': 1.0.11
- '@tsconfig/node14': 1.0.3
- '@tsconfig/node16': 1.0.4
- '@types/node': 14.18.33
- acorn: 8.11.3
- acorn-walk: 8.3.2
- arg: 4.1.3
- create-require: 1.1.1
- diff: 4.0.2
- make-error: 1.3.6
- typescript: 4.9.5
- v8-compile-cache-lib: 3.0.1
- yn: 3.1.1
- dev: true
-
- /ts-toolbelt@6.15.5:
- resolution: {integrity: sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==}
- dev: true
-
- /tsconfck@3.0.3(typescript@5.3.3):
- resolution: {integrity: sha512-4t0noZX9t6GcPTfBAbIbbIU4pfpCwh0ueq3S4O/5qXI1VwK1outmxhe9dOiEWqMz3MW2LKgDTpqWV+37IWuVbA==}
- engines: {node: ^18 || >=20}
- hasBin: true
- peerDependencies:
- typescript: ^5.0.0
- peerDependenciesMeta:
- typescript:
- optional: true
- dependencies:
- typescript: 5.3.3
- dev: true
-
- /tsconfig-paths@4.2.0:
- resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==}
- engines: {node: '>=6'}
- dependencies:
- json5: 2.2.3
- minimist: 1.2.8
- strip-bom: 3.0.0
- dev: true
-
- /tslib@2.6.2:
- resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
- requiresBuild: true
- dev: true
-
- /type-check@0.3.2:
- resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==}
- engines: {node: '>= 0.8.0'}
- dependencies:
- prelude-ls: 1.1.2
- dev: true
-
- /type-check@0.4.0:
- resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
- engines: {node: '>= 0.8.0'}
- dependencies:
- prelude-ls: 1.2.1
- dev: true
-
- /type-fest@0.20.2:
- resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
- engines: {node: '>=10'}
- dev: true
-
- /type-fest@0.21.3:
- resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
- engines: {node: '>=10'}
- dev: true
-
- /type-is@1.6.18:
- resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
- engines: {node: '>= 0.6'}
- dependencies:
- media-typer: 0.3.0
- mime-types: 2.1.35
- dev: true
-
- /typed-array-buffer@1.0.2:
- resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- is-typed-array: 1.1.13
- dev: true
-
- /typed-array-byte-length@1.0.1:
- resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- for-each: 0.3.3
- gopd: 1.0.1
- has-proto: 1.0.3
- is-typed-array: 1.1.13
- dev: true
-
- /typed-array-byte-offset@1.0.2:
- resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==}
- engines: {node: '>= 0.4'}
- dependencies:
- available-typed-arrays: 1.0.7
- call-bind: 1.0.7
- for-each: 0.3.3
- gopd: 1.0.1
- has-proto: 1.0.3
- is-typed-array: 1.1.13
- dev: true
-
- /typed-array-length@1.0.6:
- resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- for-each: 0.3.3
- gopd: 1.0.1
- has-proto: 1.0.3
- is-typed-array: 1.1.13
- possible-typed-array-names: 1.0.0
- dev: true
-
- /typescript@4.9.5:
- resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==}
- engines: {node: '>=4.2.0'}
- hasBin: true
- dev: true
-
- /typescript@5.3.3:
- resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==}
- engines: {node: '>=14.17'}
- hasBin: true
- dev: true
-
- /ufo@1.5.3:
- resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==}
- dev: true
-
- /unbox-primitive@1.0.2:
- resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
- dependencies:
- call-bind: 1.0.7
- has-bigints: 1.0.2
- has-symbols: 1.0.3
- which-boxed-primitive: 1.0.2
- dev: true
-
- /undici-types@5.26.5:
- resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
- dev: true
-
- /undici@6.10.2:
- resolution: {integrity: sha512-HcVuBy7ACaDejIMdwCzAvO22OsiE6ir6ziTIr9kAE0vB+PheVe29ZvRN8p7FXCO2uZHTjEoUs5bPiFpuc/hwwQ==}
- engines: {node: '>=18.0'}
- dev: true
-
- /unicode-canonical-property-names-ecmascript@2.0.0:
- resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==}
- engines: {node: '>=4'}
- dev: true
-
- /unicode-match-property-ecmascript@2.0.0:
- resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==}
- engines: {node: '>=4'}
- dependencies:
- unicode-canonical-property-names-ecmascript: 2.0.0
- unicode-property-aliases-ecmascript: 2.1.0
- dev: true
-
- /unicode-match-property-value-ecmascript@2.1.0:
- resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==}
- engines: {node: '>=4'}
- dev: true
-
- /unicode-property-aliases-ecmascript@2.1.0:
- resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==}
- engines: {node: '>=4'}
- dev: true
-
- /unified@10.1.2:
- resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==}
- dependencies:
- '@types/unist': 2.0.10
- bail: 2.0.2
- extend: 3.0.2
- is-buffer: 2.0.5
- is-plain-obj: 4.1.0
- trough: 2.2.0
- vfile: 5.3.7
- dev: true
-
- /unified@11.0.4:
- resolution: {integrity: sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==}
- dependencies:
- '@types/unist': 3.0.2
- bail: 2.0.2
- devlop: 1.1.0
- extend: 3.0.2
- is-plain-obj: 4.1.0
- trough: 2.2.0
- vfile: 6.0.1
- dev: true
-
- /unique-filename@1.1.1:
- resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==}
- dependencies:
- unique-slug: 2.0.2
- dev: true
-
- /unique-slug@2.0.2:
- resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==}
- dependencies:
- imurmurhash: 0.1.4
- dev: true
-
- /unist-builder@3.0.1:
- resolution: {integrity: sha512-gnpOw7DIpCA0vpr6NqdPvTWnlPTApCTRzr+38E6hCWx3rz/cjo83SsKIlS1Z+L5ttScQ2AwutNnb8+tAvpb6qQ==}
- dependencies:
- '@types/unist': 2.0.10
- dev: true
-
- /unist-util-generated@2.0.1:
- resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==}
- dev: true
-
- /unist-util-is@5.2.1:
- resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==}
- dependencies:
- '@types/unist': 2.0.10
- dev: true
-
- /unist-util-is@6.0.0:
- resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==}
- dependencies:
- '@types/unist': 3.0.2
- dev: true
-
- /unist-util-position-from-estree@1.1.2:
- resolution: {integrity: sha512-poZa0eXpS+/XpoQwGwl79UUdea4ol2ZuCYguVaJS4qzIOMDzbqz8a3erUCOmubSZkaOuGamb3tX790iwOIROww==}
- dependencies:
- '@types/unist': 2.0.10
- dev: true
-
- /unist-util-position-from-estree@2.0.0:
- resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==}
- dependencies:
- '@types/unist': 3.0.2
- dev: true
-
- /unist-util-position@4.0.4:
- resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==}
- dependencies:
- '@types/unist': 2.0.10
- dev: true
-
- /unist-util-position@5.0.0:
- resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==}
- dependencies:
- '@types/unist': 3.0.2
- dev: true
-
- /unist-util-remove-position@4.0.2:
- resolution: {integrity: sha512-TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ==}
- dependencies:
- '@types/unist': 2.0.10
- unist-util-visit: 4.1.2
- dev: true
-
- /unist-util-remove-position@5.0.0:
- resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==}
- dependencies:
- '@types/unist': 3.0.2
- unist-util-visit: 5.0.0
- dev: true
-
- /unist-util-stringify-position@3.0.3:
- resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==}
- dependencies:
- '@types/unist': 2.0.10
- dev: true
-
- /unist-util-stringify-position@4.0.0:
- resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==}
- dependencies:
- '@types/unist': 3.0.2
- dev: true
-
- /unist-util-visit-parents@5.1.3:
- resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==}
- dependencies:
- '@types/unist': 2.0.10
- unist-util-is: 5.2.1
- dev: true
-
- /unist-util-visit-parents@6.0.1:
- resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==}
- dependencies:
- '@types/unist': 3.0.2
- unist-util-is: 6.0.0
- dev: true
-
- /unist-util-visit@4.1.2:
- resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==}
- dependencies:
- '@types/unist': 2.0.10
- unist-util-is: 5.2.1
- unist-util-visit-parents: 5.1.3
- dev: true
-
- /unist-util-visit@5.0.0:
- resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==}
- dependencies:
- '@types/unist': 3.0.2
- unist-util-is: 6.0.0
- unist-util-visit-parents: 6.0.1
- dev: true
-
- /universalify@0.1.2:
- resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
- engines: {node: '>= 4.0.0'}
- dev: true
-
- /universalify@2.0.1:
- resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
- engines: {node: '>= 10.0.0'}
- dev: true
-
- /unpipe@1.0.0:
- resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
- engines: {node: '>= 0.8'}
- dev: true
-
- /update-browserslist-db@1.0.13(browserslist@4.23.0):
- resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
- hasBin: true
- peerDependencies:
- browserslist: '>= 4.21.0'
- dependencies:
- browserslist: 4.23.0
- escalade: 3.1.2
- picocolors: 1.0.0
- dev: true
-
- /uri-js@4.4.1:
- resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
- dependencies:
- punycode: 2.3.1
- dev: true
-
- /util-deprecate@1.0.2:
- resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
- dev: true
-
- /utils-merge@1.0.1:
- resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
- engines: {node: '>= 0.4.0'}
- dev: true
-
- /uvu@0.5.6:
- resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==}
- engines: {node: '>=8'}
- hasBin: true
- dependencies:
- dequal: 2.0.3
- diff: 5.2.0
- kleur: 4.1.5
- sade: 1.8.1
- dev: true
-
- /v8-compile-cache-lib@3.0.1:
- resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==}
- dev: true
-
- /vary@1.1.2:
- resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
- engines: {node: '>= 0.8'}
- dev: true
-
- /vercel@29.4.0(@types/node@20.11.30):
- resolution: {integrity: sha512-sVfg87dhF3q6Nhrr5zv2oaOU1zQQd+MlsjhdNkB9MfrQyXqluAdHKiNz0+g/+wJeh/y7sUhWk2/XJb5CDlF70w==}
- engines: {node: '>= 14'}
- hasBin: true
- requiresBuild: true
- dependencies:
- '@vercel/build-utils': 6.7.3
- '@vercel/go': 2.5.1
- '@vercel/hydrogen': 0.0.64
- '@vercel/next': 3.8.5
- '@vercel/node': 2.14.3
- '@vercel/python': 3.1.60
- '@vercel/redwood': 1.1.15
- '@vercel/remix-builder': 1.8.10(@types/node@20.11.30)
- '@vercel/ruby': 1.3.76
- '@vercel/static-build': 1.3.32
- transitivePeerDependencies:
- - '@remix-run/serve'
- - '@swc/core'
- - '@swc/wasm'
- - '@types/node'
- - bluebird
- - bufferutil
- - encoding
- - less
- - lightningcss
- - sass
- - stylus
- - sugarss
- - supports-color
- - terser
- - ts-node
- - utf-8-validate
- dev: true
-
- /vfile-message@3.1.4:
- resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==}
- dependencies:
- '@types/unist': 2.0.10
- unist-util-stringify-position: 3.0.3
- dev: true
-
- /vfile-message@4.0.2:
- resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==}
- dependencies:
- '@types/unist': 3.0.2
- unist-util-stringify-position: 4.0.0
- dev: true
-
- /vfile@5.3.7:
- resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==}
- dependencies:
- '@types/unist': 2.0.10
- is-buffer: 2.0.5
- unist-util-stringify-position: 3.0.3
- vfile-message: 3.1.4
- dev: true
-
- /vfile@6.0.1:
- resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==}
- dependencies:
- '@types/unist': 3.0.2
- unist-util-stringify-position: 4.0.0
- vfile-message: 4.0.2
- dev: true
-
- /vite-imagetools@6.2.9:
- resolution: {integrity: sha512-C4ZYhgj2vAj43/TpZ06XlDNP0p/7LIeYbgUYr+xG44nM++4HGX6YZBKAYpiBNgiCFUTJ6eXkRppWBrfPMevgmg==}
- engines: {node: '>=12.0.0'}
- dependencies:
- '@rollup/pluginutils': 5.1.0
- imagetools-core: 6.0.4
- transitivePeerDependencies:
- - rollup
- dev: true
-
- /vite-node@1.4.0(@types/node@20.11.30):
- resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==}
- engines: {node: ^18.0.0 || >=20.0.0}
- hasBin: true
- dependencies:
- cac: 6.7.14
- debug: 4.3.4
- pathe: 1.1.2
- picocolors: 1.0.0
- vite: 5.2.7(@types/node@20.11.30)
- transitivePeerDependencies:
- - '@types/node'
- - less
- - lightningcss
- - sass
- - stylus
- - sugarss
- - supports-color
- - terser
- dev: true
-
- /vite-tsconfig-paths@4.3.2(typescript@5.3.3)(vite@5.2.7):
- resolution: {integrity: sha512-0Vd/a6po6Q+86rPlntHye7F31zA2URZMbH8M3saAZ/xR9QoGN/L21bxEGfXdWmFdNkqPpRdxFT7nmNe12e9/uA==}
- peerDependencies:
- vite: '*'
- peerDependenciesMeta:
- vite:
- optional: true
- dependencies:
- debug: 4.3.4
- globrex: 0.1.2
- tsconfck: 3.0.3(typescript@5.3.3)
- vite: 5.2.7(@types/node@20.11.30)
- transitivePeerDependencies:
- - supports-color
- - typescript
- dev: true
-
- /vite@5.2.7(@types/node@20.11.30):
- resolution: {integrity: sha512-k14PWOKLI6pMaSzAuGtT+Cf0YmIx12z9YGon39onaJNy8DLBfBJrzg9FQEmkAM5lpHBZs9wksWAsyF/HkpEwJA==}
- engines: {node: ^18.0.0 || >=20.0.0}
- hasBin: true
- 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
- dependencies:
- '@types/node': 20.11.30
- esbuild: 0.20.2
- postcss: 8.4.38
- rollup: 4.13.2
- optionalDependencies:
- fsevents: 2.3.3
- dev: true
-
- /vm2@3.9.19:
- resolution: {integrity: sha512-J637XF0DHDMV57R6JyVsTak7nIL8gy5KH4r1HiwWLf/4GBbb5MKL5y7LpmF4A8E2nR6XmzpmMFQ7V7ppPTmUQg==}
- engines: {node: '>=6.0'}
- deprecated: The library contains critical security issues and should not be used for production! The maintenance of the project has been discontinued. Consider migrating your code to isolated-vm.
- hasBin: true
- dependencies:
- acorn: 8.11.3
- acorn-walk: 8.3.2
- dev: true
-
- /wcwidth@1.0.1:
- resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
- dependencies:
- defaults: 1.0.4
- dev: true
-
- /web-vitals@0.2.4:
- resolution: {integrity: sha512-6BjspCO9VriYy12z356nL6JBS0GYeEcA457YyRzD+dD6XYCQ75NKhcOHUMHentOE7OcVCIXXDvOm0jKFfQG2Gg==}
- dev: true
-
- /webidl-conversions@3.0.1:
- resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
- dev: true
-
- /whatwg-url@5.0.0:
- resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
- dependencies:
- tr46: 0.0.3
- webidl-conversions: 3.0.1
- dev: true
-
- /which-boxed-primitive@1.0.2:
- resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
- dependencies:
- is-bigint: 1.0.4
- is-boolean-object: 1.1.2
- is-number-object: 1.0.7
- is-string: 1.0.7
- is-symbol: 1.0.4
- dev: true
-
- /which-typed-array@1.1.15:
- resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==}
- engines: {node: '>= 0.4'}
- dependencies:
- available-typed-arrays: 1.0.7
- call-bind: 1.0.7
- for-each: 0.3.3
- gopd: 1.0.1
- has-tostringtag: 1.0.2
- dev: true
-
- /which@2.0.2:
- resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
- engines: {node: '>= 8'}
- hasBin: true
- dependencies:
- isexe: 2.0.0
- dev: true
-
- /wide-align@1.1.5:
- resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==}
- dependencies:
- string-width: 4.2.3
- dev: true
-
- /word-wrap@1.2.5:
- resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /wrap-ansi@6.2.0:
- resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
- engines: {node: '>=8'}
- dependencies:
- ansi-styles: 4.3.0
- string-width: 4.2.3
- strip-ansi: 6.0.1
- dev: true
-
- /wrap-ansi@7.0.0:
- resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
- engines: {node: '>=10'}
- dependencies:
- ansi-styles: 4.3.0
- string-width: 4.2.3
- strip-ansi: 6.0.1
- dev: true
-
- /wrap-ansi@8.1.0:
- resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
- engines: {node: '>=12'}
- dependencies:
- ansi-styles: 6.2.1
- string-width: 5.1.2
- strip-ansi: 7.1.0
- dev: true
-
- /wrappy@1.0.2:
- resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
- dev: true
-
- /ws@7.5.9:
- resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==}
- engines: {node: '>=8.3.0'}
- peerDependencies:
- bufferutil: ^4.0.1
- utf-8-validate: ^5.0.2
- peerDependenciesMeta:
- bufferutil:
- optional: true
- utf-8-validate:
- optional: true
- dev: true
-
- /ws@8.13.0:
- resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==}
- engines: {node: '>=10.0.0'}
- peerDependencies:
- bufferutil: ^4.0.1
- utf-8-validate: '>=5.0.2'
- peerDependenciesMeta:
- bufferutil:
- optional: true
- utf-8-validate:
- optional: true
- dev: true
-
- /xdm@2.1.0:
- resolution: {integrity: sha512-3LxxbxKcRogYY7cQSMy1tUuU1zKNK9YPqMT7/S0r7Cz2QpyF8O9yFySGD7caOZt+LWUOQioOIX+6ZzCoBCpcAA==}
- dependencies:
- '@rollup/pluginutils': 4.2.1
- '@types/estree-jsx': 0.0.1
- astring: 1.8.6
- estree-util-build-jsx: 2.2.2
- estree-util-is-identifier-name: 2.1.0
- estree-walker: 3.0.3
- got: 11.8.6
- hast-util-to-estree: 2.3.3
- loader-utils: 2.0.4
- markdown-extensions: 1.1.1
- mdast-util-mdx: 1.1.0
- micromark-extension-mdxjs: 1.0.1
- periscopic: 3.1.0
- remark-parse: 10.0.2
- remark-rehype: 9.1.0
- source-map: 0.7.4
- unified: 10.1.2
- unist-util-position-from-estree: 1.1.2
- unist-util-stringify-position: 3.0.3
- unist-util-visit: 4.1.2
- vfile: 5.3.7
- optionalDependencies:
- deasync: 0.1.29
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /xregexp@2.0.0:
- resolution: {integrity: sha512-xl/50/Cf32VsGq/1R8jJE5ajH1yMCQkpmoS10QbFZWl2Oor4H0Me64Pu2yxvsRWK3m6soJbmGfzSR7BYmDcWAA==}
- dev: true
-
- /xtend@4.0.2:
- resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
- engines: {node: '>=0.4'}
- dev: true
-
- /yallist@3.1.1:
- resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
- dev: true
-
- /yallist@4.0.0:
- resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
- dev: true
-
- /yaml@2.4.1:
- resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==}
- engines: {node: '>= 14'}
- hasBin: true
- dev: true
-
- /yn@3.1.1:
- resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==}
- engines: {node: '>=6'}
- dev: true
-
- /yocto-queue@0.1.0:
- resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
- engines: {node: '>=10'}
- dev: true
-
- /zod@3.22.4:
- resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==}
- dev: true
-
- /zwitch@2.0.4:
- resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
- dev: true
diff --git a/apps/www/postcss.config.cjs b/apps/www/postcss.config.cjs
deleted file mode 100644
index 33ad091d..00000000
--- a/apps/www/postcss.config.cjs
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- plugins: {
- tailwindcss: {},
- autoprefixer: {},
- },
-}
diff --git a/apps/www/public/favicon.png b/apps/www/public/favicon.png
deleted file mode 100644
index 2606b315..00000000
Binary files a/apps/www/public/favicon.png and /dev/null differ
diff --git a/apps/www/public/favicon.svg b/apps/www/public/favicon.svg
new file mode 100644
index 00000000..0ded7c13
--- /dev/null
+++ b/apps/www/public/favicon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/apps/www/public/images/next.png b/apps/www/public/images/next.png
new file mode 100644
index 00000000..3d33ebbe
Binary files /dev/null and b/apps/www/public/images/next.png differ
diff --git a/apps/www/qwik.env.d.ts b/apps/www/qwik.env.d.ts
new file mode 100644
index 00000000..25af92b9
--- /dev/null
+++ b/apps/www/qwik.env.d.ts
@@ -0,0 +1,4 @@
+// This file can be used to add references for global types like `vite/client`.
+
+// Add global `vite/client` types. For more info, see: https://vitejs.dev/guide/features#client-types
+///
diff --git a/apps/www/src/components/router-head/router-head.tsx b/apps/www/src/components/router-head/router-head.tsx
index 1d2c1671..da5b68fa 100644
--- a/apps/www/src/components/router-head/router-head.tsx
+++ b/apps/www/src/components/router-head/router-head.tsx
@@ -14,7 +14,7 @@ export const RouterHead = component$(() => {
-
+
{head.meta.map((m) => (
@@ -25,7 +25,23 @@ export const RouterHead = component$(() => {
))}
{head.styles.map((s) => (
-
+
+ ))}
+
+ {head.scripts.map((s) => (
+
))}
>
);
diff --git a/apps/www/src/entry.preview.tsx b/apps/www/src/entry.preview.tsx
index 7d353d7f..ef0111a8 100644
--- a/apps/www/src/entry.preview.tsx
+++ b/apps/www/src/entry.preview.tsx
@@ -12,6 +12,7 @@
*/
import { createQwikCity } from "@builder.io/qwik-city/middleware/node";
import qwikCityPlan from "@qwik-city-plan";
+// make sure qwikCityPlan is imported before entry
import render from "./entry.ssr";
/**
diff --git a/apps/www/src/entry.ssr.tsx b/apps/www/src/entry.ssr.tsx
index d7a98394..e3de5013 100644
--- a/apps/www/src/entry.ssr.tsx
+++ b/apps/www/src/entry.ssr.tsx
@@ -26,5 +26,8 @@ export default function (opts: RenderToStreamOptions) {
lang: "en-us",
...opts.containerAttributes,
},
+ serverData: {
+ ...opts.serverData,
+ },
});
}
diff --git a/apps/www/src/entry.vercel-edge.tsx b/apps/www/src/entry.vercel-edge.tsx
deleted file mode 100644
index 1e3109dc..00000000
--- a/apps/www/src/entry.vercel-edge.tsx
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * WHAT IS THIS FILE?
- *
- * It's the entry point for Vercel Edge when building for production.
- *
- * Learn more about the Vercel Edge integration here:
- * - https://qwik.builder.io/docs/deployments/vercel-edge/
- *
- */
-import {
- createQwikCity,
- type PlatformVercel,
-} from "@builder.io/qwik-city/middleware/vercel-edge";
-import qwikCityPlan from "@qwik-city-plan";
-import { manifest } from "@qwik-client-manifest";
-import render from "./entry.ssr";
-
-declare global {
- interface QwikCityPlatform extends PlatformVercel {}
-}
-
-export default createQwikCity({ render, qwikCityPlan, manifest });
diff --git a/apps/www/src/global.css b/apps/www/src/global.css
index 753ca8f5..e69de29b 100644
--- a/apps/www/src/global.css
+++ b/apps/www/src/global.css
@@ -1,15 +0,0 @@
-/**
- * Tailwind CSS imports
- * View the full documentation at https://tailwindcss.com
- */
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
-
-html *,
-html *::after,
-html *::before {
- box-sizing: border-box;
- margin: 0;
- padding: 0;
-}
diff --git a/apps/www/src/root.tsx b/apps/www/src/root.tsx
index 1240bc93..3e42ec38 100644
--- a/apps/www/src/root.tsx
+++ b/apps/www/src/root.tsx
@@ -5,9 +5,9 @@ import {
ServiceWorkerRegister,
} from "@builder.io/qwik-city";
import { RouterHead } from "./components/router-head/router-head";
+import { isDev } from "@builder.io/qwik/build";
import "./global.css";
-import "@fontsource/geist-sans/400.css";
export default component$(() => {
/**
@@ -20,13 +20,18 @@ export default component$(() => {
return (
-
-
+
+ {!isDev && (
+
+ )}
-
+
-
+ {!isDev && }
);
diff --git a/apps/www/src/routes/index.tsx b/apps/www/src/routes/index.tsx
index 2595a37e..4fb7a52a 100644
--- a/apps/www/src/routes/index.tsx
+++ b/apps/www/src/routes/index.tsx
@@ -1,14 +1,25 @@
import { component$ } from "@builder.io/qwik";
+import type { DocumentHead } from "@builder.io/qwik-city";
export default component$(() => {
return (
-
-
Hi 👋
-
+ <>
+
Hi 👋
+
Can't wait to see what you build with qwik!
Happy coding.
-
-
+
+ >
);
-});
\ No newline at end of file
+});
+
+export const head: DocumentHead = {
+ title: "Welcome to Qwik",
+ meta: [
+ {
+ name: "description",
+ content: "Qwik site description",
+ },
+ ],
+};
diff --git a/apps/www/src/routes/layout.tsx b/apps/www/src/routes/layout.tsx
index 11cf39ac..f799e429 100644
--- a/apps/www/src/routes/layout.tsx
+++ b/apps/www/src/routes/layout.tsx
@@ -1,10 +1,9 @@
import { component$, Slot } from "@builder.io/qwik";
import type { RequestHandler } from "@builder.io/qwik-city";
-import type { DocumentHead } from "@builder.io/qwik-city";
export const onGet: RequestHandler = async ({ cacheControl }) => {
// Control caching for this request for best performance and to reduce hosting costs:
- // https://qwik.builder.io/docs/caching/
+ // https://qwik.dev/docs/caching/
cacheControl({
// Always serve a cached response by default, up to a week stale
staleWhileRevalidate: 60 * 60 * 24 * 7,
@@ -16,14 +15,3 @@ export const onGet: RequestHandler = async ({ cacheControl }) => {
export default component$(() => {
return ;
});
-
-
-export const head: DocumentHead = {
- title: "netris.me/dev | Build the future of gaming",
- meta: [
- {
- name: "description",
- content: "Play with your friends right from your browser",
- },
- ],
-};
\ No newline at end of file
diff --git a/apps/www/src/routes/service-worker.ts b/apps/www/src/routes/service-worker.ts
index 6a0d3a0c..a10ab364 100644
--- a/apps/www/src/routes/service-worker.ts
+++ b/apps/www/src/routes/service-worker.ts
@@ -2,7 +2,7 @@
* WHAT IS THIS FILE?
*
* The service-worker.ts file is used to have state of the art prefetching.
- * https://qwik.builder.io/qwikcity/prefetching/overview/
+ * https://qwik.dev/qwikcity/prefetching/overview/
*
* Qwik uses a service worker to speed up your site and reduce latency, ie, not used in the traditional way of offline.
* You can also use this file to add more functionality that runs in the service worker.
diff --git a/apps/www/tailwind.config.js b/apps/www/tailwind.config.js
deleted file mode 100644
index c3061f35..00000000
--- a/apps/www/tailwind.config.js
+++ /dev/null
@@ -1,26 +0,0 @@
-/** @type {import('tailwindcss').Config} */
-export default {
- content: ['./src/**/*.{js,ts,jsx,tsx,mdx}'],
- theme: {
- extend: {
- fontFamily: {
- sans: [
- "Geist Sans",
- "ui-sans-serif",
- "system-ui",
- "-apple-system",
- "BlinkMacSystemFont",
- "Inter",
- "Segoe UI",
- "Roboto",
- "sans-serif",
- "Apple Color Emoji",
- "Segoe UI Emoji",
- "Segoe UI Symbol",
- "Noto Color Emoji",
- ],
- },
- },
- },
- plugins: [],
-};
diff --git a/apps/www/tsconfig.json b/apps/www/tsconfig.json
index 937994bf..639f88e8 100644
--- a/apps/www/tsconfig.json
+++ b/apps/www/tsconfig.json
@@ -9,14 +9,13 @@
"strict": true,
"forceConsistentCasingInFileNames": true,
"resolveJsonModule": true,
- "moduleResolution": "node",
+ "moduleResolution": "Bundler",
"esModuleInterop": true,
"skipLibCheck": true,
"incremental": true,
"isolatedModules": true,
"outDir": "tmp",
"noEmit": true,
- "types": ["node", "vite/client"],
"paths": {
"~/*": ["./src/*"]
}
diff --git a/apps/www/vercel.json b/apps/www/vercel.json
deleted file mode 100644
index 9e9a00bb..00000000
--- a/apps/www/vercel.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "headers": [
- {
- "source": "/build/(.*)",
- "headers": [
- {
- "key": "Cache-Control",
- "value": "public, max-age=31536000, s-maxage=31536000, immutable"
- }
- ]
- }
- ]
-}
diff --git a/apps/www/vite.config.ts b/apps/www/vite.config.ts
index d7180b28..bd9b3f7f 100644
--- a/apps/www/vite.config.ts
+++ b/apps/www/vite.config.ts
@@ -7,39 +7,45 @@ import { qwikVite } from "@builder.io/qwik/optimizer";
import { qwikCity } from "@builder.io/qwik-city/vite";
import tsconfigPaths from "vite-tsconfig-paths";
import pkg from "./package.json";
-import { qwikReact } from "@builder.io/qwik-react/vite";
+
+type PkgDep = Record;
const { dependencies = {}, devDependencies = {} } = pkg as any as {
- dependencies: Record;
- devDependencies: Record;
+ dependencies: PkgDep;
+ devDependencies: PkgDep;
[key: string]: unknown;
};
+errorOnDuplicatesPkgDeps(devDependencies, dependencies);
+
/**
* Note that Vite normally starts from `index.html` but the qwikCity plugin makes start at `src/entry.ssr.tsx` instead.
*/
-
export default defineConfig(({ command, mode }): UserConfig => {
return {
- plugins: [qwikCity(), qwikVite(), tsconfigPaths(), qwikReact()],
+ plugins: [qwikCity(), qwikVite(), tsconfigPaths()],
// This tells Vite which dependencies to pre-build in dev mode.
optimizeDeps: {
// Put problematic deps that break bundling here, mostly those with binaries.
// For example ['better-sqlite3'] if you use that in server functions.
exclude: [],
},
- // This tells Vite how to bundle the server code.
- ssr:
- command === "build" && mode === "production"
- ? {
- // All dev dependencies should be bundled in the server build
- noExternal: Object.keys(devDependencies),
- // Anything marked as a dependency will not be bundled
- // These should only be production binary deps (including deps of deps), CLI deps, and their module graph
- // If a dep-of-dep needs to be external, add it here
- // For example, if something uses `bcrypt` but you don't have it as a dep, you can write
- // external: [...Object.keys(dependencies), 'bcrypt']
- external: Object.keys(dependencies),
- }
- : undefined,
+
+ /**
+ * This is an advanced setting. It improves the bundling of your server code. To use it, make sure you understand when your consumed packages are dependencies or dev dependencies. (otherwise things will break in production)
+ */
+ // ssr:
+ // command === "build" && mode === "production"
+ // ? {
+ // // All dev dependencies should be bundled in the server build
+ // noExternal: Object.keys(devDependencies),
+ // // Anything marked as a dependency will not be bundled
+ // // These should only be production binary deps (including deps of deps), CLI deps, and their module graph
+ // // If a dep-of-dep needs to be external, add it here
+ // // For example, if something uses `bcrypt` but you don't have it as a dep, you can write
+ // // external: [...Object.keys(dependencies), 'bcrypt']
+ // external: Object.keys(dependencies),
+ // }
+ // : undefined,
+
server: {
headers: {
// Don't cache the server response in dev mode
@@ -54,3 +60,47 @@ export default defineConfig(({ command, mode }): UserConfig => {
},
};
});
+
+// *** utils ***
+
+/**
+ * Function to identify duplicate dependencies and throw an error
+ * @param {Object} devDependencies - List of development dependencies
+ * @param {Object} dependencies - List of production dependencies
+ */
+function errorOnDuplicatesPkgDeps(
+ devDependencies: PkgDep,
+ dependencies: PkgDep,
+) {
+ let msg = "";
+ // Create an array 'duplicateDeps' by filtering devDependencies.
+ // If a dependency also exists in dependencies, it is considered a duplicate.
+ const duplicateDeps = Object.keys(devDependencies).filter(
+ (dep) => dependencies[dep],
+ );
+
+ // include any known qwik packages
+ const qwikPkg = Object.keys(dependencies).filter((value) =>
+ /qwik/i.test(value),
+ );
+
+ // any errors for missing "qwik-city-plan"
+ // [PLUGIN_ERROR]: Invalid module "@qwik-city-plan" is not a valid package
+ msg = `Move qwik packages ${qwikPkg.join(", ")} to devDependencies`;
+
+ if (qwikPkg.length > 0) {
+ throw new Error(msg);
+ }
+
+ // Format the error message with the duplicates list.
+ // The `join` function is used to represent the elements of the 'duplicateDeps' array as a comma-separated string.
+ msg = `
+ Warning: The dependency "${duplicateDeps.join(", ")}" is listed in both "devDependencies" and "dependencies".
+ Please move the duplicated dependencies to "devDependencies" only and remove it from "dependencies"
+ `;
+
+ // Throw an error with the constructed message.
+ if (duplicateDeps.length > 0) {
+ throw new Error(msg);
+ }
+}
diff --git a/assets/banner.png b/assets/banner.png
deleted file mode 100644
index cec54206..00000000
Binary files a/assets/banner.png and /dev/null differ
diff --git a/assets/logo-name-black.png b/assets/logo-name-black.png
deleted file mode 100644
index 0617e8e9..00000000
Binary files a/assets/logo-name-black.png and /dev/null differ
diff --git a/assets/logo-name-white.png b/assets/logo-name-white.png
deleted file mode 100644
index ab4f5374..00000000
Binary files a/assets/logo-name-white.png and /dev/null differ
diff --git a/assets/logo.png b/assets/logo.png
deleted file mode 100644
index e767cce5..00000000
Binary files a/assets/logo.png and /dev/null differ
diff --git a/assets/star-us.png b/assets/star-us.png
deleted file mode 100644
index 7f7fb25c..00000000
Binary files a/assets/star-us.png and /dev/null differ
diff --git a/base.Dockerfile b/base.Dockerfile
deleted file mode 100644
index f23cf2bc..00000000
--- a/base.Dockerfile
+++ /dev/null
@@ -1,296 +0,0 @@
-# This builds and updates the screen recorder we use on Netris
-# From https://git.dec05eba.com/gpu-screen-recorder
-FROM ubuntu:23.10
-
-ENV DEBIAN_FRONTEND=noninteractive \
- TIMEZONE=Africa/Nairobi \
- XDG_RUNTIME_DIR=/tmp/runtime-ubuntu \
- DISPLAY=:0 \
- PULSE_SERVER=unix:/run/pulse/native
- # WAYLAND_DISPLAY=wayland-0
-
-# Install fundamental packages
-RUN apt-get clean \
- && apt-get update \
- && apt-get upgrade -y \
- && apt-get install --no-install-recommends -y \
- apt-transport-https \
- apt-utils \
- build-essential \
- ca-certificates \
- curl \
- gnupg \
- locales \
- make \
- software-properties-common \
- wget \
- && rm -rf /var/lib/apt/lists/* \
- && locale-gen en_US.UTF-8
-
-# Set locales
-ENV LANG=en_US.UTF-8 \
- LANGUAGE=en_US:en \
- LC_ALL=en_US.UTF-8
-
-# Install operating system libraries or packages
-RUN dpkg --add-architecture i386 \
- && apt-get update \
- && apt-get install --no-install-recommends -y \
- alsa-base \
- alsa-utils \
- cups-browsed \
- cups-bsd \
- cups-common \
- cups-filters \
- printer-driver-cups-pdf \
- file \
- bzip2 \
- gzip \
- xz-utils \
- unar \
- rar \
- unrar \
- zip \
- unzip \
- zstd \
- gcc \
- git \
- jq \
- python3 \
- python3-cups \
- python3-numpy \
- ssl-cert \
- nano \
- vim \
- htop \
- fakeroot \
- fonts-dejavu \
- fonts-freefont-ttf \
- fonts-hack \
- fonts-liberation \
- fonts-noto \
- fonts-noto-cjk \
- fonts-noto-cjk-extra \
- fonts-noto-color-emoji \
- fonts-noto-extra \
- fonts-noto-ui-extra \
- fonts-noto-hinted \
- fonts-noto-mono \
- fonts-noto-unhinted \
- fonts-opensymbol \
- fonts-symbola \
- fonts-ubuntu \
- lame \
- less \
- libavcodec-extra \
- libpulse0 \
- pulseaudio \
- supervisor \
- net-tools \
- packagekit-tools \
- pkg-config \
- mesa-utils \
- va-driver-all \
- va-driver-all:i386 \
- i965-va-driver-shaders \
- i965-va-driver-shaders:i386 \
- intel-media-va-driver-non-free \
- intel-media-va-driver-non-free:i386 \
- libva2 \
- libva2:i386 \
- vainfo \
- vdpau-driver-all \
- vdpau-driver-all:i386 \
- vdpauinfo \
- mesa-vulkan-drivers \
- mesa-vulkan-drivers:i386 \
- libvulkan-dev \
- libvulkan-dev:i386 \
- vulkan-tools \
- ocl-icd-libopencl1 \
- clinfo \
- dbus-user-session \
- dbus-x11 \
- libdbus-c++-1-0v5 \
- xkb-data \
- xauth \
- xbitmaps \
- xdg-user-dirs \
- xdg-utils \
- xfonts-base \
- xfonts-scalable \
- xinit \
- xsettingsd \
- libxrandr-dev \
- x11-xkb-utils \
- x11-xserver-utils \
- x11-utils \
- x11-apps \
- xserver-xorg-input-all \
- xserver-xorg-input-wacom \
- xserver-xorg-video-all \
- xserver-xorg-video-intel \
- xserver-xorg-video-qxl \
- # Install OpenGL libraries
- libxau6 \
- libxau6:i386 \
- libxdmcp6 \
- libxdmcp6:i386 \
- libxcb1 \
- libxcb1:i386 \
- libxext6 \
- libxext6:i386 \
- libx11-6 \
- libx11-6:i386 \
- libxv1 \
- libxv1:i386 \
- libxtst6 \
- libxtst6:i386 \
- libglvnd0 \
- libglvnd0:i386 \
- libgl1 \
- libgl1:i386 \
- libglx0 \
- libglx0:i386 \
- libegl1 \
- libegl1:i386 \
- libgles2 \
- libgles2:i386 \
- libglu1 \
- libglu1:i386 \
- libsm6 \
- libsm6:i386 \
- mesa-utils \
- mesa-utils-extra \
- xcvt \
- && rm -rf /var/lib/apt/lists/* \
- && echo "/usr/local/nvidia/lib" >> /etc/ld.so.conf.d/nvidia.conf \
- && echo "/usr/local/nvidia/lib64" >> /etc/ld.so.conf.d/nvidia.conf \
- # Configure OpenCL manually
- && mkdir -pm755 /etc/OpenCL/vendors \
- && echo "libnvidia-opencl.so.1" > /etc/OpenCL/vendors/nvidia.icd \
- # Configure Vulkan manually
- && VULKAN_API_VERSION=$(dpkg -s libvulkan1 | grep -oP 'Version: [0-9|\.]+' | grep -oP '[0-9]+(\.[0-9]+)(\.[0-9]+)') \
- && mkdir -pm755 /etc/vulkan/icd.d/ \
- && echo "{\n\
- \"file_format_version\" : \"1.0.0\",\n\
- \"ICD\": {\n\
- \"library_path\": \"libGLX_nvidia.so.0\",\n\
- \"api_version\" : \"${VULKAN_API_VERSION}\"\n\
- }\n\
- }" > /etc/vulkan/icd.d/nvidia_icd.json \
- # Configure EGL manually
- && mkdir -pm755 /usr/share/glvnd/egl_vendor.d/ \
- && echo "{\n\
- \"file_format_version\" : \"1.0.0\",\n\
- \"ICD\": {\n\
- \"library_path\": \"libEGL_nvidia.so.0\"\n\
- }\n\
- }" > /usr/share/glvnd/egl_vendor.d/10_nvidia.json
-
-# Expose NVIDIA libraries and paths
-ENV PATH=/usr/local/nvidia/bin${PATH:+:${PATH}} \
- LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:}/usr/local/nvidia/lib:/usr/local/nvidia/lib64 \
- XDG_SESSION_TYPE=x11 \
- # Enable AppImage execution in containers
- APPIMAGE_EXTRACT_AND_RUN=1
-
-ENV \
- # Make all NVIDIA GPUs visible by default
- NVIDIA_VISIBLE_DEVICES=all \
- # All NVIDIA driver capabilities should preferably be used, check `NVIDIA_DRIVER_CAPABILITIES` inside the container if things do not work
- NVIDIA_DRIVER_CAPABILITIES=all \
- # Disable VSYNC for NVIDIA GPUs
- __GL_SYNC_TO_VBLANK=0
-
-COPY .patches /tmp/
-
-#Build and install gpu-screen-recorder
-RUN apt-get update -y \
- && apt-get install -y \
- curl \
- unzip \
- git \
- build-essential \
- ninja-build \
- gcc \
- meson \
- cmake \
- ccache \
- bison \
- software-properties-common \
- ca-certificates \
- equivs \
- ca-certificates\
- libcap2-bin \
- libllvm15 \
- libavcodec-dev \
- libavformat-dev \
- libavutil-dev \
- libavfilter-dev \
- libavdevice-dev \
- libswresample-dev \
- libswscale-dev \
- libx11-dev \
- libxcomposite-dev \
- libkpipewire-dev \
- libxrandr-dev \
- libxi-dev \
- libxdamage-dev \
- libxfixes-dev \
- libxi-dev \
- libxdamage-dev \
- libpulse-dev \
- libswresample-dev \
- libva-dev \
- libcap-dev \
- libdrm-dev \
- libgl-dev \
- libegl-dev \
- libwayland-dev \
- libnvidia-egl-wayland-dev \
- libwayland-egl-backend-dev \
- wayland-protocols \
- && rm -rf /var/lib/apt/lists/* \
- #Install Nvrtc
- && NVRTC_VERSION="11.0.221" \
- && cd /tmp && curl -fsSL -o nvidia_cuda_nvrtc_linux_x86_64.whl "https://developer.download.nvidia.com/compute/redist/nvidia-cuda-nvrtc/nvidia_cuda_nvrtc-${NVRTC_VERSION}-cp36-cp36m-linux_x86_64.whl" \
- && unzip -joq -d ./nvrtc nvidia_cuda_nvrtc_linux_x86_64.whl && cd nvrtc && chmod 755 libnvrtc* \
- && find . -maxdepth 1 -type f -name "*libnvrtc.so.*" -exec sh -c 'ln -snf $(basename {}) libnvrtc.so' \; \
- && mkdir -p /usr/local/nvidia/lib && mv -f libnvrtc* /usr/local/nvidia/lib \
- && git clone https://repo.dec05eba.com/gpu-screen-recorder && cd gpu-screen-recorder \
- && git apply /tmp/connectcheckskip.patch && git apply /tmp/devicearg.patch \
- && meson setup build \
- && meson configure --prefix=/usr --buildtype=release -Dsystemd=true -Dstrip=true build \
- && ninja -C build install
-
-# #Try building shadow-cast
-# RUN git clone https://github.com/gmbeard/shadow-cast && cd shadow-cast \
-# && mkdir ./build && cd ./build \
-# && cmake -DCMAKE_CXX_FLAGS="-Wno-error=unused-result" -DCMAKE_C_FLAGS="-Wno-error=unused-result" .. \
-# && cmake --build . -- -j$(nproc) \
-# && chmod +x ./install-helper.sh \
-# && ./install-helper.sh
-
-RUN apt-get update -y; \
- apt-get upgrade -y; \
- add-apt-repository ppa:savoury1/ffmpeg4 \
- add-apt-repository ppa:savoury1/ffmpeg6 \
- apt-get update -y; \
- apt-get upgrade -y && apt-get dist-upgrade -y; \
- apt-get install ffmpeg -y; \
- #
- # Log the ffmpeg version
- ffmpeg -version
-
-# Install Xorg and NVIDIA driver installer dependencies
-RUN apt-get update \
- && apt-get install --no-install-recommends -y \
- kmod \
- libc6-dev \
- libc6:i386 \
- libpci3 \
- libelf-dev \
- pkg-config \
- xorg \
- && rm -rf /var/lib/apt/lists/*
diff --git a/bin/input/.gitignore b/bin/input/.gitignore
deleted file mode 100644
index ea8c4bf7..00000000
--- a/bin/input/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/target
diff --git a/bin/input/Cargo.lock b/bin/input/Cargo.lock
deleted file mode 100644
index a85eab5f..00000000
--- a/bin/input/Cargo.lock
+++ /dev/null
@@ -1,1701 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-version = 3
-
-[[package]]
-name = "addr2line"
-version = "0.21.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
-dependencies = [
- "gimli",
-]
-
-[[package]]
-name = "adler"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
-
-[[package]]
-name = "aho-corasick"
-version = "1.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "anstream"
-version = "0.6.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b"
-dependencies = [
- "anstyle",
- "anstyle-parse",
- "anstyle-query",
- "anstyle-wincon",
- "colorchoice",
- "is_terminal_polyfill",
- "utf8parse",
-]
-
-[[package]]
-name = "anstyle"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b"
-
-[[package]]
-name = "anstyle-parse"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4"
-dependencies = [
- "utf8parse",
-]
-
-[[package]]
-name = "anstyle-query"
-version = "1.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a64c907d4e79225ac72e2a354c9ce84d50ebb4586dee56c82b3ee73004f537f5"
-dependencies = [
- "windows-sys 0.52.0",
-]
-
-[[package]]
-name = "anstyle-wincon"
-version = "3.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19"
-dependencies = [
- "anstyle",
- "windows-sys 0.52.0",
-]
-
-[[package]]
-name = "anyhow"
-version = "1.0.82"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519"
-dependencies = [
- "backtrace",
-]
-
-[[package]]
-name = "autocfg"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
-
-[[package]]
-name = "backtrace"
-version = "0.3.71"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d"
-dependencies = [
- "addr2line",
- "cc",
- "cfg-if",
- "libc",
- "miniz_oxide",
- "object",
- "rustc-demangle",
-]
-
-[[package]]
-name = "base64"
-version = "0.21.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
-
-[[package]]
-name = "bitflags"
-version = "1.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
-
-[[package]]
-name = "bitflags"
-version = "2.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
-
-[[package]]
-name = "block-sys"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae85a0696e7ea3b835a453750bf002770776609115e6d25c6d2ff28a8200f7e7"
-dependencies = [
- "objc-sys",
-]
-
-[[package]]
-name = "block2"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e58aa60e59d8dbfcc36138f5f18be5f24394d33b38b24f7fd0b1caa33095f22f"
-dependencies = [
- "block-sys",
- "objc2",
-]
-
-[[package]]
-name = "bumpalo"
-version = "3.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
-
-[[package]]
-name = "bytes"
-version = "1.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9"
-
-[[package]]
-name = "cc"
-version = "1.0.96"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "065a29261d53ba54260972629f9ca6bffa69bac13cd1fed61420f7fa68b9f8bd"
-
-[[package]]
-name = "cfg-if"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-
-[[package]]
-name = "clap"
-version = "4.5.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0"
-dependencies = [
- "clap_builder",
- "clap_derive",
-]
-
-[[package]]
-name = "clap_builder"
-version = "4.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4"
-dependencies = [
- "anstream",
- "anstyle",
- "clap_lex",
- "strsim",
-]
-
-[[package]]
-name = "clap_derive"
-version = "4.5.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64"
-dependencies = [
- "heck",
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "clap_lex"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
-
-[[package]]
-name = "colorchoice"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422"
-
-[[package]]
-name = "core-foundation"
-version = "0.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
-dependencies = [
- "core-foundation-sys",
- "libc",
-]
-
-[[package]]
-name = "core-foundation-sys"
-version = "0.8.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
-
-[[package]]
-name = "core-graphics"
-version = "0.23.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081"
-dependencies = [
- "bitflags 1.3.2",
- "core-foundation",
- "core-graphics-types",
- "foreign-types",
- "libc",
-]
-
-[[package]]
-name = "core-graphics-types"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf"
-dependencies = [
- "bitflags 1.3.2",
- "core-foundation",
- "libc",
-]
-
-[[package]]
-name = "enigo"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0087a01fc8591217447d28005379fb5a183683cc83f0a4707af28cc6603f70fb"
-dependencies = [
- "core-graphics",
- "foreign-types-shared",
- "icrate",
- "libc",
- "log",
- "objc2",
- "windows",
- "xkbcommon",
- "xkeysym",
-]
-
-[[package]]
-name = "env_filter"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea"
-dependencies = [
- "log",
- "regex",
-]
-
-[[package]]
-name = "env_logger"
-version = "0.11.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9"
-dependencies = [
- "anstream",
- "anstyle",
- "env_filter",
- "humantime",
- "log",
-]
-
-[[package]]
-name = "fnv"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
-
-[[package]]
-name = "foreign-types"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965"
-dependencies = [
- "foreign-types-macros",
- "foreign-types-shared",
-]
-
-[[package]]
-name = "foreign-types-macros"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "foreign-types-shared"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b"
-
-[[package]]
-name = "form_urlencoded"
-version = "1.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
-dependencies = [
- "percent-encoding",
-]
-
-[[package]]
-name = "futures"
-version = "0.3.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0"
-dependencies = [
- "futures-channel",
- "futures-core",
- "futures-executor",
- "futures-io",
- "futures-sink",
- "futures-task",
- "futures-util",
-]
-
-[[package]]
-name = "futures-channel"
-version = "0.3.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
-dependencies = [
- "futures-core",
- "futures-sink",
-]
-
-[[package]]
-name = "futures-core"
-version = "0.3.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
-
-[[package]]
-name = "futures-executor"
-version = "0.3.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d"
-dependencies = [
- "futures-core",
- "futures-task",
- "futures-util",
-]
-
-[[package]]
-name = "futures-io"
-version = "0.3.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
-
-[[package]]
-name = "futures-macro"
-version = "0.3.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "futures-sink"
-version = "0.3.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
-
-[[package]]
-name = "futures-task"
-version = "0.3.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
-
-[[package]]
-name = "futures-util"
-version = "0.3.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
-dependencies = [
- "futures-channel",
- "futures-core",
- "futures-io",
- "futures-macro",
- "futures-sink",
- "futures-task",
- "memchr",
- "pin-project-lite",
- "pin-utils",
- "slab",
-]
-
-[[package]]
-name = "getrandom"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c"
-dependencies = [
- "cfg-if",
- "libc",
- "wasi",
-]
-
-[[package]]
-name = "gimli"
-version = "0.28.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
-
-[[package]]
-name = "heck"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
-
-[[package]]
-name = "hermit-abi"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
-
-[[package]]
-name = "hex"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
-
-[[package]]
-name = "http"
-version = "0.2.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1"
-dependencies = [
- "bytes",
- "fnv",
- "itoa",
-]
-
-[[package]]
-name = "humantime"
-version = "2.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
-
-[[package]]
-name = "icrate"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fb69199826926eb864697bddd27f73d9fddcffc004f5733131e15b465e30642"
-dependencies = [
- "block2",
- "objc2",
-]
-
-[[package]]
-name = "idna"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
-dependencies = [
- "unicode-bidi",
- "unicode-normalization",
-]
-
-[[package]]
-name = "is_terminal_polyfill"
-version = "1.70.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800"
-
-[[package]]
-name = "itoa"
-version = "1.0.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
-
-[[package]]
-name = "js-sys"
-version = "0.3.69"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
-dependencies = [
- "wasm-bindgen",
-]
-
-[[package]]
-name = "lazy_static"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-
-[[package]]
-name = "libc"
-version = "0.2.154"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346"
-
-[[package]]
-name = "lock_api"
-version = "0.4.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17"
-dependencies = [
- "autocfg",
- "scopeguard",
-]
-
-[[package]]
-name = "log"
-version = "0.4.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
-
-[[package]]
-name = "memchr"
-version = "2.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"
-
-[[package]]
-name = "memmap2"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43a5a03cefb0d953ec0be133036f14e109412fa594edc2f77227249db66cc3ed"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "miniz_oxide"
-version = "0.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
-dependencies = [
- "adler",
-]
-
-[[package]]
-name = "mio"
-version = "0.8.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
-dependencies = [
- "libc",
- "wasi",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "moq-native"
-version = "0.1.0"
-source = "git+https://github.com/kixelated/moq-rs#2240008c4e14c008a6fca30fd8ae8c493f5c057f"
-dependencies = [
- "anyhow",
- "clap",
- "futures",
- "hex",
- "log",
- "moq-transport",
- "quinn",
- "ring 0.16.20",
- "rustls",
- "rustls-native-certs",
- "rustls-pemfile",
- "tokio",
- "url",
- "web-transport",
- "web-transport-quinn",
- "webpki",
-]
-
-[[package]]
-name = "moq-transport"
-version = "0.5.0"
-source = "git+https://github.com/kixelated/moq-rs#2240008c4e14c008a6fca30fd8ae8c493f5c057f"
-dependencies = [
- "bytes",
- "futures",
- "log",
- "paste",
- "thiserror",
- "tokio",
- "web-transport",
-]
-
-[[package]]
-name = "netris-input"
-version = "0.0.1"
-dependencies = [
- "anyhow",
- "clap",
- "enigo",
- "env_logger",
- "log",
- "moq-native",
- "moq-transport",
- "serde",
- "serde_json",
- "tokio",
- "tracing",
- "tracing-subscriber",
- "url",
-]
-
-[[package]]
-name = "nu-ansi-term"
-version = "0.46.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
-dependencies = [
- "overload",
- "winapi",
-]
-
-[[package]]
-name = "num_cpus"
-version = "1.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
-dependencies = [
- "hermit-abi",
- "libc",
-]
-
-[[package]]
-name = "objc-sys"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da284c198fb9b7b0603f8635185e85fbd5b64ee154b1ed406d489077de2d6d60"
-
-[[package]]
-name = "objc2"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4b25e1034d0e636cd84707ccdaa9f81243d399196b8a773946dcffec0401659"
-dependencies = [
- "objc-sys",
- "objc2-encode",
-]
-
-[[package]]
-name = "objc2-encode"
-version = "4.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88658da63e4cc2c8adb1262902cd6af51094df0488b760d6fd27194269c0950a"
-
-[[package]]
-name = "object"
-version = "0.32.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "once_cell"
-version = "1.19.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
-
-[[package]]
-name = "openssl-probe"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
-
-[[package]]
-name = "overload"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
-
-[[package]]
-name = "parking_lot"
-version = "0.12.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e4af0ca4f6caed20e900d564c242b8e5d4903fdacf31d3daf527b66fe6f42fb"
-dependencies = [
- "lock_api",
- "parking_lot_core",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.9.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8"
-dependencies = [
- "cfg-if",
- "libc",
- "redox_syscall",
- "smallvec",
- "windows-targets 0.52.5",
-]
-
-[[package]]
-name = "paste"
-version = "1.0.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
-
-[[package]]
-name = "percent-encoding"
-version = "2.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
-
-[[package]]
-name = "pin-project-lite"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02"
-
-[[package]]
-name = "pin-utils"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
-
-[[package]]
-name = "ppv-lite86"
-version = "0.2.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.81"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba"
-dependencies = [
- "unicode-ident",
-]
-
-[[package]]
-name = "quinn"
-version = "0.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8cc2c5017e4b43d5995dcea317bc46c1e09404c0a9664d2908f7f02dfe943d75"
-dependencies = [
- "bytes",
- "pin-project-lite",
- "quinn-proto",
- "quinn-udp",
- "rustc-hash",
- "rustls",
- "thiserror",
- "tokio",
- "tracing",
-]
-
-[[package]]
-name = "quinn-proto"
-version = "0.10.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "141bf7dfde2fbc246bfd3fe12f2455aa24b0fbd9af535d8c86c7bd1381ff2b1a"
-dependencies = [
- "bytes",
- "rand",
- "ring 0.16.20",
- "rustc-hash",
- "rustls",
- "rustls-native-certs",
- "slab",
- "thiserror",
- "tinyvec",
- "tracing",
-]
-
-[[package]]
-name = "quinn-udp"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "055b4e778e8feb9f93c4e439f71dc2156ef13360b432b799e179a8c4cdf0b1d7"
-dependencies = [
- "bytes",
- "libc",
- "socket2",
- "tracing",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "quote"
-version = "1.0.36"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
-dependencies = [
- "proc-macro2",
-]
-
-[[package]]
-name = "rand"
-version = "0.8.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
-dependencies = [
- "libc",
- "rand_chacha",
- "rand_core",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
-dependencies = [
- "ppv-lite86",
- "rand_core",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.6.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
-dependencies = [
- "getrandom",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e"
-dependencies = [
- "bitflags 2.5.0",
-]
-
-[[package]]
-name = "regex"
-version = "1.10.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-automata",
- "regex-syntax",
-]
-
-[[package]]
-name = "regex-automata"
-version = "0.4.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-syntax",
-]
-
-[[package]]
-name = "regex-syntax"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"
-
-[[package]]
-name = "ring"
-version = "0.16.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
-dependencies = [
- "cc",
- "libc",
- "once_cell",
- "spin 0.5.2",
- "untrusted 0.7.1",
- "web-sys",
- "winapi",
-]
-
-[[package]]
-name = "ring"
-version = "0.17.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d"
-dependencies = [
- "cc",
- "cfg-if",
- "getrandom",
- "libc",
- "spin 0.9.8",
- "untrusted 0.9.0",
- "windows-sys 0.52.0",
-]
-
-[[package]]
-name = "rustc-demangle"
-version = "0.1.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
-
-[[package]]
-name = "rustc-hash"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
-
-[[package]]
-name = "rustls"
-version = "0.21.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e"
-dependencies = [
- "log",
- "ring 0.17.8",
- "rustls-webpki",
- "sct",
-]
-
-[[package]]
-name = "rustls-native-certs"
-version = "0.6.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00"
-dependencies = [
- "openssl-probe",
- "rustls-pemfile",
- "schannel",
- "security-framework",
-]
-
-[[package]]
-name = "rustls-pemfile"
-version = "1.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
-dependencies = [
- "base64",
-]
-
-[[package]]
-name = "rustls-webpki"
-version = "0.101.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
-dependencies = [
- "ring 0.17.8",
- "untrusted 0.9.0",
-]
-
-[[package]]
-name = "ryu"
-version = "1.0.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
-
-[[package]]
-name = "schannel"
-version = "0.1.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534"
-dependencies = [
- "windows-sys 0.52.0",
-]
-
-[[package]]
-name = "scopeguard"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
-
-[[package]]
-name = "sct"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414"
-dependencies = [
- "ring 0.17.8",
- "untrusted 0.9.0",
-]
-
-[[package]]
-name = "security-framework"
-version = "2.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6"
-dependencies = [
- "bitflags 1.3.2",
- "core-foundation",
- "core-foundation-sys",
- "libc",
- "security-framework-sys",
-]
-
-[[package]]
-name = "security-framework-sys"
-version = "2.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41f3cc463c0ef97e11c3461a9d3787412d30e8e7eb907c79180c4a57bf7c04ef"
-dependencies = [
- "core-foundation-sys",
- "libc",
-]
-
-[[package]]
-name = "serde"
-version = "1.0.202"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "226b61a0d411b2ba5ff6d7f73a476ac4f8bb900373459cd00fab8512828ba395"
-dependencies = [
- "serde_derive",
-]
-
-[[package]]
-name = "serde_derive"
-version = "1.0.202"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6048858004bcff69094cd972ed40a32500f153bd3be9f716b2eed2e8217c4838"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "serde_json"
-version = "1.0.117"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3"
-dependencies = [
- "itoa",
- "ryu",
- "serde",
-]
-
-[[package]]
-name = "sharded-slab"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
-dependencies = [
- "lazy_static",
-]
-
-[[package]]
-name = "signal-hook-registry"
-version = "1.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "slab"
-version = "0.4.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "smallvec"
-version = "1.13.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
-
-[[package]]
-name = "socket2"
-version = "0.5.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c"
-dependencies = [
- "libc",
- "windows-sys 0.52.0",
-]
-
-[[package]]
-name = "spin"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
-
-[[package]]
-name = "spin"
-version = "0.9.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
-
-[[package]]
-name = "strsim"
-version = "0.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
-
-[[package]]
-name = "syn"
-version = "2.0.60"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
-name = "thiserror"
-version = "1.0.59"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0126ad08bff79f29fc3ae6a55cc72352056dfff61e3ff8bb7129476d44b23aa"
-dependencies = [
- "thiserror-impl",
-]
-
-[[package]]
-name = "thiserror-impl"
-version = "1.0.59"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d1cd413b5d558b4c5bf3680e324a6fa5014e7b7c067a51e69dbdf47eb7148b66"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "thread_local"
-version = "1.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c"
-dependencies = [
- "cfg-if",
- "once_cell",
-]
-
-[[package]]
-name = "tinyvec"
-version = "1.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
-dependencies = [
- "tinyvec_macros",
-]
-
-[[package]]
-name = "tinyvec_macros"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
-
-[[package]]
-name = "tokio"
-version = "1.37.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787"
-dependencies = [
- "backtrace",
- "bytes",
- "libc",
- "mio",
- "num_cpus",
- "parking_lot",
- "pin-project-lite",
- "signal-hook-registry",
- "socket2",
- "tokio-macros",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "tokio-macros"
-version = "2.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "tracing"
-version = "0.1.40"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
-dependencies = [
- "log",
- "pin-project-lite",
- "tracing-attributes",
- "tracing-core",
-]
-
-[[package]]
-name = "tracing-attributes"
-version = "0.1.27"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "tracing-core"
-version = "0.1.32"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
-dependencies = [
- "once_cell",
- "valuable",
-]
-
-[[package]]
-name = "tracing-log"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
-dependencies = [
- "log",
- "once_cell",
- "tracing-core",
-]
-
-[[package]]
-name = "tracing-subscriber"
-version = "0.3.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b"
-dependencies = [
- "nu-ansi-term",
- "sharded-slab",
- "smallvec",
- "thread_local",
- "tracing-core",
- "tracing-log",
-]
-
-[[package]]
-name = "unicode-bidi"
-version = "0.3.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
-
-[[package]]
-name = "unicode-ident"
-version = "1.0.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
-
-[[package]]
-name = "unicode-normalization"
-version = "0.1.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5"
-dependencies = [
- "tinyvec",
-]
-
-[[package]]
-name = "untrusted"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
-
-[[package]]
-name = "untrusted"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
-
-[[package]]
-name = "url"
-version = "2.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
-dependencies = [
- "form_urlencoded",
- "idna",
- "percent-encoding",
-]
-
-[[package]]
-name = "utf8parse"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
-
-[[package]]
-name = "valuable"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
-
-[[package]]
-name = "wasi"
-version = "0.11.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
-
-[[package]]
-name = "wasm-bindgen"
-version = "0.2.92"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
-dependencies = [
- "cfg-if",
- "wasm-bindgen-macro",
-]
-
-[[package]]
-name = "wasm-bindgen-backend"
-version = "0.2.92"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
-dependencies = [
- "bumpalo",
- "log",
- "once_cell",
- "proc-macro2",
- "quote",
- "syn",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-futures"
-version = "0.4.42"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0"
-dependencies = [
- "cfg-if",
- "js-sys",
- "wasm-bindgen",
- "web-sys",
-]
-
-[[package]]
-name = "wasm-bindgen-macro"
-version = "0.2.92"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
-dependencies = [
- "quote",
- "wasm-bindgen-macro-support",
-]
-
-[[package]]
-name = "wasm-bindgen-macro-support"
-version = "0.2.92"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
- "wasm-bindgen-backend",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-shared"
-version = "0.2.92"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
-
-[[package]]
-name = "web-sys"
-version = "0.3.69"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef"
-dependencies = [
- "js-sys",
- "wasm-bindgen",
-]
-
-[[package]]
-name = "web-transport"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5eae5b9dc46b1e7255c3c9b31848f7fab97b10d0445e37548fdd57087bd62b42"
-dependencies = [
- "bytes",
- "thiserror",
- "web-transport-quinn",
- "web-transport-wasm",
-]
-
-[[package]]
-name = "web-transport-proto"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d533fd9af1d5db6851d074d124ffe2b90b6e2da6889e31b6c6cf24af17d18b94"
-dependencies = [
- "bytes",
- "http",
- "thiserror",
- "url",
-]
-
-[[package]]
-name = "web-transport-quinn"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13032a9abb2cd362ead539944629b1b4d632ae6ddf21f840be86cd1f31596d97"
-dependencies = [
- "bytes",
- "futures",
- "http",
- "log",
- "quinn",
- "quinn-proto",
- "thiserror",
- "tokio",
- "url",
- "web-transport-proto",
-]
-
-[[package]]
-name = "web-transport-wasm"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64be28348e18cb1f44e4c8733dc2bd9520d782be840b2b978724dfd1b1bdefa3"
-dependencies = [
- "bytes",
- "js-sys",
- "wasm-bindgen",
- "wasm-bindgen-futures",
- "web-sys",
-]
-
-[[package]]
-name = "webpki"
-version = "0.22.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed63aea5ce73d0ff405984102c42de94fc55a6b75765d621c65262469b3c9b53"
-dependencies = [
- "ring 0.17.8",
- "untrusted 0.9.0",
-]
-
-[[package]]
-name = "winapi"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
-dependencies = [
- "winapi-i686-pc-windows-gnu",
- "winapi-x86_64-pc-windows-gnu",
-]
-
-[[package]]
-name = "winapi-i686-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
-
-[[package]]
-name = "winapi-x86_64-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-
-[[package]]
-name = "windows"
-version = "0.56.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1de69df01bdf1ead2f4ac895dc77c9351aefff65b2f3db429a343f9cbf05e132"
-dependencies = [
- "windows-core",
- "windows-targets 0.52.5",
-]
-
-[[package]]
-name = "windows-core"
-version = "0.56.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4698e52ed2d08f8658ab0c39512a7c00ee5fe2688c65f8c0a4f06750d729f2a6"
-dependencies = [
- "windows-implement",
- "windows-interface",
- "windows-result",
- "windows-targets 0.52.5",
-]
-
-[[package]]
-name = "windows-implement"
-version = "0.56.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6fc35f58ecd95a9b71c4f2329b911016e6bec66b3f2e6a4aad86bd2e99e2f9b"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "windows-interface"
-version = "0.56.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08990546bf4edef8f431fa6326e032865f27138718c587dc21bc0265bbcb57cc"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "windows-result"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "749f0da9cc72d82e600d8d2e44cadd0b9eedb9038f71a1c58556ac1c5791813b"
-dependencies = [
- "windows-targets 0.52.5",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
-dependencies = [
- "windows-targets 0.48.5",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
-dependencies = [
- "windows-targets 0.52.5",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
-dependencies = [
- "windows_aarch64_gnullvm 0.48.5",
- "windows_aarch64_msvc 0.48.5",
- "windows_i686_gnu 0.48.5",
- "windows_i686_msvc 0.48.5",
- "windows_x86_64_gnu 0.48.5",
- "windows_x86_64_gnullvm 0.48.5",
- "windows_x86_64_msvc 0.48.5",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.52.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb"
-dependencies = [
- "windows_aarch64_gnullvm 0.52.5",
- "windows_aarch64_msvc 0.52.5",
- "windows_i686_gnu 0.52.5",
- "windows_i686_gnullvm",
- "windows_i686_msvc 0.52.5",
- "windows_x86_64_gnu 0.52.5",
- "windows_x86_64_gnullvm 0.52.5",
- "windows_x86_64_msvc 0.52.5",
-]
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.52.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.52.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.52.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670"
-
-[[package]]
-name = "windows_i686_gnullvm"
-version = "0.52.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.52.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.52.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.52.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.52.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0"
-
-[[package]]
-name = "xkbcommon"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13867d259930edc7091a6c41b4ce6eee464328c6ff9659b7e4c668ca20d4c91e"
-dependencies = [
- "libc",
- "memmap2",
- "xkeysym",
-]
-
-[[package]]
-name = "xkeysym"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "054a8e68b76250b253f671d1268cb7f1ae089ec35e195b2efb2a4e9a836d0621"
diff --git a/bin/input/Cargo.toml b/bin/input/Cargo.toml
deleted file mode 100644
index 1d062808..00000000
--- a/bin/input/Cargo.toml
+++ /dev/null
@@ -1,21 +0,0 @@
-[package]
-name = "warp-input"
-version = "0.0.1"
-edition = "2021"
-
-[dependencies]
-anyhow = "1.0.82"
-chrono = "0.4.38"
-clap = "4.5.4"
-enigo = "0.2.1"
-env_logger = "0.11.3"
-log = "0.4.21"
-moq-native = { git = "https://github.com/kixelated/moq-rs", version = "0.1.0" }
-moq-transport = { git = "https://github.com/kixelated/moq-rs", version = "0.5.0" }
-rand = "0.8.5"
-serde = { version="1.0.202" , features = ["derive"]}
-serde_json = "1.0.117"
-tokio = "1.37.0"
-tracing = "0.1.40"
-tracing-subscriber = "0.3.18"
-url = "2.5.0"
\ No newline at end of file
diff --git a/bin/input/src/cli.rs b/bin/input/src/cli.rs
deleted file mode 100644
index 1cd5cb43..00000000
--- a/bin/input/src/cli.rs
+++ /dev/null
@@ -1,43 +0,0 @@
-use clap::Parser;
-use std::{net, path};
-use url::Url;
-
-#[derive(Parser, Clone, Debug)]
-pub struct Config {
- /// Listen for UDP packets on the given address.
- #[arg(long, default_value = "[::]:8080")]
- pub bind: net::SocketAddr,
-
- /// Connect to the given URL starting with https://
- #[arg(value_parser = moq_url)]
- pub url: Url,
-
- /// Use the TLS root CA at this path, encoded as PEM.
- ///
- /// This value can be provided multiple times for multiple roots.
- /// If this is empty, system roots will be used instead
- #[arg(long)]
- pub tls_root: Vec,
-
- /// Danger: Disable TLS certificate verification.
- ///
- /// Fine for local development, but should be used in caution in production.
- #[arg(long)]
- pub tls_disable_verify: bool,
-
- /// Publish the current time to the relay, otherwise only subscribe.
- // #[arg(long)]
- // pub publish: bool,
-
- /// The name of the input track.
- #[arg(long, default_value = "netris")]
- pub namespace: String,
-
- /// The name of the input track.
- #[arg(long, default_value = ".catalog")]
- pub track: String,
-}
-
-fn moq_url(s: &str) -> Result {
- Url::try_from(s).map_err(|e| e.to_string())
-}
\ No newline at end of file
diff --git a/bin/input/src/input.rs b/bin/input/src/input.rs
deleted file mode 100644
index d1a5e09d..00000000
--- a/bin/input/src/input.rs
+++ /dev/null
@@ -1,277 +0,0 @@
-use anyhow::Context;
-use enigo::{
- Axis::Horizontal,
- Coordinate::Rel,
- Direction::{Press, Release},
- Enigo, Keyboard, Mouse, Settings,
-};
-use moq_transport::
- serve::{
- DatagramsReader, GroupsReader, ObjectsReader,
- StreamReader, TrackReader, TrackReaderMode,
- };
-
-use serde::{Deserialize, Serialize};
-pub struct Subscriber {
- track: TrackReader,
-}
-
-#[derive(Debug, Serialize, Deserialize)]
-struct MessageObject {
- input_type: String,
- delta_y: Option,
- delta_x: Option,
- button: Option,
- key_code: Option,
-}
-
-impl Subscriber {
- pub fn new(track: TrackReader) -> Self {
- Self { track }
- }
-
- // pub async fn run(self) -> anyhow::Result<()> {
- // loop {
- // match self.track.mode().await {
- // Ok(mode) => match mode {
- // TrackReaderMode::Stream(stream) => loop {
- // if let Err(err) = Self::recv_stream(stream.clone()).await {
- // tracing::warn!("Error receiving streams: {}, retrying...", err);
- // tokio::time::sleep(std::time::Duration::from_millis(100)).await;
- // } else {
- // break;
- // }
- // },
- // TrackReaderMode::Groups(groups) => loop {
- // if let Err(err) = Self::recv_groups(groups.clone()).await {
- // tracing::warn!("Error receiving groups: {}, retrying...", err);
- // tokio::time::sleep(std::time::Duration::from_millis(100)).await;
- // } else {
- // break;
- // }
- // },
- // TrackReaderMode::Objects(objects) => loop {
- // if let Err(err) = Self::recv_objects(objects.clone()).await {
- // tracing::warn!("Error receiving objects: {}, retrying...", err);
- // tokio::time::sleep(std::time::Duration::from_millis(100)).await;
- // } else {
- // break;
- // }
- // },
- // TrackReaderMode::Datagrams(datagrams) => loop {
- // if let Err(err) = Self::recv_datagrams(datagrams.clone()).await {
- // tracing::warn!("Error receiving datagrams: {}, retrying...", err);
- // tokio::time::sleep(std::time::Duration::from_millis(100)).await;
- // } else {
- // break;
- // }
- // },
- // },
- // Err(_) => {
- // tracing::warn!("Failed to get mode, retrying...");
- // tokio::time::sleep(std::time::Duration::from_millis(100)).await;
- // return Ok(());
- // }
- // }
- // }
- // }
-
- pub async fn run(self) -> anyhow::Result<()> {
- match self.track.mode().await.context("failed to connect")? {
- TrackReaderMode::Stream(stream) => Self::recv_stream(stream).await,
- TrackReaderMode::Groups(groups) => Self::recv_groups(groups).await,
- TrackReaderMode::Objects(objects) => Self::recv_objects(objects).await,
- TrackReaderMode::Datagrams(datagrams) => Self::recv_datagrams(datagrams).await,
- }
- }
-
- async fn recv_stream(mut track: StreamReader) -> anyhow::Result<()> {
- while let Some(mut group) = track.next().await? {
- while let Some(object) = group.read_next().await? {
- let str = String::from_utf8_lossy(&object);
- println!("{}", str);
- }
- }
- Ok(())
- }
-
- async fn recv_groups(mut groups: GroupsReader) -> anyhow::Result<()> {
- while let Some(mut group) = groups.next().await? {
- let base = group
- .read_next()
- .await
- .context("failed to get first object")?
- .context("empty group")?;
-
- //TODO: Use this to allow for authorisation (admin, player or guest) etc etc
- let _base = String::from_utf8_lossy(&base);
- // let json = serde_json::from_str(&str)?;
-
- //TODO: Handle clipboard
- let mut enigo = Enigo::new(&Settings::default()).unwrap();
- while let Some(object) = group.read_next().await? {
- let str = String::from_utf8_lossy(&object);
- let parsed: MessageObject = serde_json::from_str(&str)?;
- match parsed.input_type.as_str() {
- "mouse_move" => {
- if let (Some(x), Some(y)) = (parsed.delta_x, parsed.delta_y) {
- // println!("Handling mouse_move with delta_x: {}, delta_y: {}", x, y);
- enigo.move_mouse(x, y, Rel).unwrap();
- }
- }
- "mouse_key_down" => {
- if let Some(button) = parsed.button {
- // println!("Handling mouse_key_down with key: {}", button);
- if let Some(key) = mouse_key_to_enigo(button) {
- enigo.button(key, Press).unwrap();
- }
- }
- }
- "mouse_key_up" => {
- if let Some(button) = parsed.button {
- // println!("Handling mouse_key_up with key: {}", button);
- if let Some(key) = mouse_key_to_enigo(button) {
- enigo.button(key, Release).unwrap();
- }
- }
- }
- "mouse_wheel_up" => {
- //TODO: handle vertical scrolling
- // println!("Handling mouse_wheel_up with key");
- enigo.scroll(-2, Horizontal).unwrap();
- }
- "mouse_wheel_down" => {
- //TODO: handle vertical scrolling
- // println!("Handling mouse_wheel_down with key");
- enigo.scroll(2, Horizontal).unwrap();
- }
- "key_up" => {
- if let Some(key_code) = parsed.key_code {
- // println!("Handling key_up with key: {}", key_code);
- if let Some(key) = key_to_enigo(key_code as u8) {
- enigo.key(key, Release).unwrap();
- }
- }
- }
- "key_down" => {
- if let Some(key_code) = parsed.key_code {
- // println!("Handling key_down with key: {}", key_code);
- if let Some(key) = key_to_enigo(key_code as u8) {
- enigo.key(key, Press).unwrap();
- }
- }
- }
- _ => {
- println!("Unknown input_type: {}", parsed.input_type);
- }
- }
- }
- }
-
- Ok(())
- }
-
- async fn recv_objects(mut objects: ObjectsReader) -> anyhow::Result<()> {
- while let Some(mut object) = objects.next().await? {
- let payload = object.read_all().await?;
- let str = String::from_utf8_lossy(&payload);
- println!("{}", str);
- }
-
- Ok(())
- }
-
- async fn recv_datagrams(mut datagrams: DatagramsReader) -> anyhow::Result<()> {
- while let Some(datagram) = datagrams.read().await? {
- let str = String::from_utf8_lossy(&datagram.payload);
- println!("{}", str);
- }
-
- Ok(())
- }
-}
-
-pub fn mouse_key_to_enigo(key: i32) -> Option {
- match key {
- 0 => Some(enigo::Button::Left),
- 1 => Some(enigo::Button::Middle),
- 2 => Some(enigo::Button::Right),
- _ => None,
- }
-}
-
-pub fn key_to_enigo(key: u8) -> Option {
- match key {
- 27 => Some(enigo::Key::Escape),
- 112 => Some(enigo::Key::F1),
- 113 => Some(enigo::Key::F2),
- 114 => Some(enigo::Key::F3),
- 115 => Some(enigo::Key::F4),
- 116 => Some(enigo::Key::F5),
- 117 => Some(enigo::Key::F6),
- 118 => Some(enigo::Key::F7),
- 119 => Some(enigo::Key::F8),
- 120 => Some(enigo::Key::F9),
- 121 => Some(enigo::Key::F10),
- 122 => Some(enigo::Key::F11),
- 123 => Some(enigo::Key::F12),
- // 19 => Some(enigo::Key::Pause), // Pause
- // 97 => Some(enigo::Key::Print), // Print
- 46 => Some(enigo::Key::Delete),
- 35 => Some(enigo::Key::End),
- 192 => Some(enigo::Key::Unicode('`')),
- 48 => Some(enigo::Key::Unicode('0')),
- 49 => Some(enigo::Key::Unicode('1')),
- 50 => Some(enigo::Key::Unicode('2')),
- 51 => Some(enigo::Key::Unicode('3')),
- 52 => Some(enigo::Key::Unicode('4')),
- 53 => Some(enigo::Key::Unicode('5')),
- 54 => Some(enigo::Key::Unicode('6')),
- 55 => Some(enigo::Key::Unicode('7')),
- 56 => Some(enigo::Key::Unicode('8')),
- 57 => Some(enigo::Key::Unicode('9')),
- 189 => Some(enigo::Key::Unicode('-')),
- 187 => Some(enigo::Key::Unicode('=')),
- 8 => Some(enigo::Key::Backspace),
- 9 => Some(enigo::Key::Tab),
- 219 => Some(enigo::Key::Unicode('[')),
- 221 => Some(enigo::Key::Unicode(']')),
- 220 => Some(enigo::Key::Unicode('\\')),
- 20 => Some(enigo::Key::CapsLock),
- 186 => Some(enigo::Key::Unicode(';')),
- 222 => Some(enigo::Key::Unicode('\'')),
- 13 => Some(enigo::Key::Return),
- 16 => Some(enigo::Key::Shift), // ShiftL
- 188 => Some(enigo::Key::Unicode(',')),
- 190 => Some(enigo::Key::Unicode('.')),
- 191 => Some(enigo::Key::Unicode('/')),
- 161 => Some(enigo::Key::Shift), // ShiftR
- 38 => Some(enigo::Key::UpArrow),
- 17 => Some(enigo::Key::Control), // ControlL
- 18 => Some(enigo::Key::Alt), // AltL
- 32 => Some(enigo::Key::Space),
- 165 => Some(enigo::Key::Alt), // AltR
- // 103 => Some(enigo::Key::Menu),
- 163 => Some(enigo::Key::Control), // ControlR
- 37 => Some(enigo::Key::LeftArrow),
- 40 => Some(enigo::Key::DownArrow),
- 39 => Some(enigo::Key::RightArrow),
- // 99 => Some(enigo::Key::Raw(45)), // Insert
- 34 => Some(enigo::Key::PageDown),
- 36 => Some(enigo::Key::Home),
- 33 => Some(enigo::Key::PageUp),
- a if a >= 65 && a <= 90 => Some(enigo::Key::Unicode((a - 65 + ('a' as u8)) as char)),
- _ => None,
- }
-}
-
-//NAME="${NAME:-$(head /dev/urandom | LC_ALL=C tr -dc 'a-zA-Z0-9' | head -c 16)}"
-// let _name = env::var("NAMESPACE").unwrap_or_else(|_| {
-// let rng = rand::thread_rng();
-// let random_string: String = rng
-// .sample_iter(&rand::distributions::Alphanumeric)
-// .take(16)
-// .map(char::from)
-// .collect();
-// random_string
-// });
\ No newline at end of file
diff --git a/bin/input/src/main.rs b/bin/input/src/main.rs
deleted file mode 100644
index aa216e04..00000000
--- a/bin/input/src/main.rs
+++ /dev/null
@@ -1,121 +0,0 @@
-use anyhow::Context;
-use chrono::prelude::*;
-use clap::Parser;
-use moq_native::quic;
-use moq_transport::{serve, session::Subscriber};
-use std::net;
-use url::Url;
-
-mod input;
-
-#[derive(Parser, Clone)]
-pub struct Cli {
- /// Listen for UDP packets on the given address.
- #[arg(long, default_value = "[::]:0")]
- pub bind: net::SocketAddr,
-
- /// Connect to the given URL starting with https://
- #[arg()]
- pub url: Url,
-
- /// The TLS configuration.
- #[command(flatten)]
- pub tls: moq_native::tls::Cli,
-
- // /// Publish the current time to the relay, otherwise only subscribe.
- // #[arg(long)]
- // pub publish: bool,
- /// The name of the input track.
- #[arg(long, default_value = "netris")]
- pub namespace: String,
-
- /// The name of the input track.
- #[arg(long, default_value = ".catalog")]
- pub track: String,
-}
-
-#[tokio::main]
-async fn main() -> anyhow::Result<()> {
- env_logger::init();
-
- // Disable tracing so we don't get a bunch of Quinn spam.
- let tracer = tracing_subscriber::FmtSubscriber::builder()
- .with_max_level(tracing::Level::WARN)
- .finish();
- tracing::subscriber::set_global_default(tracer).unwrap();
-
- let config = Cli::parse();
- let tls = config.tls.load()?;
-
- let quic = quic::Endpoint::new(quic::Config {
- bind: config.bind,
- tls,
- })?;
-
- let start = Utc::now();
- let mut now = start;
-
- loop {
- log::info!("connecting to server: url={}", config.url);
-
- let session = quic.client.connect(&config.url).await?;
-
- let (session, mut subscriber) = Subscriber::connect(session)
- .await
- .context("failed to create MoQ Transport session")?;
-
- let namespace = format!("{}input", config.namespace);
-
- let (prod, sub) = serve::Track::new(namespace, config.track.clone()).produce();
-
- let input = input::Subscriber::new(sub);
-
- // let (session, mut publisher) = Publisher::connect(session)
- // .await
- // .context("failed to create MoQ Transport session")?;
-
- // let (mut writer, _, reader) = serve::Tracks {
- // namespace: config.namespace.clone(),
- // }
- // .produce();
-
- // let track = writer.create(&config.track).unwrap();
- // let input_publisher = input::Publisher::new(track.groups()?);
-
- tokio::select! {
- res = session.run() => {
- if let Err(e) = res {
- log::error!("session error: {}", e);
- continue;
- }
- },
- res = input.run() => {
- if let Err(e) = res {
- log::error!("input subscriber error: {}", e);
- continue;
- }
- },
- // res = publisher.announce(reader) => res.context("failed to serve tracks")?,
- res = subscriber.subscribe(prod) => {
- if let Err(e) = res {
- log::error!("failed to subscribe to track: {}", e);
- continue;
- }
- },
- }
-
- let next = now + chrono::Duration::try_minutes(1).unwrap();
- let next = next.with_second(0).unwrap().with_nanosecond(0).unwrap();
-
- let delay = (next - now).to_std().unwrap();
- tokio::time::sleep(delay).await;
-
- // if next.minute() - now.minute() == 10 {
- // return Ok(());
- // }
-
- now = next; // just assume we didn't undersleep
- }
-
- // Ok(())
-}
diff --git a/bun.lockb b/bun.lockb
new file mode 100755
index 00000000..e11c8ca1
Binary files /dev/null and b/bun.lockb differ
diff --git a/cli b/cli
deleted file mode 160000
index d95b4a84..00000000
--- a/cli
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit d95b4a84cb9ea05541fb88eb24a52bd294b59cae
diff --git a/dev/build.sh b/dev/build.sh
deleted file mode 100644
index 4c56f454..00000000
--- a/dev/build.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/bash -e
-
-docker build -t server -f server.Dockerfile .
\ No newline at end of file
diff --git a/dev/run-input.sh b/dev/run-input.sh
deleted file mode 100644
index c33faebc..00000000
--- a/dev/run-input.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/bash -e
-
-cargo run -- --namespace $SESSION_ID --bind "[::]:8080" https://fst.so:4443
\ No newline at end of file
diff --git a/dev/run.sh b/dev/run.sh
deleted file mode 100644
index 45bd50ae..00000000
--- a/dev/run.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/bash -e
-NAME="${NAME:-$(head /dev/urandom | LC_ALL=C tr -dc 'a-zA-Z0-9' | head -c 16)}"
-
-# docker run --gpus all --device=/dev/dri --rm -it --entrypoint /bin/bash -e SESSION_ID=G4r06Kc8vDmwIXPG -v "$(pwd)":/game -p 8080:8080/udp --cap-add=SYS_NICE --cap-add=SYS_ADMIN server
-docker run --gpus all --device=/dev/dri --rm -it --entrypoint /bin/bash -e SESSION_ID=$NAME -v "$(pwd)":/game -p 8080:8080/udp --cap-add=SYS_NICE --cap-add=SYS_ADMIN server
\ No newline at end of file
diff --git a/dev/script.sh b/dev/script.sh
deleted file mode 100644
index 1d0f332a..00000000
--- a/dev/script.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-#This fixes the error where x11-apps in docker cannot seem to access the hosts DISPLAY server
- # Error: No protocol specified
- # Error: Can't open display: :10.0
-#https://askubuntu.com/a/1470341 //Run it on host OS
-xhost +Local:*
-xhost
-
-#Fun fact Weston won't run if you do not have Wayland running on the host (i have yet to try running with Xwayland inside the container)
-#Run weston using your host's X11 display server
-weston --backend=x11-backend.so
-
-#Run inside the terminal of the weston you just created... cool right?
-weston --backend=wayland-backend.so
-
-#Run
-docker run --gpus all --entrypoint /bin/bash --rm -it -v $(pwd):/games -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY --cap-add=SYS_NICE --cap-add=SYS_ADMIN recorder
-
-docker run --gpus all --entrypoint /bin/bash --device=/dev/dri --rm -it -v $(pwd):/game --cap-add=SYS_NICE --cap-add=SYS_ADMIN ghcr.io/wanjohiryan/netris/server:nightly
-
- ffmpeg -hide_banner -v quiet -stream_loop -1 -re -i /game/test.mp4 -an -f mp4 -movflags empty_moov+frag_every_frame+separate_moof+omit_tfhd_offset - | RUST_LOG=moq_pub=info warp --name "netris" https://fst.so:4443
\ No newline at end of file
diff --git a/moq-server b/moq-server
deleted file mode 160000
index aedb284a..00000000
--- a/moq-server
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit aedb284ac827aa103913548578d9f449655b0f3c
diff --git a/package.json b/package.json
new file mode 100644
index 00000000..51f3beaf
--- /dev/null
+++ b/package.json
@@ -0,0 +1,23 @@
+{
+ "name": "nestri",
+ "private": true,
+ "scripts": {
+ "build": "turbo build",
+ "dev": "turbo dev",
+ "lint": "turbo lint",
+ "format": "prettier --write \"**/*.{ts,tsx,md}\""
+ },
+ "devDependencies": {
+ "prettier": "^3.2.5",
+ "turbo": "^2.0.14",
+ "typescript": "^5.4.5"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "packageManager": "bun@1.1.18",
+ "workspaces": [
+ "apps/*",
+ "packages/*"
+ ]
+}
diff --git a/packages/eslint-config/README.md b/packages/eslint-config/README.md
new file mode 100644
index 00000000..8b42d901
--- /dev/null
+++ b/packages/eslint-config/README.md
@@ -0,0 +1,3 @@
+# `@turbo/eslint-config`
+
+Collection of internal eslint configurations.
diff --git a/packages/eslint-config/library.js b/packages/eslint-config/library.js
new file mode 100644
index 00000000..9b59cc0f
--- /dev/null
+++ b/packages/eslint-config/library.js
@@ -0,0 +1,34 @@
+const { resolve } = require("node:path");
+
+const project = resolve(process.cwd(), "tsconfig.json");
+
+/** @type {import("eslint").Linter.Config} */
+module.exports = {
+ extends: ["eslint:recommended", "prettier", "turbo"],
+ plugins: ["only-warn"],
+ globals: {
+ React: true,
+ JSX: true,
+ },
+ env: {
+ node: true,
+ },
+ settings: {
+ "import/resolver": {
+ typescript: {
+ project,
+ },
+ },
+ },
+ ignorePatterns: [
+ // Ignore dotfiles
+ ".*.js",
+ "node_modules/",
+ "dist/",
+ ],
+ overrides: [
+ {
+ files: ["*.js?(x)", "*.ts?(x)"],
+ },
+ ],
+};
diff --git a/packages/eslint-config/next.js b/packages/eslint-config/next.js
new file mode 100644
index 00000000..88445be0
--- /dev/null
+++ b/packages/eslint-config/next.js
@@ -0,0 +1,35 @@
+const { resolve } = require("node:path");
+
+const project = resolve(process.cwd(), "tsconfig.json");
+
+/** @type {import("eslint").Linter.Config} */
+module.exports = {
+ extends: [
+ "eslint:recommended",
+ "prettier",
+ require.resolve("@vercel/style-guide/eslint/next"),
+ "turbo",
+ ],
+ globals: {
+ React: true,
+ JSX: true,
+ },
+ env: {
+ node: true,
+ browser: true,
+ },
+ plugins: ["only-warn"],
+ settings: {
+ "import/resolver": {
+ typescript: {
+ project,
+ },
+ },
+ },
+ ignorePatterns: [
+ // Ignore dotfiles
+ ".*.js",
+ "node_modules/",
+ ],
+ overrides: [{ files: ["*.js?(x)", "*.ts?(x)"] }],
+};
diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json
new file mode 100644
index 00000000..b791e7d0
--- /dev/null
+++ b/packages/eslint-config/package.json
@@ -0,0 +1,19 @@
+{
+ "name": "@nestri/eslint-config",
+ "version": "0.0.0",
+ "private": true,
+ "files": [
+ "library.js",
+ "next.js",
+ "react-internal.js"
+ ],
+ "devDependencies": {
+ "@vercel/style-guide": "^5.2.0",
+ "eslint-config-turbo": "^2.0.0",
+ "eslint-config-prettier": "^9.1.0",
+ "eslint-plugin-only-warn": "^1.1.0",
+ "@typescript-eslint/parser": "^7.1.0",
+ "@typescript-eslint/eslint-plugin": "^7.1.0",
+ "typescript": "^5.3.3"
+ }
+}
diff --git a/packages/eslint-config/react-internal.js b/packages/eslint-config/react-internal.js
new file mode 100644
index 00000000..bf0a2083
--- /dev/null
+++ b/packages/eslint-config/react-internal.js
@@ -0,0 +1,39 @@
+const { resolve } = require("node:path");
+
+const project = resolve(process.cwd(), "tsconfig.json");
+
+/*
+ * This is a custom ESLint configuration for use with
+ * internal (bundled by their consumer) libraries
+ * that utilize React.
+ */
+
+/** @type {import("eslint").Linter.Config} */
+module.exports = {
+ extends: ["eslint:recommended", "prettier", "turbo"],
+ plugins: ["only-warn"],
+ globals: {
+ React: true,
+ JSX: true,
+ },
+ env: {
+ browser: true,
+ },
+ settings: {
+ "import/resolver": {
+ typescript: {
+ project,
+ },
+ },
+ },
+ ignorePatterns: [
+ // Ignore dotfiles
+ ".*.js",
+ "node_modules/",
+ "dist/",
+ ],
+ overrides: [
+ // Force ESLint to detect .tsx files
+ { files: ["*.js?(x)", "*.ts?(x)"] },
+ ],
+};
diff --git a/packages/typescript-config/base.json b/packages/typescript-config/base.json
new file mode 100644
index 00000000..0f80cfd6
--- /dev/null
+++ b/packages/typescript-config/base.json
@@ -0,0 +1,20 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "display": "Default",
+ "compilerOptions": {
+ "declaration": true,
+ "declarationMap": true,
+ "esModuleInterop": true,
+ "incremental": false,
+ "isolatedModules": true,
+ "lib": ["es2022", "DOM", "DOM.Iterable"],
+ "module": "NodeNext",
+ "moduleDetection": "force",
+ "moduleResolution": "NodeNext",
+ "noUncheckedIndexedAccess": true,
+ "resolveJsonModule": true,
+ "skipLibCheck": true,
+ "strict": true,
+ "target": "ES2022"
+ }
+}
diff --git a/packages/typescript-config/nextjs.json b/packages/typescript-config/nextjs.json
new file mode 100644
index 00000000..44f42899
--- /dev/null
+++ b/packages/typescript-config/nextjs.json
@@ -0,0 +1,13 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "display": "Next.js",
+ "extends": "./base.json",
+ "compilerOptions": {
+ "plugins": [{ "name": "next" }],
+ "module": "ESNext",
+ "moduleResolution": "Bundler",
+ "allowJs": true,
+ "jsx": "preserve",
+ "noEmit": true
+ }
+}
diff --git a/packages/typescript-config/package.json b/packages/typescript-config/package.json
new file mode 100644
index 00000000..41f60c53
--- /dev/null
+++ b/packages/typescript-config/package.json
@@ -0,0 +1,9 @@
+{
+ "name": "@nestri/typescript-config",
+ "version": "0.0.0",
+ "private": true,
+ "license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ }
+}
diff --git a/packages/typescript-config/react-library.json b/packages/typescript-config/react-library.json
new file mode 100644
index 00000000..44924d9e
--- /dev/null
+++ b/packages/typescript-config/react-library.json
@@ -0,0 +1,8 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "display": "React Library",
+ "extends": "./base.json",
+ "compilerOptions": {
+ "jsx": "react-jsx"
+ }
+}
diff --git a/packages/ui/.eslintrc.js b/packages/ui/.eslintrc.js
new file mode 100644
index 00000000..124efcbf
--- /dev/null
+++ b/packages/ui/.eslintrc.js
@@ -0,0 +1,10 @@
+/** @type {import("eslint").Linter.Config} */
+module.exports = {
+ root: true,
+ extends: ["@nestri/eslint-config/react-internal.js"],
+ parser: "@typescript-eslint/parser",
+ parserOptions: {
+ project: "./tsconfig.lint.json",
+ tsconfigRootDir: __dirname,
+ },
+};
diff --git a/packages/ui/package.json b/packages/ui/package.json
new file mode 100644
index 00000000..aed73da2
--- /dev/null
+++ b/packages/ui/package.json
@@ -0,0 +1,28 @@
+{
+ "name": "@nestri/ui",
+ "version": "0.0.0",
+ "private": true,
+ "exports": {
+ "./button": "./src/button.tsx",
+ "./card": "./src/card.tsx",
+ "./code": "./src/code.tsx"
+ },
+ "scripts": {
+ "lint": "eslint . --max-warnings 0",
+ "generate:component": "turbo gen react-component"
+ },
+ "devDependencies": {
+ "@nestri/eslint-config": "*",
+ "@nestri/typescript-config": "*",
+ "@turbo/gen": "^1.12.4",
+ "@types/node": "^20.11.24",
+ "@types/eslint": "^8.56.5",
+ "@types/react": "^18.2.61",
+ "@types/react-dom": "^18.2.19",
+ "eslint": "^8.57.0",
+ "typescript": "^5.3.3"
+ },
+ "dependencies": {
+ "react": "^18.2.0"
+ }
+}
diff --git a/packages/ui/src/button.tsx b/packages/ui/src/button.tsx
new file mode 100644
index 00000000..78e5420c
--- /dev/null
+++ b/packages/ui/src/button.tsx
@@ -0,0 +1,20 @@
+"use client";
+
+import { ReactNode } from "react";
+
+interface ButtonProps {
+ children: ReactNode;
+ className?: string;
+ appName: string;
+}
+
+export const Button = ({ children, className, appName }: ButtonProps) => {
+ return (
+ alert(`Hello from your ${appName} app!`)}
+ >
+ {children}
+
+ );
+};
diff --git a/packages/ui/src/card.tsx b/packages/ui/src/card.tsx
new file mode 100644
index 00000000..f69672e1
--- /dev/null
+++ b/packages/ui/src/card.tsx
@@ -0,0 +1,25 @@
+export function Card({
+ className,
+ title,
+ children,
+ href,
+}: {
+ className?: string;
+ title: string;
+ children: React.ReactNode;
+ href: string;
+}): JSX.Element {
+ return (
+
+
+ {title} ->
+
+ {children}
+
+ );
+}
diff --git a/packages/ui/src/code.tsx b/packages/ui/src/code.tsx
new file mode 100644
index 00000000..769d9711
--- /dev/null
+++ b/packages/ui/src/code.tsx
@@ -0,0 +1,9 @@
+export function Code({
+ children,
+ className,
+}: {
+ children: React.ReactNode;
+ className?: string;
+}): JSX.Element {
+ return {children};
+}
diff --git a/packages/ui/tsconfig.json b/packages/ui/tsconfig.json
new file mode 100644
index 00000000..b3002f02
--- /dev/null
+++ b/packages/ui/tsconfig.json
@@ -0,0 +1,8 @@
+{
+ "extends": "@nestri/typescript-config/react-library.json",
+ "compilerOptions": {
+ "outDir": "dist"
+ },
+ "include": ["src"],
+ "exclude": ["node_modules", "dist"]
+}
diff --git a/packages/ui/tsconfig.lint.json b/packages/ui/tsconfig.lint.json
new file mode 100644
index 00000000..5d86484e
--- /dev/null
+++ b/packages/ui/tsconfig.lint.json
@@ -0,0 +1,8 @@
+{
+ "extends": "@nestri/typescript-config/react-library.json",
+ "compilerOptions": {
+ "outDir": "dist"
+ },
+ "include": ["src", "turbo"],
+ "exclude": ["node_modules", "dist"]
+}
diff --git a/packages/ui/turbo/generators/config.ts b/packages/ui/turbo/generators/config.ts
new file mode 100644
index 00000000..40100baa
--- /dev/null
+++ b/packages/ui/turbo/generators/config.ts
@@ -0,0 +1,30 @@
+import type { PlopTypes } from "@turbo/gen";
+
+// Learn more about Turborepo Generators at https://turbo.build/repo/docs/core-concepts/monorepos/code-generation
+
+export default function generator(plop: PlopTypes.NodePlopAPI): void {
+ // A simple generator to add a new React component to the internal UI library
+ plop.setGenerator("react-component", {
+ description: "Adds a new react component",
+ prompts: [
+ {
+ type: "input",
+ name: "name",
+ message: "What is the name of the component?",
+ },
+ ],
+ actions: [
+ {
+ type: "add",
+ path: "src/{{kebabCase name}}.tsx",
+ templateFile: "templates/component.hbs",
+ },
+ {
+ type: "append",
+ path: "package.json",
+ pattern: /"exports": {(?)/g,
+ template: ' "./{{kebabCase name}}": "./src/{{kebabCase name}}.tsx",',
+ },
+ ],
+ });
+}
diff --git a/packages/ui/turbo/generators/templates/component.hbs b/packages/ui/turbo/generators/templates/component.hbs
new file mode 100644
index 00000000..d968b9e3
--- /dev/null
+++ b/packages/ui/turbo/generators/templates/component.hbs
@@ -0,0 +1,8 @@
+export const {{ pascalCase name }} = ({ children }: { children: React.ReactNode }) => {
+ return (
+
+
{{ pascalCase name }} Component
+ {children}
+
+ );
+};
diff --git a/relay.Dockerfile b/relay.Dockerfile
deleted file mode 100644
index af8ff2c4..00000000
--- a/relay.Dockerfile
+++ /dev/null
@@ -1,23 +0,0 @@
-#Git clone kixelated's moq-rs then build the moq-relay and push it to the final image
-#Copied from https://github.com/kixelated/moq-rs/blob/main/Dockerfile
-FROM rust:bookworm as builder
-
-WORKDIR /build
-
-RUN apt-get install -y git
-
-RUN git clone https://github.com/kixelated/moq-rs .
-
-RUN --mount=type=cache,target=/usr/local/cargo/registry \
- --mount=type=cache,target=/build/target \
- cargo build --release && cp /build/target/release/moq-* /usr/local/cargo/bin
-
-FROM debian:bookworm-slim
-
-RUN apt-get update && \
- apt-get install -y --no-install-recommends ca-certificates curl libssl3 && \
- rm -rf /var/lib/apt/lists/*
-
-COPY --from=builder /usr/local/cargo/bin/moq-relay /usr/local/bin
-
-CMD ["moq-relay"]
\ No newline at end of file
diff --git a/server.Dockerfile b/server.Dockerfile
deleted file mode 100644
index c5cf10d2..00000000
--- a/server.Dockerfile
+++ /dev/null
@@ -1,88 +0,0 @@
-#This contains all the necessary libs for the server to work.
-#NOTE: KEEP THIS IMAGE AS LEAN AS POSSIBLE.
-FROM ghcr.io/nestriness/nestri/base:nightly
-
-ENV TZ=UTC \
- SIZEW=1920 \
- SIZEH=1080 \
- REFRESH=60 \
- DPI=96 \
- CDEPTH=24 \
- VIDEO_PORT=DFP
-
-#Install Mangohud, openbox and gamescope
-RUN apt-get update -y \
- && add-apt-repository -y multiverse \
- && apt-get install -y --no-install-recommends \
- libxnvctrl0 \
- libxdo-dev \
- libevdev2 \
- mangohud \
- gamescope \
- openbox \
- lshw \
- && setcap cap_sys_nice+ep /usr/games/gamescope \
- && rm -rf /var/lib/apt/lists/*
-
-#Install wine
-# ARG WINE_BRANCH=staging
-# RUN mkdir -pm755 /etc/apt/keyrings && curl -fsSL -o /etc/apt/keyrings/winehq-archive.key "https://dl.winehq.org/wine-builds/winehq.key" \
-# && curl -fsSL -o "/etc/apt/sources.list.d/winehq-$(grep UBUNTU_CODENAME= /etc/os-release | cut -d= -f2 | tr -d '\"').sources" "https://dl.winehq.org/wine-builds/ubuntu/dists/$(grep UBUNTU_CODENAME= /etc/os-release | cut -d= -f2 | tr -d '\"')/winehq-$(grep UBUNTU_CODENAME= /etc/os-release | cut -d= -f2 | tr -d '\"').sources" \
-# && apt-get update && apt-get install --install-recommends -y winehq-${WINE_BRANCH} \
-# && curl -fsSL -o /usr/bin/winetricks "https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks" \
-# && chmod 755 /usr/bin/winetricks \
-# && curl -fsSL -o /usr/share/bash-completion/completions/winetricks "https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks.bash-completion"
-
-#Install Proton
-COPY .scripts/proton /usr/bin/nestri-proton
-RUN chmod 755 /usr/bin/nestri-proton
-
-ARG USERNAME=nestri \
- PUID=1000 \
- PGID=1000 \
- UMASK=000 \
- HOME="/home/nestri"
-
-ENV XDG_RUNTIME_DIR=/tmp/runtime-1000
-
-# Create user and assign adequate groups
-RUN apt-get update && apt-get install --no-install-recommends -y \
- sudo \
- tzdata \
- && rm -rf /var/lib/apt/lists/* \
- # Delete default user
- && if id -u "${PUID}" &>/dev/null; then \
- oldname=$(id -nu "${PUID}"); \
- if [ -z "${oldname}" ]; then \
- echo "User with UID ${PUID} exists but username could not be determined."; \
- exit 1; \
- else \
- userdel -r "${oldname}"; \
- fi \
- fi \
- # Now create ours
- && groupadd -f -g "${PGID}" ${USERNAME} \
- && useradd -m -d ${HOME} -u "${PUID}" -g "${PGID}" -s /bin/bash ${USERNAME} \
- && umask "${UMASK}" \
- && chown "${PUID}:${PGID}" "${HOME}" \
- && usermod -a -G adm,audio,cdrom,dialout,dip,fax,floppy,input,lp,lpadmin,plugdev,pulse-access,render,ssl-cert,sudo,tape,tty,video,voice $USERNAME \
- && echo "${USERNAME} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers \
- && ln -snf "/usr/share/zoneinfo/$TZ" /etc/localtime && echo "$TZ" > /etc/timezone
-
-COPY --from=ghcr.io/nestriness/nestri/warp:nightly /usr/bin/warp /usr/bin/
-COPY --from=ghcr.io/nestriness/nestri/warp-input:nightly /usr/bin/warp-input /usr/bin/warp-input
-RUN chmod +x /usr/bin/warp /usr/bin/warp-input
-COPY .scripts /etc/
-RUN chmod 755 /etc/supervisord.conf /etc/entrypoint.sh /etc/startup.sh
-
-USER 1000
-ENV SHELL=/bin/bash \
- USER=${USERNAME}
-#For mounting the game into the container
-VOLUME [ "/game" ]
-#For warp-input server
-EXPOSE 8080/udp
-
-WORKDIR /home/${USERNAME}
-
-ENTRYPOINT ["/usr/bin/supervisord"]
diff --git a/turbo.json b/turbo.json
new file mode 100644
index 00000000..17beb8fd
--- /dev/null
+++ b/turbo.json
@@ -0,0 +1,42 @@
+{
+ "$schema": "https://turbo.build/schema.json",
+ "globalDependencies": ["**/.env.*local"],
+ "ui": "tui",
+ "tasks": {
+ "build": {
+ "dependsOn": [
+ "^build"
+ ],
+ "inputs": [
+ "$TURBO_DEFAULT$",
+ ".env*"
+ ],
+ "outputs": [
+ ".next/**",
+ "!.next/cache/**",
+ "dist/**"
+ ]
+ },
+ "www#build": {
+ "dependsOn": [
+ "^build"
+ ],
+ "outputs": [
+ "dist/**"
+ ]
+ },
+ "lint": {
+ "dependsOn": [
+ "^lint",
+ "^build"
+ ]
+ },
+ "dev": {
+ "cache": false,
+ "persistent": true
+ },
+ "clean": {
+ "cache": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/warp-input.Dockerfile b/warp-input.Dockerfile
deleted file mode 100644
index 64c80274..00000000
--- a/warp-input.Dockerfile
+++ /dev/null
@@ -1,14 +0,0 @@
-FROM rust:bookworm as builder
-
-# Create a build directory and copy over all of the files
-WORKDIR /build
-COPY ./bin/input/ ./
-RUN apt-get update && apt-get install -y libxdo-dev
-# Reuse a cache between builds.
-# I tried to `cargo install`, but it doesn't seem to work with workspaces.
-# There's also issues with the cache mount since it builds into /usr/local/cargo/bin
-# We can't mount that without clobbering cargo itself.
-# We instead we build the binaries and copy them to the cargo bin directory.
-RUN --mount=type=cache,target=/usr/local/cargo/registry \
- --mount=type=cache,target=/build/target \
- cargo build --target x86_64-unknown-linux-gnu --release && cp target/x86_64-unknown-linux-gnu/release/warp-input /usr/bin/warp-input
\ No newline at end of file
diff --git a/warp.Dockerfile b/warp.Dockerfile
deleted file mode 100644
index aeed275b..00000000
--- a/warp.Dockerfile
+++ /dev/null
@@ -1,13 +0,0 @@
-FROM rust:bookworm as builder
-
-# Create a build directory and copy over all of the files
-WORKDIR /build
-COPY ./moq-server/ ./
-# Reuse a cache between builds.
-# I tried to `cargo install`, but it doesn't seem to work with workspaces.
-# There's also issues with the cache mount since it builds into /usr/local/cargo/bin
-# We can't mount that without clobbering cargo itself.
-# We instead we build the binaries and copy them to the cargo bin directory.
-RUN --mount=type=cache,target=/usr/local/cargo/registry \
- --mount=type=cache,target=/build/target \
- cargo build --manifest-path ./moq-pub/Cargo.toml --target x86_64-unknown-linux-gnu --release && cp target/x86_64-unknown-linux-gnu/release/moq-pub /usr/bin/warp