diff --git a/.github/workflows/backend-tests.yml b/.github/workflows/backend-tests.yml index 3bf7569ac..b691a8233 100644 --- a/.github/workflows/backend-tests.yml +++ b/.github/workflows/backend-tests.yml @@ -31,8 +31,8 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v5 - - uses: actions/cache@v4 + uses: actions/checkout@v6 + - uses: actions/cache@v5 name: Setup gnpm cache if: always() with: @@ -50,7 +50,7 @@ jobs: version: 0.0.12 - name: Install libreoffice - uses: awalsh128/cache-apt-pkgs-action@v1.5.3 + uses: awalsh128/cache-apt-pkgs-action@v1.6.0 with: packages: libreoffice libreoffice-pdfimport version: 1.0 @@ -87,8 +87,8 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v5 - - uses: actions/cache@v4 + uses: actions/checkout@v6 + - uses: actions/cache@v5 name: Setup pnpm cache if: always() with: @@ -106,7 +106,7 @@ jobs: version: 0.0.12 - name: Install libreoffice - uses: awalsh128/cache-apt-pkgs-action@v1.5.3 + uses: awalsh128/cache-apt-pkgs-action@v1.6.0 with: packages: libreoffice libreoffice-pdfimport version: 1.0 @@ -156,8 +156,8 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v5 - - uses: actions/cache@v4 + uses: actions/checkout@v6 + - uses: actions/cache@v5 name: Setup pnpm cache if: always() with: @@ -209,8 +209,8 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v5 - - uses: actions/cache@v4 + uses: actions/checkout@v6 + - uses: actions/cache@v5 name: Setup pnpm cache if: always() with: diff --git a/.github/workflows/build-and-deploy-docs.yml b/.github/workflows/build-and-deploy-docs.yml index 8ff8435ae..b0b87697a 100644 --- a/.github/workflows/build-and-deploy-docs.yml +++ b/.github/workflows/build-and-deploy-docs.yml @@ -32,8 +32,8 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v5 - - uses: actions/cache@v4 + uses: actions/checkout@v6 + - uses: actions/cache@v5 name: Setup gnpm cache if: always() with: diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 16ae79d13..c6c10937b 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -25,7 +25,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v5 + uses: actions/checkout@v6 with: # We must fetch at least the immediate parents so that if this is # a pull request then we can checkout the head. diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml index 662f3bbaa..774c7434a 100644 --- a/.github/workflows/dependency-review.yml +++ b/.github/workflows/dependency-review.yml @@ -15,6 +15,6 @@ jobs: runs-on: ubuntu-latest steps: - name: 'Checkout Repository' - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: 'Dependency Review' uses: actions/dependency-review-action@v4 diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 743a9aa42..9cc63ebb3 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -23,7 +23,7 @@ jobs: steps: - name: Check out - uses: actions/checkout@v5 + uses: actions/checkout@v6 with: path: etherpad @@ -44,7 +44,7 @@ jobs: tags: ${{ env.TEST_TAG }} cache-from: type=gha cache-to: type=gha,mode=max - - uses: actions/cache@v4 + - uses: actions/cache@v5 name: Setup gnpm cache if: always() with: @@ -120,7 +120,7 @@ jobs: enable-url-completion: true - name: Check out if: github.event_name == 'push' && github.ref == 'refs/heads/develop' - uses: actions/checkout@v5 + uses: actions/checkout@v6 with: path: ether-charts repository: ether/ether-charts diff --git a/.github/workflows/frontend-admin-tests.yml b/.github/workflows/frontend-admin-tests.yml index e65c8600c..7c980bab3 100644 --- a/.github/workflows/frontend-admin-tests.yml +++ b/.github/workflows/frontend-admin-tests.yml @@ -30,8 +30,8 @@ jobs: printf %s\\n '::set-output name=tunnel_id::${{ github.run_id }}-${{ github.run_number }}-${{ github.job }}-node${{ matrix.node }}' - name: Checkout repository - uses: actions/checkout@v5 - - uses: actions/cache@v4 + uses: actions/checkout@v6 + - uses: actions/cache@v5 name: Setup gnpm cache if: always() with: @@ -48,7 +48,7 @@ jobs: with: version: 0.0.12 - name: Cache playwright binaries - uses: actions/cache@v4 + uses: actions/cache@v5 id: playwright-cache with: path: | @@ -141,7 +141,7 @@ jobs: gnpm exec playwright install --runtimeVersion="${{ matrix.node }}" gnpm exec playwright install-deps --runtimeVersion="${{ matrix.node }}" gnpm run test-admin --runtimeVersion="${{ matrix.node }}" - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v6 if: always() with: name: playwright-report-${{ matrix.node }} diff --git a/.github/workflows/frontend-tests.yml b/.github/workflows/frontend-tests.yml index eec808de8..0b95070f4 100644 --- a/.github/workflows/frontend-tests.yml +++ b/.github/workflows/frontend-tests.yml @@ -24,8 +24,8 @@ jobs: printf %s\\n '::set-output name=tunnel_id::${{ github.run_id }}-${{ github.run_number }}-${{ github.job }}' - name: Checkout repository - uses: actions/checkout@v5 - - uses: actions/cache@v4 + uses: actions/checkout@v6 + - uses: actions/cache@v5 name: Setup gnpm cache if: always() with: @@ -69,7 +69,7 @@ jobs: cd src gnpm exec playwright install chromium --with-deps gnpm run test-ui --project=chromium - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v6 if: always() with: name: playwright-report-${{ matrix.node }}-chrome @@ -87,8 +87,8 @@ jobs: printf %s\\n '::set-output name=name::${{ github.workflow }} - ${{ github.job }}' printf %s\\n '::set-output name=tunnel_id::${{ github.run_id }}-${{ github.run_number }}-${{ github.job }}' - name: Checkout repository - uses: actions/checkout@v5 - - uses: actions/cache@v4 + uses: actions/checkout@v6 + - uses: actions/cache@v5 name: Setup gnpm cache if: always() with: @@ -129,7 +129,7 @@ jobs: cd src gnpm exec playwright install firefox --with-deps gnpm run test-ui --project=firefox - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v6 if: always() with: name: playwright-report-${{ matrix.node }}-firefox @@ -149,8 +149,8 @@ jobs: printf %s\\n '::set-output name=tunnel_id::${{ github.run_id }}-${{ github.run_number }}-${{ github.job }}' - name: Checkout repository - uses: actions/checkout@v5 - - uses: actions/cache@v4 + uses: actions/checkout@v6 + - uses: actions/cache@v5 name: Setup gnpm cache if: always() with: @@ -193,7 +193,7 @@ jobs: cd src gnpm exec playwright install webkit --with-deps gnpm run test-ui --project=webkit || true - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v6 if: always() with: name: playwright-report-${{ matrix.node }}-webkit diff --git a/.github/workflows/handleRelease.yml b/.github/workflows/handleRelease.yml index 5cfc7c50a..cbcd4e6f1 100644 --- a/.github/workflows/handleRelease.yml +++ b/.github/workflows/handleRelease.yml @@ -1,10 +1,12 @@ name: "Handle release" -# any branch is useful for testing before a PR is submitted + on: - workflow_run: - workflows: - - "Docker" + push: + tags: + - 'v*.*.*' + # allow manual triggering of the workflow + workflow_dispatch: permissions: contents: read @@ -25,8 +27,8 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v5 - - uses: actions/cache@v4 + uses: actions/checkout@v6 + - uses: actions/cache@v5 name: Setup gnpm cache if: always() with: @@ -49,7 +51,6 @@ jobs: run: gnpm run build:etherpad # On release, create release - name: Generate Changelog - if: ${{startsWith(github.ref, 'refs/tags/v') }} working-directory: bin run: gnpm run generateChangelog ${{ github.ref }} > ${{ github.workspace }}-CHANGELOG.txt - name: Release diff --git a/.github/workflows/load-test.yml b/.github/workflows/load-test.yml index 67101f3e1..12bacdcf8 100644 --- a/.github/workflows/load-test.yml +++ b/.github/workflows/load-test.yml @@ -28,8 +28,8 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v5 - - uses: actions/cache@v4 + uses: actions/checkout@v6 + - uses: actions/cache@v5 name: Setup gnpm cache if: always() with: @@ -71,8 +71,8 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v5 - - uses: actions/cache@v4 + uses: actions/checkout@v6 + - uses: actions/cache@v5 name: Setup gnpm cache if: always() with: @@ -139,8 +139,8 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v5 - - uses: actions/cache@v4 + uses: actions/checkout@v6 + - uses: actions/cache@v5 name: Setup gnpm cache if: always() with: diff --git a/.github/workflows/perform-type-check.yml b/.github/workflows/perform-type-check.yml index 368e0eda6..a2105615e 100644 --- a/.github/workflows/perform-type-check.yml +++ b/.github/workflows/perform-type-check.yml @@ -24,8 +24,8 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@v5 - - uses: actions/cache@v4 + uses: actions/checkout@v6 + - uses: actions/cache@v5 name: Setup gnpm cache if: always() with: diff --git a/.github/workflows/rate-limit.yml b/.github/workflows/rate-limit.yml index 31f232ec7..0a0699c6f 100644 --- a/.github/workflows/rate-limit.yml +++ b/.github/workflows/rate-limit.yml @@ -27,8 +27,8 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v5 - - uses: actions/cache@v4 + uses: actions/checkout@v6 + - uses: actions/cache@v5 name: Setup gnpm cache if: always() with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8b011aafc..5411e5108 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,7 +22,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@v5 + uses: actions/checkout@v6 with: repository: ether/etherpad-lite path: etherpad @@ -42,12 +42,12 @@ jobs: git checkout develop git reset --hard origin/develop - name: Checkout repository - uses: actions/checkout@v5 + uses: actions/checkout@v6 with: repository: ether/ether.github.com path: ether.github.com token: '${{ secrets.ETHER_RELEASE_TOKEN }}' - - uses: actions/cache@v4 + - uses: actions/cache@v5 name: Setup gnpm cache if: always() with: diff --git a/.github/workflows/releaseEtherpad.yml b/.github/workflows/releaseEtherpad.yml index 88857a287..bfe1b2556 100644 --- a/.github/workflows/releaseEtherpad.yml +++ b/.github/workflows/releaseEtherpad.yml @@ -12,12 +12,12 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Get pnpm store directory shell: bash run: | echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV - - uses: actions/cache@v4 + - uses: actions/cache@v5 name: Setup pnpm cache if: always() with: diff --git a/.github/workflows/upgrade-from-latest-release.yml b/.github/workflows/upgrade-from-latest-release.yml index 046bd8665..eb480c256 100644 --- a/.github/workflows/upgrade-from-latest-release.yml +++ b/.github/workflows/upgrade-from-latest-release.yml @@ -31,10 +31,10 @@ jobs: steps: - name: Check out latest release - uses: actions/checkout@v5 + uses: actions/checkout@v6 with: ref: develop #FIXME change to master when doing release - - uses: actions/cache@v4 + - uses: actions/cache@v5 name: Setup gnpm cache if: always() with: @@ -52,13 +52,13 @@ jobs: with: version: 0.0.12 - name: Install libreoffice - uses: awalsh128/cache-apt-pkgs-action@v1.5.3 + uses: awalsh128/cache-apt-pkgs-action@v1.6.0 with: packages: libreoffice libreoffice-pdfimport version: 1.0 - name: Install libreoffice - uses: awalsh128/cache-apt-pkgs-action@v1.5.3 + uses: awalsh128/cache-apt-pkgs-action@v1.6.0 with: packages: libreoffice libreoffice-pdfimport version: 1.0 @@ -90,7 +90,7 @@ jobs: - name: Install all dependencies and symlink for ep_etherpad-lite run: gnpm install --frozen-lockfile --runtimeVersion="${{ matrix.node }}" - # Because actions/checkout@v5 is called with "ref: master" and without + # Because actions/checkout@v6 is called with "ref: master" and without # "fetch-depth: 0", the local clone does not have the ${GITHUB_SHA} # commit. Fetch ${GITHUB_REF} to get the ${GITHUB_SHA} commit. Note that a # plain "git fetch" only fetches "normal" references (refs/heads/* and diff --git a/CHANGELOG.md b/CHANGELOG.md index 1fa10da7a..29db41760 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,25 @@ +# 2.6.0 + +### Notable enhancements and fixes + +- Added native option to transfer your Etherpad session between browsers. If you use multiple browsers or different PC for Etherpad they are different sessions. Meaning typing on one PC and then switching to another one in the same pad will result in different authorship colors. With this new feature you can now transfer your session to another browser or PC. To do so, open the home page and click on the wheel icon in the top right corner. After that click through the first dialog prompting you to copy a code to your clipboard. On your second browser open the same dialog and switch to "Receive Session" tab. There you can paste the code you copied before and click on "Receive Session". After that your session is transferred, and you can continue editing with the same authorship color as before. Just be aware that you can't have two active sessions at once in a pad. +- Updated to oidc provider v2.6.0 after resolving compatibility issues. + +🎉 For all the people celebrating: Have a happy and awesome new year! 🎉 There is something big on the horizon for Etherpad in 2026. Stay tuned! + +# 2.5.3 + +### Notable enhancements and fixes +- Fixed an issue with the release script that caused the release to not be created correctly. + +# 2.5.2 + +### Notable enhancements and fixes + +- Fixes the no skin theme having an overlapping +- Adds a new setting to disable recent pads to be shown. By setting `showRecentPads` to false in the `settings.json` file you can disable the recent pads feature on the home screen. +- Sets the oidc-provider version to 9.5.1 as 9.5.2 crashes Etherpad on startup. + # 2.5.1 ### Notable enhancements and fixes diff --git a/admin/package.json b/admin/package.json index da579b704..947aa843a 100644 --- a/admin/package.json +++ b/admin/package.json @@ -1,7 +1,7 @@ { "name": "admin", "private": true, - "version": "2.5.1", + "version": "2.6.0", "type": "module", "scripts": { "dev": "vite", @@ -16,31 +16,31 @@ "devDependencies": { "@radix-ui/react-dialog": "^1.1.15", "@radix-ui/react-toast": "^1.2.15", - "@types/react": "^19.2.2", - "@types/react-dom": "^19.2.1", - "@typescript-eslint/eslint-plugin": "^8.46.0", - "@typescript-eslint/parser": "^8.46.0", - "@vitejs/plugin-react": "^5.0.4", + "@types/react": "^19.2.8", + "@types/react-dom": "^19.2.3", + "@typescript-eslint/eslint-plugin": "^8.53.1", + "@typescript-eslint/parser": "^8.53.1", + "@vitejs/plugin-react": "^5.1.2", "babel-plugin-react-compiler": "19.1.0-rc.3", - "eslint": "^9.37.0", - "eslint-plugin-react-hooks": "^6.1.1", - "eslint-plugin-react-refresh": "^0.4.23", - "i18next": "^25.5.3", + "eslint": "^9.39.2", + "eslint-plugin-react-hooks": "^7.0.1", + "eslint-plugin-react-refresh": "^0.4.26", + "i18next": "^25.7.4", "i18next-browser-languagedetector": "^8.2.0", - "lucide-react": "^0.545.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", - "react-hook-form": "^7.64.0", - "react-i18next": "^16.0.0", - "react-router-dom": "^7.9.0", - "socket.io-client": "^4.8.1", + "lucide-react": "^0.562.0", + "react": "^19.2.3", + "react-dom": "^19.2.3", + "react-hook-form": "^7.71.1", + "react-i18next": "^16.5.3", + "react-router-dom": "^7.12.0", + "socket.io-client": "^4.8.3", "typescript": "^5.9.3", - "vite": "npm:rolldown-vite@latest", - "vite-plugin-babel": "^1.3.2", - "vite-plugin-static-copy": "^3.1.3", - "zustand": "^5.0.8" + "vite": "npm:rolldown-vite@7.2.10", + "vite-plugin-babel": "^1.4.1", + "vite-plugin-static-copy": "^3.1.5", + "zustand": "^5.0.10" }, "overrides": { - "vite": "npm:rolldown-vite@latest" + "vite": "npm:rolldown-vite@7.2.10" } } diff --git a/admin/src/pages/SettingsPage.tsx b/admin/src/pages/SettingsPage.tsx index f781f67e1..d17869573 100644 --- a/admin/src/pages/SettingsPage.tsx +++ b/admin/src/pages/SettingsPage.tsx @@ -21,7 +21,7 @@ export const SettingsPage = ()=>{ settingsSocket!.emit('saveSettings', settings!); useStore.getState().setToastState({ open: true, - title: "Succesfully saved settings", + title: "Successfully saved settings", success: true }) } else { diff --git a/bin/generateReleaseNotes.ts b/bin/generateReleaseNotes.ts index 0e4604b7c..b3203c8af 100644 --- a/bin/generateReleaseNotes.ts +++ b/bin/generateReleaseNotes.ts @@ -1,6 +1,6 @@ import {readFileSync} from "node:fs"; -const changelog = readFileSync('../changelog.md') +const changelog = readFileSync('../CHANGELOG.md') const changelogText = changelog.toString() const changelogLines = changelogText.split('\n') diff --git a/bin/package.json b/bin/package.json index f354148a9..a395e0141 100644 --- a/bin/package.json +++ b/bin/package.json @@ -1,21 +1,21 @@ { "name": "bin", - "version": "2.5.1", + "version": "2.6.0", "description": "", "main": "checkAllPads.js", "directories": { "doc": "doc" }, "dependencies": { - "axios": "^1.12.1", + "axios": "^1.13.2", "ep_etherpad-lite": "workspace:../src", "log4js": "^6.9.1", "semver": "^7.7.3", - "tsx": "^4.20.6", - "ueberdb2": "^5.0.22" + "tsx": "^4.21.0", + "ueberdb2": "^5.0.23" }, "devDependencies": { - "@types/node": "^24.7.0", + "@types/node": "^25.0.9", "@types/semver": "^7.7.1", "typescript": "^5.9.3" }, diff --git a/doc/package.json b/doc/package.json index 3a4108f46..20da88ee6 100644 --- a/doc/package.json +++ b/doc/package.json @@ -1,6 +1,6 @@ { "devDependencies": { - "vitepress": "^2.0.0-alpha.12" + "vitepress": "^2.0.0-alpha.15" }, "scripts": { "docs:dev": "vitepress dev", @@ -11,6 +11,6 @@ "search-insights": "^2.17.3" }, "overrides": { - "vite": "npm:rolldown-vite@latest" + "vite": "npm:rolldown-vite@7.2.10" } } diff --git a/docker-compose.yml b/docker-compose.yml index f0620918c..e009c99f8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,6 @@ services: app: - user: "0:0" + user: "5001:0" image: etherpad/etherpad:latest tty: true stdin_open: true diff --git a/package.json b/package.json index 5f070f488..cdd537738 100644 --- a/package.json +++ b/package.json @@ -34,12 +34,12 @@ "makeDocs": "pnpm --filter bin run makeDocs" }, "dependencies": { - "ep_etherpad-lite": "workspace:./src" + "ep_etherpad-lite": "link:src" }, "devDependencies": { - "admin": "workspace:./admin", - "docs": "workspace:./doc", - "ui": "workspace:./ui" + "admin": "link:admin", + "docs": "link:doc", + "ui": "link:ui" }, "engines": { "node": ">=20.0.0" @@ -48,8 +48,7 @@ "type": "git", "url": "https://github.com/ether/etherpad-lite.git" }, - "packageManager": "pnpm@10.18.0", "engineStrict": true, - "version": "2.5.1", + "version": "2.6.0", "license": "Apache-2.0" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index efc76dbe5..8e17cd5aa 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,106 +9,106 @@ importers: .: dependencies: ep_etherpad-lite: - specifier: workspace:./src + specifier: link:src version: link:src devDependencies: admin: - specifier: workspace:./admin + specifier: link:admin version: link:admin docs: - specifier: workspace:./doc + specifier: link:doc version: link:doc ui: - specifier: workspace:./ui + specifier: link:ui version: link:ui admin: dependencies: '@radix-ui/react-switch': specifier: ^1.2.6 - version: 1.2.6(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 1.2.6(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) devDependencies: '@radix-ui/react-dialog': specifier: ^1.1.15 - version: 1.1.15(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-toast': specifier: ^1.2.15 - version: 1.2.15(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 1.2.15(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@types/react': - specifier: ^19.2.2 - version: 19.2.2 + specifier: ^19.2.8 + version: 19.2.8 '@types/react-dom': - specifier: ^19.2.1 - version: 19.2.1(@types/react@19.2.2) + specifier: ^19.2.3 + version: 19.2.3(@types/react@19.2.8) '@typescript-eslint/eslint-plugin': - specifier: ^8.46.0 - version: 8.46.0(@typescript-eslint/parser@8.46.0(eslint@9.37.0)(typescript@5.9.3))(eslint@9.37.0)(typescript@5.9.3) + specifier: ^8.53.1 + version: 8.53.1(@typescript-eslint/parser@8.53.1(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(typescript@5.9.3) '@typescript-eslint/parser': - specifier: ^8.46.0 - version: 8.46.0(eslint@9.37.0)(typescript@5.9.3) + specifier: ^8.53.1 + version: 8.53.1(eslint@9.39.2)(typescript@5.9.3) '@vitejs/plugin-react': - specifier: ^5.0.4 - version: 5.0.4(rolldown-vite@7.1.16(@types/node@24.7.0)(esbuild@0.25.10)(tsx@4.20.6)) + specifier: ^5.1.2 + version: 5.1.2(rolldown-vite@7.2.10(@types/node@25.0.9)(esbuild@0.25.12)(tsx@4.21.0)) babel-plugin-react-compiler: specifier: 19.1.0-rc.3 version: 19.1.0-rc.3 eslint: - specifier: ^9.37.0 - version: 9.37.0 + specifier: ^9.39.2 + version: 9.39.2 eslint-plugin-react-hooks: - specifier: ^6.1.1 - version: 6.1.1(eslint@9.37.0) + specifier: ^7.0.1 + version: 7.0.1(eslint@9.39.2) eslint-plugin-react-refresh: - specifier: ^0.4.23 - version: 0.4.23(eslint@9.37.0) + specifier: ^0.4.26 + version: 0.4.26(eslint@9.39.2) i18next: - specifier: ^25.5.3 - version: 25.5.3(typescript@5.9.3) + specifier: ^25.7.4 + version: 25.7.4(typescript@5.9.3) i18next-browser-languagedetector: specifier: ^8.2.0 version: 8.2.0 lucide-react: - specifier: ^0.545.0 - version: 0.545.0(react@19.2.0) + specifier: ^0.562.0 + version: 0.562.0(react@19.2.3) react: - specifier: ^19.2.0 - version: 19.2.0 + specifier: ^19.2.3 + version: 19.2.3 react-dom: - specifier: ^19.2.0 - version: 19.2.0(react@19.2.0) + specifier: ^19.2.3 + version: 19.2.3(react@19.2.3) react-hook-form: - specifier: ^7.64.0 - version: 7.64.0(react@19.2.0) + specifier: ^7.71.1 + version: 7.71.1(react@19.2.3) react-i18next: - specifier: ^16.0.0 - version: 16.0.0(i18next@25.5.3(typescript@5.9.3))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3) + specifier: ^16.5.3 + version: 16.5.3(i18next@25.7.4(typescript@5.9.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) react-router-dom: - specifier: ^7.9.0 - version: 7.9.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + specifier: ^7.12.0 + version: 7.12.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) socket.io-client: - specifier: ^4.8.1 - version: 4.8.1 + specifier: ^4.8.3 + version: 4.8.3 typescript: specifier: ^5.9.3 version: 5.9.3 vite: - specifier: npm:rolldown-vite@latest - version: rolldown-vite@7.1.16(@types/node@24.7.0)(esbuild@0.25.10)(tsx@4.20.6) + specifier: npm:rolldown-vite@7.2.10 + version: rolldown-vite@7.2.10(@types/node@25.0.9)(esbuild@0.25.12)(tsx@4.21.0) vite-plugin-babel: - specifier: ^1.3.2 - version: 1.3.2(@babel/core@7.28.4)(rolldown-vite@7.1.16(@types/node@24.7.0)(esbuild@0.25.10)(tsx@4.20.6)) + specifier: ^1.4.1 + version: 1.4.1(@babel/core@7.28.5)(rolldown-vite@7.2.10(@types/node@25.0.9)(esbuild@0.25.12)(tsx@4.21.0)) vite-plugin-static-copy: - specifier: ^3.1.3 - version: 3.1.3(rolldown-vite@7.1.16(@types/node@24.7.0)(esbuild@0.25.10)(tsx@4.20.6)) + specifier: ^3.1.5 + version: 3.1.5(rolldown-vite@7.2.10(@types/node@25.0.9)(esbuild@0.25.12)(tsx@4.21.0)) zustand: - specifier: ^5.0.8 - version: 5.0.8(@types/react@19.2.2)(react@19.2.0) + specifier: ^5.0.10 + version: 5.0.10(@types/react@19.2.8)(react@19.2.3)(use-sync-external-store@1.6.0(react@19.2.3)) bin: dependencies: axios: - specifier: ^1.12.1 - version: 1.12.2 + specifier: ^1.13.2 + version: 1.13.2 ep_etherpad-lite: specifier: workspace:../src version: link:../src @@ -119,15 +119,15 @@ importers: specifier: ^7.7.3 version: 7.7.3 tsx: - specifier: ^4.20.6 - version: 4.20.6 + specifier: ^4.21.0 + version: 4.21.0 ueberdb2: - specifier: ^5.0.22 - version: 5.0.22 + specifier: ^5.0.23 + version: 5.0.23 devDependencies: '@types/node': - specifier: ^24.7.0 - version: 24.7.0 + specifier: ^25.0.9 + version: 25.0.9 '@types/semver': specifier: ^7.7.1 version: 7.7.1 @@ -138,8 +138,8 @@ importers: doc: devDependencies: vitepress: - specifier: ^2.0.0-alpha.12 - version: 2.0.0-alpha.12(@types/node@24.7.0)(axios@1.12.2)(jwt-decode@4.0.0)(lightningcss@1.30.2)(postcss@8.5.6)(tsx@4.20.6)(typescript@5.9.3) + specifier: ^2.0.0-alpha.15 + version: 2.0.0-alpha.15(@types/node@25.0.9)(axios@1.13.2)(jwt-decode@4.0.0)(lightningcss@1.30.2)(postcss@8.5.6)(tsx@4.21.0)(typescript@5.9.3) src: dependencies: @@ -147,8 +147,8 @@ importers: specifier: ^3.2.6 version: 3.2.6 axios: - specifier: ^1.12.1 - version: 1.12.2 + specifier: ^1.13.2 + version: 1.13.2 cookie-parser: specifier: ^1.4.7 version: 1.4.7 @@ -162,14 +162,14 @@ importers: specifier: ^3.1.10 version: 3.1.10 esbuild: - specifier: ^0.25.10 - version: 0.25.10 + specifier: ^0.27.2 + version: 0.27.2 express: - specifier: ^5.1.0 - version: 5.1.0 + specifier: ^5.2.1 + version: 5.2.1 express-rate-limit: - specifier: ^8.1.0 - version: 8.1.0(express@5.1.0) + specifier: ^8.2.1 + version: 8.2.1(express@5.2.1) express-session: specifier: ^1.18.2 version: 1.18.2 @@ -180,23 +180,23 @@ importers: specifier: ^3.5.4 version: 3.5.4 http-errors: - specifier: ^2.0.0 - version: 2.0.0 + specifier: ^2.0.1 + version: 2.0.1 jose: - specifier: ^6.1.0 - version: 6.1.0 + specifier: ^6.1.3 + version: 6.1.3 js-cookie: specifier: ^3.0.5 version: 3.0.5 jsdom: - specifier: ^27.0.0 - version: 27.0.0(postcss@8.5.6) + specifier: ^27.4.0 + version: 27.4.0 jsonminify: specifier: 0.4.2 version: 0.4.2 jsonwebtoken: - specifier: ^9.0.2 - version: 9.0.2 + specifier: ^9.0.3 + version: 9.0.3 jwt-decode: specifier: ^4.0.0 version: 4.0.0 @@ -213,17 +213,17 @@ importers: specifier: ^6.9.1 version: 6.9.1 lru-cache: - specifier: ^11.2.2 - version: 11.2.2 + specifier: ^11.2.4 + version: 11.2.4 measured-core: specifier: ^2.0.0 version: 2.0.0 mime-types: - specifier: ^3.0.1 - version: 3.0.1 + specifier: ^3.0.2 + version: 3.0.2 oidc-provider: - specifier: ^9.5.1 - version: 9.5.1 + specifier: 9.6.0 + version: 9.6.0 openapi-backend: specifier: ^5.15.0 version: 5.15.0 @@ -234,8 +234,8 @@ importers: specifier: ^2.0.7 version: 2.0.7 rate-limiter-flexible: - specifier: ^8.0.1 - version: 8.0.1 + specifier: ^9.0.1 + version: 9.0.1 rehype: specifier: ^13.0.2 version: 13.0.2 @@ -243,8 +243,8 @@ importers: specifier: ^6.0.2 version: 6.0.2 resolve: - specifier: 1.22.10 - version: 1.22.10 + specifier: 1.22.11 + version: 1.22.11 rusty-store-kv: specifier: ^1.3.1 version: 1.3.1 @@ -255,26 +255,26 @@ importers: specifier: ^7.7.3 version: 7.7.3 socket.io: - specifier: ^4.8.1 - version: 4.8.1 + specifier: ^4.8.3 + version: 4.8.3 socket.io-client: - specifier: ^4.8.1 - version: 4.8.1 + specifier: ^4.8.3 + version: 4.8.3 superagent: - specifier: 10.2.3 - version: 10.2.3 + specifier: 10.3.0 + version: 10.3.0 swagger-ui-express: specifier: ^5.0.1 - version: 5.0.1(express@5.1.0) + version: 5.0.1(express@5.2.1) tinycon: specifier: 0.6.8 version: 0.6.8 tsx: - specifier: 4.20.6 - version: 4.20.6 + specifier: 4.21.0 + version: 4.21.0 ueberdb2: - specifier: ^5.0.22 - version: 5.0.22 + specifier: ^5.0.23 + version: 5.0.23 underscore: specifier: 1.13.7 version: 1.13.7 @@ -286,14 +286,14 @@ importers: version: 0.10.1 devDependencies: '@playwright/test': - specifier: ^1.56.0 - version: 1.56.0 + specifier: ^1.57.0 + version: 1.57.0 '@types/async': specifier: ^3.2.25 version: 3.2.25 '@types/cookie-parser': - specifier: ^1.4.9 - version: 1.4.9(@types/express@5.0.3) + specifier: ^1.4.10 + version: 1.4.10(@types/express@5.0.6) '@types/cross-spawn': specifier: ^6.0.6 version: 6.0.6 @@ -301,14 +301,14 @@ importers: specifier: ^3.1.5 version: 3.1.5 '@types/express': - specifier: ^5.0.0 - version: 5.0.3 + specifier: ^5.0.6 + version: 5.0.6 '@types/express-session': specifier: ^1.18.2 version: 1.18.2 '@types/formidable': - specifier: ^3.4.5 - version: 3.4.5 + specifier: ^3.4.6 + version: 3.4.6 '@types/http-errors': specifier: ^2.0.5 version: 2.0.5 @@ -334,8 +334,8 @@ importers: specifier: ^10.0.9 version: 10.0.10 '@types/node': - specifier: ^24.7.0 - version: 24.7.0 + specifier: ^25.0.9 + version: 25.0.9 '@types/oidc-provider': specifier: ^9.5.0 version: 9.5.0 @@ -343,8 +343,8 @@ importers: specifier: ^7.7.1 version: 7.7.1 '@types/sinon': - specifier: ^17.0.3 - version: 17.0.4 + specifier: ^21.0.0 + version: 21.0.0 '@types/supertest': specifier: ^6.0.2 version: 6.0.3 @@ -358,20 +358,20 @@ importers: specifier: ^3.0.2 version: 3.0.2 chokidar: - specifier: ^4.0.3 - version: 4.0.3 + specifier: ^5.0.0 + version: 5.0.0 eslint: - specifier: ^9.37.0 - version: 9.37.0 + specifier: ^9.39.2 + version: 9.39.2 eslint-config-etherpad: specifier: ^4.0.4 - version: 4.0.4(eslint@9.37.0)(typescript@5.9.3) + version: 4.0.4(eslint@9.39.2)(typescript@5.9.3) etherpad-cli-client: specifier: ^3.0.5 version: 3.0.5 mocha: - specifier: ^11.7.4 - version: 11.7.4 + specifier: ^11.7.5 + version: 11.7.5 mocha-froth: specifier: ^0.2.10 version: 0.2.10 @@ -382,23 +382,23 @@ importers: specifier: ^0.4.2 version: 0.4.2 set-cookie-parser: - specifier: ^2.7.1 - version: 2.7.1 + specifier: ^3.0.1 + version: 3.0.1 sinon: - specifier: ^21.0.0 - version: 21.0.0 + specifier: ^21.0.1 + version: 21.0.1 split-grid: specifier: ^1.0.11 version: 1.0.11 supertest: - specifier: ^7.1.3 - version: 7.1.4 + specifier: ^7.2.2 + version: 7.2.2 typescript: specifier: ^5.9.3 version: 5.9.3 vitest: - specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.7.0)(jsdom@27.0.0(postcss@8.5.6))(lightningcss@1.30.2)(tsx@4.20.6) + specifier: ^4.0.17 + version: 4.0.17(@opentelemetry/api@1.9.0)(@types/node@25.0.9)(jsdom@27.4.0)(lightningcss@1.30.2)(tsx@4.21.0) ui: devDependencies: @@ -409,20 +409,23 @@ importers: specifier: ^5.9.3 version: 5.9.3 vite: - specifier: npm:rolldown-vite@latest - version: rolldown-vite@7.1.16(@types/node@24.7.0)(esbuild@0.25.10)(tsx@4.20.6) + specifier: npm:rolldown-vite@7.2.10 + version: rolldown-vite@7.2.10(@types/node@25.0.9)(esbuild@0.25.12)(tsx@4.21.0) packages: + '@acemir/cssom@0.9.30': + resolution: {integrity: sha512-9CnlMCI0LmCIq0olalQqdWrJHPzm0/tw3gzOA9zJSgvFX7Xau3D24mAGa4BtwxwY69nsuJW6kQqqCzf/mEcQgg==} + '@apidevtools/json-schema-ref-parser@11.9.3': resolution: {integrity: sha512-60vepv88RwcJtSHrD6MjIL6Ta3SOYbgfnkHb+ppAVK+o9mXprRtulx7VlRl3lN3bbvysAfCS7WMVfhUYemB0IQ==} engines: {node: '>= 16'} - '@asamuzakjp/css-color@4.0.5': - resolution: {integrity: sha512-lMrXidNhPGsDjytDy11Vwlb6OIGrT3CmLg3VWNFyWkLWtijKl7xjvForlh8vuj0SHGjgl4qZEQzUmYTeQA2JFQ==} + '@asamuzakjp/css-color@4.1.1': + resolution: {integrity: sha512-B0Hv6G3gWGMn0xKJ0txEi/jM5iFpT3MfDxmhZFb4W047GvytCf1DHQ1D69W3zHI4yWe2aTZAA0JnbMZ7Xc8DuQ==} - '@asamuzakjp/dom-selector@6.6.1': - resolution: {integrity: sha512-8QT9pokVe1fUt1C8IrJketaeFOdRfTOS96DL3EBjE8CRZm3eHnwMlQe2NPoOSEYPwJ5Q25uYoX1+m9044l3ysQ==} + '@asamuzakjp/dom-selector@6.7.6': + resolution: {integrity: sha512-hBaJER6A9MpdG3WgdlOolHmbOYvSk46y7IQN/1+iqiCuUu6iWdQrs9DGKF8ocqsEqWujWf/V7b7vaDgiUmIvUg==} '@asamuzakjp/nwsapi@2.3.9': resolution: {integrity: sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==} @@ -431,16 +434,16 @@ packages: resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.28.4': - resolution: {integrity: sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==} + '@babel/compat-data@7.28.5': + resolution: {integrity: sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==} engines: {node: '>=6.9.0'} - '@babel/core@7.28.4': - resolution: {integrity: sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==} + '@babel/core@7.28.5': + resolution: {integrity: sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==} engines: {node: '>=6.9.0'} - '@babel/generator@7.28.3': - resolution: {integrity: sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==} + '@babel/generator@7.28.5': + resolution: {integrity: sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==} engines: {node: '>=6.9.0'} '@babel/helper-compilation-targets@7.27.2': @@ -473,6 +476,10 @@ packages: resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.28.5': + resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} + engines: {node: '>=6.9.0'} + '@babel/helper-validator-option@7.27.1': resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} engines: {node: '>=6.9.0'} @@ -481,8 +488,8 @@ packages: resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==} engines: {node: '>=6.9.0'} - '@babel/parser@7.28.4': - resolution: {integrity: sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==} + '@babel/parser@7.28.5': + resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==} engines: {node: '>=6.0.0'} hasBin: true @@ -506,18 +513,26 @@ packages: resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==} engines: {node: '>=6.9.0'} + '@babel/runtime@7.28.6': + resolution: {integrity: sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==} + engines: {node: '>=6.9.0'} + '@babel/template@7.27.2': resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.28.4': - resolution: {integrity: sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==} + '@babel/traverse@7.28.5': + resolution: {integrity: sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==} engines: {node: '>=6.9.0'} '@babel/types@7.28.4': resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==} engines: {node: '>=6.9.0'} + '@babel/types@7.28.5': + resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==} + engines: {node: '>=6.9.0'} + '@csstools/color-helpers@5.1.0': resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==} engines: {node: '>=18'} @@ -542,27 +557,25 @@ packages: peerDependencies: '@csstools/css-tokenizer': ^3.0.4 - '@csstools/css-syntax-patches-for-csstree@1.0.14': - resolution: {integrity: sha512-zSlIxa20WvMojjpCSy8WrNpcZ61RqfTfX3XTaOeVlGJrt/8HF3YbzgFZa01yTbT4GWQLwfTcC3EB8i3XnB647Q==} + '@csstools/css-syntax-patches-for-csstree@1.0.22': + resolution: {integrity: sha512-qBcx6zYlhleiFfdtzkRgwNC7VVoAwfK76Vmsw5t+PbvtdknO9StgRk7ROvq9so1iqbdW4uLIDAsXRsTfUrIoOw==} engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 '@csstools/css-tokenizer@3.0.4': resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==} engines: {node: '>=18'} - '@docsearch/css@4.0.0-beta.7': - resolution: {integrity: sha512-hBIwf14yLasrUcDNS7jrneM1ibFD/JFJVDjdxd1h/LUHx7eyLrS726pKHVr3cTdToNXP/7jrTbnC1MAuDHPoow==} + '@docsearch/css@4.3.2': + resolution: {integrity: sha512-K3Yhay9MgkBjJJ0WEL5MxnACModX9xuNt3UlQQkDEDZJZ0+aeWKtOkxHNndMRkMBnHdYvQjxkm6mdlneOtU1IQ==} - '@docsearch/js@4.0.0-beta.7': - resolution: {integrity: sha512-0RJALbDpLMuFy3H/26rjms/qwi5KjsGMN8Lu4k/bs6kBfOWHUN6Dzg/ybj8qB2OLdT2UegsavRIDZKW3QrzQ4Q==} + '@docsearch/js@4.3.2': + resolution: {integrity: sha512-xdfpPXMgKRY9EW7U1vtY7gLKbLZFa9ed+t0Dacquq8zXBqAlH9HlUf0h4Mhxm0xatsVeMaIR2wr/u6g0GsZyQw==} - '@emnapi/core@1.5.0': - resolution: {integrity: sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg==} + '@emnapi/core@1.7.1': + resolution: {integrity: sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==} - '@emnapi/runtime@1.5.0': - resolution: {integrity: sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==} + '@emnapi/runtime@1.7.1': + resolution: {integrity: sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==} '@emnapi/wasi-threads@1.1.0': resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==} @@ -570,158 +583,470 @@ packages: '@epic-web/invariant@1.0.0': resolution: {integrity: sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA==} - '@esbuild/aix-ppc64@0.25.10': - resolution: {integrity: sha512-0NFWnA+7l41irNuaSVlLfgNT12caWJVLzp5eAVhZ0z1qpxbockccEt3s+149rE64VUI3Ml2zt8Nv5JVc4QXTsw==} + '@esbuild/aix-ppc64@0.25.12': + resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.25.10': - resolution: {integrity: sha512-LSQa7eDahypv/VO6WKohZGPSJDq5OVOo3UoFR1E4t4Gj1W7zEQMUhI+lo81H+DtB+kP+tDgBp+M4oNCwp6kffg==} + '@esbuild/aix-ppc64@0.27.1': + resolution: {integrity: sha512-HHB50pdsBX6k47S4u5g/CaLjqS3qwaOVE5ILsq64jyzgMhLuCuZ8rGzM9yhsAjfjkbgUPMzZEPa7DAp7yz6vuA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/aix-ppc64@0.27.2': + resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.25.12': + resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==} engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.25.10': - resolution: {integrity: sha512-dQAxF1dW1C3zpeCDc5KqIYuZ1tgAdRXNoZP7vkBIRtKZPYe2xVr/d3SkirklCHudW1B45tGiUlz2pUWDfbDD4w==} + '@esbuild/android-arm64@0.27.1': + resolution: {integrity: sha512-45fuKmAJpxnQWixOGCrS+ro4Uvb4Re9+UTieUY2f8AEc+t7d4AaZ6eUJ3Hva7dtrxAAWHtlEFsXFMAgNnGU9uQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm64@0.27.2': + resolution: {integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.25.12': + resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==} engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.25.10': - resolution: {integrity: sha512-MiC9CWdPrfhibcXwr39p9ha1x0lZJ9KaVfvzA0Wxwz9ETX4v5CHfF09bx935nHlhi+MxhA63dKRRQLiVgSUtEg==} + '@esbuild/android-arm@0.27.1': + resolution: {integrity: sha512-kFqa6/UcaTbGm/NncN9kzVOODjhZW8e+FRdSeypWe6j33gzclHtwlANs26JrupOntlcWmB0u8+8HZo8s7thHvg==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.27.2': + resolution: {integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.25.12': + resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==} engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.25.10': - resolution: {integrity: sha512-JC74bdXcQEpW9KkV326WpZZjLguSZ3DfS8wrrvPMHgQOIEIG/sPXEN/V8IssoJhbefLRcRqw6RQH2NnpdprtMA==} + '@esbuild/android-x64@0.27.1': + resolution: {integrity: sha512-LBEpOz0BsgMEeHgenf5aqmn/lLNTFXVfoWMUox8CtWWYK9X4jmQzWjoGoNb8lmAYml/tQ/Ysvm8q7szu7BoxRQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/android-x64@0.27.2': + resolution: {integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.25.12': + resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.25.10': - resolution: {integrity: sha512-tguWg1olF6DGqzws97pKZ8G2L7Ig1vjDmGTwcTuYHbuU6TTjJe5FXbgs5C1BBzHbJ2bo1m3WkQDbWO2PvamRcg==} + '@esbuild/darwin-arm64@0.27.1': + resolution: {integrity: sha512-veg7fL8eMSCVKL7IW4pxb54QERtedFDfY/ASrumK/SbFsXnRazxY4YykN/THYqFnFwJ0aVjiUrVG2PwcdAEqQQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-arm64@0.27.2': + resolution: {integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.25.12': + resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==} engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.25.10': - resolution: {integrity: sha512-3ZioSQSg1HT2N05YxeJWYR+Libe3bREVSdWhEEgExWaDtyFbbXWb49QgPvFH8u03vUPX10JhJPcz7s9t9+boWg==} + '@esbuild/darwin-x64@0.27.1': + resolution: {integrity: sha512-+3ELd+nTzhfWb07Vol7EZ+5PTbJ/u74nC6iv4/lwIU99Ip5uuY6QoIf0Hn4m2HoV0qcnRivN3KSqc+FyCHjoVQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/darwin-x64@0.27.2': + resolution: {integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.25.12': + resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.25.10': - resolution: {integrity: sha512-LLgJfHJk014Aa4anGDbh8bmI5Lk+QidDmGzuC2D+vP7mv/GeSN+H39zOf7pN5N8p059FcOfs2bVlrRr4SK9WxA==} + '@esbuild/freebsd-arm64@0.27.1': + resolution: {integrity: sha512-/8Rfgns4XD9XOSXlzUDepG8PX+AVWHliYlUkFI3K3GB6tqbdjYqdhcb4BKRd7C0BhZSoaCxhv8kTcBrcZWP+xg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-arm64@0.27.2': + resolution: {integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.25.12': + resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.25.10': - resolution: {integrity: sha512-5luJWN6YKBsawd5f9i4+c+geYiVEw20FVW5x0v1kEMWNq8UctFjDiMATBxLvmmHA4bf7F6hTRaJgtghFr9iziQ==} + '@esbuild/freebsd-x64@0.27.1': + resolution: {integrity: sha512-GITpD8dK9C+r+5yRT/UKVT36h/DQLOHdwGVwwoHidlnA168oD3uxA878XloXebK4Ul3gDBBIvEdL7go9gCUFzQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.27.2': + resolution: {integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.25.12': + resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==} engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.25.10': - resolution: {integrity: sha512-oR31GtBTFYCqEBALI9r6WxoU/ZofZl962pouZRTEYECvNF/dtXKku8YXcJkhgK/beU+zedXfIzHijSRapJY3vg==} + '@esbuild/linux-arm64@0.27.1': + resolution: {integrity: sha512-W9//kCrh/6in9rWIBdKaMtuTTzNj6jSeG/haWBADqLLa9P8O5YSRDzgD5y9QBok4AYlzS6ARHifAb75V6G670Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm64@0.27.2': + resolution: {integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.25.12': + resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.25.10': - resolution: {integrity: sha512-NrSCx2Kim3EnnWgS4Txn0QGt0Xipoumb6z6sUtl5bOEZIVKhzfyp/Lyw4C1DIYvzeW/5mWYPBFJU3a/8Yr75DQ==} + '@esbuild/linux-arm@0.27.1': + resolution: {integrity: sha512-ieMID0JRZY/ZeCrsFQ3Y3NlHNCqIhTprJfDgSB3/lv5jJZ8FX3hqPyXWhe+gvS5ARMBJ242PM+VNz/ctNj//eA==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-arm@0.27.2': + resolution: {integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.25.12': + resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==} engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.25.10': - resolution: {integrity: sha512-xoSphrd4AZda8+rUDDfD9J6FUMjrkTz8itpTITM4/xgerAZZcFW7Dv+sun7333IfKxGG8gAq+3NbfEMJfiY+Eg==} + '@esbuild/linux-ia32@0.27.1': + resolution: {integrity: sha512-VIUV4z8GD8rtSVMfAj1aXFahsi/+tcoXXNYmXgzISL+KB381vbSTNdeZHHHIYqFyXcoEhu9n5cT+05tRv13rlw==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-ia32@0.27.2': + resolution: {integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.25.12': + resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==} engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.25.10': - resolution: {integrity: sha512-ab6eiuCwoMmYDyTnyptoKkVS3k8fy/1Uvq7Dj5czXI6DF2GqD2ToInBI0SHOp5/X1BdZ26RKc5+qjQNGRBelRA==} + '@esbuild/linux-loong64@0.27.1': + resolution: {integrity: sha512-l4rfiiJRN7sTNI//ff65zJ9z8U+k6zcCg0LALU5iEWzY+a1mVZ8iWC1k5EsNKThZ7XCQ6YWtsZ8EWYm7r1UEsg==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-loong64@0.27.2': + resolution: {integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.25.12': + resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.25.10': - resolution: {integrity: sha512-NLinzzOgZQsGpsTkEbdJTCanwA5/wozN9dSgEl12haXJBzMTpssebuXR42bthOF3z7zXFWH1AmvWunUCkBE4EA==} + '@esbuild/linux-mips64el@0.27.1': + resolution: {integrity: sha512-U0bEuAOLvO/DWFdygTHWY8C067FXz+UbzKgxYhXC0fDieFa0kDIra1FAhsAARRJbvEyso8aAqvPdNxzWuStBnA==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-mips64el@0.27.2': + resolution: {integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.25.12': + resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.25.10': - resolution: {integrity: sha512-FE557XdZDrtX8NMIeA8LBJX3dC2M8VGXwfrQWU7LB5SLOajfJIxmSdyL/gU1m64Zs9CBKvm4UAuBp5aJ8OgnrA==} + '@esbuild/linux-ppc64@0.27.1': + resolution: {integrity: sha512-NzdQ/Xwu6vPSf/GkdmRNsOfIeSGnh7muundsWItmBsVpMoNPVpM61qNzAVY3pZ1glzzAxLR40UyYM23eaDDbYQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-ppc64@0.27.2': + resolution: {integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.25.12': + resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.25.10': - resolution: {integrity: sha512-3BBSbgzuB9ajLoVZk0mGu+EHlBwkusRmeNYdqmznmMc9zGASFjSsxgkNsqmXugpPk00gJ0JNKh/97nxmjctdew==} + '@esbuild/linux-riscv64@0.27.1': + resolution: {integrity: sha512-7zlw8p3IApcsN7mFw0O1Z1PyEk6PlKMu18roImfl3iQHTnr/yAfYv6s4hXPidbDoI2Q0pW+5xeoM4eTCC0UdrQ==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-riscv64@0.27.2': + resolution: {integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.25.12': + resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==} engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.25.10': - resolution: {integrity: sha512-QSX81KhFoZGwenVyPoberggdW1nrQZSvfVDAIUXr3WqLRZGZqWk/P4T8p2SP+de2Sr5HPcvjhcJzEiulKgnxtA==} + '@esbuild/linux-s390x@0.27.1': + resolution: {integrity: sha512-cGj5wli+G+nkVQdZo3+7FDKC25Uh4ZVwOAK6A06Hsvgr8WqBBuOy/1s+PUEd/6Je+vjfm6stX0kmib5b/O2Ykw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-s390x@0.27.2': + resolution: {integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.25.12': + resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==} engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.25.10': - resolution: {integrity: sha512-AKQM3gfYfSW8XRk8DdMCzaLUFB15dTrZfnX8WXQoOUpUBQ+NaAFCP1kPS/ykbbGYz7rxn0WS48/81l9hFl3u4A==} + '@esbuild/linux-x64@0.27.1': + resolution: {integrity: sha512-z3H/HYI9MM0HTv3hQZ81f+AKb+yEoCRlUby1F80vbQ5XdzEMyY/9iNlAmhqiBKw4MJXwfgsh7ERGEOhrM1niMA==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/linux-x64@0.27.2': + resolution: {integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.25.12': + resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.25.10': - resolution: {integrity: sha512-7RTytDPGU6fek/hWuN9qQpeGPBZFfB4zZgcz2VK2Z5VpdUxEI8JKYsg3JfO0n/Z1E/6l05n0unDCNc4HnhQGig==} + '@esbuild/netbsd-arm64@0.27.1': + resolution: {integrity: sha512-wzC24DxAvk8Em01YmVXyjl96Mr+ecTPyOuADAvjGg+fyBpGmxmcr2E5ttf7Im8D0sXZihpxzO1isus8MdjMCXQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-arm64@0.27.2': + resolution: {integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.25.12': + resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.25.10': - resolution: {integrity: sha512-5Se0VM9Wtq797YFn+dLimf2Zx6McttsH2olUBsDml+lm0GOCRVebRWUvDtkY4BWYv/3NgzS8b/UM3jQNh5hYyw==} + '@esbuild/netbsd-x64@0.27.1': + resolution: {integrity: sha512-1YQ8ybGi2yIXswu6eNzJsrYIGFpnlzEWRl6iR5gMgmsrR0FcNoV1m9k9sc3PuP5rUBLshOZylc9nqSgymI+TYg==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.27.2': + resolution: {integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.25.12': + resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.25.10': - resolution: {integrity: sha512-XkA4frq1TLj4bEMB+2HnI0+4RnjbuGZfet2gs/LNs5Hc7D89ZQBHQ0gL2ND6Lzu1+QVkjp3x1gIcPKzRNP8bXw==} + '@esbuild/openbsd-arm64@0.27.1': + resolution: {integrity: sha512-5Z+DzLCrq5wmU7RDaMDe2DVXMRm2tTDvX2KU14JJVBN2CT/qov7XVix85QoJqHltpvAOZUAc3ndU56HSMWrv8g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-arm64@0.27.2': + resolution: {integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.25.12': + resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/openharmony-arm64@0.25.10': - resolution: {integrity: sha512-AVTSBhTX8Y/Fz6OmIVBip9tJzZEUcY8WLh7I59+upa5/GPhh2/aM6bvOMQySspnCCHvFi79kMtdJS1w0DXAeag==} + '@esbuild/openbsd-x64@0.27.1': + resolution: {integrity: sha512-Q73ENzIdPF5jap4wqLtsfh8YbYSZ8Q0wnxplOlZUOyZy7B4ZKW8DXGWgTCZmF8VWD7Tciwv5F4NsRf6vYlZtqg==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.27.2': + resolution: {integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openharmony-arm64@0.25.12': + resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] - '@esbuild/sunos-x64@0.25.10': - resolution: {integrity: sha512-fswk3XT0Uf2pGJmOpDB7yknqhVkJQkAQOcW/ccVOtfx05LkbWOaRAtn5SaqXypeKQra1QaEa841PgrSL9ubSPQ==} + '@esbuild/openharmony-arm64@0.27.1': + resolution: {integrity: sha512-ajbHrGM/XiK+sXM0JzEbJAen+0E+JMQZ2l4RR4VFwvV9JEERx+oxtgkpoKv1SevhjavK2z2ReHk32pjzktWbGg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/openharmony-arm64@0.27.2': + resolution: {integrity: sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/sunos-x64@0.25.12': + resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==} engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.25.10': - resolution: {integrity: sha512-ah+9b59KDTSfpaCg6VdJoOQvKjI33nTaQr4UluQwW7aEwZQsbMCfTmfEO4VyewOxx4RaDT/xCy9ra2GPWmO7Kw==} + '@esbuild/sunos-x64@0.27.1': + resolution: {integrity: sha512-IPUW+y4VIjuDVn+OMzHc5FV4GubIwPnsz6ubkvN8cuhEqH81NovB53IUlrlBkPMEPxvNnf79MGBoz8rZ2iW8HA==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/sunos-x64@0.27.2': + resolution: {integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.25.12': + resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.25.10': - resolution: {integrity: sha512-QHPDbKkrGO8/cz9LKVnJU22HOi4pxZnZhhA2HYHez5Pz4JeffhDjf85E57Oyco163GnzNCVkZK0b/n4Y0UHcSw==} + '@esbuild/win32-arm64@0.27.1': + resolution: {integrity: sha512-RIVRWiljWA6CdVu8zkWcRmGP7iRRIIwvhDKem8UMBjPql2TXM5PkDVvvrzMtj1V+WFPB4K7zkIGM7VzRtFkjdg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.27.2': + resolution: {integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.25.12': + resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==} engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.25.10': - resolution: {integrity: sha512-9KpxSVFCu0iK1owoez6aC/s/EdUQLDN3adTxGCqxMVhrPDj6bt5dbrHDXUuq+Bs2vATFBBrQS5vdQ/Ed2P+nbw==} + '@esbuild/win32-ia32@0.27.1': + resolution: {integrity: sha512-2BR5M8CPbptC1AK5JbJT1fWrHLvejwZidKx3UMSF0ecHMa+smhi16drIrCEggkgviBwLYd5nwrFLSl5Kho96RQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.27.2': + resolution: {integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.25.12': + resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@esbuild/win32-x64@0.27.1': + resolution: {integrity: sha512-d5X6RMYv6taIymSk8JBP+nxv8DQAMY6A51GPgusqLdK9wBz5wWIXy1KjTck6HnjE9hqJzJRdk+1p/t5soSbCtw==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@esbuild/win32-x64@0.27.2': + resolution: {integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==} engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -732,38 +1057,53 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.12.1': - resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} + '@eslint-community/eslint-utils@4.9.1': + resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/regexpp@4.12.2': + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/config-array@0.21.0': - resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==} + '@eslint/config-array@0.21.1': + resolution: {integrity: sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/config-helpers@0.4.0': - resolution: {integrity: sha512-WUFvV4WoIwW8Bv0KeKCIIEgdSiFOsulyN0xrMu+7z43q/hkOLXjvb5u7UC9jDxvRzcrbEmuZBX5yJZz1741jog==} + '@eslint/config-helpers@0.4.2': + resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@0.16.0': - resolution: {integrity: sha512-nmC8/totwobIiFcGkDza3GIKfAw1+hLiYVrh3I1nIomQ8PEr5cxg34jnkmGawul/ep52wGRAcyeDCNtWKSOj4Q==} + '@eslint/core@0.17.0': + resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/eslintrc@3.3.1': - resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} + '@eslint/eslintrc@3.3.3': + resolution: {integrity: sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.37.0': - resolution: {integrity: sha512-jaS+NJ+hximswBG6pjNX0uEJZkrT0zwpVi3BA3vX22aFGjJjmgSTSmPpZCRKmoBL5VY/M6p0xsSJx7rk7sy5gg==} + '@eslint/js@9.39.2': + resolution: {integrity: sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/object-schema@2.1.6': - resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} + '@eslint/object-schema@2.1.7': + resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.4.0': - resolution: {integrity: sha512-sB5uyeq+dwCWyPi31B2gQlVlo+j5brPlWx4yZBrEaRo/nhdDE8Xke1gsGgtiBdaBTxuTkceLVuVt/pclrasb0A==} + '@eslint/plugin-kit@0.4.1': + resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@exodus/bytes@1.6.0': + resolution: {integrity: sha512-y32mI9627q5LR/L8fLc4YyDRJQOi+jK0D9okzLilAdiU3F9we3zC7Y7CFrR/8vAvUyv7FgBAYcNHtvbmhKCFcw==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} + peerDependencies: + '@exodus/crypto': ^1.0.0-rc.4 + peerDependenciesMeta: + '@exodus/crypto': + optional: true + '@humanfs/core@0.19.1': resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} engines: {node: '>=18.18.0'} @@ -780,8 +1120,8 @@ packages: resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} - '@iconify-json/simple-icons@1.2.48': - resolution: {integrity: sha512-EACOtZMoPJtERiAbX1De0asrrCtlwI27+03c9OJlYWsly9w1O5vcD8rTzh+kDPjo+K8FOVnq2Qy+h/CzljSKDA==} + '@iconify-json/simple-icons@1.2.60': + resolution: {integrity: sha512-KlwLBKCdMCqfySdkAA+jehdUx6VSjnj6lvzQKus7HjkPSQ6QP58d6xiptkIp0jd/Hw3PW2++nRuGvCvSYaF0Mg==} '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} @@ -800,9 +1140,6 @@ packages: resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} - '@jridgewell/sourcemap-codec@1.5.0': - resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} - '@jridgewell/sourcemap-codec@1.5.5': resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} @@ -816,15 +1153,17 @@ packages: resolution: {integrity: sha512-x/iUDjcS90W69PryLDIMgFyV21YLTnG9zOpPXS7Bkt2b8AsY3zZsIpOLBkYr9fBcF3HbkKaER5hOBZLfpLgYNw==} engines: {node: '>= 14.0.0'} - '@koa/router@14.0.0': - resolution: {integrity: sha512-LBSu5K0qAaaQcXX/0WIB9PGDevyCxxpnc1uq13vV/CgObaVxuis5hKl3Eboq/8gcb6ebnkAStW9NB/Em2eYyFA==} + '@koa/router@15.1.1': + resolution: {integrity: sha512-trYxL4VOx8r92f8luqpN83xkN0DMTsp/HBJIxoDZH/a2I1Hxvoe+jjjhyJRQUQIHmsNQjCM+Xj6nCqSvnDnlCw==} engines: {node: '>= 20'} + peerDependencies: + koa: ^2.0.0 || ^3.0.0 '@napi-rs/wasm-runtime@0.2.12': resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==} - '@napi-rs/wasm-runtime@1.0.6': - resolution: {integrity: sha512-DXj75ewm11LIWUk198QSKUTxjyRjsBwk09MuMk5DGK+GDUtyPhhEHOGP/Xwwj3DjQXXkivoBirmOnKrLfc0+9g==} + '@napi-rs/wasm-runtime@1.1.0': + resolution: {integrity: sha512-Fq6DJW+Bb5jaWE69/qOE0D1TUN9+6uWhCeZpdnSBk14pjLcCWR7Q8n49PTSPHazM37JqrsdpEthXy2xn6jWWiA==} '@noble/hashes@1.8.0': resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==} @@ -850,12 +1189,12 @@ packages: resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} engines: {node: '>=8.0.0'} - '@oxc-project/runtime@0.92.0': - resolution: {integrity: sha512-Z7x2dZOmznihvdvCvLKMl+nswtOSVxS2H2ocar+U9xx6iMfTp0VGIrX6a4xB1v80IwOPC7dT1LXIJrY70Xu3Jw==} + '@oxc-project/runtime@0.101.0': + resolution: {integrity: sha512-t3qpfVZIqSiLQ5Kqt/MC4Ge/WCOGrrcagAdzTcDaggupjiGxUx4nJF2v6wUCXWSzWHn5Ns7XLv13fCJEwCOERQ==} engines: {node: ^20.19.0 || >=22.12.0} - '@oxc-project/types@0.94.0': - resolution: {integrity: sha512-+UgQT/4o59cZfH6Cp7G0hwmqEQ0wE+AdIwhikdwnhWI9Dp8CgSY081+Q3O67/wq3VJu8mgUEB93J9EHHn70fOw==} + '@oxc-project/types@0.101.0': + resolution: {integrity: sha512-nuFhqlUzJX+gVIPPfuE6xurd4lST3mdcWOhyK/rZO0B9XWMKm79SuszIQEnSMmmDhq1DC8WWVYGVd+6F93o1gQ==} '@paralleldrive/cuid2@2.2.2': resolution: {integrity: sha512-ZOBkgDwEdoYVlSeRbYYXs0S9MejQofiVYoTbKzy/6GQa39/q5tQU2IX46+shYnUkpEl3wc+J6wRlar7r2EK2xA==} @@ -864,8 +1203,8 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - '@playwright/test@1.56.0': - resolution: {integrity: sha512-Tzh95Twig7hUwwNe381/K3PggZBZblKUe2wv25oIpzWLr6Z0m4KgV1ZVIjnR6GM9ANEqjZD7XsZEa6JL/7YEgg==} + '@playwright/test@1.57.0': + resolution: {integrity: sha512-6TyEnHgd6SArQO8UO2OMTxshln3QMWBtPGrOCgs3wVEmQmwyuNtB10IZMfmYDE0riwNR1cu4q+pPcxMVtaG3TA==} engines: {node: '>=18'} hasBin: true @@ -1110,195 +1449,321 @@ packages: '@types/react-dom': optional: true - '@rolldown/binding-android-arm64@1.0.0-beta.42': - resolution: {integrity: sha512-W5ZKF3TP3bOWuBfotAGp+UGjxOkGV7jRmIRbBA7NFjggx7Oi6vOmGDqpHEIX7kDCiry1cnIsWQaxNvWbMdkvzQ==} + '@rolldown/binding-android-arm64@1.0.0-beta.53': + resolution: {integrity: sha512-Ok9V8o7o6YfSdTTYA/uHH30r3YtOxLD6G3wih/U9DO0ucBBFq8WPt/DslU53OgfteLRHITZny9N/qCUxMf9kjQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@rolldown/binding-darwin-arm64@1.0.0-beta.42': - resolution: {integrity: sha512-abw/wtgJA8OCgaTlL+xJxnN/Z01BwV1rfzIp5Hh9x+IIO6xOBfPsQ0nzi0+rWx3TyZ9FZXyC7bbC+5NpQ9EaXQ==} + '@rolldown/binding-darwin-arm64@1.0.0-beta.53': + resolution: {integrity: sha512-yIsKqMz0CtRnVa6x3Pa+mzTihr4Ty+Z6HfPbZ7RVbk1Uxnco4+CUn7Qbm/5SBol1JD/7nvY8rphAgyAi7Lj6Vg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-x64@1.0.0-beta.42': - resolution: {integrity: sha512-Y/UrZIRVr8CvXVEB88t6PeC46r1K9/QdPEo2ASE/b/KBEyXIx+QbM6kv9QfQVWU2Atly2+SVsQzxQsIvuk3lZQ==} + '@rolldown/binding-darwin-x64@1.0.0-beta.53': + resolution: {integrity: sha512-GTXe+mxsCGUnJOFMhfGWmefP7Q9TpYUseHvhAhr21nCTgdS8jPsvirb0tJwM3lN0/u/cg7bpFNa16fQrjKrCjQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@rolldown/binding-freebsd-x64@1.0.0-beta.42': - resolution: {integrity: sha512-zRM0oOk7BZiy6DoWBvdV4hyEg+j6+WcBZIMHVirMEZRu8hd18kZdJkg+bjVMfCEhwpWeFUfBfZ1qcaZ5UdYzlQ==} + '@rolldown/binding-freebsd-x64@1.0.0-beta.53': + resolution: {integrity: sha512-9Tmp7bBvKqyDkMcL4e089pH3RsjD3SUungjmqWtyhNOxoQMh0fSmINTyYV8KXtE+JkxYMPWvnEt+/mfpVCkk8w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.42': - resolution: {integrity: sha512-6RjFaC52QNwo7ilU8C5H7swbGlgfTkG9pudXwzr3VYyT18s0C9gLg3mvc7OMPIGqNxnQ0M5lU8j6aQCk2DTRVg==} + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.53': + resolution: {integrity: sha512-a1y5fiB0iovuzdbjUxa7+Zcvgv+mTmlGGC4XydVIsyl48eoxgaYkA3l9079hyTyhECsPq+mbr0gVQsFU11OJAQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.42': - resolution: {integrity: sha512-LMYHM5Sf6ROq+VUwHMDVX2IAuEsWTv4SnlFEedBnMGpvRuQ14lCmD4m5Q8sjyAQCgyha9oghdGoK8AEg1sXZKg==} + '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.53': + resolution: {integrity: sha512-bpIGX+ov9PhJYV+wHNXl9rzq4F0QvILiURn0y0oepbQx+7stmQsKA0DhPGwmhfvF856wq+gbM8L92SAa/CBcLg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] - '@rolldown/binding-linux-arm64-musl@1.0.0-beta.42': - resolution: {integrity: sha512-/bNTYb9aKNhzdbPn3O4MK2aLv55AlrkUKPE4KNfBYjkoZUfDr4jWp7gsSlvTc5A/99V1RCm9axvt616ZzeXGyA==} + '@rolldown/binding-linux-arm64-musl@1.0.0-beta.53': + resolution: {integrity: sha512-bGe5EBB8FVjHBR1mOLOPEFg1Lp3//7geqWkU5NIhxe+yH0W8FVrQ6WRYOap4SUTKdklD/dC4qPLREkMMQ855FA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] - '@rolldown/binding-linux-x64-gnu@1.0.0-beta.42': - resolution: {integrity: sha512-n/SLa4h342oyeGykZdch7Y3GNCNliRPL4k5wkeZ/5eQZs+c6/ZG1SHCJQoy7bZcmxiMyaXs9HoFmv1PEKrZgWg==} + '@rolldown/binding-linux-x64-gnu@1.0.0-beta.53': + resolution: {integrity: sha512-qL+63WKVQs1CMvFedlPt0U9PiEKJOAL/bsHMKUDS6Vp2Q+YAv/QLPu8rcvkfIMvQ0FPU2WL0aX4eWwF6e/GAnA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] - '@rolldown/binding-linux-x64-musl@1.0.0-beta.42': - resolution: {integrity: sha512-4PSd46sFzqpLHSGdaSViAb1mk55sCUMpJg+X8ittXaVocQsV3QLG/uydSH8RyL0ngHX5fy3D70LcCzlB15AgHw==} + '@rolldown/binding-linux-x64-musl@1.0.0-beta.53': + resolution: {integrity: sha512-VGl9JIGjoJh3H8Mb+7xnVqODajBmrdOOb9lxWXdcmxyI+zjB2sux69br0hZJDTyLJfvBoYm439zPACYbCjGRmw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] - '@rolldown/binding-openharmony-arm64@1.0.0-beta.42': - resolution: {integrity: sha512-BmWoeJJyeZXmZBcfoxG6J9+rl2G7eO47qdTkAzEegj4n3aC6CBIHOuDcbE8BvhZaEjQR0nh0nJrtEDlt65Q7Sw==} + '@rolldown/binding-openharmony-arm64@1.0.0-beta.53': + resolution: {integrity: sha512-B4iIserJXuSnNzA5xBLFUIjTfhNy7d9sq4FUMQY3GhQWGVhS2RWWzzDnkSU6MUt7/aHUrep0CdQfXUJI9D3W7A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@rolldown/binding-wasm32-wasi@1.0.0-beta.42': - resolution: {integrity: sha512-2Ft32F7uiDTrGZUKws6CLNTlvTWHC33l4vpXrzUucf9rYtUThAdPCOt89Pmn13tNX6AulxjGEP2R0nZjTSW3eQ==} + '@rolldown/binding-wasm32-wasi@1.0.0-beta.53': + resolution: {integrity: sha512-BUjAEgpABEJXilGq/BPh7jeU3WAJ5o15c1ZEgHaDWSz3LB881LQZnbNJHmUiM4d1JQWMYYyR1Y490IBHi2FPJg==} engines: {node: '>=14.0.0'} cpu: [wasm32] - '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.42': - resolution: {integrity: sha512-hC1kShXW/z221eG+WzQMN06KepvPbMBknF0iGR3VMYJLOe9gwnSTfGxFT5hf8XrPv7CEZqTWRd0GQpkSHRbGsw==} + '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.53': + resolution: {integrity: sha512-s27uU7tpCWSjHBnxyVXHt3rMrQdJq5MHNv3BzsewCIroIw3DJFjMH1dzCPPMUFxnh1r52Nf9IJ/eWp6LDoyGcw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.42': - resolution: {integrity: sha512-AICBYromawouGjj+GS33369E8Vwhy6UwhQEhQ5evfS8jPCsyVvoICJatbDGDGH01dwtVGLD5eDFzPicUOVpe4g==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [ia32] - os: [win32] - - '@rolldown/binding-win32-x64-msvc@1.0.0-beta.42': - resolution: {integrity: sha512-XpZ0M+tjoEiSc9c+uZR7FCnOI0uxDRNs1elGOMjeB0pUP1QmvVbZGYNsyLbLoP4u7e3VQN8rie1OQ8/mB6rcJg==} + '@rolldown/binding-win32-x64-msvc@1.0.0-beta.53': + resolution: {integrity: sha512-cjWL/USPJ1g0en2htb4ssMjIycc36RvdQAx1WlXnS6DpULswiUTVXPDesTifSKYSyvx24E0YqQkEm0K/M2Z/AA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - '@rolldown/pluginutils@1.0.0-beta.29': - resolution: {integrity: sha512-NIJgOsMjbxAXvoGq/X0gD7VPMQ8j9g0BiDaNjVNVjvl+iKXxL3Jre0v31RmBYeLEmkbj2s02v8vFTbUXi5XS2Q==} + '@rolldown/pluginutils@1.0.0-beta.50': + resolution: {integrity: sha512-5e76wQiQVeL1ICOZVUg4LSOVYg9jyhGCin+icYozhsUzM+fHE7kddi1bdiE0jwVqTfkjba3jUFbEkoC9WkdvyA==} - '@rolldown/pluginutils@1.0.0-beta.38': - resolution: {integrity: sha512-N/ICGKleNhA5nc9XXQG/kkKHJ7S55u0x0XUJbbkmdCnFuoRkM1Il12q9q0eX19+M7KKUEPw/daUPIRnxhcxAIw==} + '@rolldown/pluginutils@1.0.0-beta.53': + resolution: {integrity: sha512-vENRlFU4YbrwVqNDZ7fLvy+JR1CRkyr01jhSiDpE1u6py3OMzQfztQU2jxykW3ALNxO4kSlqIDeYyD0Y9RcQeQ==} - '@rolldown/pluginutils@1.0.0-beta.42': - resolution: {integrity: sha512-N7pQzk9CyE7q0bBN/q0J8s6Db279r5kUZc6d7/wWRe9/zXqC52HQovVyu6iXPIDY4BEzzgbVLhVFXrOuGJ22ZQ==} - - '@rollup/rollup-android-arm-eabi@4.47.1': - resolution: {integrity: sha512-lTahKRJip0knffA/GTNFJMrToD+CM+JJ+Qt5kjzBK/sFQ0EWqfKW3AYQSlZXN98tX0lx66083U9JYIMioMMK7g==} + '@rollup/rollup-android-arm-eabi@4.53.3': + resolution: {integrity: sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.47.1': - resolution: {integrity: sha512-uqxkb3RJLzlBbh/bbNQ4r7YpSZnjgMgyoEOY7Fy6GCbelkDSAzeiogxMG9TfLsBbqmGsdDObo3mzGqa8hps4MA==} + '@rollup/rollup-android-arm-eabi@4.55.1': + resolution: {integrity: sha512-9R0DM/ykwfGIlNu6+2U09ga0WXeZ9MRC2Ter8jnz8415VbuIykVuc6bhdrbORFZANDmTDvq26mJrEVTl8TdnDg==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.53.3': + resolution: {integrity: sha512-CbDGaMpdE9sh7sCmTrTUyllhrg65t6SwhjlMJsLr+J8YjFuPmCEjbBSx4Z/e4SmDyH3aB5hGaJUP2ltV/vcs4w==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.47.1': - resolution: {integrity: sha512-tV6reObmxBDS4DDyLzTDIpymthNlxrLBGAoQx6m2a7eifSNEZdkXQl1PE4ZjCkEDPVgNXSzND/k9AQ3mC4IOEQ==} + '@rollup/rollup-android-arm64@4.55.1': + resolution: {integrity: sha512-eFZCb1YUqhTysgW3sj/55du5cG57S7UTNtdMjCW7LwVcj3dTTcowCsC8p7uBdzKsZYa8J7IDE8lhMI+HX1vQvg==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.53.3': + resolution: {integrity: sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.47.1': - resolution: {integrity: sha512-XuJRPTnMk1lwsSnS3vYyVMu4x/+WIw1MMSiqj5C4j3QOWsMzbJEK90zG+SWV1h0B1ABGCQ0UZUjti+TQK35uHQ==} + '@rollup/rollup-darwin-arm64@4.55.1': + resolution: {integrity: sha512-p3grE2PHcQm2e8PSGZdzIhCKbMCw/xi9XvMPErPhwO17vxtvCN5FEA2mSLgmKlCjHGMQTP6phuQTYWUnKewwGg==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.53.3': + resolution: {integrity: sha512-DZ8N4CSNfl965CmPktJ8oBnfYr3F8dTTNBQkRlffnUarJ2ohudQD17sZBa097J8xhQ26AwhHJ5mvUyQW8ddTsQ==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.47.1': - resolution: {integrity: sha512-79BAm8Ag/tmJ5asCqgOXsb3WY28Rdd5Lxj8ONiQzWzy9LvWORd5qVuOnjlqiWWZJw+dWewEktZb5yiM1DLLaHw==} + '@rollup/rollup-darwin-x64@4.55.1': + resolution: {integrity: sha512-rDUjG25C9qoTm+e02Esi+aqTKSBYwVTaoS1wxcN47/Luqef57Vgp96xNANwt5npq9GDxsH7kXxNkJVEsWEOEaQ==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.53.3': + resolution: {integrity: sha512-yMTrCrK92aGyi7GuDNtGn2sNW+Gdb4vErx4t3Gv/Tr+1zRb8ax4z8GWVRfr3Jw8zJWvpGHNpss3vVlbF58DZ4w==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.47.1': - resolution: {integrity: sha512-OQ2/ZDGzdOOlyfqBiip0ZX/jVFekzYrGtUsqAfLDbWy0jh1PUU18+jYp8UMpqhly5ltEqotc2miLngf9FPSWIA==} + '@rollup/rollup-freebsd-arm64@4.55.1': + resolution: {integrity: sha512-+JiU7Jbp5cdxekIgdte0jfcu5oqw4GCKr6i3PJTlXTCU5H5Fvtkpbs4XJHRmWNXF+hKmn4v7ogI5OQPaupJgOg==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.53.3': + resolution: {integrity: sha512-lMfF8X7QhdQzseM6XaX0vbno2m3hlyZFhwcndRMw8fbAGUGL3WFMBdK0hbUBIUYcEcMhVLr1SIamDeuLBnXS+Q==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.47.1': - resolution: {integrity: sha512-HZZBXJL1udxlCVvoVadstgiU26seKkHbbAMLg7680gAcMnRNP9SAwTMVet02ANA94kXEI2VhBnXs4e5nf7KG2A==} + '@rollup/rollup-freebsd-x64@4.55.1': + resolution: {integrity: sha512-V5xC1tOVWtLLmr3YUk2f6EJK4qksksOYiz/TCsFHu/R+woubcLWdC9nZQmwjOAbmExBIVKsm1/wKmEy4z4u4Bw==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.53.3': + resolution: {integrity: sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.47.1': - resolution: {integrity: sha512-sZ5p2I9UA7T950JmuZ3pgdKA6+RTBr+0FpK427ExW0t7n+QwYOcmDTK/aRlzoBrWyTpJNlS3kacgSlSTUg6P/Q==} + '@rollup/rollup-linux-arm-gnueabihf@4.55.1': + resolution: {integrity: sha512-Rn3n+FUk2J5VWx+ywrG/HGPTD9jXNbicRtTM11e/uorplArnXZYsVifnPPqNNP5BsO3roI4n8332ukpY/zN7rQ==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.47.1': - resolution: {integrity: sha512-3hBFoqPyU89Dyf1mQRXCdpc6qC6At3LV6jbbIOZd72jcx7xNk3aAp+EjzAtN6sDlmHFzsDJN5yeUySvorWeRXA==} + '@rollup/rollup-linux-arm-musleabihf@4.53.3': + resolution: {integrity: sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.55.1': + resolution: {integrity: sha512-grPNWydeKtc1aEdrJDWk4opD7nFtQbMmV7769hiAaYyUKCT1faPRm2av8CX1YJsZ4TLAZcg9gTR1KvEzoLjXkg==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.53.3': + resolution: {integrity: sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.47.1': - resolution: {integrity: sha512-49J4FnMHfGodJWPw73Ve+/hsPjZgcXQGkmqBGZFvltzBKRS+cvMiWNLadOMXKGnYRhs1ToTGM0sItKISoSGUNA==} + '@rollup/rollup-linux-arm64-gnu@4.55.1': + resolution: {integrity: sha512-a59mwd1k6x8tXKcUxSyISiquLwB5pX+fJW9TkWU46lCqD/GRDe9uDN31jrMmVP3feI3mhAdvcCClhV8V5MhJFQ==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.47.1': - resolution: {integrity: sha512-4yYU8p7AneEpQkRX03pbpLmE21z5JNys16F1BZBZg5fP9rIlb0TkeQjn5du5w4agConCCEoYIG57sNxjryHEGg==} + '@rollup/rollup-linux-arm64-musl@4.53.3': + resolution: {integrity: sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.55.1': + resolution: {integrity: sha512-puS1MEgWX5GsHSoiAsF0TYrpomdvkaXm0CofIMG5uVkP6IBV+ZO9xhC5YEN49nsgYo1DuuMquF9+7EDBVYu4uA==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-loong64-gnu@4.53.3': + resolution: {integrity: sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-ppc64-gnu@4.47.1': - resolution: {integrity: sha512-fAiq+J28l2YMWgC39jz/zPi2jqc0y3GSRo1yyxlBHt6UN0yYgnegHSRPa3pnHS5amT/efXQrm0ug5+aNEu9UuQ==} + '@rollup/rollup-linux-loong64-gnu@4.55.1': + resolution: {integrity: sha512-r3Wv40in+lTsULSb6nnoudVbARdOwb2u5fpeoOAZjFLznp6tDU8kd+GTHmJoqZ9lt6/Sys33KdIHUaQihFcu7g==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-loong64-musl@4.55.1': + resolution: {integrity: sha512-MR8c0+UxAlB22Fq4R+aQSPBayvYa3+9DrwG/i1TKQXFYEaoW3B5b/rkSRIypcZDdWjWnpcvxbNaAJDcSbJU3Lw==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-ppc64-gnu@4.53.3': + resolution: {integrity: sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.47.1': - resolution: {integrity: sha512-daoT0PMENNdjVYYU9xec30Y2prb1AbEIbb64sqkcQcSaR0zYuKkoPuhIztfxuqN82KYCKKrj+tQe4Gi7OSm1ow==} + '@rollup/rollup-linux-ppc64-gnu@4.55.1': + resolution: {integrity: sha512-3KhoECe1BRlSYpMTeVrD4sh2Pw2xgt4jzNSZIIPLFEsnQn9gAnZagW9+VqDqAHgm1Xc77LzJOo2LdigS5qZ+gw==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-ppc64-musl@4.55.1': + resolution: {integrity: sha512-ziR1OuZx0vdYZZ30vueNZTg73alF59DicYrPViG0NEgDVN8/Jl87zkAPu4u6VjZST2llgEUjaiNl9JM6HH1Vdw==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.53.3': + resolution: {integrity: sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.47.1': - resolution: {integrity: sha512-JNyXaAhWtdzfXu5pUcHAuNwGQKevR+6z/poYQKVW+pLaYOj9G1meYc57/1Xv2u4uTxfu9qEWmNTjv/H/EpAisw==} + '@rollup/rollup-linux-riscv64-gnu@4.55.1': + resolution: {integrity: sha512-uW0Y12ih2XJRERZ4jAfKamTyIHVMPQnTZcQjme2HMVDAHY4amf5u414OqNYC+x+LzRdRcnIG1YodLrrtA8xsxw==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.47.1': - resolution: {integrity: sha512-U/CHbqKSwEQyZXjCpY43/GLYcTVKEXeRHw0rMBJP7fP3x6WpYG4LTJWR3ic6TeYKX6ZK7mrhltP4ppolyVhLVQ==} + '@rollup/rollup-linux-riscv64-musl@4.53.3': + resolution: {integrity: sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-riscv64-musl@4.55.1': + resolution: {integrity: sha512-u9yZ0jUkOED1BFrqu3BwMQoixvGHGZ+JhJNkNKY/hyoEgOwlqKb62qu+7UjbPSHYjiVy8kKJHvXKv5coH4wDeg==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.53.3': + resolution: {integrity: sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.47.1': - resolution: {integrity: sha512-uTLEakjxOTElfeZIGWkC34u2auLHB1AYS6wBjPGI00bWdxdLcCzK5awjs25YXpqB9lS8S0vbO0t9ZcBeNibA7g==} + '@rollup/rollup-linux-s390x-gnu@4.55.1': + resolution: {integrity: sha512-/0PenBCmqM4ZUd0190j7J0UsQ/1nsi735iPRakO8iPciE7BQ495Y6msPzaOmvx0/pn+eJVVlZrNrSh4WSYLxNg==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.53.3': + resolution: {integrity: sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.47.1': - resolution: {integrity: sha512-Ft+d/9DXs30BK7CHCTX11FtQGHUdpNDLJW0HHLign4lgMgBcPFN3NkdIXhC5r9iwsMwYreBBc4Rho5ieOmKNVQ==} + '@rollup/rollup-linux-x64-gnu@4.55.1': + resolution: {integrity: sha512-a8G4wiQxQG2BAvo+gU6XrReRRqj+pLS2NGXKm8io19goR+K8lw269eTrPkSdDTALwMmJp4th2Uh0D8J9bEV1vg==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.47.1': - resolution: {integrity: sha512-N9X5WqGYzZnjGAFsKSfYFtAShYjwOmFJoWbLg3dYixZOZqU7hdMq+/xyS14zKLhFhZDhP9VfkzQnsdk0ZDS9IA==} + '@rollup/rollup-linux-x64-musl@4.53.3': + resolution: {integrity: sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.55.1': + resolution: {integrity: sha512-bD+zjpFrMpP/hqkfEcnjXWHMw5BIghGisOKPj+2NaNDuVT+8Ds4mPf3XcPHuat1tz89WRL+1wbcxKY3WSbiT7w==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-openbsd-x64@4.55.1': + resolution: {integrity: sha512-eLXw0dOiqE4QmvikfQ6yjgkg/xDM+MdU9YJuP4ySTibXU0oAvnEWXt7UDJmD4UkYialMfOGFPJnIHSe/kdzPxg==} + cpu: [x64] + os: [openbsd] + + '@rollup/rollup-openharmony-arm64@4.53.3': + resolution: {integrity: sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw==} + cpu: [arm64] + os: [openharmony] + + '@rollup/rollup-openharmony-arm64@4.55.1': + resolution: {integrity: sha512-xzm44KgEP11te3S2HCSyYf5zIzWmx3n8HDCc7EE59+lTcswEWNpvMLfd9uJvVX8LCg9QWG67Xt75AuHn4vgsXw==} + cpu: [arm64] + os: [openharmony] + + '@rollup/rollup-win32-arm64-msvc@4.53.3': + resolution: {integrity: sha512-GOFuKpsxR/whszbF/bzydebLiXIHSgsEUp6M0JI8dWvi+fFa1TD6YQa4aSZHtpmh2/uAlj/Dy+nmby3TJ3pkTw==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.47.1': - resolution: {integrity: sha512-O+KcfeCORZADEY8oQJk4HK8wtEOCRE4MdOkb8qGZQNun3jzmj2nmhV/B/ZaaZOkPmJyvm/gW9n0gsB4eRa1eiQ==} + '@rollup/rollup-win32-arm64-msvc@4.55.1': + resolution: {integrity: sha512-yR6Bl3tMC/gBok5cz/Qi0xYnVbIxGx5Fcf/ca0eB6/6JwOY+SRUcJfI0OpeTpPls7f194as62thCt/2BjxYN8g==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.53.3': + resolution: {integrity: sha512-iah+THLcBJdpfZ1TstDFbKNznlzoxa8fmnFYK4V67HvmuNYkVdAywJSoteUszvBQ9/HqN2+9AZghbajMsFT+oA==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.47.1': - resolution: {integrity: sha512-CpKnYa8eHthJa3c+C38v/E+/KZyF1Jdh2Cz3DyKZqEWYgrM1IHFArXNWvBLPQCKUEsAqqKX27tTqVEFbDNUcOA==} + '@rollup/rollup-win32-ia32-msvc@4.55.1': + resolution: {integrity: sha512-3fZBidchE0eY0oFZBnekYCfg+5wAB0mbpCBuofh5mZuzIU/4jIVkbESmd2dOsFNS78b53CYv3OAtwqkZZmU5nA==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-gnu@4.53.3': + resolution: {integrity: sha512-J9QDiOIZlZLdcot5NXEepDkstocktoVjkaKUtqzgzpt2yWjGlbYiKyp05rWwk4nypbYUNoFAztEgixoLaSETkg==} + cpu: [x64] + os: [win32] + + '@rollup/rollup-win32-x64-gnu@4.55.1': + resolution: {integrity: sha512-xGGY5pXj69IxKb4yv/POoocPy/qmEGhimy/FoTpTSVju3FYXUQQMFCaZZXJVidsmGxRioZAwpThl/4zX41gRKg==} + cpu: [x64] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.53.3': + resolution: {integrity: sha512-UhTd8u31dXadv0MopwGgNOBpUVROFKWVQgAg5N1ESyCz8AuBcMqm4AuTjrwgQKGDfoFuz02EuMRHQIw/frmYKQ==} + cpu: [x64] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.55.1': + resolution: {integrity: sha512-SPEpaL6DX4rmcXtnhdrQYgzQ5W2uW3SCJch88lB2zImhJRhIIK44fkUrgIV/Q8yUNfw5oyZ5vkeQsZLhCb06lw==} cpu: [x64] os: [win32] @@ -1311,26 +1776,26 @@ packages: '@scarf/scarf@1.4.0': resolution: {integrity: sha512-xxeapPiUXdZAE3che6f3xogoJPeZgig6omHEy1rIY5WVsB3H2BHNnZH+gHG6x91SCWyQCzWGsuL2Hh3ClO5/qQ==} - '@shikijs/core@3.11.0': - resolution: {integrity: sha512-oJwU+DxGqp6lUZpvtQgVOXNZcVsirN76tihOLBmwILkKuRuwHteApP8oTXmL4tF5vS5FbOY0+8seXmiCoslk4g==} + '@shikijs/core@3.17.0': + resolution: {integrity: sha512-/HjeOnbc62C+n33QFNFrAhUlIADKwfuoS50Ht0pxujxP4QjZAlFp5Q+OkDo531SCTzivx5T18khwyBdKoPdkuw==} - '@shikijs/engine-javascript@3.11.0': - resolution: {integrity: sha512-6/ov6pxrSvew13k9ztIOnSBOytXeKs5kfIR7vbhdtVRg+KPzvp2HctYGeWkqv7V6YIoLicnig/QF3iajqyElZA==} + '@shikijs/engine-javascript@3.17.0': + resolution: {integrity: sha512-WwF99xdP8KfuDrIbT4wxyypfhoIxMeeOCp1AiuvzzZ6JT5B3vIuoclL8xOuuydA6LBeeNXUF/XV5zlwwex1jlA==} - '@shikijs/engine-oniguruma@3.11.0': - resolution: {integrity: sha512-4DwIjIgETK04VneKbfOE4WNm4Q7WC1wo95wv82PoHKdqX4/9qLRUwrfKlmhf0gAuvT6GHy0uc7t9cailk6Tbhw==} + '@shikijs/engine-oniguruma@3.17.0': + resolution: {integrity: sha512-flSbHZAiOZDNTrEbULY8DLWavu/TyVu/E7RChpLB4WvKX4iHMfj80C6Hi3TjIWaQtHOW0KC6kzMcuB5TO1hZ8Q==} - '@shikijs/langs@3.11.0': - resolution: {integrity: sha512-Njg/nFL4HDcf/ObxcK2VeyidIq61EeLmocrwTHGGpOQx0BzrPWM1j55XtKQ1LvvDWH15cjQy7rg96aJ1/l63uw==} + '@shikijs/langs@3.17.0': + resolution: {integrity: sha512-icmur2n5Ojb+HAiQu6NEcIIJ8oWDFGGEpiqSCe43539Sabpx7Y829WR3QuUW2zjTM4l6V8Sazgb3rrHO2orEAw==} - '@shikijs/themes@3.11.0': - resolution: {integrity: sha512-BhhWRzCTEk2CtWt4S4bgsOqPJRkapvxdsifAwqP+6mk5uxboAQchc0etiJ0iIasxnMsb764qGD24DK9albcU9Q==} + '@shikijs/themes@3.17.0': + resolution: {integrity: sha512-/xEizMHLBmMHwtx4JuOkRf3zwhWD2bmG5BRr0IPjpcWpaq4C3mYEuTk/USAEglN0qPrTwEHwKVpSu/y2jhferA==} - '@shikijs/transformers@3.11.0': - resolution: {integrity: sha512-fhSpVoq0FoCtKbBpzE3mXcIbr0b7ozFDSSWiVjWrQy+wrOfaFfwxgJqh8kY3Pbv/i+4pcuMIVismLD2MfO62eQ==} + '@shikijs/transformers@3.17.0': + resolution: {integrity: sha512-b14s8lPt/3K/PjtGgvdS4oU676Ke/ct9kdi6ksEb2rHzRVBAoWJeRwvDQcHASiiZbrDHlnnC8VnwL2Bw0T/nlw==} - '@shikijs/types@3.11.0': - resolution: {integrity: sha512-RB7IMo2E7NZHyfkqAuaf4CofyY8bPzjWPjJRzn6SEak3b46fIQyG6Vx5fG/obqkfppQ+g8vEsiD7Uc6lqQt32Q==} + '@shikijs/types@3.17.0': + resolution: {integrity: sha512-wjLVfutYWVUnxAjsWEob98xgyaGv0dTEnMZDruU5mRjVN7szcGOfgO+997W2yR6odp+1PtSBNeSITRRTfUzK/g==} '@shikijs/vscode-textmate@10.0.2': resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} @@ -1338,15 +1803,18 @@ packages: '@sinonjs/commons@3.0.1': resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} - '@sinonjs/fake-timers@13.0.5': - resolution: {integrity: sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==} + '@sinonjs/fake-timers@15.1.0': + resolution: {integrity: sha512-cqfapCxwTGsrR80FEgOoPsTonoefMBY7dnUEbQ+GRcved0jvkJLzvX6F4WtN+HBqbPX/SiFsIRUp+IrCW/2I2w==} - '@sinonjs/samsam@8.0.2': - resolution: {integrity: sha512-v46t/fwnhejRSFTGqbpn9u+LQ9xJDse10gNnPgAcxgdoCDMXj/G2asWAC/8Qs+BAZDicX+MNZouXT1A7c83kVw==} + '@sinonjs/samsam@8.0.3': + resolution: {integrity: sha512-hw6HbX+GyVZzmaYNh82Ecj1vdGZrqVIn/keDTg63IgAwiQPO+xCz99uG6Woqgb4tM0mUiFENKZ4cqd7IX94AXQ==} '@socket.io/component-emitter@3.1.2': resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==} + '@standard-schema/spec@1.1.0': + resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} + '@tootallnate/quickjs-emscripten@0.23.0': resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} @@ -1371,11 +1839,11 @@ packages: '@types/babel__traverse@7.28.0': resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} - '@types/body-parser@1.19.5': - resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} + '@types/body-parser@1.19.6': + resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} - '@types/chai@5.2.2': - resolution: {integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==} + '@types/chai@5.2.3': + resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} '@types/connect@3.4.38': resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} @@ -1383,8 +1851,8 @@ packages: '@types/content-disposition@0.5.9': resolution: {integrity: sha512-8uYXI3Gw35MhiVYhG3s295oihrxRyytcRHjSjqnqZVDDy/xcGBRny7+Xj1Wgfhv5QzRtN2hB2dVRBUX9XW3UcQ==} - '@types/cookie-parser@1.4.9': - resolution: {integrity: sha512-tGZiZ2Gtc4m3wIdLkZ8mkj1T6CEHb35+VApbL2T14Dew8HA7c+04dmKqsKRNC+8RJPm16JEK0tFSwdZqubfc4g==} + '@types/cookie-parser@1.4.10': + resolution: {integrity: sha512-B4xqkqfZ8Wek+rCOeRxsjMS9OgvzebEzzLYw7NHYuvzb7IdxOkI0ZHGgeEBX4PUM7QGVvNSK60T3OvWj3YfBRg==} peerDependencies: '@types/express': '*' @@ -1394,8 +1862,8 @@ packages: '@types/cookies@0.9.1': resolution: {integrity: sha512-E/DPgzifH4sM1UMadJMWd6mO2jOd4g1Ejwzx8/uRCDpJis1IrlyQEcGAYEomtAqRYmD5ORbNXMeI9U0RiVGZbg==} - '@types/cors@2.8.17': - resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==} + '@types/cors@2.8.19': + resolution: {integrity: sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==} '@types/cross-spawn@6.0.6': resolution: {integrity: sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA==} @@ -1412,17 +1880,17 @@ packages: '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} - '@types/express-serve-static-core@5.0.7': - resolution: {integrity: sha512-R+33OsgWw7rOhD1emjU7dzCDHucJrgJXMA5PYCzJxVil0dsyx5iBEPHqpPfiKNJQb7lZ1vxwoLR4Z87bBUpeGQ==} + '@types/express-serve-static-core@5.1.0': + resolution: {integrity: sha512-jnHMsrd0Mwa9Cf4IdOzbz543y4XJepXrbia2T4b6+spXC2We3t1y6K44D3mR8XMFSXMCf3/l7rCgddfx7UNVBA==} '@types/express-session@1.18.2': resolution: {integrity: sha512-k+I0BxwVXsnEU2hV77cCobC08kIsn4y44C3gC0b46uxZVMaXA04lSPgRLR/bSL2w0t0ShJiG8o4jPzRG/nscFg==} - '@types/express@5.0.3': - resolution: {integrity: sha512-wGA0NX93b19/dZC1J18tKWVIYWyyF2ZjT9vin/NRu0qzzvfVzWjs04iq2rQ3H65vCTQYlRqs3YHfY7zjdV+9Kw==} + '@types/express@5.0.6': + resolution: {integrity: sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA==} - '@types/formidable@3.4.5': - resolution: {integrity: sha512-s7YPsNVfnsng5L8sKnG/Gbb2tiwwJTY1conOkJzTMRvJAlLFW1nEua+ADsJQu8N1c0oTHx9+d5nqg10WuT9gHQ==} + '@types/formidable@3.4.6': + resolution: {integrity: sha512-LI4Hk+KNsM5q7br4oMVoaWeb+gUqJpz1N8+Y2Q6Cz9cVH33ybahRKUWaRmMboVlkwSbOUGgwc/pEkS7yMSzoWg==} '@types/fs-extra@9.0.13': resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} @@ -1499,25 +1967,25 @@ packages: '@types/node-fetch@2.6.12': resolution: {integrity: sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==} - '@types/node@24.7.0': - resolution: {integrity: sha512-IbKooQVqUBrlzWTi79E8Fw78l8k1RNtlDDNWsFZs7XonuQSJ8oNYfEeclhprUldXISRMLzBpILuKgPlIxm+/Yw==} + '@types/node@25.0.9': + resolution: {integrity: sha512-/rpCXHlCWeqClNBwUhDcusJxXYDjZTyE8v5oTO7WbL8eij2nKhUeU89/6xgjU7N4/Vh3He0BtyhJdQbDyhiXAw==} '@types/oidc-provider@9.5.0': resolution: {integrity: sha512-eEzCRVTSqIHD9Bo/qRJ4XQWQ5Z/zBcG+Z2cGJluRsSuWx1RJihqRyPxhIEpMXTwPzHYRTQkVp7hwisQOwzzSAg==} - '@types/qs@6.9.18': - resolution: {integrity: sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA==} + '@types/qs@6.14.0': + resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} '@types/range-parser@1.2.7': resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} - '@types/react-dom@19.2.1': - resolution: {integrity: sha512-/EEvYBdT3BflCWvTMO7YkYBHVE9Ci6XdqZciZANQgKpaiDRGOLIlRo91jbTNRQjgPFWVaRxcYc0luVNFitz57A==} + '@types/react-dom@19.2.3': + resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==} peerDependencies: '@types/react': ^19.2.0 - '@types/react@19.2.2': - resolution: {integrity: sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA==} + '@types/react@19.2.8': + resolution: {integrity: sha512-3MbSL37jEchWZz2p2mjntRZtPt837ij10ApxKfgmXCTuHWagYg7iA5bqPw6C8BMPfwidlvfPI/fxOc42HLhcyg==} '@types/semver@7.7.1': resolution: {integrity: sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA==} @@ -1525,14 +1993,20 @@ packages: '@types/send@0.17.4': resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} + '@types/send@1.2.1': + resolution: {integrity: sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==} + '@types/serve-static@1.15.7': resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} - '@types/sinon@17.0.4': - resolution: {integrity: sha512-RHnIrhfPO3+tJT0s7cFaXGZvsL4bbR3/k7z3P312qMS4JaS2Tk+KiwiLx1S0rQ56ERj00u1/BtdyVd0FY+Pdew==} + '@types/serve-static@2.2.0': + resolution: {integrity: sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ==} - '@types/sinonjs__fake-timers@8.1.5': - resolution: {integrity: sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==} + '@types/sinon@21.0.0': + resolution: {integrity: sha512-+oHKZ0lTI+WVLxx1IbJDNmReQaIsQJjN2e7UUrJHEeByG7bFeKJYsv1E75JxTQ9QKJDp21bAa/0W2Xo4srsDnw==} + + '@types/sinonjs__fake-timers@15.0.1': + resolution: {integrity: sha512-Ko2tjWJq8oozHzHV+reuvS5KYIRAokHnGbDwGh/J64LntgpbuylF74ipEL24HCyRjf9FOlBiBHWBR1RlVKsI1w==} '@types/sizzle@2.3.9': resolution: {integrity: sha512-xzLEyKB50yqCUPUJkIsrVvoWNfFUbIZI+RspLWt8u+tIW/BetMBZtgV2LY/2o+tYH8dRvQ+eoPf3NdhQCcLE2w==} @@ -1578,11 +2052,11 @@ packages: typescript: optional: true - '@typescript-eslint/eslint-plugin@8.46.0': - resolution: {integrity: sha512-hA8gxBq4ukonVXPy0OKhiaUh/68D0E88GSmtC1iAEnGaieuDi38LhS7jdCHRLi6ErJBNDGCzvh5EnzdPwUc0DA==} + '@typescript-eslint/eslint-plugin@8.53.1': + resolution: {integrity: sha512-cFYYFZ+oQFi6hUnBTbLRXfTJiaQtYE3t4O692agbBl+2Zy+eqSKWtPjhPXJu1G7j4RLjKgeJPDdq3EqOwmX5Ag==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.46.0 + '@typescript-eslint/parser': ^8.53.1 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' @@ -1596,15 +2070,15 @@ packages: typescript: optional: true - '@typescript-eslint/parser@8.46.0': - resolution: {integrity: sha512-n1H6IcDhmmUEG7TNVSspGmiHHutt7iVKtZwRppD7e04wha5MrkV1h3pti9xQLcCMt6YWsncpoT0HMjkH1FNwWQ==} + '@typescript-eslint/parser@8.53.1': + resolution: {integrity: sha512-nm3cvFN9SqZGXjmw5bZ6cGmvJSyJPn0wU9gHAZZHDnZl2wF9PhHv78Xf06E0MaNk4zLVHL8hb2/c32XvyJOLQg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/project-service@8.46.0': - resolution: {integrity: sha512-OEhec0mH+U5Je2NZOeK1AbVCdm0ChyapAyTeXVIYTPXDJ3F07+cu87PPXcGoYqZ7M9YJVvFnfpGg1UmCIqM+QQ==} + '@typescript-eslint/project-service@8.53.1': + resolution: {integrity: sha512-WYC4FB5Ra0xidsmlPb+1SsnaSKPmS3gsjIARwbEkHkoWloQmuzcfypljaJcR78uyLA1h8sHdWWPHSLDI+MtNog==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' @@ -1613,12 +2087,12 @@ packages: resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/scope-manager@8.46.0': - resolution: {integrity: sha512-lWETPa9XGcBes4jqAMYD9fW0j4n6hrPtTJwWDmtqgFO/4HF4jmdH/Q6wggTw5qIT5TXjKzbt7GsZUBnWoO3dqw==} + '@typescript-eslint/scope-manager@8.53.1': + resolution: {integrity: sha512-Lu23yw1uJMFY8cUeq7JlrizAgeQvWugNQzJp8C3x8Eo5Jw5Q2ykMdiiTB9vBVOOUBysMzmRRmUfwFrZuI2C4SQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.46.0': - resolution: {integrity: sha512-WrYXKGAHY836/N7zoK/kzi6p8tXFhasHh8ocFL9VZSAkvH956gfeRfcnhs3xzRy8qQ/dq3q44v1jvQieMFg2cw==} + '@typescript-eslint/tsconfig-utils@8.53.1': + resolution: {integrity: sha512-qfvLXS6F6b1y43pnf0pPbXJ+YoXIC7HKg0UGZ27uMIemKMKA6XH2DTxsEDdpdN29D+vHV07x/pnlPNVLhdhWiA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' @@ -1633,8 +2107,8 @@ packages: typescript: optional: true - '@typescript-eslint/type-utils@8.46.0': - resolution: {integrity: sha512-hy+lvYV1lZpVs2jRaEYvgCblZxUoJiPyCemwbQZ+NGulWkQRy0HRPYAoef/CNSzaLt+MLvMptZsHXHlkEilaeg==} + '@typescript-eslint/type-utils@8.53.1': + resolution: {integrity: sha512-MOrdtNvyhy0rHyv0ENzub1d4wQYKb2NmIqG7qEqPWFW7Mpy2jzFC3pQ2yKDvirZB7jypm5uGjF2Qqs6OIqu47w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -1644,8 +2118,8 @@ packages: resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/types@8.46.0': - resolution: {integrity: sha512-bHGGJyVjSE4dJJIO5yyEWt/cHyNwga/zXGJbJJ8TiO01aVREK6gCTu3L+5wrkb1FbDkQ+TKjMNe9R/QQQP9+rA==} + '@typescript-eslint/types@8.53.1': + resolution: {integrity: sha512-jr/swrr2aRmUAUjW5/zQHbMaui//vQlsZcJKijZf3M26bnmLj8LyZUpj8/Rd6uzaek06OWsqdofN/Thenm5O8A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/typescript-estree@7.18.0': @@ -1657,8 +2131,8 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@8.46.0': - resolution: {integrity: sha512-ekDCUfVpAKWJbRfm8T1YRrCot1KFxZn21oV76v5Fj4tr7ELyk84OS+ouvYdcDAwZL89WpEkEj2DKQ+qg//+ucg==} + '@typescript-eslint/typescript-estree@8.53.1': + resolution: {integrity: sha512-RGlVipGhQAG4GxV1s34O91cxQ/vWiHJTDHbXRr0li2q/BGg3RR/7NM8QDWgkEgrwQYCvmJV9ichIwyoKCQ+DTg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' @@ -1669,8 +2143,8 @@ packages: peerDependencies: eslint: ^8.56.0 - '@typescript-eslint/utils@8.46.0': - resolution: {integrity: sha512-nD6yGWPj1xiOm4Gk0k6hLSZz2XkNXhuYmyIrOWcHoPuAhjT9i5bAG+xbWPgFeNR8HPHHtpNKdYUXJl/D3x7f5g==} + '@typescript-eslint/utils@8.53.1': + resolution: {integrity: sha512-c4bMvGVWW4hv6JmDUEG7fSYlWOl3II2I4ylt0NM+seinYQlZMQIaKaXIIVJWt9Ofh6whrpM+EdDQXKXjNovvrg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -1680,8 +2154,8 @@ packages: resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/visitor-keys@8.46.0': - resolution: {integrity: sha512-FrvMpAK+hTbFy7vH5j1+tMYHMSKLE6RzluFJlkFNKD0p9YsUT75JlBSmr5so3QRzvMwU5/bIEdeNrxm8du8l3Q==} + '@typescript-eslint/visitor-keys@8.53.1': + resolution: {integrity: sha512-oy+wV7xDKFPRyNggmXuZQSBzvoLnpmJs+GhzRhPjrxl2b/jIlyjVokzm47CZCDUdXKr2zd7ZLodPfOBpOPyPlg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.3.0': @@ -1762,93 +2236,93 @@ packages: cpu: [x64] os: [win32] - '@vitejs/plugin-react@5.0.4': - resolution: {integrity: sha512-La0KD0vGkVkSk6K+piWDKRUyg8Rl5iAIKRMH0vMJI0Eg47bq1eOxmoObAaQG37WMW9MSyk7Cs8EIWwJC1PtzKA==} + '@vitejs/plugin-react@5.1.2': + resolution: {integrity: sha512-EcA07pHJouywpzsoTUqNh5NwGayl2PPVEJKUSinGGSxFGYn+shYbqMGBg6FXDqgXum9Ou/ecb+411ssw8HImJQ==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 - '@vitejs/plugin-vue@6.0.1': - resolution: {integrity: sha512-+MaE752hU0wfPFJEUAIxqw18+20euHHdxVtMvbFcOEpjEyfqXH/5DCoTHiVJ0J29EhTJdoTkjEv5YBKU9dnoTw==} + '@vitejs/plugin-vue@6.0.2': + resolution: {integrity: sha512-iHmwV3QcVGGvSC1BG5bZ4z6iwa1SOpAPWmnjOErd4Ske+lZua5K9TtAVdx0gMBClJ28DViCbSmZitjWZsWO3LA==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: vite: ^5.0.0 || ^6.0.0 || ^7.0.0 vue: ^3.2.25 - '@vitest/expect@3.2.4': - resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==} + '@vitest/expect@4.0.17': + resolution: {integrity: sha512-mEoqP3RqhKlbmUmntNDDCJeTDavDR+fVYkSOw8qRwJFaW/0/5zA9zFeTrHqNtcmwh6j26yMmwx2PqUDPzt5ZAQ==} - '@vitest/mocker@3.2.4': - resolution: {integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==} + '@vitest/mocker@4.0.17': + resolution: {integrity: sha512-+ZtQhLA3lDh1tI2wxe3yMsGzbp7uuJSWBM1iTIKCbppWTSBN09PUC+L+fyNlQApQoR+Ps8twt2pbSSXg2fQVEQ==} peerDependencies: msw: ^2.4.9 - vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 + vite: ^6.0.0 || ^7.0.0-0 peerDependenciesMeta: msw: optional: true vite: optional: true - '@vitest/pretty-format@3.2.4': - resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==} + '@vitest/pretty-format@4.0.17': + resolution: {integrity: sha512-Ah3VAYmjcEdHg6+MwFE17qyLqBHZ+ni2ScKCiW2XrlSBV4H3Z7vYfPfz7CWQ33gyu76oc0Ai36+kgLU3rfF4nw==} - '@vitest/runner@3.2.4': - resolution: {integrity: sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==} + '@vitest/runner@4.0.17': + resolution: {integrity: sha512-JmuQyf8aMWoo/LmNFppdpkfRVHJcsgzkbCA+/Bk7VfNH7RE6Ut2qxegeyx2j3ojtJtKIbIGy3h+KxGfYfk28YQ==} - '@vitest/snapshot@3.2.4': - resolution: {integrity: sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==} + '@vitest/snapshot@4.0.17': + resolution: {integrity: sha512-npPelD7oyL+YQM2gbIYvlavlMVWUfNNGZPcu0aEUQXt7FXTuqhmgiYupPnAanhKvyP6Srs2pIbWo30K0RbDtRQ==} - '@vitest/spy@3.2.4': - resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==} + '@vitest/spy@4.0.17': + resolution: {integrity: sha512-I1bQo8QaP6tZlTomQNWKJE6ym4SHf3oLS7ceNjozxxgzavRAgZDc06T7kD8gb9bXKEgcLNt00Z+kZO6KaJ62Ew==} - '@vitest/utils@3.2.4': - resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==} + '@vitest/utils@4.0.17': + resolution: {integrity: sha512-RG6iy+IzQpa9SB8HAFHJ9Y+pTzI+h8553MrciN9eC6TFBErqrQaTas4vG+MVj8S4uKk8uTT2p0vgZPnTdxd96w==} - '@vue/compiler-core@3.5.19': - resolution: {integrity: sha512-/afpyvlkrSNYbPo94Qu8GtIOWS+g5TRdOvs6XZNw6pWQQmj5pBgSZvEPOIZlqWq0YvoUhDDQaQ2TnzuJdOV4hA==} + '@vue/compiler-core@3.5.25': + resolution: {integrity: sha512-vay5/oQJdsNHmliWoZfHPoVZZRmnSWhug0BYT34njkYTPqClh3DNWLkZNJBVSjsNMrg0CCrBfoKkjZQPM/QVUw==} - '@vue/compiler-dom@3.5.19': - resolution: {integrity: sha512-Drs6rPHQZx/pN9S6ml3Z3K/TWCIRPvzG2B/o5kFK9X0MNHt8/E+38tiRfojufrYBfA6FQUFB2qBBRXlcSXWtOA==} + '@vue/compiler-dom@3.5.25': + resolution: {integrity: sha512-4We0OAcMZsKgYoGlMjzYvaoErltdFI2/25wqanuTu+S4gismOTRTBPi4IASOjxWdzIwrYSjnqONfKvuqkXzE2Q==} - '@vue/compiler-sfc@3.5.19': - resolution: {integrity: sha512-YWCm1CYaJ+2RvNmhCwI7t3I3nU+hOrWGWMsn+Z/kmm1jy5iinnVtlmkiZwbLlbV1SRizX7vHsc0/bG5dj0zRTg==} + '@vue/compiler-sfc@3.5.25': + resolution: {integrity: sha512-PUgKp2rn8fFsI++lF2sO7gwO2d9Yj57Utr5yEsDf3GNaQcowCLKL7sf+LvVFvtJDXUp/03+dC6f2+LCv5aK1ag==} - '@vue/compiler-ssr@3.5.19': - resolution: {integrity: sha512-/wx0VZtkWOPdiQLWPeQeqpHWR/LuNC7bHfSX7OayBTtUy8wur6vT6EQIX6Et86aED6J+y8tTw43qo2uoqGg5sw==} + '@vue/compiler-ssr@3.5.25': + resolution: {integrity: sha512-ritPSKLBcParnsKYi+GNtbdbrIE1mtuFEJ4U1sWeuOMlIziK5GtOL85t5RhsNy4uWIXPgk+OUdpnXiTdzn8o3A==} - '@vue/devtools-api@8.0.0': - resolution: {integrity: sha512-I2jF/knesMU36zTw1hnExjoixDZvDoantiWKVrHpLd2J160zqqe8vp3vrGfjWdfuHmPJwSXe/YNG3rYOYiwy1Q==} + '@vue/devtools-api@8.0.5': + resolution: {integrity: sha512-DgVcW8H/Nral7LgZEecYFFYXnAvGuN9C3L3DtWekAncFBedBczpNW8iHKExfaM559Zm8wQWrwtYZ9lXthEHtDw==} - '@vue/devtools-kit@8.0.0': - resolution: {integrity: sha512-b11OeQODkE0bctdT0RhL684pEV2DPXJ80bjpywVCbFn1PxuL3bmMPDoJKjbMnnoWbrnUYXYzFfmMWBZAMhORkQ==} + '@vue/devtools-kit@8.0.5': + resolution: {integrity: sha512-q2VV6x1U3KJMTQPUlRMyWEKVbcHuxhqJdSr6Jtjz5uAThAIrfJ6WVZdGZm5cuO63ZnSUz0RCsVwiUUb0mDV0Yg==} - '@vue/devtools-shared@8.0.0': - resolution: {integrity: sha512-jrKnbjshQCiOAJanoeJjTU7WaCg0Dz2BUal6SaR6VM/P3hiFdX5Q6Pxl73ZMnrhCxNK9nAg5hvvRGqs+6dtU1g==} + '@vue/devtools-shared@8.0.5': + resolution: {integrity: sha512-bRLn6/spxpmgLk+iwOrR29KrYnJjG9DGpHGkDFG82UM21ZpJ39ztUT9OXX3g+usW7/b2z+h46I9ZiYyB07XMXg==} - '@vue/reactivity@3.5.19': - resolution: {integrity: sha512-4bueZg2qs5MSsK2dQk3sssV0cfvxb/QZntTC8v7J448GLgmfPkQ+27aDjlt40+XFqOwUq5yRxK5uQh14Fc9eVA==} + '@vue/reactivity@3.5.25': + resolution: {integrity: sha512-5xfAypCQepv4Jog1U4zn8cZIcbKKFka3AgWHEFQeK65OW+Ys4XybP6z2kKgws4YB43KGpqp5D/K3go2UPPunLA==} - '@vue/runtime-core@3.5.19': - resolution: {integrity: sha512-TaooCr8Hge1sWjLSyhdubnuofs3shhzZGfyD11gFolZrny76drPwBVQj28/z/4+msSFb18tOIg6VVVgf9/IbIA==} + '@vue/runtime-core@3.5.25': + resolution: {integrity: sha512-Z751v203YWwYzy460bzsYQISDfPjHTl+6Zzwo/a3CsAf+0ccEjQ8c+0CdX1WsumRTHeywvyUFtW6KvNukT/smA==} - '@vue/runtime-dom@3.5.19': - resolution: {integrity: sha512-qmahqeok6ztuUTmV8lqd7N9ymbBzctNF885n8gL3xdCC1u2RnM/coX16Via0AiONQXUoYpxPojL3U1IsDgSWUQ==} + '@vue/runtime-dom@3.5.25': + resolution: {integrity: sha512-a4WrkYFbb19i9pjkz38zJBg8wa/rboNERq3+hRRb0dHiJh13c+6kAbgqCPfMaJ2gg4weWD3APZswASOfmKwamA==} - '@vue/server-renderer@3.5.19': - resolution: {integrity: sha512-ZJ/zV9SQuaIO+BEEVq/2a6fipyrSYfjKMU3267bPUk+oTx/hZq3RzV7VCh0Unlppt39Bvh6+NzxeopIFv4HJNg==} + '@vue/server-renderer@3.5.25': + resolution: {integrity: sha512-UJaXR54vMG61i8XNIzTSf2Q7MOqZHpp8+x3XLGtE3+fL+nQd+k7O5+X3D/uWrnQXOdMw5VPih+Uremcw+u1woQ==} peerDependencies: - vue: 3.5.19 + vue: 3.5.25 - '@vue/shared@3.5.19': - resolution: {integrity: sha512-IhXCOn08wgKrLQxRFKKlSacWg4Goi1BolrdEeLYn6tgHjJNXVrWJ5nzoxZqNwl5p88aLlQ8LOaoMa3AYvaKJ/Q==} + '@vue/shared@3.5.25': + resolution: {integrity: sha512-AbOPdQQnAnzs58H2FrrDxYj/TJfmeS2jdfEEhgiKINy+bnOANmVizIEgq1r+C5zsbs6l1CCQxtcj71rwNQ4jWg==} - '@vueuse/core@13.7.0': - resolution: {integrity: sha512-myagn09+c6BmS6yHc1gTwwsdZilAovHslMjyykmZH3JNyzI5HoWhv114IIdytXiPipdHJ2gDUx0PB93jRduJYg==} + '@vueuse/core@14.1.0': + resolution: {integrity: sha512-rgBinKs07hAYyPF834mDTigH7BtPqvZ3Pryuzt1SD/lg5wEcWqvwzXXYGEDb2/cP0Sj5zSvHl3WkmMELr5kfWw==} peerDependencies: vue: ^3.5.0 - '@vueuse/integrations@13.7.0': - resolution: {integrity: sha512-Na5p0ONLepNV/xCBi8vBMuzCOZh9CFT/OHnrUlABWXgWTWSHM3wrVaLS1xvAijPLU5B1ysyJDDW/hKak80oLGA==} + '@vueuse/integrations@14.1.0': + resolution: {integrity: sha512-eNQPdisnO9SvdydTIXnTE7c29yOsJBD/xkwEyQLdhDC/LKbqrFpXHb3uS//7NcIrQO3fWVuvMGp8dbK6mNEMCA==} peerDependencies: async-validator: ^4 axios: ^1 @@ -1889,11 +2363,11 @@ packages: universal-cookie: optional: true - '@vueuse/metadata@13.7.0': - resolution: {integrity: sha512-8okFhS/1ite8EwUdZZfvTYowNTfXmVCOrBFlA31O0HD8HKXhY+WtTRyF0LwbpJfoFPc+s9anNJIXMVrvP7UTZg==} + '@vueuse/metadata@14.1.0': + resolution: {integrity: sha512-7hK4g015rWn2PhKcZ99NyT+ZD9sbwm7SGvp7k+k+rKGWnLjS/oQozoIZzWfCewSUeBmnJkIb+CNr7Zc/EyRnnA==} - '@vueuse/shared@13.7.0': - resolution: {integrity: sha512-Wi2LpJi4UA9kM0OZ0FCZslACp92HlVNw1KPaDY6RAzvQ+J1s7seOtcOpmkfbD5aBSmMn9NvOakc8ZxMxmDXTIg==} + '@vueuse/shared@14.1.0': + resolution: {integrity: sha512-EcKxtYvn6gx1F8z9J5/rsg3+lTQnvOruQd8fUecW99DCK04BkWD7z5KQ/wTAx+DazyoEE9dJt/zV8OIEQbM6kw==} peerDependencies: vue: ^3.5.0 @@ -1953,10 +2427,6 @@ packages: resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} engines: {node: '>=12'} - ansis@4.2.0: - resolution: {integrity: sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==} - engines: {node: '>=14'} - anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} @@ -2021,8 +2491,8 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - axios@1.12.2: - resolution: {integrity: sha512-vMJzPewAlRyOgxV2dU0Cuz2O8zzzx9VYtbJOaBgXFeLc4IV/Eg50n4LowmehOOR61S8ZMpc2K5Sa7g6A4jfkUw==} + axios@1.13.2: + resolution: {integrity: sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==} babel-plugin-react-compiler@19.1.0-rc.3: resolution: {integrity: sha512-mjRn69WuTz4adL0bXGx8Rsyk1086zFJeKmes6aK0xPuK3aaXmDJdLHqwKKMrpm6KAI1MCoUK72d2VeqQbu8YIA==} @@ -2037,8 +2507,8 @@ packages: resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==} engines: {node: ^4.5.0 || >= 5.9} - baseline-browser-mapping@2.8.14: - resolution: {integrity: sha512-GM9c0cWWR8Ga7//Ves/9KRgTS8nLausCkP3CGiFLrnwA2CDUluXgaQqvrULoR2Ujrd/mz/lkX87F5BHFsNr5sQ==} + baseline-browser-mapping@2.9.11: + resolution: {integrity: sha512-Sg0xJUNDU1sJNGdfGWhVHX0kkZ+HWcvmVymJbj6NSgZZmW/8S9Y2HQ5euytnIgakgxN6papOAWiwDo1ctFDcoQ==} hasBin: true basic-ftp@5.0.5: @@ -2061,11 +2531,11 @@ packages: bintrees@1.0.2: resolution: {integrity: sha512-VOMgTMwjAaUG580SXn3LacVgjurrbMme7ZZNYGSSV7mmtY6QQRh0Eg3pwIcntQ77DErK1L0NxkbetjcoXzVwKw==} - birpc@2.5.0: - resolution: {integrity: sha512-VSWO/W6nNQdyP520F1mhf+Lc2f8pjGQOtoHHm7Ze8Go1kX7akpVIrtTa0fn+HB0QJEDVacl6aO08YE0PgXfdnQ==} + birpc@2.8.0: + resolution: {integrity: sha512-Bz2a4qD/5GRhiHSwj30c/8kC8QGj12nNDwz3D4ErQ4Xhy35dsSDvF+RA/tWpjyU0pdGtSDiEk6B5fBGE1qNVhw==} - body-parser@2.2.0: - resolution: {integrity: sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==} + body-parser@2.2.1: + resolution: {integrity: sha512-nfDwkulwiZYQIGwxdy0RUmowMhKcFVcYXUU7m4QlKYim1rUtg83xm2yjZ40QjDuc291AJjjeSc9b++AWHSgSHw==} engines: {node: '>=18'} brace-expansion@1.1.12: @@ -2081,8 +2551,8 @@ packages: browser-stdout@1.3.1: resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} - browserslist@4.26.3: - resolution: {integrity: sha512-lAUU+02RFBuCKQPj/P6NgjlbCnLBMp4UtgTx7vNHd3XSIJF87s9a5rA3aH2yw3GS9DqZAUbOtZdCCiZeVRqt0w==} + browserslist@4.28.1: + resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -2100,10 +2570,6 @@ packages: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} - cac@6.7.14: - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} - engines: {node: '>=8'} - call-bind-apply-helpers@1.0.2: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} engines: {node: '>= 0.4'} @@ -2124,15 +2590,15 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - caniuse-lite@1.0.30001749: - resolution: {integrity: sha512-0rw2fJOmLfnzCRbkm8EyHL8SvI2Apu5UbnQuTsJ0ClgrH8hcwFooJ1s5R0EP8o8aVrFu8++ae29Kt9/gZAZp/Q==} + caniuse-lite@1.0.30001761: + resolution: {integrity: sha512-JF9ptu1vP2coz98+5051jZ4PwQgd2ni8A+gYSN7EA7dPKIMf0pDlSUxhdmVOaV3/fYK5uWBkgSXJaRLr4+3A6g==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - chai@5.2.0: - resolution: {integrity: sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==} - engines: {node: '>=12'} + chai@6.2.2: + resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} + engines: {node: '>=18'} chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} @@ -2144,10 +2610,6 @@ packages: character-entities-legacy@3.0.0: resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} - check-error@2.1.1: - resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} - engines: {node: '>= 16'} - chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} @@ -2156,6 +2618,10 @@ packages: resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} + chokidar@5.0.0: + resolution: {integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==} + engines: {node: '>= 20.19.0'} + chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} @@ -2188,9 +2654,9 @@ packages: resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} engines: {node: '>= 0.6'} - content-disposition@1.0.0: - resolution: {integrity: sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==} - engines: {node: '>= 0.6'} + content-disposition@1.0.1: + resolution: {integrity: sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==} + engines: {node: '>=18'} content-type@1.0.5: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} @@ -2221,6 +2687,10 @@ packages: resolution: {integrity: sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==} engines: {node: '>=18'} + cookie@1.1.1: + resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==} + engines: {node: '>=18'} + cookiejar@2.1.4: resolution: {integrity: sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==} @@ -2228,9 +2698,9 @@ packages: resolution: {integrity: sha512-TG2hpqe4ELx54QER/S3HQ9SRVnQnGBtKUz5bLQWtYAQ+o6GpgMs6sYUvaiJjVxb+UXwhRhAEP3m7LbsIZ77Hmw==} engines: {node: '>= 0.8'} - copy-anything@3.0.5: - resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} - engines: {node: '>=12.13'} + copy-anything@4.0.5: + resolution: {integrity: sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==} + engines: {node: '>=18'} cors@2.8.5: resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} @@ -2249,12 +2719,12 @@ packages: resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} - cssstyle@5.3.1: - resolution: {integrity: sha512-g5PC9Aiph9eiczFpcgUhd9S4UUO3F+LHGRIi5NUMZ+4xtoIYbHNZwZnWA2JsFGe8OU8nl4WyaEFiZuGuxlutJQ==} + cssstyle@5.3.5: + resolution: {integrity: sha512-GlsEptulso7Jg0VaOZ8BXQi3AkYM5BOJKEO/rjMidSCq70FkIC5y0eawrCXeYzxgt3OCf4Ls+eoxN+/05vN0Ag==} engines: {node: '>=20'} - csstype@3.1.3: - resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} data-uri-to-buffer@6.0.2: resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==} @@ -2296,15 +2766,6 @@ packages: supports-color: optional: true - debug@4.3.7: - resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.4.0: resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} engines: {node: '>=6.0'} @@ -2339,10 +2800,6 @@ packages: decimal.js@10.6.0: resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==} - deep-eql@5.0.2: - resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} - engines: {node: '>=6'} - deep-equal@1.0.1: resolution: {integrity: sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==} @@ -2404,6 +2861,10 @@ packages: resolution: {integrity: sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==} engines: {node: '>=0.3.1'} + diff@8.0.2: + resolution: {integrity: sha512-sSuxWU5j5SR9QQji/o2qMvqRNYRDOcBTgsJ/DeCf4iSN4gW+gNMXM7wFIP+fdXZxoNiAnHUTGjCr+TSWXdRDKg==} + engines: {node: '>=0.3.1'} + dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -2430,8 +2891,8 @@ packages: engines: {node: '>=0.10.0'} hasBin: true - electron-to-chromium@1.5.233: - resolution: {integrity: sha512-iUdTQSf7EFXsDdQsp8MwJz5SVk4APEFqXU/S47OtQ0YLqacSwPXdZ5vRlMX3neb07Cy2vgioNuRnWUXFwuslkg==} + electron-to-chromium@1.5.267: + resolution: {integrity: sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -2443,15 +2904,15 @@ packages: resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} engines: {node: '>= 0.8'} - engine.io-client@6.6.3: - resolution: {integrity: sha512-T0iLjnyNWahNyv/lcjS2y4oE358tVS/SYQNxYXGAJ9/GLgH4VCvOQ/mhTjqU88mLZCQgiG8RIegFHYCdVC+j5w==} + engine.io-client@6.6.4: + resolution: {integrity: sha512-+kjUJnZGwzewFDw951CDWcwj35vMNf2fcj7xQWOctq1F2i1jkDdVvdFG9kM/BEChymCH36KgjnW0NsL58JYRxw==} engine.io-parser@5.2.3: resolution: {integrity: sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==} engines: {node: '>=10.0.0'} - engine.io@6.6.4: - resolution: {integrity: sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g==} + engine.io@6.6.5: + resolution: {integrity: sha512-2RZdgEbXmp5+dVbRm0P7HQUImZpICccJy7rN7Tv+SFa55pH+lxnuw6/K1ZxxBfHoYpSkHLAO92oa8O4SwFXA2A==} engines: {node: '>=10.2.0'} entities@4.5.0: @@ -2493,8 +2954,18 @@ packages: resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} engines: {node: '>= 0.4'} - esbuild@0.25.10: - resolution: {integrity: sha512-9RiGKvCwaqxO2owP61uQ4BgNborAQskMR6QusfWzQqv7AZOg5oGehdY2pRJMTKuwxd1IDBP4rSbI5lHzU7SMsQ==} + esbuild@0.25.12: + resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==} + engines: {node: '>=18'} + hasBin: true + + esbuild@0.27.1: + resolution: {integrity: sha512-yY35KZckJJuVVPXpvjgxiCuVEJT67F6zDeVTv4rizyPrfGBUpZQsvmxnN+C371c2esD/hNMjj4tpBhuueLN7aA==} + engines: {node: '>=18'} + hasBin: true + + esbuild@0.27.2: + resolution: {integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==} engines: {node: '>=18'} hasBin: true @@ -2615,14 +3086,14 @@ packages: peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 - eslint-plugin-react-hooks@6.1.1: - resolution: {integrity: sha512-St9EKZzOAQF704nt2oJvAKZHjhrpg25ClQoaAlHmPZuajFldVLqRDW4VBNAS01NzeiQF0m0qhG1ZA807K6aVaQ==} + eslint-plugin-react-hooks@7.0.1: + resolution: {integrity: sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA==} engines: {node: '>=18'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 - eslint-plugin-react-refresh@0.4.23: - resolution: {integrity: sha512-G4j+rv0NmbIR45kni5xJOrYvCtyD3/7LjpVH8MPPcudXDcNu8gv+4ATTDXTtbRR8rTCM5HxECvCSsRmxKnWDsA==} + eslint-plugin-react-refresh@0.4.26: + resolution: {integrity: sha512-1RETEylht2O6FM/MvgnyvT+8K21wLqDNg4qD51Zj3guhjt433XbnnkVttHMyaVyAFD03QSV4LPS5iE3VQmO7XQ==} peerDependencies: eslint: '>=8.40' @@ -2652,8 +3123,8 @@ packages: resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.37.0: - resolution: {integrity: sha512-XyLmROnACWqSxiGYArdef1fItQd47weqB7iwtfr9JHwRrqIXZdcFMvvEcL9xHCmL0SNsOvF0c42lWyM1U5dgig==} + eslint@9.39.2: + resolution: {integrity: sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -2693,9 +3164,9 @@ packages: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} - eta@3.5.0: - resolution: {integrity: sha512-e3x3FBvGzeCIHhF+zhK8FZA2vC5uFn6b4HJjegUbIWrDb4mJ7JjTGMJY9VGIbRVpmSwHopNiaJibhjIr+HfLug==} - engines: {node: '>=6.0.0'} + eta@4.5.0: + resolution: {integrity: sha512-qifAYjuW5AM1eEEIsFnOwB+TGqu6ynU3OKj9WbUTOtUBHFPZqL03XUW34kbp3zm19Ald+U8dEyRXaVsUck+Y1g==} + engines: {node: '>=20'} etag@1.8.1: resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} @@ -2706,12 +3177,12 @@ packages: engines: {node: '>=18.0.0'} hasBin: true - expect-type@1.2.1: - resolution: {integrity: sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==} + expect-type@1.3.0: + resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==} engines: {node: '>=12.0.0'} - express-rate-limit@8.1.0: - resolution: {integrity: sha512-4nLnATuKupnmwqiJc27b4dCFmB/T60ExgmtDD7waf4LdrbJ8CPZzZRHYErDYNhoz+ql8fUdYwM/opf90PoPAQA==} + express-rate-limit@8.2.1: + resolution: {integrity: sha512-PCZEIEIxqwhzw4KF0n7QF4QqruVTcF73O5kFKUnGOyjbCCgizBBiFaYpd/fnBLUMPw/BWw9OsiN7GgrNYr7j6g==} engines: {node: '>= 16'} peerDependencies: express: '>= 4.11' @@ -2720,8 +3191,8 @@ packages: resolution: {integrity: sha512-SZjssGQC7TzTs9rpPDuUrR23GNZ9+2+IkA/+IJWmvQilTr5OSliEHGF+D9scbIpdC6yGtTI0/VhaHoVes2AN/A==} engines: {node: '>= 0.8.0'} - express@5.1.0: - resolution: {integrity: sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==} + express@5.2.1: + resolution: {integrity: sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==} engines: {node: '>= 18'} extend@3.0.2: @@ -2777,9 +3248,9 @@ packages: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - finalhandler@2.1.0: - resolution: {integrity: sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==} - engines: {node: '>= 0.8'} + finalhandler@2.1.1: + resolution: {integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==} + engines: {node: '>= 18.0.0'} find-root@1.1.0: resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} @@ -2799,11 +3270,11 @@ packages: flatted@3.3.3: resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} - focus-trap@7.6.5: - resolution: {integrity: sha512-7Ke1jyybbbPZyZXFxEftUtxFGLMpE2n6A+z//m4CRDlj0hW+o3iYSmh8nFlYMurOiJVDmJRilUQtJr08KfIxlg==} + focus-trap@7.6.6: + resolution: {integrity: sha512-v/Z8bvMCajtx4mEXmOo7QEsIzlIOqRXTIwgUfsFOF9gEsespdbD0AkPIka1bSXZ8Y8oZ+2IVDQZePkTfEHZl7Q==} - follow-redirects@1.15.9: - resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} + follow-redirects@1.15.11: + resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -2823,6 +3294,10 @@ packages: resolution: {integrity: sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==} engines: {node: '>= 6'} + form-data@4.0.5: + resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} + engines: {node: '>= 6'} + formdata-polyfill@4.0.10: resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} engines: {node: '>=12.20.0'} @@ -2847,10 +3322,6 @@ packages: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} - fs-extra@11.3.2: - resolution: {integrity: sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==} - engines: {node: '>=14.14'} - fs-extra@8.1.0: resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} engines: {node: '>=6 <7 || >=8'} @@ -2903,8 +3374,8 @@ packages: resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} engines: {node: '>= 0.4'} - get-tsconfig@4.10.1: - resolution: {integrity: sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==} + get-tsconfig@4.13.0: + resolution: {integrity: sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==} get-uri@6.0.4: resolution: {integrity: sha512-E1b1lFFLvLgak2whF2xDBcOy6NLVGZBqqjJjsIhvopKfWWEi64pLVTWWehV8KlLerZkfNTA95sTe2OdJKm1OzQ==} @@ -3006,12 +3477,21 @@ packages: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true + hermes-estree@0.25.1: + resolution: {integrity: sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==} + + hermes-parser@0.25.1: + resolution: {integrity: sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==} + hookable@5.5.3: resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} - html-encoding-sniffer@4.0.0: - resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} - engines: {node: '>=18'} + htm@3.1.1: + resolution: {integrity: sha512-983Vyg8NwUE7JkZ6NmOqpCZ+sh1bKv2iYTlUkzlWmA5JD2acKoxd4KVxbMmxX/85mtfdnDmTFoNKcg5DGAvxNQ==} + + html-encoding-sniffer@6.0.0: + resolution: {integrity: sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} html-parse-stringify@3.0.1: resolution: {integrity: sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==} @@ -3027,8 +3507,8 @@ packages: resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} engines: {node: '>= 0.6'} - http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + http-errors@2.0.1: + resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} engines: {node: '>= 0.8'} http-proxy-agent@7.0.2: @@ -3042,16 +3522,20 @@ packages: i18next-browser-languagedetector@8.2.0: resolution: {integrity: sha512-P+3zEKLnOF0qmiesW383vsLdtQVyKtCNA9cjSoKCppTKPQVfKd2W8hbVo5ZhNJKDqeM7BOcvNoKJOjpHh4Js9g==} - i18next@25.5.3: - resolution: {integrity: sha512-joFqorDeQ6YpIXni944upwnuHBf5IoPMuqAchGVeQLdWC2JOjxgM9V8UGLhNIIH/Q8QleRxIi0BSRQehSrDLcg==} + i18next@25.7.4: + resolution: {integrity: sha512-hRkpEblXXcXSNbw8mBNq9042OEetgyB/ahc/X17uV/khPwzV+uB8RHceHh3qavyrkPJvmXFKXME2Sy1E0KjAfw==} peerDependencies: typescript: ^5 peerDependenciesMeta: typescript: optional: true - iconv-lite@0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + iconv-lite@0.7.0: + resolution: {integrity: sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==} + engines: {node: '>=0.10.0'} + + iconv-lite@0.7.1: + resolution: {integrity: sha512-2Tth85cXwGFHfvRgZWszZSvdo+0Xsqmw8k8ZwxScfcBneNUraK+dxRxRm24nszx80Y0TVio8kKLt5sLE7ZCLlw==} engines: {node: '>=0.10.0'} ignore@5.3.2: @@ -3225,9 +3709,9 @@ packages: resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} engines: {node: '>= 0.4'} - is-what@4.1.16: - resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} - engines: {node: '>=12.13'} + is-what@5.5.0: + resolution: {integrity: sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw==} + engines: {node: '>=18'} isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} @@ -3243,8 +3727,8 @@ packages: engines: {node: '>=10'} hasBin: true - jose@6.1.0: - resolution: {integrity: sha512-TTQJyoEoKcC1lscpVDCSsVgYzUDg/0Bt3WE//WiTPK6uOCQC2KZS4MpugbMWt/zyjkopgZoXhZuCi00gLudfUA==} + jose@6.1.3: + resolution: {integrity: sha512-0TpaTfihd4QMNwrz/ob2Bp7X04yuxJkjRGi4aKmOqwhov54i6u79oCv7T+C7lo70MKH6BesI3vscD1yb/yzKXQ==} js-cookie@3.0.5: resolution: {integrity: sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==} @@ -3253,19 +3737,20 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - js-tokens@9.0.1: - resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} - js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true + js-yaml@4.1.1: + resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} + hasBin: true + jsbn@1.1.0: resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} - jsdom@27.0.0: - resolution: {integrity: sha512-lIHeR1qlIRrIN5VMccd8tI2Sgw6ieYXSVktcSHaNe3Z5nE/tcPQYQWOq00wxMvYOsz+73eAkNenVvmPC6bba9A==} - engines: {node: '>=20'} + jsdom@27.4.0: + resolution: {integrity: sha512-mjzqwWRD9Y1J1KUi7W97Gja1bwOOM5Ug0EZ6UDK3xS7j7mndrkwozHtSblfomlzyB4NepioNt+B2sOSzczVgtQ==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} peerDependencies: canvas: ^3.0.0 peerDependenciesMeta: @@ -3304,9 +3789,6 @@ packages: jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - jsonfile@6.2.0: - resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} - jsonminify@0.4.2: resolution: {integrity: sha512-mEtP5ECD0293D+s45JhDutqF5mFCkWY8ClrPFxjSFR2KUoantofky7noSzyKnAnD9Gd8pXHZSUd5bgzLDUBbfA==} engines: {node: '>=0.8.0', npm: '>=1.1.0'} @@ -3317,15 +3799,15 @@ packages: jsonschema@1.2.4: resolution: {integrity: sha512-lz1nOH69GbsVHeVgEdvyavc/33oymY1AZwtePMiMj4HZPMbP5OIKK3zT9INMWjwua/V4Z4yq7wSlBbSG+g4AEw==} - jsonwebtoken@9.0.2: - resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==} + jsonwebtoken@9.0.3: + resolution: {integrity: sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==} engines: {node: '>=12', npm: '>=6'} - jwa@1.4.1: - resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==} + jwa@2.0.1: + resolution: {integrity: sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==} - jws@3.2.2: - resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==} + jws@4.0.1: + resolution: {integrity: sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==} jwt-decode@4.0.0: resolution: {integrity: sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==} @@ -3337,6 +3819,7 @@ packages: keygrip@1.1.0: resolution: {integrity: sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==} engines: {node: '>= 0.6'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -3344,8 +3827,8 @@ packages: koa-compose@4.1.0: resolution: {integrity: sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==} - koa@3.0.1: - resolution: {integrity: sha512-oDxVkRwPOHhGlxKIDiDB2h+/l05QPtefD7nSqRgDfZt8P+QVYFWjfeK8jANf5O2YXjk8egd7KntvXKYx82wOag==} + koa@3.1.1: + resolution: {integrity: sha512-KDDuvpfqSK0ZKEO2gCPedNjl5wYpfj+HNiuVRlbhd1A88S3M0ySkdf2V/EJ4NWt5dwh5PXCdcenrKK2IQJAxsg==} engines: {node: '>= 18'} languages4translatewiki@0.1.3: @@ -3438,10 +3921,6 @@ packages: lodash.clonedeep@4.5.0: resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} - lodash.get@4.4.2: - resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} - deprecated: This package is deprecated. Use the optional chaining (?.) operator instead. - lodash.includes@4.3.0: resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} @@ -3477,17 +3956,11 @@ packages: resolution: {integrity: sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==} engines: {node: '>=8.0'} - loupe@3.1.3: - resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==} - - loupe@3.2.0: - resolution: {integrity: sha512-2NCfZcT5VGVNX9mSZIxLRkEAegDGBpuQZBy13desuHeVORmBDyAET4TkJr4SjqQy3A8JDofMN6LpkK8Xcm/dlw==} - lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - lru-cache@11.2.2: - resolution: {integrity: sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==} + lru-cache@11.2.4: + resolution: {integrity: sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==} engines: {node: 20 || >=22} lru-cache@5.1.1: @@ -3497,16 +3970,13 @@ packages: resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} engines: {node: '>=12'} - lucide-react@0.545.0: - resolution: {integrity: sha512-7r1/yUuflQDSt4f1bpn5ZAocyIxcTyVyBBChSVtBKn5M+392cPmI5YJMWOJKk/HUWGm5wg83chlAZtCcGbEZtw==} + lucide-react@0.562.0: + resolution: {integrity: sha512-82hOAu7y0dbVuFfmO4bYF1XEwYk/mEbM5E+b1jgci/udUBEE/R7LF5Ip0CCEmXe8AybRM8L+04eP+LGZeDvkiw==} peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 - magic-string@0.30.17: - resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} - - magic-string@0.30.18: - resolution: {integrity: sha512-yi8swmWbO17qHhwIBNeeZxTceJMeBvWJaId6dyvTSOwTipqeHhMhOrz6513r1sOKnpvQ7zkhlG8tPrpilwTxHQ==} + magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} mark.js@8.11.1: resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} @@ -3515,8 +3985,8 @@ packages: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} - mdast-util-to-hast@13.2.0: - resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} + mdast-util-to-hast@13.2.1: + resolution: {integrity: sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==} mdn-data@2.12.2: resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==} @@ -3572,9 +4042,9 @@ packages: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} - mime-types@3.0.1: - resolution: {integrity: sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==} - engines: {node: '>= 0.6'} + mime-types@3.0.2: + resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==} + engines: {node: '>=18'} mime@2.6.0: resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} @@ -3611,8 +4081,8 @@ packages: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} - minisearch@7.1.2: - resolution: {integrity: sha512-R1Pd9eF+MD5JYDDSPAp/q1ougKglm14uEkPMvQ/05RGmx6G9wvmLTrTI/Q5iPNJLYqNdsDQ7qTGIcNWR+FrHmA==} + minisearch@7.2.0: + resolution: {integrity: sha512-dqT2XBYUOZOiC5t2HRnwADjhNS2cecp9u+TJRiJ1Qp/f5qjkeT5APcGPjHw+bz89Ms8Jp+cG4AlE+QZ/QnDglg==} minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} @@ -3629,8 +4099,8 @@ packages: mocha-froth@0.2.10: resolution: {integrity: sha512-xyJqAYtm2zjrkG870hjeSVvGgS4Dc9tRokmN6R7XLgBKhdtAJ1ytU6zL045djblfHaPyTkSerQU4wqcjsv7Aew==} - mocha@11.7.4: - resolution: {integrity: sha512-1jYAaY8x0kAZ0XszLWu14pzsf4KV740Gld4HXkhNTXwcHx4AUEDkPzgEHg9CM5dVcW+zv036tjpsEbLraPJj4w==} + mocha@11.7.5: + resolution: {integrity: sha512-mTT6RgopEYABzXWFx+GcJ+ZQ32kp4fMf0xvpZIIfSq9Z8lC/++MtcCnQ9t5FP2veYEP95FIYSvW+U9fV4xrlig==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true @@ -3648,8 +4118,8 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - nanoid@5.1.5: - resolution: {integrity: sha512-Ir/+ZpE9fDsNH0hQ3C68uyThDXzYcim2EqcZ8zn8Chtt1iylPT9xXJB0kPCnqzgcEGikO9RxSrh63MsmVCU7Fw==} + nanoid@5.1.6: + resolution: {integrity: sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg==} engines: {node: ^18 || >=20} hasBin: true @@ -3677,8 +4147,8 @@ packages: resolution: {integrity: sha512-VBlAiynj3VMLrotgwOS3OyECFxas5y7ltLcK4t41lMUZeaK15Ym4QRkqN0EQKAFL42q9i21EPKjzLUPfltR72A==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - node-releases@2.0.23: - resolution: {integrity: sha512-cCmFDMSm26S6tQSDpBCg/NR8NENrVPhAJSf+XbxBG4rPFaaonlEoE9wHQmun+cls499TQGSb7ZyPBRlzgKfpeg==} + node-releases@2.0.27: + resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} nodeify@1.0.1: resolution: {integrity: sha512-n7C2NyEze8GCo/z73KdbjRsBiLbv6eBn1FxwYKQ23IqGo7pQY3mhQan61Sv7eEDJCiyUjTVrVkXTzJCo1dW7Aw==} @@ -3715,8 +4185,11 @@ packages: resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} engines: {node: '>= 0.4'} - oidc-provider@9.5.1: - resolution: {integrity: sha512-19Wa4bfz3reoudxrY7sF5SeQKxe5b3dY8hWzQdnBGS87rH0BoYoDDUDRTYciJMN3oI6S02C9xM6vuaHtoZ48eA==} + obug@2.1.1: + resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==} + + oidc-provider@9.6.0: + resolution: {integrity: sha512-CCRUYPOumEy/DT+L86H40WgXjXfDHlsJYZdyd4ZKGFxJh/kAd7DxMX3dwpbX0g+WjB+NWU+kla1b/yZmHNcR0Q==} on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} @@ -3732,8 +4205,8 @@ packages: oniguruma-parser@0.12.1: resolution: {integrity: sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==} - oniguruma-to-es@4.3.3: - resolution: {integrity: sha512-rPiZhzC3wXwE59YQMRDodUwwT9FZ9nNBwQQfsd1wfdtlKEyCdRV0avrTcSZ5xlIvGRVPd/cx6ZN45ECmS39xvg==} + oniguruma-to-es@4.3.4: + resolution: {integrity: sha512-3VhUGN3w2eYxnTzHn+ikMI+fp/96KoRSVK9/kMTcFqj1NRDh2IhQCKvYxDnWePKRXY/AqH+Fuiyb7VHSzBjHfA==} openapi-backend@5.15.0: resolution: {integrity: sha512-yox0nCv511YWUeBNCdKY6xmUB92yEN+N9rHO4BHA5GOAZaNtY+zzuftAdfEwIbCsCcvZJ9ysENCguqBg+hLlWw==} @@ -3767,8 +4240,8 @@ packages: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} - p-map@7.0.3: - resolution: {integrity: sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==} + p-map@7.0.4: + resolution: {integrity: sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==} engines: {node: '>=18'} pac-proxy-agent@7.2.0: @@ -3789,6 +4262,9 @@ packages: parse5@7.3.0: resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} + parse5@8.0.0: + resolution: {integrity: sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==} + parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} @@ -3808,9 +4284,8 @@ packages: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} - path-to-regexp@8.2.0: - resolution: {integrity: sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==} - engines: {node: '>=16'} + path-to-regexp@8.3.0: + resolution: {integrity: sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==} path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} @@ -3819,12 +4294,8 @@ packages: pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} - pathval@2.0.0: - resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} - engines: {node: '>= 14.16'} - - perfect-debounce@1.0.0: - resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + perfect-debounce@2.0.0: + resolution: {integrity: sha512-fkEH/OBiKrqqI/yIgjR92lMfs2K8105zt/VT6+7eTjNwisrsh47CeIED9z58zI7DfKdH3uHAn25ziRZn3kgAow==} picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -3833,21 +4304,17 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - picomatch@4.0.2: - resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} - engines: {node: '>=12'} - picomatch@4.0.3: resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} engines: {node: '>=12'} - playwright-core@1.56.0: - resolution: {integrity: sha512-1SXl7pMfemAMSDn5rkPeZljxOCYAmQnYLBTExuh6E8USHXGSX3dx6lYZN/xPpTz1vimXmPA9CDnILvmJaB8aSQ==} + playwright-core@1.57.0: + resolution: {integrity: sha512-agTcKlMw/mjBWOnD6kFZttAAGHgi/Nw0CZ2o6JqWSbMlI219lAFLZZCyqByTsvVAJq5XA5H8cA6PrvBRpBWEuQ==} engines: {node: '>=18'} hasBin: true - playwright@1.56.0: - resolution: {integrity: sha512-X5Q1b8lOdWIE4KAoHpW3SE8HvUB+ZZsUoN64ZhjnN8dOb1UpujxBtENGiZFE+9F/yhzJwYa+ca3u43FeLbboHA==} + playwright@1.57.0: + resolution: {integrity: sha512-ilYQj1s8sr2ppEJ2YVadYBN0Mb3mdo9J0wQ+UuDhzYqURwSoW4n1Xs5vs7ORwgDGmyEh33tRMeS8KhdkMoLXQw==} engines: {node: '>=18'} hasBin: true @@ -3892,11 +4359,15 @@ packages: resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} engines: {node: '>=0.6'} + qs@6.14.1: + resolution: {integrity: sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==} + engines: {node: '>=0.6'} + queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - quick-lru@7.1.0: - resolution: {integrity: sha512-Pzd/4IFnTb8E+I1P5rbLQoqpUHcXKg48qTYKi4EANg+sTPwGFEMOcYGiiZz6xuQcOMZP7MPsrdAPx+16Q8qahg==} + quick-lru@7.3.0: + resolution: {integrity: sha512-k9lSsjl36EJdK7I06v7APZCbyGT2vMTsYSRX1Q2nbYmnkBqgUhRkAuzH08Ciotteu/PLJmIF2+tti7o3C/ts2g==} engines: {node: '>=18'} rambda@7.5.0: @@ -3913,28 +4384,28 @@ packages: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} - rate-limiter-flexible@8.0.1: - resolution: {integrity: sha512-UVJdIvGYUDGH9+f3e63dIyOB1wxCLC9CSH09eXLohENGAsxY9PTwI2uJgY6Kj0ULf7x1Aq4FZIGvhJHXJTbdSQ==} + rate-limiter-flexible@9.0.1: + resolution: {integrity: sha512-sO+QdoGPCxroi4VkO2FIVjfUGuexhRkBc9ROHqu5eVEEz+oPHzQqvCc25ajFfMUBosbNGb6qpNa8xmxH9YNZsg==} - raw-body@3.0.0: - resolution: {integrity: sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==} - engines: {node: '>= 0.8'} + raw-body@3.0.2: + resolution: {integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==} + engines: {node: '>= 0.10'} - react-dom@19.2.0: - resolution: {integrity: sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==} + react-dom@19.2.3: + resolution: {integrity: sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==} peerDependencies: - react: ^19.2.0 + react: ^19.2.3 - react-hook-form@7.64.0: - resolution: {integrity: sha512-fnN+vvTiMLnRqKNTVhDysdrUay0kUUAymQnFIznmgDvapjveUWOOPqMNzPg+A+0yf9DuE2h6xzBjN1s+Qx8wcg==} + react-hook-form@7.71.1: + resolution: {integrity: sha512-9SUJKCGKo8HUSsCO+y0CtqkqI5nNuaDqTxyqPsZPqIwudpj4rCrAz/jZV+jn57bx5gtZKOh3neQu94DXMc+w5w==} engines: {node: '>=18.0.0'} peerDependencies: react: ^16.8.0 || ^17 || ^18 || ^19 - react-i18next@16.0.0: - resolution: {integrity: sha512-JQ+dFfLnFSKJQt7W01lJHWRC0SX7eDPobI+MSTJ3/gP39xH2g33AuTE7iddAfXYHamJdAeMGM0VFboPaD3G68Q==} + react-i18next@16.5.3: + resolution: {integrity: sha512-fo+/NNch37zqxOzlBYrWMx0uy/yInPkRfjSuy4lqKdaecR17nvCHnEUt3QyzA8XjQ2B/0iW/5BhaHR3ZmukpGw==} peerDependencies: - i18next: '>= 25.5.2' + i18next: '>= 25.6.2' react: '>= 16.8.0' react-dom: '*' react-native: '*' @@ -3947,8 +4418,8 @@ packages: typescript: optional: true - react-refresh@0.17.0: - resolution: {integrity: sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==} + react-refresh@0.18.0: + resolution: {integrity: sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==} engines: {node: '>=0.10.0'} react-remove-scroll-bar@2.3.8: @@ -3971,15 +4442,15 @@ packages: '@types/react': optional: true - react-router-dom@7.9.3: - resolution: {integrity: sha512-1QSbA0TGGFKTAc/aWjpfW/zoEukYfU4dc1dLkT/vvf54JoGMkW+fNA+3oyo2gWVW1GM7BxjJVHz5GnPJv40rvg==} + react-router-dom@7.12.0: + resolution: {integrity: sha512-pfO9fiBcpEfX4Tx+iTYKDtPbrSLLCbwJ5EqP+SPYQu1VYCXdy79GSj0wttR0U4cikVdlImZuEZ/9ZNCgoaxwBA==} engines: {node: '>=20.0.0'} peerDependencies: react: '>=18' react-dom: '>=18' - react-router@7.9.3: - resolution: {integrity: sha512-4o2iWCFIwhI/eYAIL43+cjORXYn/aRQPgtFRRZb3VzoyQ5Uej0Bmqj7437L97N9NJW4wnicSwLOLS+yCXfAPgg==} + react-router@7.12.0: + resolution: {integrity: sha512-kTPDYPFzDVGIIGNLS5VJykK0HfHLY5MF3b+xj0/tTyNYL1gF1qs7u67Z9jEhQk2sQ98SUaHxlG31g1JtF7IfVw==} engines: {node: '>=20.0.0'} peerDependencies: react: '>=18' @@ -3998,8 +4469,8 @@ packages: '@types/react': optional: true - react@19.2.0: - resolution: {integrity: sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==} + react@19.2.3: + resolution: {integrity: sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==} engines: {node: '>=0.10.0'} readdirp@3.6.0: @@ -4010,6 +4481,10 @@ packages: resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} engines: {node: '>= 14.18.0'} + readdirp@5.0.0: + resolution: {integrity: sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==} + engines: {node: '>= 20.19.0'} + reflect.getprototypeof@1.0.10: resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} engines: {node: '>= 0.4'} @@ -4054,8 +4529,8 @@ packages: resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - resolve@1.22.10: - resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} + resolve@1.22.11: + resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} engines: {node: '>= 0.4'} hasBin: true @@ -4066,8 +4541,8 @@ packages: rfdc@1.4.1: resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - rolldown-vite@7.1.16: - resolution: {integrity: sha512-cK6tCmZyEC0KRAcXTjQ+ara+wkqmaE7WUoI0ZfZzDuvaRaZ3mtvbhTJc4cH+PjKRok++++Z1bZZaNlf3+SnnGA==} + rolldown-vite@7.2.10: + resolution: {integrity: sha512-v2ekZjuVLfumjp1Cr7LSQM1n2oOo3+gMruhOgT0Q4/cQ2J3nkTDLTAWLQQ86UHMbFYyVIN1wGh8BEZbvjkyctg==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -4106,13 +4581,18 @@ packages: yaml: optional: true - rolldown@1.0.0-beta.42: - resolution: {integrity: sha512-xaPcckj+BbJhYLsv8gOqezc8EdMcKKe/gk8v47B0KPvgABDrQ0qmNPAiT/gh9n9Foe0bUkEv2qzj42uU5q1WRg==} + rolldown@1.0.0-beta.53: + resolution: {integrity: sha512-Qd9c2p0XKZdgT5AYd+KgAMggJ8ZmCs3JnS9PTMWkyUfteKlfmKtxJbWTHkVakxwXs1Ub7jrRYVeFeF7N0sQxyw==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - rollup@4.47.1: - resolution: {integrity: sha512-iasGAQoZ5dWDzULEUX3jiW0oB1qyFOepSyDyoU6S/OhVlDIwj5knI5QBa5RRQ0sK7OE0v+8VIi2JuV+G+3tfNg==} + rollup@4.53.3: + resolution: {integrity: sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + rollup@4.55.1: + resolution: {integrity: sha512-wDv/Ht1BNHB4upNbK74s9usvl7hObDnvVzknxqY/E/O3X6rW1U1rV1aENEfJ54eFZDTNo7zv1f5N4edCluH7+A==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -4120,9 +4600,6 @@ packages: resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} engines: {node: '>= 18'} - rrweb-cssom@0.8.0: - resolution: {integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==} - run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -4238,8 +4715,11 @@ packages: resolution: {integrity: sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==} engines: {node: '>= 18'} - set-cookie-parser@2.7.1: - resolution: {integrity: sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==} + set-cookie-parser@2.7.2: + resolution: {integrity: sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==} + + set-cookie-parser@3.0.1: + resolution: {integrity: sha512-n7Z7dXZhJbwuAHhNzkTti6Aw9QDDjZtm3JTpTGATIdNzdQz5GuFs22w90BcvF4INfnrL5xrX3oGsuqO5Dx3A1Q==} set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} @@ -4264,8 +4744,8 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shiki@3.11.0: - resolution: {integrity: sha512-VgKumh/ib38I1i3QkMn6mAQA6XjjQubqaAYhfge71glAll0/4xnt8L2oSuC45Qcr/G5Kbskj4RliMQddGmy/Og==} + shiki@3.17.0: + resolution: {integrity: sha512-lUZfWsyW7czITYTdo/Tb6ZM4VfyXlzmKYBQBjTz+pBzPPkP08RgIt00Ls1Z50Cl3SfwJsue6WbJeF3UgqLVI9Q==} side-channel-list@1.0.0: resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} @@ -4293,8 +4773,8 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - sinon@21.0.0: - resolution: {integrity: sha512-TOgRcwFPbfGtpqvZw+hyqJDvqfapr1qUlOizROIk4bBLjlsjlB00Pg6wMFXNtJRpu+eCZuVOaLatG7M8105kAw==} + sinon@21.0.1: + resolution: {integrity: sha512-Z0NVCW45W8Mg5oC/27/+fCqIHFnW8kpkFOq0j9XJIev4Ld0mKmERaZv5DMLAb9fGCevjKwaEeIQz5+MBXfZcDw==} slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} @@ -4304,19 +4784,19 @@ packages: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} - socket.io-adapter@2.5.5: - resolution: {integrity: sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==} + socket.io-adapter@2.5.6: + resolution: {integrity: sha512-DkkO/dz7MGln0dHn5bmN3pPy+JmywNICWrJqVWiVOyvXjWQFIv9c2h24JrQLLFJ2aQVQf/Cvl1vblnd4r2apLQ==} - socket.io-client@4.8.1: - resolution: {integrity: sha512-hJVXfu3E28NmzGk8o1sHhN3om52tRvwYeidbj7xKy2eIIse5IoKX3USlS6Tqt3BHAtflLIkCQBkzVrEEfWUyYQ==} + socket.io-client@4.8.3: + resolution: {integrity: sha512-uP0bpjWrjQmUt5DTHq9RuoCBdFJF10cdX9X+a368j/Ft0wmaVgxlrjvK3kjvgCODOMMOz9lcaRzxmso0bTWZ/g==} engines: {node: '>=10.0.0'} - socket.io-parser@4.2.4: - resolution: {integrity: sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==} + socket.io-parser@4.2.5: + resolution: {integrity: sha512-bPMmpy/5WWKHea5Y/jYAP6k74A+hvmRCQaJuJB6I/ML5JZq/KfNieUVo/3Mh7SAqn7TyFdIo6wqYHInG1MU1bQ==} engines: {node: '>=10.0.0'} - socket.io@4.8.1: - resolution: {integrity: sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==} + socket.io@4.8.3: + resolution: {integrity: sha512-2Dd78bqzzjE6KPkD5fHZmDAKRNe3J15q+YHDrIsy9WEkqttc7GY+kT9OBLSMaPbQaEd0x1BjcmtMtXkfpc+T5A==} engines: {node: '>=10.2.0'} socks-proxy-agent@8.0.5: @@ -4358,16 +4838,12 @@ packages: resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} engines: {node: '>= 0.6'} - statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - statuses@2.0.2: resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} engines: {node: '>= 0.8'} - std-env@3.9.0: - resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} + std-env@3.10.0: + resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} streamroller@3.1.5: resolution: {integrity: sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==} @@ -4412,19 +4888,16 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - strip-literal@3.0.0: - resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==} - - superagent@10.2.3: - resolution: {integrity: sha512-y/hkYGeXAj7wUMjxRbB21g/l6aAEituGXM9Rwl4o20+SX3e8YOSV6BxFXl+dL3Uk0mjSL3kCbNkwURm8/gEDig==} + superagent@10.3.0: + resolution: {integrity: sha512-B+4Ik7ROgVKrQsXTV0Jwp2u+PXYLSlqtDAhYnkkD+zn3yg8s/zjA2MeGayPoY/KICrbitwneDHrjSotxKL+0XQ==} engines: {node: '>=14.18.0'} - superjson@2.2.2: - resolution: {integrity: sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==} + superjson@2.2.6: + resolution: {integrity: sha512-H+ue8Zo4vJmV2nRjpx86P35lzwDT3nItnIsocgumgr0hHMQ+ZGq5vrERg9kJBo5AWGmxZDhzDo+WVIJqkB0cGA==} engines: {node: '>=16'} - supertest@7.1.4: - resolution: {integrity: sha512-tjLPs7dVyqgItVFirHYqe2T+MfWc2VOBQ8QFKKbWTA3PU7liZR8zoSpAi/C1k1ilm9RsXIKYf197oap9wXGVYg==} + supertest@7.2.2: + resolution: {integrity: sha512-oK8WG9diS3DlhdUkcFn4tkNIiIbBx9lI2ClF8K+b2/m8Eyv47LSawxUzZQSNKUrVb2KsqeTDCcjAAVPYaSLVTA==} engines: {node: '>=14.18.0'} supports-color@7.2.0: @@ -4454,12 +4927,13 @@ packages: symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} - tabbable@6.2.0: - resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} + tabbable@6.3.0: + resolution: {integrity: sha512-EIHvdY5bPLuWForiR/AN2Bxngzpuwn1is4asboytXtpTgsArc+WmSJKVLlhdh71u7jFcryDqB2A8lQvj78MkyQ==} tar@6.2.1: resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} + deprecated: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exhorbitant rates) by contacting i@izs.me tdigest@0.1.2: resolution: {integrity: sha512-+G0LLgjjo9BZX2MfdvPfH+MKLCrxlXSYec5DaPYP1fe6Iyhf0/fSmJ0bFiZ1F8BT6cGXl2LpltQptzjXKWEkKA==} @@ -4470,34 +4944,23 @@ packages: tinycon@0.6.8: resolution: {integrity: sha512-bF8Lxm4JUXF6Cw0XlZdugJ44GV575OinZ0Pt8vQPr8ooNqd2yyNkoFdCHzmdpHlgoqfSLfcyk4HDP1EyllT+ug==} - tinyexec@0.3.2: - resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} - - tinyglobby@0.2.14: - resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} - engines: {node: '>=12.0.0'} + tinyexec@1.0.2: + resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==} + engines: {node: '>=18'} tinyglobby@0.2.15: resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} engines: {node: '>=12.0.0'} - tinypool@1.1.1: - resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} - engines: {node: ^18.0.0 || >=20.0.0} - - tinyrainbow@2.0.0: - resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} + tinyrainbow@3.0.3: + resolution: {integrity: sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==} engines: {node: '>=14.0.0'} - tinyspy@4.0.3: - resolution: {integrity: sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==} - engines: {node: '>=14.0.0'} + tldts-core@7.0.19: + resolution: {integrity: sha512-lJX2dEWx0SGH4O6p+7FPwYmJ/bu1JbcGJ8RLaG9b7liIgZ85itUVEPbMtWRVrde/0fnDPEPHW10ZsKW3kVsE9A==} - tldts-core@7.0.16: - resolution: {integrity: sha512-XHhPmHxphLi+LGbH0G/O7dmUH9V65OY20R7vH8gETHsp5AZCjBk9l8sqmRKLaGOxnETU7XNSDUPtewAy/K6jbA==} - - tldts@7.0.16: - resolution: {integrity: sha512-5bdPHSwbKTeHmXrgecID4Ljff8rQjv7g8zKQPkCozRo2HWWni+p310FSn5ImI+9kWw9kK4lzOB5q/a6iv0IJsw==} + tldts@7.0.19: + resolution: {integrity: sha512-8PWx8tvC4jDB39BQw1m4x8y5MH1BcQ5xHeL2n7UVFulMPH/3Q0uiamahFJ3lXA0zO2SUyRXuVVbWSDmstlt9YA==} hasBin: true to-regex-range@5.0.1: @@ -4528,8 +4991,8 @@ packages: peerDependencies: typescript: '>=4.2.0' - ts-api-utils@2.1.0: - resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} + ts-api-utils@2.4.0: + resolution: {integrity: sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==} engines: {node: '>=18.12'} peerDependencies: typescript: '>=4.8.4' @@ -4544,8 +5007,8 @@ packages: resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==} engines: {node: '>=0.6.x'} - tsx@4.20.6: - resolution: {integrity: sha512-ytQKuwgmrrkDTFP4LjR0ToE2nqgy886GpvRSpU0JAnrdBYppuY5rLkRUYPU1yCryb24SsKBTL/hlDQAEFVwtZg==} + tsx@4.21.0: + resolution: {integrity: sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==} engines: {node: '>=18.0.0'} hasBin: true @@ -4590,8 +5053,8 @@ packages: engines: {node: '>=14.17'} hasBin: true - ueberdb2@5.0.22: - resolution: {integrity: sha512-+5O0vclgXZgTzpnS5fw3h3n/laPycg0KKBGxgE2jDn1z5qwv6KwIuDoERDcvB2mZTxoZx2QQdXvA4nlyMsS9aA==} + ueberdb2@5.0.23: + resolution: {integrity: sha512-nUz6WqulBI+YHjPd6lOpT1s7pJODS73oNhkTmvxsy38SVmwWQT9obq0e7ySUpn/9rCCcxcB46Hjvl+PpdqcKgQ==} engines: {node: '>=16.20.1'} uid-safe@2.1.5: @@ -4605,8 +5068,8 @@ packages: underscore@1.13.7: resolution: {integrity: sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==} - undici-types@7.14.0: - resolution: {integrity: sha512-QQiYxHuyZ9gQUIrmPo3IA+hUl4KYk8uSA7cHrcKd/l3p1OTpZcM0Tbp9x7FAtXdAYhlasd60ncPpgu6ihG6TOA==} + undici-types@7.16.0: + resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} @@ -4614,14 +5077,17 @@ packages: unist-util-is@6.0.0: resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + unist-util-is@6.0.1: + resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==} + unist-util-position@5.0.0: resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} unist-util-stringify-position@4.0.0: resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} - unist-util-visit-parents@6.0.1: - resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + unist-util-visit-parents@6.0.2: + resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==} unist-util-visit@5.0.0: resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} @@ -4645,8 +5111,8 @@ packages: unrs-resolver@1.3.3: resolution: {integrity: sha512-PFLAGQzYlyjniXdbmQ3dnGMZJXX5yrl2YS4DLRfR3BhgUsE1zpRIrccp9XMOGRfIHpdFvCn/nr5N1KMVda4x3A==} - update-browserslist-db@1.1.3: - resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} + update-browserslist-db@1.2.3: + resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -4677,6 +5143,11 @@ packages: '@types/react': optional: true + use-sync-external-store@1.6.0: + resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + vary@1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} @@ -4690,25 +5161,20 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - vite-node@3.2.4: - resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} - hasBin: true - - vite-plugin-babel@1.3.2: - resolution: {integrity: sha512-mEld4OVyuNs5+ISN+U5XyTnNcDwln/s2oER2m0PQ32YYPqPR25E3mfnhAA/RkZJxPuwFkprKWV405aZArE6kzA==} + vite-plugin-babel@1.4.1: + resolution: {integrity: sha512-quO+viHGSv1cjbfhbeiMZ7SZpo8P29NiUh9LJfKhpmIDwy0THRiTRUbanBbkNcZcSyHFgp1n7TByd1C2kanqLQ==} peerDependencies: '@babel/core': ^7.0.0 vite: ^2.7.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 - vite-plugin-static-copy@3.1.3: - resolution: {integrity: sha512-U47jgyoJfrvreF87u2udU6dHIXbHhdgGZ7wSEqn6nVHKDOMdRoB2uVc6iqxbEzENN5JvX6djE5cBhQZ2MMBclA==} + vite-plugin-static-copy@3.1.5: + resolution: {integrity: sha512-9pbZn9Vb+uUNg/Tr/f2MXmGvfSfLeWjscS4zTA3v+sWqKN+AjJ/ipTFwaqdopJkNkxG5DfgYrZXD80ljbNDxbg==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^5.0.0 || ^6.0.0 || ^7.0.0 - vite@7.1.9: - resolution: {integrity: sha512-4nVGliEpxmhCL8DslSAUdxlB6+SMrhB0a1v5ijlh1xB1nEPuy1mxaHxysVucLHuWryAxLWg6a5ei+U4TLn/rFg==} + vite@7.2.6: + resolution: {integrity: sha512-tI2l/nFHC5rLh7+5+o7QjKjSR04ivXDF4jcgV0f/bTQ+OJiITy5S6gaynVsEM+7RqzufMnVbIon6Sr5x1SDYaQ==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -4747,12 +5213,52 @@ packages: yaml: optional: true - vitepress@2.0.0-alpha.12: - resolution: {integrity: sha512-yZwCwRRepcpN5QeAhwSnEJxS3I6zJcVixqL1dnm6km4cnriLpQyy2sXQDsE5Ti3pxGPbhU51nTMwI+XC1KNnJg==} + vite@7.3.1: + resolution: {integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@types/node': ^20.19.0 || >=22.12.0 + jiti: '>=1.21.0' + less: ^4.0.0 + lightningcss: ^1.21.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + + vitepress@2.0.0-alpha.15: + resolution: {integrity: sha512-jhjSYd10Z6RZiKOa7jy0xMVf5NB5oSc/lS3bD/QoUc6V8PrvQR5JhC9104NEt6+oTGY/ftieVWxY9v7YI+1IjA==} hasBin: true peerDependencies: markdown-it-mathjax3: ^4 - oxc-minify: ^0.82.1 + oxc-minify: '*' postcss: ^8 peerDependenciesMeta: markdown-it-mathjax3: @@ -4762,26 +5268,32 @@ packages: postcss: optional: true - vitest@3.2.4: - resolution: {integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + vitest@4.0.17: + resolution: {integrity: sha512-FQMeF0DJdWY0iOnbv466n/0BudNdKj1l5jYgl5JVTwjSsZSlqyXFt/9+1sEyhR6CLowbZpV7O1sCHrzBhucKKg==} + engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' - '@types/debug': ^4.1.12 - '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - '@vitest/browser': 3.2.4 - '@vitest/ui': 3.2.4 + '@opentelemetry/api': ^1.9.0 + '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 + '@vitest/browser-playwright': 4.0.17 + '@vitest/browser-preview': 4.0.17 + '@vitest/browser-webdriverio': 4.0.17 + '@vitest/ui': 4.0.17 happy-dom: '*' jsdom: '*' peerDependenciesMeta: '@edge-runtime/vm': optional: true - '@types/debug': + '@opentelemetry/api': optional: true '@types/node': optional: true - '@vitest/browser': + '@vitest/browser-playwright': + optional: true + '@vitest/browser-preview': + optional: true + '@vitest/browser-webdriverio': optional: true '@vitest/ui': optional: true @@ -4794,8 +5306,8 @@ packages: resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==} engines: {node: '>=0.10.0'} - vue@3.5.19: - resolution: {integrity: sha512-ZRh0HTmw6KChRYWgN8Ox/wi7VhpuGlvMPrHjIsdRbzKNgECFLzy+dKL5z9yGaBSjCpmcfJCbh3I1tNSRmBz2tg==} + vue@3.5.25: + resolution: {integrity: sha512-YLVdgv2K13WJ6n+kD5owehKtEXwdwXuj2TTyJMsO7pSeKw2bfRNZGjhB7YzrpbMYj5b5QsUebHpOqR3R3ziy/g==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -4817,10 +5329,6 @@ packages: resolution: {integrity: sha512-n4W4YFyz5JzOfQeA8oN7dUYpR+MBP3PIUsn2jLjWXwK5ASUzt0Jc/A5sAUZoCYFJRGF0FBKJ+1JjN43rNdsQzA==} engines: {node: '>=20'} - whatwg-encoding@3.1.1: - resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} - engines: {node: '>=18'} - whatwg-mimetype@4.0.0: resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} engines: {node: '>=18'} @@ -4873,18 +5381,6 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - ws@8.17.1: - resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - ws@8.18.3: resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} engines: {node: '>=10.0.0'} @@ -4948,8 +5444,8 @@ packages: zod@4.1.12: resolution: {integrity: sha512-JInaHOamG8pt5+Ey8kGmdcAcg3OL9reK8ltczgHTAwNhMys/6ThXHityHxVV2p3fkw/c+MAvBHFVYHFZDmjMCQ==} - zustand@5.0.8: - resolution: {integrity: sha512-gyPKpIaxY9XcO2vSMrLbiER7QMAMGOQZVRdJ6Zi782jkbzZygq5GI9nG8g+sMgitRtndwaBSl7uiqC49o1SSiw==} + zustand@5.0.10: + resolution: {integrity: sha512-U1AiltS1O9hSy3rul+Ub82ut2fqIAefiSuwECWt6jlMVUGejvf+5omLcRBSzqbRagSM3hQZbtzdeRc6QVScXTg==} engines: {node: '>=12.20.0'} peerDependencies: '@types/react': '>=18.0.0' @@ -4971,49 +5467,51 @@ packages: snapshots: + '@acemir/cssom@0.9.30': {} + '@apidevtools/json-schema-ref-parser@11.9.3': dependencies: '@jsdevtools/ono': 7.1.3 '@types/json-schema': 7.0.15 js-yaml: 4.1.0 - '@asamuzakjp/css-color@4.0.5': + '@asamuzakjp/css-color@4.1.1': dependencies: '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 - lru-cache: 11.2.2 + lru-cache: 11.2.4 - '@asamuzakjp/dom-selector@6.6.1': + '@asamuzakjp/dom-selector@6.7.6': dependencies: '@asamuzakjp/nwsapi': 2.3.9 bidi-js: 1.0.3 css-tree: 3.1.0 is-potential-custom-element-name: 1.0.1 - lru-cache: 11.2.2 + lru-cache: 11.2.4 '@asamuzakjp/nwsapi@2.3.9': {} '@babel/code-frame@7.27.1': dependencies: - '@babel/helper-validator-identifier': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.28.4': {} + '@babel/compat-data@7.28.5': {} - '@babel/core@7.28.4': + '@babel/core@7.28.5': dependencies: '@babel/code-frame': 7.27.1 - '@babel/generator': 7.28.3 + '@babel/generator': 7.28.5 '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4) + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) '@babel/helpers': 7.28.4 - '@babel/parser': 7.28.4 + '@babel/parser': 7.28.5 '@babel/template': 7.27.2 - '@babel/traverse': 7.28.4 - '@babel/types': 7.28.4 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 debug: 4.4.3(supports-color@8.1.1) @@ -5023,19 +5521,19 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/generator@7.28.3': + '@babel/generator@7.28.5': dependencies: - '@babel/parser': 7.28.4 - '@babel/types': 7.28.4 + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 jsesc: 3.1.0 '@babel/helper-compilation-targets@7.27.2': dependencies: - '@babel/compat-data': 7.28.4 + '@babel/compat-data': 7.28.5 '@babel/helper-validator-option': 7.27.1 - browserslist: 4.26.3 + browserslist: 4.28.1 lru-cache: 5.1.1 semver: 6.3.1 @@ -5043,17 +5541,17 @@ snapshots: '@babel/helper-module-imports@7.27.1': dependencies: - '@babel/traverse': 7.28.4 - '@babel/types': 7.28.4 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.4)': + '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-module-imports': 7.27.1 - '@babel/helper-validator-identifier': 7.27.1 - '@babel/traverse': 7.28.4 + '@babel/helper-validator-identifier': 7.28.5 + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color @@ -5063,45 +5561,49 @@ snapshots: '@babel/helper-validator-identifier@7.27.1': {} + '@babel/helper-validator-identifier@7.28.5': {} + '@babel/helper-validator-option@7.27.1': {} '@babel/helpers@7.28.4': dependencies: '@babel/template': 7.27.2 - '@babel/types': 7.28.4 + '@babel/types': 7.28.5 - '@babel/parser@7.28.4': + '@babel/parser@7.28.5': dependencies: - '@babel/types': 7.28.4 + '@babel/types': 7.28.5 - '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.28.4)': + '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.28.4)': + '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 '@babel/runtime@7.27.6': {} '@babel/runtime@7.28.4': {} + '@babel/runtime@7.28.6': {} + '@babel/template@7.27.2': dependencies: '@babel/code-frame': 7.27.1 - '@babel/parser': 7.28.4 - '@babel/types': 7.28.4 + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 - '@babel/traverse@7.28.4': + '@babel/traverse@7.28.5': dependencies: '@babel/code-frame': 7.27.1 - '@babel/generator': 7.28.3 + '@babel/generator': 7.28.5 '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.28.4 + '@babel/parser': 7.28.5 '@babel/template': 7.27.2 - '@babel/types': 7.28.4 + '@babel/types': 7.28.5 debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -5111,6 +5613,11 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 + '@babel/types@7.28.5': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 + '@csstools/color-helpers@5.1.0': {} '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': @@ -5129,23 +5636,23 @@ snapshots: dependencies: '@csstools/css-tokenizer': 3.0.4 - '@csstools/css-syntax-patches-for-csstree@1.0.14(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 + '@csstools/css-syntax-patches-for-csstree@1.0.22': {} '@csstools/css-tokenizer@3.0.4': {} - '@docsearch/css@4.0.0-beta.7': {} + '@docsearch/css@4.3.2': {} - '@docsearch/js@4.0.0-beta.7': {} + '@docsearch/js@4.3.2': + dependencies: + htm: 3.1.1 - '@emnapi/core@1.5.0': + '@emnapi/core@1.7.1': dependencies: '@emnapi/wasi-threads': 1.1.0 tslib: 2.8.1 optional: true - '@emnapi/runtime@1.5.0': + '@emnapi/runtime@1.7.1': dependencies: tslib: 2.8.1 optional: true @@ -5157,108 +5664,269 @@ snapshots: '@epic-web/invariant@1.0.0': {} - '@esbuild/aix-ppc64@0.25.10': + '@esbuild/aix-ppc64@0.25.12': optional: true - '@esbuild/android-arm64@0.25.10': + '@esbuild/aix-ppc64@0.27.1': optional: true - '@esbuild/android-arm@0.25.10': + '@esbuild/aix-ppc64@0.27.2': optional: true - '@esbuild/android-x64@0.25.10': + '@esbuild/android-arm64@0.25.12': optional: true - '@esbuild/darwin-arm64@0.25.10': + '@esbuild/android-arm64@0.27.1': optional: true - '@esbuild/darwin-x64@0.25.10': + '@esbuild/android-arm64@0.27.2': optional: true - '@esbuild/freebsd-arm64@0.25.10': + '@esbuild/android-arm@0.25.12': optional: true - '@esbuild/freebsd-x64@0.25.10': + '@esbuild/android-arm@0.27.1': optional: true - '@esbuild/linux-arm64@0.25.10': + '@esbuild/android-arm@0.27.2': optional: true - '@esbuild/linux-arm@0.25.10': + '@esbuild/android-x64@0.25.12': optional: true - '@esbuild/linux-ia32@0.25.10': + '@esbuild/android-x64@0.27.1': optional: true - '@esbuild/linux-loong64@0.25.10': + '@esbuild/android-x64@0.27.2': optional: true - '@esbuild/linux-mips64el@0.25.10': + '@esbuild/darwin-arm64@0.25.12': optional: true - '@esbuild/linux-ppc64@0.25.10': + '@esbuild/darwin-arm64@0.27.1': optional: true - '@esbuild/linux-riscv64@0.25.10': + '@esbuild/darwin-arm64@0.27.2': optional: true - '@esbuild/linux-s390x@0.25.10': + '@esbuild/darwin-x64@0.25.12': optional: true - '@esbuild/linux-x64@0.25.10': + '@esbuild/darwin-x64@0.27.1': optional: true - '@esbuild/netbsd-arm64@0.25.10': + '@esbuild/darwin-x64@0.27.2': optional: true - '@esbuild/netbsd-x64@0.25.10': + '@esbuild/freebsd-arm64@0.25.12': optional: true - '@esbuild/openbsd-arm64@0.25.10': + '@esbuild/freebsd-arm64@0.27.1': optional: true - '@esbuild/openbsd-x64@0.25.10': + '@esbuild/freebsd-arm64@0.27.2': optional: true - '@esbuild/openharmony-arm64@0.25.10': + '@esbuild/freebsd-x64@0.25.12': optional: true - '@esbuild/sunos-x64@0.25.10': + '@esbuild/freebsd-x64@0.27.1': optional: true - '@esbuild/win32-arm64@0.25.10': + '@esbuild/freebsd-x64@0.27.2': optional: true - '@esbuild/win32-ia32@0.25.10': + '@esbuild/linux-arm64@0.25.12': optional: true - '@esbuild/win32-x64@0.25.10': + '@esbuild/linux-arm64@0.27.1': optional: true - '@eslint-community/eslint-utils@4.9.0(eslint@9.37.0)': + '@esbuild/linux-arm64@0.27.2': + optional: true + + '@esbuild/linux-arm@0.25.12': + optional: true + + '@esbuild/linux-arm@0.27.1': + optional: true + + '@esbuild/linux-arm@0.27.2': + optional: true + + '@esbuild/linux-ia32@0.25.12': + optional: true + + '@esbuild/linux-ia32@0.27.1': + optional: true + + '@esbuild/linux-ia32@0.27.2': + optional: true + + '@esbuild/linux-loong64@0.25.12': + optional: true + + '@esbuild/linux-loong64@0.27.1': + optional: true + + '@esbuild/linux-loong64@0.27.2': + optional: true + + '@esbuild/linux-mips64el@0.25.12': + optional: true + + '@esbuild/linux-mips64el@0.27.1': + optional: true + + '@esbuild/linux-mips64el@0.27.2': + optional: true + + '@esbuild/linux-ppc64@0.25.12': + optional: true + + '@esbuild/linux-ppc64@0.27.1': + optional: true + + '@esbuild/linux-ppc64@0.27.2': + optional: true + + '@esbuild/linux-riscv64@0.25.12': + optional: true + + '@esbuild/linux-riscv64@0.27.1': + optional: true + + '@esbuild/linux-riscv64@0.27.2': + optional: true + + '@esbuild/linux-s390x@0.25.12': + optional: true + + '@esbuild/linux-s390x@0.27.1': + optional: true + + '@esbuild/linux-s390x@0.27.2': + optional: true + + '@esbuild/linux-x64@0.25.12': + optional: true + + '@esbuild/linux-x64@0.27.1': + optional: true + + '@esbuild/linux-x64@0.27.2': + optional: true + + '@esbuild/netbsd-arm64@0.25.12': + optional: true + + '@esbuild/netbsd-arm64@0.27.1': + optional: true + + '@esbuild/netbsd-arm64@0.27.2': + optional: true + + '@esbuild/netbsd-x64@0.25.12': + optional: true + + '@esbuild/netbsd-x64@0.27.1': + optional: true + + '@esbuild/netbsd-x64@0.27.2': + optional: true + + '@esbuild/openbsd-arm64@0.25.12': + optional: true + + '@esbuild/openbsd-arm64@0.27.1': + optional: true + + '@esbuild/openbsd-arm64@0.27.2': + optional: true + + '@esbuild/openbsd-x64@0.25.12': + optional: true + + '@esbuild/openbsd-x64@0.27.1': + optional: true + + '@esbuild/openbsd-x64@0.27.2': + optional: true + + '@esbuild/openharmony-arm64@0.25.12': + optional: true + + '@esbuild/openharmony-arm64@0.27.1': + optional: true + + '@esbuild/openharmony-arm64@0.27.2': + optional: true + + '@esbuild/sunos-x64@0.25.12': + optional: true + + '@esbuild/sunos-x64@0.27.1': + optional: true + + '@esbuild/sunos-x64@0.27.2': + optional: true + + '@esbuild/win32-arm64@0.25.12': + optional: true + + '@esbuild/win32-arm64@0.27.1': + optional: true + + '@esbuild/win32-arm64@0.27.2': + optional: true + + '@esbuild/win32-ia32@0.25.12': + optional: true + + '@esbuild/win32-ia32@0.27.1': + optional: true + + '@esbuild/win32-ia32@0.27.2': + optional: true + + '@esbuild/win32-x64@0.25.12': + optional: true + + '@esbuild/win32-x64@0.27.1': + optional: true + + '@esbuild/win32-x64@0.27.2': + optional: true + + '@eslint-community/eslint-utils@4.9.0(eslint@9.39.2)': dependencies: - eslint: 9.37.0 + eslint: 9.39.2 eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.12.1': {} - - '@eslint/config-array@0.21.0': + '@eslint-community/eslint-utils@4.9.1(eslint@9.39.2)': dependencies: - '@eslint/object-schema': 2.1.6 + eslint: 9.39.2 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.12.2': {} + + '@eslint/config-array@0.21.1': + dependencies: + '@eslint/object-schema': 2.1.7 debug: 4.4.3(supports-color@8.1.1) minimatch: 3.1.2 transitivePeerDependencies: - supports-color - '@eslint/config-helpers@0.4.0': + '@eslint/config-helpers@0.4.2': dependencies: - '@eslint/core': 0.16.0 + '@eslint/core': 0.17.0 - '@eslint/core@0.16.0': + '@eslint/core@0.17.0': dependencies: '@types/json-schema': 7.0.15 - '@eslint/eslintrc@3.3.1': + '@eslint/eslintrc@3.3.3': dependencies: ajv: 6.12.6 debug: 4.4.3(supports-color@8.1.1) @@ -5266,21 +5934,23 @@ snapshots: globals: 14.0.0 ignore: 5.3.2 import-fresh: 3.3.1 - js-yaml: 4.1.0 + js-yaml: 4.1.1 minimatch: 3.1.2 strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color - '@eslint/js@9.37.0': {} + '@eslint/js@9.39.2': {} - '@eslint/object-schema@2.1.6': {} + '@eslint/object-schema@2.1.7': {} - '@eslint/plugin-kit@0.4.0': + '@eslint/plugin-kit@0.4.1': dependencies: - '@eslint/core': 0.16.0 + '@eslint/core': 0.17.0 levn: 0.4.1 + '@exodus/bytes@1.6.0': {} + '@humanfs/core@0.19.1': {} '@humanfs/node@0.16.7': @@ -5292,7 +5962,7 @@ snapshots: '@humanwhocodes/retry@0.4.3': {} - '@iconify-json/simple-icons@1.2.48': + '@iconify-json/simple-icons@1.2.60': dependencies: '@iconify/types': 2.0.0 @@ -5319,8 +5989,6 @@ snapshots: '@jridgewell/resolve-uri@3.1.2': {} - '@jridgewell/sourcemap-codec@1.5.0': {} - '@jridgewell/sourcemap-codec@1.5.5': {} '@jridgewell/trace-mapping@0.3.31': @@ -5334,26 +6002,27 @@ snapshots: dependencies: vary: 1.1.2 - '@koa/router@14.0.0': + '@koa/router@15.1.1(koa@3.1.1)': dependencies: debug: 4.4.3(supports-color@8.1.1) - http-errors: 2.0.0 + http-errors: 2.0.1 + koa: 3.1.1 koa-compose: 4.1.0 - path-to-regexp: 8.2.0 + path-to-regexp: 8.3.0 transitivePeerDependencies: - supports-color '@napi-rs/wasm-runtime@0.2.12': dependencies: - '@emnapi/core': 1.5.0 - '@emnapi/runtime': 1.5.0 + '@emnapi/core': 1.7.1 + '@emnapi/runtime': 1.7.1 '@tybys/wasm-util': 0.10.1 optional: true - '@napi-rs/wasm-runtime@1.0.6': + '@napi-rs/wasm-runtime@1.1.0': dependencies: - '@emnapi/core': 1.5.0 - '@emnapi/runtime': 1.5.0 + '@emnapi/core': 1.7.1 + '@emnapi/runtime': 1.7.1 '@tybys/wasm-util': 0.10.1 optional: true @@ -5375,9 +6044,9 @@ snapshots: '@opentelemetry/api@1.9.0': {} - '@oxc-project/runtime@0.92.0': {} + '@oxc-project/runtime@0.101.0': {} - '@oxc-project/types@0.94.0': {} + '@oxc-project/types@0.101.0': {} '@paralleldrive/cuid2@2.2.2': dependencies: @@ -5386,330 +6055,406 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true - '@playwright/test@1.56.0': + '@playwright/test@1.57.0': dependencies: - playwright: 1.56.0 + playwright: 1.57.0 '@radix-ui/primitive@1.1.3': {} - '@radix-ui/react-collection@1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-collection@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.8)(react@19.2.3) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.8)(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.8)(react@19.2.3) + react: 19.2.3 + react-dom: 19.2.3(react@19.2.3) optionalDependencies: - '@types/react': 19.2.2 - '@types/react-dom': 19.2.1(@types/react@19.2.2) + '@types/react': 19.2.8 + '@types/react-dom': 19.2.3(@types/react@19.2.8) - '@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.2)(react@19.2.0)': + '@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.8)(react@19.2.3)': dependencies: - react: 19.2.0 + react: 19.2.3 optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.8 - '@radix-ui/react-context@1.1.2(@types/react@19.2.2)(react@19.2.0)': + '@radix-ui/react-context@1.1.2(@types/react@19.2.8)(react@19.2.3)': dependencies: - react: 19.2.0 + react: 19.2.3 optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.8 - '@radix-ui/react-dialog@1.1.15(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-dialog@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.8)(react@19.2.3) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.8)(react@19.2.3) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.8)(react@19.2.3) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.8)(react@19.2.3) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.8)(react@19.2.3) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.8)(react@19.2.3) aria-hidden: 1.2.6 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) - react-remove-scroll: 2.7.1(@types/react@19.2.2)(react@19.2.0) + react: 19.2.3 + react-dom: 19.2.3(react@19.2.3) + react-remove-scroll: 2.7.1(@types/react@19.2.8)(react@19.2.3) optionalDependencies: - '@types/react': 19.2.2 - '@types/react-dom': 19.2.1(@types/react@19.2.2) + '@types/react': 19.2.8 + '@types/react-dom': 19.2.3(@types/react@19.2.8) - '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.8)(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.8)(react@19.2.3) + '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.2.8)(react@19.2.3) + react: 19.2.3 + react-dom: 19.2.3(react@19.2.3) optionalDependencies: - '@types/react': 19.2.2 - '@types/react-dom': 19.2.1(@types/react@19.2.2) + '@types/react': 19.2.8 + '@types/react-dom': 19.2.3(@types/react@19.2.8) - '@radix-ui/react-focus-guards@1.1.3(@types/react@19.2.2)(react@19.2.0)': + '@radix-ui/react-focus-guards@1.1.3(@types/react@19.2.8)(react@19.2.3)': dependencies: - react: 19.2.0 + react: 19.2.3 optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.8 - '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.8)(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.8)(react@19.2.3) + react: 19.2.3 + react-dom: 19.2.3(react@19.2.3) optionalDependencies: - '@types/react': 19.2.2 - '@types/react-dom': 19.2.1(@types/react@19.2.2) + '@types/react': 19.2.8 + '@types/react-dom': 19.2.3(@types/react@19.2.8) - '@radix-ui/react-id@1.1.1(@types/react@19.2.2)(react@19.2.0)': + '@radix-ui/react-id@1.1.1(@types/react@19.2.8)(react@19.2.3)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.8)(react@19.2.3) + react: 19.2.3 optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.8 - '@radix-ui/react-portal@1.1.9(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-portal@1.1.9(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.8)(react@19.2.3) + react: 19.2.3 + react-dom: 19.2.3(react@19.2.3) optionalDependencies: - '@types/react': 19.2.2 - '@types/react-dom': 19.2.1(@types/react@19.2.2) + '@types/react': 19.2.8 + '@types/react-dom': 19.2.3(@types/react@19.2.8) - '@radix-ui/react-presence@1.1.5(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-presence@1.1.5(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.8)(react@19.2.3) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.8)(react@19.2.3) + react: 19.2.3 + react-dom: 19.2.3(react@19.2.3) optionalDependencies: - '@types/react': 19.2.2 - '@types/react-dom': 19.2.1(@types/react@19.2.2) + '@types/react': 19.2.8 + '@types/react-dom': 19.2.3(@types/react@19.2.8) - '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.8)(react@19.2.3) + react: 19.2.3 + react-dom: 19.2.3(react@19.2.3) optionalDependencies: - '@types/react': 19.2.2 - '@types/react-dom': 19.2.1(@types/react@19.2.2) + '@types/react': 19.2.8 + '@types/react-dom': 19.2.3(@types/react@19.2.8) - '@radix-ui/react-slot@1.2.3(@types/react@19.2.2)(react@19.2.0)': + '@radix-ui/react-slot@1.2.3(@types/react@19.2.8)(react@19.2.3)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.8)(react@19.2.3) + react: 19.2.3 optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.8 - '@radix-ui/react-switch@1.2.6(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-switch@1.2.6(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.8)(react@19.2.3) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.8)(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.8)(react@19.2.3) + '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.8)(react@19.2.3) + '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.8)(react@19.2.3) + react: 19.2.3 + react-dom: 19.2.3(react@19.2.3) optionalDependencies: - '@types/react': 19.2.2 - '@types/react-dom': 19.2.1(@types/react@19.2.2) + '@types/react': 19.2.8 + '@types/react-dom': 19.2.3(@types/react@19.2.8) - '@radix-ui/react-toast@1.2.15(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-toast@1.2.15(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.8)(react@19.2.3) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.8)(react@19.2.3) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.8)(react@19.2.3) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.8)(react@19.2.3) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.8)(react@19.2.3) + '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + react: 19.2.3 + react-dom: 19.2.3(react@19.2.3) optionalDependencies: - '@types/react': 19.2.2 - '@types/react-dom': 19.2.1(@types/react@19.2.2) + '@types/react': 19.2.8 + '@types/react-dom': 19.2.3(@types/react@19.2.8) - '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.2.2)(react@19.2.0)': + '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.2.8)(react@19.2.3)': dependencies: - react: 19.2.0 + react: 19.2.3 optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.8 - '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.2.2)(react@19.2.0)': + '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.2.8)(react@19.2.3)': dependencies: - '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 + '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.8)(react@19.2.3) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.8)(react@19.2.3) + react: 19.2.3 optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.8 - '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.2)(react@19.2.0)': + '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.8)(react@19.2.3)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.8)(react@19.2.3) + react: 19.2.3 optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.8 - '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.2.2)(react@19.2.0)': + '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.2.8)(react@19.2.3)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.8)(react@19.2.3) + react: 19.2.3 optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.8 - '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.2)(react@19.2.0)': + '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.8)(react@19.2.3)': dependencies: - react: 19.2.0 + react: 19.2.3 optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.8 - '@radix-ui/react-use-previous@1.1.1(@types/react@19.2.2)(react@19.2.0)': + '@radix-ui/react-use-previous@1.1.1(@types/react@19.2.8)(react@19.2.3)': dependencies: - react: 19.2.0 + react: 19.2.3 optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.8 - '@radix-ui/react-use-size@1.1.1(@types/react@19.2.2)(react@19.2.0)': + '@radix-ui/react-use-size@1.1.1(@types/react@19.2.8)(react@19.2.3)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.8)(react@19.2.3) + react: 19.2.3 optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.8 - '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + react: 19.2.3 + react-dom: 19.2.3(react@19.2.3) optionalDependencies: - '@types/react': 19.2.2 - '@types/react-dom': 19.2.1(@types/react@19.2.2) + '@types/react': 19.2.8 + '@types/react-dom': 19.2.3(@types/react@19.2.8) - '@rolldown/binding-android-arm64@1.0.0-beta.42': + '@rolldown/binding-android-arm64@1.0.0-beta.53': optional: true - '@rolldown/binding-darwin-arm64@1.0.0-beta.42': + '@rolldown/binding-darwin-arm64@1.0.0-beta.53': optional: true - '@rolldown/binding-darwin-x64@1.0.0-beta.42': + '@rolldown/binding-darwin-x64@1.0.0-beta.53': optional: true - '@rolldown/binding-freebsd-x64@1.0.0-beta.42': + '@rolldown/binding-freebsd-x64@1.0.0-beta.53': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.42': + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.53': optional: true - '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.42': + '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.53': optional: true - '@rolldown/binding-linux-arm64-musl@1.0.0-beta.42': + '@rolldown/binding-linux-arm64-musl@1.0.0-beta.53': optional: true - '@rolldown/binding-linux-x64-gnu@1.0.0-beta.42': + '@rolldown/binding-linux-x64-gnu@1.0.0-beta.53': optional: true - '@rolldown/binding-linux-x64-musl@1.0.0-beta.42': + '@rolldown/binding-linux-x64-musl@1.0.0-beta.53': optional: true - '@rolldown/binding-openharmony-arm64@1.0.0-beta.42': + '@rolldown/binding-openharmony-arm64@1.0.0-beta.53': optional: true - '@rolldown/binding-wasm32-wasi@1.0.0-beta.42': + '@rolldown/binding-wasm32-wasi@1.0.0-beta.53': dependencies: - '@napi-rs/wasm-runtime': 1.0.6 + '@napi-rs/wasm-runtime': 1.1.0 optional: true - '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.42': + '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.53': optional: true - '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.42': + '@rolldown/binding-win32-x64-msvc@1.0.0-beta.53': optional: true - '@rolldown/binding-win32-x64-msvc@1.0.0-beta.42': + '@rolldown/pluginutils@1.0.0-beta.50': {} + + '@rolldown/pluginutils@1.0.0-beta.53': {} + + '@rollup/rollup-android-arm-eabi@4.53.3': optional: true - '@rolldown/pluginutils@1.0.0-beta.29': {} - - '@rolldown/pluginutils@1.0.0-beta.38': {} - - '@rolldown/pluginutils@1.0.0-beta.42': {} - - '@rollup/rollup-android-arm-eabi@4.47.1': + '@rollup/rollup-android-arm-eabi@4.55.1': optional: true - '@rollup/rollup-android-arm64@4.47.1': + '@rollup/rollup-android-arm64@4.53.3': optional: true - '@rollup/rollup-darwin-arm64@4.47.1': + '@rollup/rollup-android-arm64@4.55.1': optional: true - '@rollup/rollup-darwin-x64@4.47.1': + '@rollup/rollup-darwin-arm64@4.53.3': optional: true - '@rollup/rollup-freebsd-arm64@4.47.1': + '@rollup/rollup-darwin-arm64@4.55.1': optional: true - '@rollup/rollup-freebsd-x64@4.47.1': + '@rollup/rollup-darwin-x64@4.53.3': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.47.1': + '@rollup/rollup-darwin-x64@4.55.1': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.47.1': + '@rollup/rollup-freebsd-arm64@4.53.3': optional: true - '@rollup/rollup-linux-arm64-gnu@4.47.1': + '@rollup/rollup-freebsd-arm64@4.55.1': optional: true - '@rollup/rollup-linux-arm64-musl@4.47.1': + '@rollup/rollup-freebsd-x64@4.53.3': optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.47.1': + '@rollup/rollup-freebsd-x64@4.55.1': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.47.1': + '@rollup/rollup-linux-arm-gnueabihf@4.53.3': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.47.1': + '@rollup/rollup-linux-arm-gnueabihf@4.55.1': optional: true - '@rollup/rollup-linux-riscv64-musl@4.47.1': + '@rollup/rollup-linux-arm-musleabihf@4.53.3': optional: true - '@rollup/rollup-linux-s390x-gnu@4.47.1': + '@rollup/rollup-linux-arm-musleabihf@4.55.1': optional: true - '@rollup/rollup-linux-x64-gnu@4.47.1': + '@rollup/rollup-linux-arm64-gnu@4.53.3': optional: true - '@rollup/rollup-linux-x64-musl@4.47.1': + '@rollup/rollup-linux-arm64-gnu@4.55.1': optional: true - '@rollup/rollup-win32-arm64-msvc@4.47.1': + '@rollup/rollup-linux-arm64-musl@4.53.3': optional: true - '@rollup/rollup-win32-ia32-msvc@4.47.1': + '@rollup/rollup-linux-arm64-musl@4.55.1': optional: true - '@rollup/rollup-win32-x64-msvc@4.47.1': + '@rollup/rollup-linux-loong64-gnu@4.53.3': + optional: true + + '@rollup/rollup-linux-loong64-gnu@4.55.1': + optional: true + + '@rollup/rollup-linux-loong64-musl@4.55.1': + optional: true + + '@rollup/rollup-linux-ppc64-gnu@4.53.3': + optional: true + + '@rollup/rollup-linux-ppc64-gnu@4.55.1': + optional: true + + '@rollup/rollup-linux-ppc64-musl@4.55.1': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.53.3': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.55.1': + optional: true + + '@rollup/rollup-linux-riscv64-musl@4.53.3': + optional: true + + '@rollup/rollup-linux-riscv64-musl@4.55.1': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.53.3': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.55.1': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.53.3': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.55.1': + optional: true + + '@rollup/rollup-linux-x64-musl@4.53.3': + optional: true + + '@rollup/rollup-linux-x64-musl@4.55.1': + optional: true + + '@rollup/rollup-openbsd-x64@4.55.1': + optional: true + + '@rollup/rollup-openharmony-arm64@4.53.3': + optional: true + + '@rollup/rollup-openharmony-arm64@4.55.1': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.53.3': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.55.1': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.53.3': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.55.1': + optional: true + + '@rollup/rollup-win32-x64-gnu@4.53.3': + optional: true + + '@rollup/rollup-win32-x64-gnu@4.55.1': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.53.3': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.55.1': optional: true '@rtsao/scc@1.1.0': {} @@ -5718,38 +6463,38 @@ snapshots: '@scarf/scarf@1.4.0': {} - '@shikijs/core@3.11.0': + '@shikijs/core@3.17.0': dependencies: - '@shikijs/types': 3.11.0 + '@shikijs/types': 3.17.0 '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 hast-util-to-html: 9.0.5 - '@shikijs/engine-javascript@3.11.0': + '@shikijs/engine-javascript@3.17.0': dependencies: - '@shikijs/types': 3.11.0 + '@shikijs/types': 3.17.0 '@shikijs/vscode-textmate': 10.0.2 - oniguruma-to-es: 4.3.3 + oniguruma-to-es: 4.3.4 - '@shikijs/engine-oniguruma@3.11.0': + '@shikijs/engine-oniguruma@3.17.0': dependencies: - '@shikijs/types': 3.11.0 + '@shikijs/types': 3.17.0 '@shikijs/vscode-textmate': 10.0.2 - '@shikijs/langs@3.11.0': + '@shikijs/langs@3.17.0': dependencies: - '@shikijs/types': 3.11.0 + '@shikijs/types': 3.17.0 - '@shikijs/themes@3.11.0': + '@shikijs/themes@3.17.0': dependencies: - '@shikijs/types': 3.11.0 + '@shikijs/types': 3.17.0 - '@shikijs/transformers@3.11.0': + '@shikijs/transformers@3.17.0': dependencies: - '@shikijs/core': 3.11.0 - '@shikijs/types': 3.11.0 + '@shikijs/core': 3.17.0 + '@shikijs/types': 3.17.0 - '@shikijs/types@3.11.0': + '@shikijs/types@3.17.0': dependencies: '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 @@ -5760,18 +6505,19 @@ snapshots: dependencies: type-detect: 4.0.8 - '@sinonjs/fake-timers@13.0.5': + '@sinonjs/fake-timers@15.1.0': dependencies: '@sinonjs/commons': 3.0.1 - '@sinonjs/samsam@8.0.2': + '@sinonjs/samsam@8.0.3': dependencies: '@sinonjs/commons': 3.0.1 - lodash.get: 4.4.2 type-detect: 4.1.0 '@socket.io/component-emitter@3.1.2': {} + '@standard-schema/spec@1.1.0': {} + '@tootallnate/quickjs-emscripten@0.23.0': {} '@tybys/wasm-util@0.10.1': @@ -5781,66 +6527,67 @@ snapshots: '@types/accepts@1.3.7': dependencies: - '@types/node': 24.7.0 + '@types/node': 25.0.9 '@types/async@3.2.25': {} '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.28.4 - '@babel/types': 7.28.4 + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 '@types/babel__generator': 7.27.0 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.28.0 '@types/babel__generator@7.27.0': dependencies: - '@babel/types': 7.28.4 + '@babel/types': 7.28.5 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.28.4 - '@babel/types': 7.28.4 + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 '@types/babel__traverse@7.28.0': dependencies: - '@babel/types': 7.28.4 + '@babel/types': 7.28.5 - '@types/body-parser@1.19.5': + '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 24.7.0 + '@types/node': 25.0.9 - '@types/chai@5.2.2': + '@types/chai@5.2.3': dependencies: '@types/deep-eql': 4.0.2 + assertion-error: 2.0.1 '@types/connect@3.4.38': dependencies: - '@types/node': 24.7.0 + '@types/node': 25.0.9 '@types/content-disposition@0.5.9': {} - '@types/cookie-parser@1.4.9(@types/express@5.0.3)': + '@types/cookie-parser@1.4.10(@types/express@5.0.6)': dependencies: - '@types/express': 5.0.3 + '@types/express': 5.0.6 '@types/cookiejar@2.1.5': {} '@types/cookies@0.9.1': dependencies: '@types/connect': 3.4.38 - '@types/express': 5.0.3 + '@types/express': 5.0.6 '@types/keygrip': 1.0.6 - '@types/node': 24.7.0 + '@types/node': 25.0.9 - '@types/cors@2.8.17': + '@types/cors@2.8.19': dependencies: - '@types/node': 24.7.0 + '@types/node': 25.0.9 '@types/cross-spawn@6.0.6': dependencies: - '@types/node': 24.7.0 + '@types/node': 25.0.9 '@types/debug@4.1.12': dependencies: @@ -5852,30 +6599,30 @@ snapshots: '@types/estree@1.0.8': {} - '@types/express-serve-static-core@5.0.7': + '@types/express-serve-static-core@5.1.0': dependencies: - '@types/node': 24.7.0 - '@types/qs': 6.9.18 + '@types/node': 25.0.9 + '@types/qs': 6.14.0 '@types/range-parser': 1.2.7 - '@types/send': 0.17.4 + '@types/send': 1.2.1 '@types/express-session@1.18.2': dependencies: - '@types/express': 5.0.3 + '@types/express': 5.0.6 - '@types/express@5.0.3': + '@types/express@5.0.6': dependencies: - '@types/body-parser': 1.19.5 - '@types/express-serve-static-core': 5.0.7 - '@types/serve-static': 1.15.7 + '@types/body-parser': 1.19.6 + '@types/express-serve-static-core': 5.1.0 + '@types/serve-static': 2.2.0 - '@types/formidable@3.4.5': + '@types/formidable@3.4.6': dependencies: - '@types/node': 24.7.0 + '@types/node': 25.0.9 '@types/fs-extra@9.0.13': dependencies: - '@types/node': 24.7.0 + '@types/node': 25.0.9 '@types/hast@3.0.4': dependencies: @@ -5893,7 +6640,7 @@ snapshots: '@types/jsdom@27.0.0': dependencies: - '@types/node': 24.7.0 + '@types/node': 25.0.9 '@types/tough-cookie': 4.0.5 parse5: 7.3.0 @@ -5906,7 +6653,7 @@ snapshots: '@types/jsonwebtoken@9.0.10': dependencies: '@types/ms': 2.1.0 - '@types/node': 24.7.0 + '@types/node': 25.0.9 '@types/keygrip@1.0.6': {} @@ -5923,7 +6670,7 @@ snapshots: '@types/http-errors': 2.0.5 '@types/keygrip': 1.0.6 '@types/koa-compose': 3.2.8 - '@types/node': 24.7.0 + '@types/node': 25.0.9 '@types/linkify-it@5.0.0': {} @@ -5952,49 +6699,58 @@ snapshots: '@types/node-fetch@2.6.12': dependencies: - '@types/node': 24.7.0 + '@types/node': 25.0.9 form-data: 4.0.4 - '@types/node@24.7.0': + '@types/node@25.0.9': dependencies: - undici-types: 7.14.0 + undici-types: 7.16.0 '@types/oidc-provider@9.5.0': dependencies: '@types/keygrip': 1.0.6 '@types/koa': 3.0.0 - '@types/node': 24.7.0 + '@types/node': 25.0.9 - '@types/qs@6.9.18': {} + '@types/qs@6.14.0': {} '@types/range-parser@1.2.7': {} - '@types/react-dom@19.2.1(@types/react@19.2.2)': + '@types/react-dom@19.2.3(@types/react@19.2.8)': dependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.8 - '@types/react@19.2.2': + '@types/react@19.2.8': dependencies: - csstype: 3.1.3 + csstype: 3.2.3 '@types/semver@7.7.1': {} '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 24.7.0 + '@types/node': 25.0.9 + + '@types/send@1.2.1': + dependencies: + '@types/node': 25.0.9 '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.5 - '@types/node': 24.7.0 + '@types/node': 25.0.9 '@types/send': 0.17.4 - '@types/sinon@17.0.4': + '@types/serve-static@2.2.0': dependencies: - '@types/sinonjs__fake-timers': 8.1.5 + '@types/http-errors': 2.0.5 + '@types/node': 25.0.9 - '@types/sinonjs__fake-timers@8.1.5': {} + '@types/sinon@21.0.0': + dependencies: + '@types/sinonjs__fake-timers': 15.0.1 + + '@types/sinonjs__fake-timers@15.0.1': {} '@types/sizzle@2.3.9': {} @@ -6002,7 +6758,7 @@ snapshots: dependencies: '@types/cookiejar': 2.1.5 '@types/methods': 1.1.4 - '@types/node': 24.7.0 + '@types/node': 25.0.9 form-data: 4.0.4 '@types/supertest@6.0.3': @@ -6012,12 +6768,12 @@ snapshots: '@types/swagger-ui-express@4.1.8': dependencies: - '@types/express': 5.0.3 + '@types/express': 5.0.6 '@types/serve-static': 1.15.7 '@types/tar@6.1.13': dependencies: - '@types/node': 24.7.0 + '@types/node': 25.0.9 minipass: 4.2.8 '@types/tough-cookie@4.0.5': {} @@ -6032,15 +6788,15 @@ snapshots: '@types/whatwg-mimetype@3.0.2': {} - '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.37.0)(typescript@5.9.3))(eslint@9.37.0)(typescript@5.9.3)': + '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(typescript@5.9.3)': dependencies: - '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 7.18.0(eslint@9.37.0)(typescript@5.9.3) + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 7.18.0(eslint@9.39.2)(typescript@5.9.3) '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/type-utils': 7.18.0(eslint@9.37.0)(typescript@5.9.3) - '@typescript-eslint/utils': 7.18.0(eslint@9.37.0)(typescript@5.9.3) + '@typescript-eslint/type-utils': 7.18.0(eslint@9.39.2)(typescript@5.9.3) + '@typescript-eslint/utils': 7.18.0(eslint@9.39.2)(typescript@5.9.3) '@typescript-eslint/visitor-keys': 7.18.0 - eslint: 9.37.0 + eslint: 9.39.2 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -6050,52 +6806,51 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.46.0(@typescript-eslint/parser@8.46.0(eslint@9.37.0)(typescript@5.9.3))(eslint@9.37.0)(typescript@5.9.3)': + '@typescript-eslint/eslint-plugin@8.53.1(@typescript-eslint/parser@8.53.1(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(typescript@5.9.3)': dependencies: - '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.46.0(eslint@9.37.0)(typescript@5.9.3) - '@typescript-eslint/scope-manager': 8.46.0 - '@typescript-eslint/type-utils': 8.46.0(eslint@9.37.0)(typescript@5.9.3) - '@typescript-eslint/utils': 8.46.0(eslint@9.37.0)(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.46.0 - eslint: 9.37.0 - graphemer: 1.4.0 + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.53.1(eslint@9.39.2)(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.53.1 + '@typescript-eslint/type-utils': 8.53.1(eslint@9.39.2)(typescript@5.9.3) + '@typescript-eslint/utils': 8.53.1(eslint@9.39.2)(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.53.1 + eslint: 9.39.2 ignore: 7.0.5 natural-compare: 1.4.0 - ts-api-utils: 2.1.0(typescript@5.9.3) + ts-api-utils: 2.4.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.18.0(eslint@9.37.0)(typescript@5.9.3)': + '@typescript-eslint/parser@7.18.0(eslint@9.39.2)(typescript@5.9.3)': dependencies: '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/types': 7.18.0 '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.9.3) '@typescript-eslint/visitor-keys': 7.18.0 debug: 4.4.3(supports-color@8.1.1) - eslint: 9.37.0 + eslint: 9.39.2 optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.46.0(eslint@9.37.0)(typescript@5.9.3)': + '@typescript-eslint/parser@8.53.1(eslint@9.39.2)(typescript@5.9.3)': dependencies: - '@typescript-eslint/scope-manager': 8.46.0 - '@typescript-eslint/types': 8.46.0 - '@typescript-eslint/typescript-estree': 8.46.0(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.46.0 + '@typescript-eslint/scope-manager': 8.53.1 + '@typescript-eslint/types': 8.53.1 + '@typescript-eslint/typescript-estree': 8.53.1(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.53.1 debug: 4.4.3(supports-color@8.1.1) - eslint: 9.37.0 + eslint: 9.39.2 typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.46.0(typescript@5.9.3)': + '@typescript-eslint/project-service@8.53.1(typescript@5.9.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.46.0(typescript@5.9.3) - '@typescript-eslint/types': 8.46.0 + '@typescript-eslint/tsconfig-utils': 8.53.1(typescript@5.9.3) + '@typescript-eslint/types': 8.53.1 debug: 4.4.3(supports-color@8.1.1) typescript: 5.9.3 transitivePeerDependencies: @@ -6106,42 +6861,42 @@ snapshots: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 - '@typescript-eslint/scope-manager@8.46.0': + '@typescript-eslint/scope-manager@8.53.1': dependencies: - '@typescript-eslint/types': 8.46.0 - '@typescript-eslint/visitor-keys': 8.46.0 + '@typescript-eslint/types': 8.53.1 + '@typescript-eslint/visitor-keys': 8.53.1 - '@typescript-eslint/tsconfig-utils@8.46.0(typescript@5.9.3)': + '@typescript-eslint/tsconfig-utils@8.53.1(typescript@5.9.3)': dependencies: typescript: 5.9.3 - '@typescript-eslint/type-utils@7.18.0(eslint@9.37.0)(typescript@5.9.3)': + '@typescript-eslint/type-utils@7.18.0(eslint@9.39.2)(typescript@5.9.3)': dependencies: '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.9.3) - '@typescript-eslint/utils': 7.18.0(eslint@9.37.0)(typescript@5.9.3) + '@typescript-eslint/utils': 7.18.0(eslint@9.39.2)(typescript@5.9.3) debug: 4.4.3(supports-color@8.1.1) - eslint: 9.37.0 + eslint: 9.39.2 ts-api-utils: 1.4.3(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@8.46.0(eslint@9.37.0)(typescript@5.9.3)': + '@typescript-eslint/type-utils@8.53.1(eslint@9.39.2)(typescript@5.9.3)': dependencies: - '@typescript-eslint/types': 8.46.0 - '@typescript-eslint/typescript-estree': 8.46.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.46.0(eslint@9.37.0)(typescript@5.9.3) + '@typescript-eslint/types': 8.53.1 + '@typescript-eslint/typescript-estree': 8.53.1(typescript@5.9.3) + '@typescript-eslint/utils': 8.53.1(eslint@9.39.2)(typescript@5.9.3) debug: 4.4.3(supports-color@8.1.1) - eslint: 9.37.0 - ts-api-utils: 2.1.0(typescript@5.9.3) + eslint: 9.39.2 + ts-api-utils: 2.4.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: - supports-color '@typescript-eslint/types@7.18.0': {} - '@typescript-eslint/types@8.46.0': {} + '@typescript-eslint/types@8.53.1': {} '@typescript-eslint/typescript-estree@7.18.0(typescript@5.9.3)': dependencies: @@ -6158,40 +6913,39 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.46.0(typescript@5.9.3)': + '@typescript-eslint/typescript-estree@8.53.1(typescript@5.9.3)': dependencies: - '@typescript-eslint/project-service': 8.46.0(typescript@5.9.3) - '@typescript-eslint/tsconfig-utils': 8.46.0(typescript@5.9.3) - '@typescript-eslint/types': 8.46.0 - '@typescript-eslint/visitor-keys': 8.46.0 + '@typescript-eslint/project-service': 8.53.1(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.53.1(typescript@5.9.3) + '@typescript-eslint/types': 8.53.1 + '@typescript-eslint/visitor-keys': 8.53.1 debug: 4.4.3(supports-color@8.1.1) - fast-glob: 3.3.3 - is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.7.3 - ts-api-utils: 2.1.0(typescript@5.9.3) + tinyglobby: 0.2.15 + ts-api-utils: 2.4.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@7.18.0(eslint@9.37.0)(typescript@5.9.3)': + '@typescript-eslint/utils@7.18.0(eslint@9.39.2)(typescript@5.9.3)': dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@9.37.0) + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2) '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/types': 7.18.0 '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.9.3) - eslint: 9.37.0 + eslint: 9.39.2 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@8.46.0(eslint@9.37.0)(typescript@5.9.3)': + '@typescript-eslint/utils@8.53.1(eslint@9.39.2)(typescript@5.9.3)': dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@9.37.0) - '@typescript-eslint/scope-manager': 8.46.0 - '@typescript-eslint/types': 8.46.0 - '@typescript-eslint/typescript-estree': 8.46.0(typescript@5.9.3) - eslint: 9.37.0 + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2) + '@typescript-eslint/scope-manager': 8.53.1 + '@typescript-eslint/types': 8.53.1 + '@typescript-eslint/typescript-estree': 8.53.1(typescript@5.9.3) + eslint: 9.39.2 typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -6201,9 +6955,9 @@ snapshots: '@typescript-eslint/types': 7.18.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@8.46.0': + '@typescript-eslint/visitor-keys@8.53.1': dependencies: - '@typescript-eslint/types': 8.46.0 + '@typescript-eslint/types': 8.53.1 eslint-visitor-keys: 4.2.1 '@ungap/structured-clone@1.3.0': {} @@ -6255,160 +7009,157 @@ snapshots: '@unrs/resolver-binding-win32-x64-msvc@1.3.3': optional: true - '@vitejs/plugin-react@5.0.4(rolldown-vite@7.1.16(@types/node@24.7.0)(esbuild@0.25.10)(tsx@4.20.6))': + '@vitejs/plugin-react@5.1.2(rolldown-vite@7.2.10(@types/node@25.0.9)(esbuild@0.25.12)(tsx@4.21.0))': dependencies: - '@babel/core': 7.28.4 - '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.4) - '@rolldown/pluginutils': 1.0.0-beta.38 + '@babel/core': 7.28.5 + '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.5) + '@rolldown/pluginutils': 1.0.0-beta.53 '@types/babel__core': 7.20.5 - react-refresh: 0.17.0 - vite: rolldown-vite@7.1.16(@types/node@24.7.0)(esbuild@0.25.10)(tsx@4.20.6) + react-refresh: 0.18.0 + vite: rolldown-vite@7.2.10(@types/node@25.0.9)(esbuild@0.25.12)(tsx@4.21.0) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@6.0.1(vite@7.1.9(@types/node@24.7.0)(lightningcss@1.30.2)(tsx@4.20.6))(vue@3.5.19(typescript@5.9.3))': + '@vitejs/plugin-vue@6.0.2(vite@7.2.6(@types/node@25.0.9)(lightningcss@1.30.2)(tsx@4.21.0))(vue@3.5.25(typescript@5.9.3))': dependencies: - '@rolldown/pluginutils': 1.0.0-beta.29 - vite: 7.1.9(@types/node@24.7.0)(lightningcss@1.30.2)(tsx@4.20.6) - vue: 3.5.19(typescript@5.9.3) + '@rolldown/pluginutils': 1.0.0-beta.50 + vite: 7.2.6(@types/node@25.0.9)(lightningcss@1.30.2)(tsx@4.21.0) + vue: 3.5.25(typescript@5.9.3) - '@vitest/expect@3.2.4': + '@vitest/expect@4.0.17': dependencies: - '@types/chai': 5.2.2 - '@vitest/spy': 3.2.4 - '@vitest/utils': 3.2.4 - chai: 5.2.0 - tinyrainbow: 2.0.0 + '@standard-schema/spec': 1.1.0 + '@types/chai': 5.2.3 + '@vitest/spy': 4.0.17 + '@vitest/utils': 4.0.17 + chai: 6.2.2 + tinyrainbow: 3.0.3 - '@vitest/mocker@3.2.4(vite@7.1.9(@types/node@24.7.0)(lightningcss@1.30.2)(tsx@4.20.6))': + '@vitest/mocker@4.0.17(vite@7.3.1(@types/node@25.0.9)(lightningcss@1.30.2)(tsx@4.21.0))': dependencies: - '@vitest/spy': 3.2.4 + '@vitest/spy': 4.0.17 estree-walker: 3.0.3 - magic-string: 0.30.17 + magic-string: 0.30.21 optionalDependencies: - vite: 7.1.9(@types/node@24.7.0)(lightningcss@1.30.2)(tsx@4.20.6) + vite: 7.3.1(@types/node@25.0.9)(lightningcss@1.30.2)(tsx@4.21.0) - '@vitest/pretty-format@3.2.4': + '@vitest/pretty-format@4.0.17': dependencies: - tinyrainbow: 2.0.0 + tinyrainbow: 3.0.3 - '@vitest/runner@3.2.4': + '@vitest/runner@4.0.17': dependencies: - '@vitest/utils': 3.2.4 - pathe: 2.0.3 - strip-literal: 3.0.0 - - '@vitest/snapshot@3.2.4': - dependencies: - '@vitest/pretty-format': 3.2.4 - magic-string: 0.30.17 + '@vitest/utils': 4.0.17 pathe: 2.0.3 - '@vitest/spy@3.2.4': + '@vitest/snapshot@4.0.17': dependencies: - tinyspy: 4.0.3 + '@vitest/pretty-format': 4.0.17 + magic-string: 0.30.21 + pathe: 2.0.3 - '@vitest/utils@3.2.4': - dependencies: - '@vitest/pretty-format': 3.2.4 - loupe: 3.2.0 - tinyrainbow: 2.0.0 + '@vitest/spy@4.0.17': {} - '@vue/compiler-core@3.5.19': + '@vitest/utils@4.0.17': dependencies: - '@babel/parser': 7.28.4 - '@vue/shared': 3.5.19 + '@vitest/pretty-format': 4.0.17 + tinyrainbow: 3.0.3 + + '@vue/compiler-core@3.5.25': + dependencies: + '@babel/parser': 7.28.5 + '@vue/shared': 3.5.25 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-dom@3.5.19': + '@vue/compiler-dom@3.5.25': dependencies: - '@vue/compiler-core': 3.5.19 - '@vue/shared': 3.5.19 + '@vue/compiler-core': 3.5.25 + '@vue/shared': 3.5.25 - '@vue/compiler-sfc@3.5.19': + '@vue/compiler-sfc@3.5.25': dependencies: - '@babel/parser': 7.28.4 - '@vue/compiler-core': 3.5.19 - '@vue/compiler-dom': 3.5.19 - '@vue/compiler-ssr': 3.5.19 - '@vue/shared': 3.5.19 + '@babel/parser': 7.28.5 + '@vue/compiler-core': 3.5.25 + '@vue/compiler-dom': 3.5.25 + '@vue/compiler-ssr': 3.5.25 + '@vue/shared': 3.5.25 estree-walker: 2.0.2 - magic-string: 0.30.18 + magic-string: 0.30.21 postcss: 8.5.6 source-map-js: 1.2.1 - '@vue/compiler-ssr@3.5.19': + '@vue/compiler-ssr@3.5.25': dependencies: - '@vue/compiler-dom': 3.5.19 - '@vue/shared': 3.5.19 + '@vue/compiler-dom': 3.5.25 + '@vue/shared': 3.5.25 - '@vue/devtools-api@8.0.0': + '@vue/devtools-api@8.0.5': dependencies: - '@vue/devtools-kit': 8.0.0 + '@vue/devtools-kit': 8.0.5 - '@vue/devtools-kit@8.0.0': + '@vue/devtools-kit@8.0.5': dependencies: - '@vue/devtools-shared': 8.0.0 - birpc: 2.5.0 + '@vue/devtools-shared': 8.0.5 + birpc: 2.8.0 hookable: 5.5.3 mitt: 3.0.1 - perfect-debounce: 1.0.0 + perfect-debounce: 2.0.0 speakingurl: 14.0.1 - superjson: 2.2.2 + superjson: 2.2.6 - '@vue/devtools-shared@8.0.0': + '@vue/devtools-shared@8.0.5': dependencies: rfdc: 1.4.1 - '@vue/reactivity@3.5.19': + '@vue/reactivity@3.5.25': dependencies: - '@vue/shared': 3.5.19 + '@vue/shared': 3.5.25 - '@vue/runtime-core@3.5.19': + '@vue/runtime-core@3.5.25': dependencies: - '@vue/reactivity': 3.5.19 - '@vue/shared': 3.5.19 + '@vue/reactivity': 3.5.25 + '@vue/shared': 3.5.25 - '@vue/runtime-dom@3.5.19': + '@vue/runtime-dom@3.5.25': dependencies: - '@vue/reactivity': 3.5.19 - '@vue/runtime-core': 3.5.19 - '@vue/shared': 3.5.19 - csstype: 3.1.3 + '@vue/reactivity': 3.5.25 + '@vue/runtime-core': 3.5.25 + '@vue/shared': 3.5.25 + csstype: 3.2.3 - '@vue/server-renderer@3.5.19(vue@3.5.19(typescript@5.9.3))': + '@vue/server-renderer@3.5.25(vue@3.5.25(typescript@5.9.3))': dependencies: - '@vue/compiler-ssr': 3.5.19 - '@vue/shared': 3.5.19 - vue: 3.5.19(typescript@5.9.3) + '@vue/compiler-ssr': 3.5.25 + '@vue/shared': 3.5.25 + vue: 3.5.25(typescript@5.9.3) - '@vue/shared@3.5.19': {} + '@vue/shared@3.5.25': {} - '@vueuse/core@13.7.0(vue@3.5.19(typescript@5.9.3))': + '@vueuse/core@14.1.0(vue@3.5.25(typescript@5.9.3))': dependencies: '@types/web-bluetooth': 0.0.21 - '@vueuse/metadata': 13.7.0 - '@vueuse/shared': 13.7.0(vue@3.5.19(typescript@5.9.3)) - vue: 3.5.19(typescript@5.9.3) + '@vueuse/metadata': 14.1.0 + '@vueuse/shared': 14.1.0(vue@3.5.25(typescript@5.9.3)) + vue: 3.5.25(typescript@5.9.3) - '@vueuse/integrations@13.7.0(axios@1.12.2)(focus-trap@7.6.5)(jwt-decode@4.0.0)(vue@3.5.19(typescript@5.9.3))': + '@vueuse/integrations@14.1.0(axios@1.13.2)(focus-trap@7.6.6)(jwt-decode@4.0.0)(vue@3.5.25(typescript@5.9.3))': dependencies: - '@vueuse/core': 13.7.0(vue@3.5.19(typescript@5.9.3)) - '@vueuse/shared': 13.7.0(vue@3.5.19(typescript@5.9.3)) - vue: 3.5.19(typescript@5.9.3) + '@vueuse/core': 14.1.0(vue@3.5.25(typescript@5.9.3)) + '@vueuse/shared': 14.1.0(vue@3.5.25(typescript@5.9.3)) + vue: 3.5.25(typescript@5.9.3) optionalDependencies: - axios: 1.12.2 - focus-trap: 7.6.5 + axios: 1.13.2 + focus-trap: 7.6.6 jwt-decode: 4.0.0 - '@vueuse/metadata@13.7.0': {} + '@vueuse/metadata@14.1.0': {} - '@vueuse/shared@13.7.0(vue@3.5.19(typescript@5.9.3))': + '@vueuse/shared@14.1.0(vue@3.5.25(typescript@5.9.3))': dependencies: - vue: 3.5.19(typescript@5.9.3) + vue: 3.5.25(typescript@5.9.3) accepts@1.3.8: dependencies: @@ -6417,7 +7168,7 @@ snapshots: accepts@2.0.0: dependencies: - mime-types: 3.0.1 + mime-types: 3.0.2 negotiator: 1.0.0 acorn-jsx@5.3.2(acorn@8.15.0): @@ -6458,8 +7209,6 @@ snapshots: ansi-styles@6.2.3: {} - ansis@4.2.0: {} - anymatch@3.1.3: dependencies: normalize-path: 3.0.0 @@ -6539,9 +7288,9 @@ snapshots: dependencies: possible-typed-array-names: 1.1.0 - axios@1.12.2: + axios@1.13.2: dependencies: - follow-redirects: 1.15.9 + follow-redirects: 1.15.11 form-data: 4.0.4 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -6557,7 +7306,7 @@ snapshots: base64id@2.0.0: {} - baseline-browser-mapping@2.8.14: {} + baseline-browser-mapping@2.9.11: {} basic-ftp@5.0.5: {} @@ -6573,18 +7322,18 @@ snapshots: bintrees@1.0.2: {} - birpc@2.5.0: {} + birpc@2.8.0: {} - body-parser@2.2.0: + body-parser@2.2.1: dependencies: bytes: 3.1.2 content-type: 1.0.5 debug: 4.4.3(supports-color@8.1.1) - http-errors: 2.0.0 - iconv-lite: 0.6.3 + http-errors: 2.0.1 + iconv-lite: 0.7.0 on-finished: 2.4.1 qs: 6.14.0 - raw-body: 3.0.0 + raw-body: 3.0.2 type-is: 2.0.1 transitivePeerDependencies: - supports-color @@ -6604,13 +7353,13 @@ snapshots: browser-stdout@1.3.1: {} - browserslist@4.26.3: + browserslist@4.28.1: dependencies: - baseline-browser-mapping: 2.8.14 - caniuse-lite: 1.0.30001749 - electron-to-chromium: 1.5.233 - node-releases: 2.0.23 - update-browserslist-db: 1.1.3(browserslist@4.26.3) + baseline-browser-mapping: 2.9.11 + caniuse-lite: 1.0.30001761 + electron-to-chromium: 1.5.267 + node-releases: 2.0.27 + update-browserslist-db: 1.2.3(browserslist@4.28.1) buffer-equal-constant-time@1.0.1: {} @@ -6622,8 +7371,6 @@ snapshots: bytes@3.1.2: {} - cac@6.7.14: {} - call-bind-apply-helpers@1.0.2: dependencies: es-errors: 1.3.0 @@ -6645,17 +7392,11 @@ snapshots: camelcase@6.3.0: {} - caniuse-lite@1.0.30001749: {} + caniuse-lite@1.0.30001761: {} ccount@2.0.1: {} - chai@5.2.0: - dependencies: - assertion-error: 2.0.1 - check-error: 2.1.1 - deep-eql: 5.0.2 - loupe: 3.1.3 - pathval: 2.0.0 + chai@6.2.2: {} chalk@4.1.2: dependencies: @@ -6666,8 +7407,6 @@ snapshots: character-entities-legacy@3.0.0: {} - check-error@2.1.1: {} - chokidar@3.6.0: dependencies: anymatch: 3.1.3 @@ -6684,6 +7423,10 @@ snapshots: dependencies: readdirp: 4.1.2 + chokidar@5.0.0: + dependencies: + readdirp: 5.0.0 + chownr@2.0.0: {} cliui@8.0.1: @@ -6712,9 +7455,7 @@ snapshots: dependencies: safe-buffer: 5.2.1 - content-disposition@1.0.0: - dependencies: - safe-buffer: 5.2.1 + content-disposition@1.0.1: {} content-type@1.0.5: {} @@ -6735,6 +7476,8 @@ snapshots: cookie@1.0.2: {} + cookie@1.1.1: {} + cookiejar@2.1.4: {} cookies@0.9.1: @@ -6742,9 +7485,9 @@ snapshots: depd: 2.0.0 keygrip: 1.1.0 - copy-anything@3.0.5: + copy-anything@4.0.5: dependencies: - is-what: 4.1.16 + is-what: 5.5.0 cors@2.8.5: dependencies: @@ -6767,15 +7510,13 @@ snapshots: mdn-data: 2.12.2 source-map-js: 1.2.1 - cssstyle@5.3.1(postcss@8.5.6): + cssstyle@5.3.5: dependencies: - '@asamuzakjp/css-color': 4.0.5 - '@csstools/css-syntax-patches-for-csstree': 1.0.14(postcss@8.5.6) + '@asamuzakjp/css-color': 4.1.1 + '@csstools/css-syntax-patches-for-csstree': 1.0.22 css-tree: 3.1.0 - transitivePeerDependencies: - - postcss - csstype@3.1.3: {} + csstype@3.2.3: {} data-uri-to-buffer@6.0.2: {} @@ -6812,10 +7553,6 @@ snapshots: dependencies: ms: 2.1.3 - debug@4.3.7: - dependencies: - ms: 2.1.3 - debug@4.4.0: dependencies: ms: 2.1.3 @@ -6834,8 +7571,6 @@ snapshots: decimal.js@10.6.0: {} - deep-eql@5.0.2: {} - deep-equal@1.0.1: {} deep-is@0.1.4: {} @@ -6887,6 +7622,8 @@ snapshots: diff@7.0.0: {} + diff@8.0.2: {} + dir-glob@3.0.1: dependencies: path-type: 4.0.0 @@ -6913,7 +7650,7 @@ snapshots: dependencies: jake: 10.9.2 - electron-to-chromium@1.5.233: {} + electron-to-chromium@1.5.267: {} emoji-regex@8.0.0: {} @@ -6921,12 +7658,12 @@ snapshots: encodeurl@2.0.0: {} - engine.io-client@6.6.3: + engine.io-client@6.6.4: dependencies: '@socket.io/component-emitter': 3.1.2 - debug: 4.3.7 + debug: 4.4.3(supports-color@8.1.1) engine.io-parser: 5.2.3 - ws: 8.17.1 + ws: 8.18.3 xmlhttprequest-ssl: 2.1.2 transitivePeerDependencies: - bufferutil @@ -6935,17 +7672,17 @@ snapshots: engine.io-parser@5.2.3: {} - engine.io@6.6.4: + engine.io@6.6.5: dependencies: - '@types/cors': 2.8.17 - '@types/node': 24.7.0 + '@types/cors': 2.8.19 + '@types/node': 25.0.9 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.7.2 cors: 2.8.5 - debug: 4.3.7 + debug: 4.4.3(supports-color@8.1.1) engine.io-parser: 5.2.3 - ws: 8.17.1 + ws: 8.18.3 transitivePeerDependencies: - bufferutil - supports-color @@ -7036,34 +7773,92 @@ snapshots: is-date-object: 1.1.0 is-symbol: 1.1.1 - esbuild@0.25.10: + esbuild@0.25.12: optionalDependencies: - '@esbuild/aix-ppc64': 0.25.10 - '@esbuild/android-arm': 0.25.10 - '@esbuild/android-arm64': 0.25.10 - '@esbuild/android-x64': 0.25.10 - '@esbuild/darwin-arm64': 0.25.10 - '@esbuild/darwin-x64': 0.25.10 - '@esbuild/freebsd-arm64': 0.25.10 - '@esbuild/freebsd-x64': 0.25.10 - '@esbuild/linux-arm': 0.25.10 - '@esbuild/linux-arm64': 0.25.10 - '@esbuild/linux-ia32': 0.25.10 - '@esbuild/linux-loong64': 0.25.10 - '@esbuild/linux-mips64el': 0.25.10 - '@esbuild/linux-ppc64': 0.25.10 - '@esbuild/linux-riscv64': 0.25.10 - '@esbuild/linux-s390x': 0.25.10 - '@esbuild/linux-x64': 0.25.10 - '@esbuild/netbsd-arm64': 0.25.10 - '@esbuild/netbsd-x64': 0.25.10 - '@esbuild/openbsd-arm64': 0.25.10 - '@esbuild/openbsd-x64': 0.25.10 - '@esbuild/openharmony-arm64': 0.25.10 - '@esbuild/sunos-x64': 0.25.10 - '@esbuild/win32-arm64': 0.25.10 - '@esbuild/win32-ia32': 0.25.10 - '@esbuild/win32-x64': 0.25.10 + '@esbuild/aix-ppc64': 0.25.12 + '@esbuild/android-arm': 0.25.12 + '@esbuild/android-arm64': 0.25.12 + '@esbuild/android-x64': 0.25.12 + '@esbuild/darwin-arm64': 0.25.12 + '@esbuild/darwin-x64': 0.25.12 + '@esbuild/freebsd-arm64': 0.25.12 + '@esbuild/freebsd-x64': 0.25.12 + '@esbuild/linux-arm': 0.25.12 + '@esbuild/linux-arm64': 0.25.12 + '@esbuild/linux-ia32': 0.25.12 + '@esbuild/linux-loong64': 0.25.12 + '@esbuild/linux-mips64el': 0.25.12 + '@esbuild/linux-ppc64': 0.25.12 + '@esbuild/linux-riscv64': 0.25.12 + '@esbuild/linux-s390x': 0.25.12 + '@esbuild/linux-x64': 0.25.12 + '@esbuild/netbsd-arm64': 0.25.12 + '@esbuild/netbsd-x64': 0.25.12 + '@esbuild/openbsd-arm64': 0.25.12 + '@esbuild/openbsd-x64': 0.25.12 + '@esbuild/openharmony-arm64': 0.25.12 + '@esbuild/sunos-x64': 0.25.12 + '@esbuild/win32-arm64': 0.25.12 + '@esbuild/win32-ia32': 0.25.12 + '@esbuild/win32-x64': 0.25.12 + + esbuild@0.27.1: + optionalDependencies: + '@esbuild/aix-ppc64': 0.27.1 + '@esbuild/android-arm': 0.27.1 + '@esbuild/android-arm64': 0.27.1 + '@esbuild/android-x64': 0.27.1 + '@esbuild/darwin-arm64': 0.27.1 + '@esbuild/darwin-x64': 0.27.1 + '@esbuild/freebsd-arm64': 0.27.1 + '@esbuild/freebsd-x64': 0.27.1 + '@esbuild/linux-arm': 0.27.1 + '@esbuild/linux-arm64': 0.27.1 + '@esbuild/linux-ia32': 0.27.1 + '@esbuild/linux-loong64': 0.27.1 + '@esbuild/linux-mips64el': 0.27.1 + '@esbuild/linux-ppc64': 0.27.1 + '@esbuild/linux-riscv64': 0.27.1 + '@esbuild/linux-s390x': 0.27.1 + '@esbuild/linux-x64': 0.27.1 + '@esbuild/netbsd-arm64': 0.27.1 + '@esbuild/netbsd-x64': 0.27.1 + '@esbuild/openbsd-arm64': 0.27.1 + '@esbuild/openbsd-x64': 0.27.1 + '@esbuild/openharmony-arm64': 0.27.1 + '@esbuild/sunos-x64': 0.27.1 + '@esbuild/win32-arm64': 0.27.1 + '@esbuild/win32-ia32': 0.27.1 + '@esbuild/win32-x64': 0.27.1 + + esbuild@0.27.2: + optionalDependencies: + '@esbuild/aix-ppc64': 0.27.2 + '@esbuild/android-arm': 0.27.2 + '@esbuild/android-arm64': 0.27.2 + '@esbuild/android-x64': 0.27.2 + '@esbuild/darwin-arm64': 0.27.2 + '@esbuild/darwin-x64': 0.27.2 + '@esbuild/freebsd-arm64': 0.27.2 + '@esbuild/freebsd-x64': 0.27.2 + '@esbuild/linux-arm': 0.27.2 + '@esbuild/linux-arm64': 0.27.2 + '@esbuild/linux-ia32': 0.27.2 + '@esbuild/linux-loong64': 0.27.2 + '@esbuild/linux-mips64el': 0.27.2 + '@esbuild/linux-ppc64': 0.27.2 + '@esbuild/linux-riscv64': 0.27.2 + '@esbuild/linux-s390x': 0.27.2 + '@esbuild/linux-x64': 0.27.2 + '@esbuild/netbsd-arm64': 0.27.2 + '@esbuild/netbsd-x64': 0.27.2 + '@esbuild/openbsd-arm64': 0.27.2 + '@esbuild/openbsd-x64': 0.27.2 + '@esbuild/openharmony-arm64': 0.27.2 + '@esbuild/sunos-x64': 0.27.2 + '@esbuild/win32-arm64': 0.27.2 + '@esbuild/win32-ia32': 0.27.2 + '@esbuild/win32-x64': 0.27.2 escalade@3.2.0: {} @@ -7081,24 +7876,24 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-compat-utils@0.5.1(eslint@9.37.0): + eslint-compat-utils@0.5.1(eslint@9.39.2): dependencies: - eslint: 9.37.0 + eslint: 9.39.2 semver: 7.7.3 - eslint-config-etherpad@4.0.4(eslint@9.37.0)(typescript@5.9.3): + eslint-config-etherpad@4.0.4(eslint@9.39.2)(typescript@5.9.3): dependencies: '@rushstack/eslint-patch': 1.11.0 - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.37.0)(typescript@5.9.3))(eslint@9.37.0)(typescript@5.9.3) - '@typescript-eslint/parser': 7.18.0(eslint@9.37.0)(typescript@5.9.3) - eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0)(eslint@9.37.0) - eslint-plugin-cypress: 2.15.2(eslint@9.37.0) - eslint-plugin-eslint-comments: 3.2.0(eslint@9.37.0) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.37.0)(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.0)(eslint@9.37.0) - eslint-plugin-mocha: 10.5.0(eslint@9.37.0) - eslint-plugin-n: 16.6.2(eslint@9.37.0) - eslint-plugin-prefer-arrow: 1.2.3(eslint@9.37.0) - eslint-plugin-promise: 6.6.0(eslint@9.37.0) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(typescript@5.9.3) + '@typescript-eslint/parser': 7.18.0(eslint@9.39.2)(typescript@5.9.3) + eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0)(eslint@9.39.2) + eslint-plugin-cypress: 2.15.2(eslint@9.39.2) + eslint-plugin-eslint-comments: 3.2.0(eslint@9.39.2) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.39.2)(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.0)(eslint@9.39.2) + eslint-plugin-mocha: 10.5.0(eslint@9.39.2) + eslint-plugin-n: 16.6.2(eslint@9.39.2) + eslint-plugin-prefer-arrow: 1.2.3(eslint@9.39.2) + eslint-plugin-promise: 6.6.0(eslint@9.39.2) eslint-plugin-you-dont-need-lodash-underscore: 6.14.0 transitivePeerDependencies: - eslint @@ -7111,55 +7906,55 @@ snapshots: dependencies: debug: 3.2.7 is-core-module: 2.16.1 - resolve: 1.22.10 + resolve: 1.22.11 transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0)(eslint@9.37.0): + eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0)(eslint@9.39.2): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.4.3(supports-color@8.1.1) - eslint: 9.37.0 - get-tsconfig: 4.10.1 + eslint: 9.39.2 + get-tsconfig: 4.13.0 is-bun-module: 2.0.0 stable-hash: 0.0.5 tinyglobby: 0.2.15 unrs-resolver: 1.3.3 optionalDependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.37.0)(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.0)(eslint@9.37.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.39.2)(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.0)(eslint@9.39.2) transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@7.18.0(eslint@9.37.0)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0)(eslint@9.37.0): + eslint-module-utils@2.12.0(@typescript-eslint/parser@7.18.0(eslint@9.39.2)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0)(eslint@9.39.2): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 7.18.0(eslint@9.37.0)(typescript@5.9.3) - eslint: 9.37.0 + '@typescript-eslint/parser': 7.18.0(eslint@9.39.2)(typescript@5.9.3) + eslint: 9.39.2 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0)(eslint@9.37.0) + eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0)(eslint@9.39.2) transitivePeerDependencies: - supports-color - eslint-plugin-cypress@2.15.2(eslint@9.37.0): + eslint-plugin-cypress@2.15.2(eslint@9.39.2): dependencies: - eslint: 9.37.0 + eslint: 9.39.2 globals: 13.24.0 - eslint-plugin-es-x@7.8.0(eslint@9.37.0): + eslint-plugin-es-x@7.8.0(eslint@9.39.2): dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@9.37.0) - '@eslint-community/regexpp': 4.12.1 - eslint: 9.37.0 - eslint-compat-utils: 0.5.1(eslint@9.37.0) + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2) + '@eslint-community/regexpp': 4.12.2 + eslint: 9.39.2 + eslint-compat-utils: 0.5.1(eslint@9.39.2) - eslint-plugin-eslint-comments@3.2.0(eslint@9.37.0): + eslint-plugin-eslint-comments@3.2.0(eslint@9.39.2): dependencies: escape-string-regexp: 1.0.5 - eslint: 9.37.0 + eslint: 9.39.2 ignore: 5.3.2 - eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.37.0)(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.0)(eslint@9.37.0): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.39.2)(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.0)(eslint@9.39.2): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -7168,9 +7963,9 @@ snapshots: array.prototype.flatmap: 1.3.3 debug: 3.2.7 doctrine: 2.1.0 - eslint: 9.37.0 + eslint: 9.39.2 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@9.37.0)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0)(eslint@9.37.0) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@9.39.2)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0)(eslint@9.39.2) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -7182,55 +7977,56 @@ snapshots: string.prototype.trimend: 1.0.9 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 7.18.0(eslint@9.37.0)(typescript@5.9.3) + '@typescript-eslint/parser': 7.18.0(eslint@9.39.2)(typescript@5.9.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-mocha@10.5.0(eslint@9.37.0): + eslint-plugin-mocha@10.5.0(eslint@9.39.2): dependencies: - eslint: 9.37.0 - eslint-utils: 3.0.0(eslint@9.37.0) + eslint: 9.39.2 + eslint-utils: 3.0.0(eslint@9.39.2) globals: 13.24.0 rambda: 7.5.0 - eslint-plugin-n@16.6.2(eslint@9.37.0): + eslint-plugin-n@16.6.2(eslint@9.39.2): dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@9.37.0) + '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.2) builtins: 5.1.0 - eslint: 9.37.0 - eslint-plugin-es-x: 7.8.0(eslint@9.37.0) - get-tsconfig: 4.10.1 + eslint: 9.39.2 + eslint-plugin-es-x: 7.8.0(eslint@9.39.2) + get-tsconfig: 4.13.0 globals: 13.24.0 ignore: 5.3.2 is-builtin-module: 3.2.1 is-core-module: 2.16.1 minimatch: 3.1.2 - resolve: 1.22.10 + resolve: 1.22.11 semver: 7.7.3 - eslint-plugin-prefer-arrow@1.2.3(eslint@9.37.0): + eslint-plugin-prefer-arrow@1.2.3(eslint@9.39.2): dependencies: - eslint: 9.37.0 + eslint: 9.39.2 - eslint-plugin-promise@6.6.0(eslint@9.37.0): + eslint-plugin-promise@6.6.0(eslint@9.39.2): dependencies: - eslint: 9.37.0 + eslint: 9.39.2 - eslint-plugin-react-hooks@6.1.1(eslint@9.37.0): + eslint-plugin-react-hooks@7.0.1(eslint@9.39.2): dependencies: - '@babel/core': 7.28.4 - '@babel/parser': 7.28.4 - eslint: 9.37.0 + '@babel/core': 7.28.5 + '@babel/parser': 7.28.5 + eslint: 9.39.2 + hermes-parser: 0.25.1 zod: 4.1.12 zod-validation-error: 4.0.2(zod@4.1.12) transitivePeerDependencies: - supports-color - eslint-plugin-react-refresh@0.4.23(eslint@9.37.0): + eslint-plugin-react-refresh@0.4.26(eslint@9.39.2): dependencies: - eslint: 9.37.0 + eslint: 9.39.2 eslint-plugin-you-dont-need-lodash-underscore@6.14.0: dependencies: @@ -7241,9 +8037,9 @@ snapshots: esrecurse: 4.3.0 estraverse: 5.3.0 - eslint-utils@3.0.0(eslint@9.37.0): + eslint-utils@3.0.0(eslint@9.39.2): dependencies: - eslint: 9.37.0 + eslint: 9.39.2 eslint-visitor-keys: 2.1.0 eslint-visitor-keys@2.1.0: {} @@ -7252,21 +8048,20 @@ snapshots: eslint-visitor-keys@4.2.1: {} - eslint@9.37.0: + eslint@9.39.2: dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@9.37.0) - '@eslint-community/regexpp': 4.12.1 - '@eslint/config-array': 0.21.0 - '@eslint/config-helpers': 0.4.0 - '@eslint/core': 0.16.0 - '@eslint/eslintrc': 3.3.1 - '@eslint/js': 9.37.0 - '@eslint/plugin-kit': 0.4.0 + '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.2) + '@eslint-community/regexpp': 4.12.2 + '@eslint/config-array': 0.21.1 + '@eslint/config-helpers': 0.4.2 + '@eslint/core': 0.17.0 + '@eslint/eslintrc': 3.3.3 + '@eslint/js': 9.39.2 + '@eslint/plugin-kit': 0.4.1 '@humanfs/node': 0.16.7 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.3 '@types/estree': 1.0.8 - '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 @@ -7318,25 +8113,25 @@ snapshots: esutils@2.0.3: {} - eta@3.5.0: {} + eta@4.5.0: {} etag@1.8.1: {} etherpad-cli-client@3.0.5: dependencies: async: 3.2.6 - socket.io-client: 4.8.1 - superagent: 10.2.3 + socket.io-client: 4.8.3 + superagent: 10.3.0 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - expect-type@1.2.1: {} + expect-type@1.3.0: {} - express-rate-limit@8.1.0(express@5.1.0): + express-rate-limit@8.2.1(express@5.2.1): dependencies: - express: 5.1.0 + express: 5.2.1 ip-address: 10.0.1 express-session@1.18.2: @@ -7352,23 +8147,24 @@ snapshots: transitivePeerDependencies: - supports-color - express@5.1.0: + express@5.2.1: dependencies: accepts: 2.0.0 - body-parser: 2.2.0 - content-disposition: 1.0.0 + body-parser: 2.2.1 + content-disposition: 1.0.1 content-type: 1.0.5 cookie: 0.7.2 cookie-signature: 1.2.2 - debug: 4.4.1 + debug: 4.4.3(supports-color@8.1.1) + depd: 2.0.0 encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 - finalhandler: 2.1.0 + finalhandler: 2.1.1 fresh: 2.0.0 - http-errors: 2.0.0 + http-errors: 2.0.1 merge-descriptors: 2.0.0 - mime-types: 3.0.1 + mime-types: 3.0.2 on-finished: 2.4.1 once: 1.4.0 parseurl: 1.3.3 @@ -7433,7 +8229,7 @@ snapshots: dependencies: to-regex-range: 5.0.1 - finalhandler@2.1.0: + finalhandler@2.1.1: dependencies: debug: 4.4.3(supports-color@8.1.1) encodeurl: 2.0.0 @@ -7460,11 +8256,11 @@ snapshots: flatted@3.3.3: {} - focus-trap@7.6.5: + focus-trap@7.6.6: dependencies: - tabbable: 6.2.0 + tabbable: 6.3.0 - follow-redirects@1.15.9: {} + follow-redirects@1.15.11: {} for-each@0.3.5: dependencies: @@ -7483,6 +8279,14 @@ snapshots: hasown: 2.0.2 mime-types: 2.1.35 + form-data@4.0.5: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + es-set-tostringtag: 2.1.0 + hasown: 2.0.2 + mime-types: 2.1.35 + formdata-polyfill@4.0.10: dependencies: fetch-blob: 3.2.0 @@ -7505,12 +8309,6 @@ snapshots: jsonfile: 6.1.0 universalify: 2.0.1 - fs-extra@11.3.2: - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.2.0 - universalify: 2.0.1 - fs-extra@8.1.0: dependencies: graceful-fs: 4.2.11 @@ -7570,7 +8368,7 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.3.0 - get-tsconfig@4.10.1: + get-tsconfig@4.13.0: dependencies: resolve-pkg-maps: 1.0.0 @@ -7696,7 +8494,7 @@ snapshots: comma-separated-tokens: 2.0.3 hast-util-whitespace: 3.0.0 html-void-elements: 3.0.0 - mdast-util-to-hast: 13.2.0 + mdast-util-to-hast: 13.2.1 property-information: 7.1.0 space-separated-tokens: 2.0.2 stringify-entities: 4.0.4 @@ -7716,11 +8514,21 @@ snapshots: he@1.2.0: {} + hermes-estree@0.25.1: {} + + hermes-parser@0.25.1: + dependencies: + hermes-estree: 0.25.1 + hookable@5.5.3: {} - html-encoding-sniffer@4.0.0: + htm@3.1.1: {} + + html-encoding-sniffer@6.0.0: dependencies: - whatwg-encoding: 3.1.1 + '@exodus/bytes': 1.6.0 + transitivePeerDependencies: + - '@exodus/crypto' html-parse-stringify@3.0.1: dependencies: @@ -7741,12 +8549,12 @@ snapshots: statuses: 1.5.0 toidentifier: 1.0.1 - http-errors@2.0.0: + http-errors@2.0.1: dependencies: depd: 2.0.0 inherits: 2.0.4 setprototypeof: 1.2.0 - statuses: 2.0.1 + statuses: 2.0.2 toidentifier: 1.0.1 http-proxy-agent@7.0.2: @@ -7767,13 +8575,17 @@ snapshots: dependencies: '@babel/runtime': 7.27.6 - i18next@25.5.3(typescript@5.9.3): + i18next@25.7.4(typescript@5.9.3): dependencies: '@babel/runtime': 7.28.4 optionalDependencies: typescript: 5.9.3 - iconv-lite@0.6.3: + iconv-lite@0.7.0: + dependencies: + safer-buffer: 2.1.2 + + iconv-lite@0.7.1: dependencies: safer-buffer: 2.1.2 @@ -7938,7 +8750,7 @@ snapshots: call-bound: 1.0.4 get-intrinsic: 1.3.0 - is-what@4.1.16: {} + is-what@5.5.0: {} isarray@2.0.5: {} @@ -7957,45 +8769,47 @@ snapshots: filelist: 1.0.4 minimatch: 3.1.2 - jose@6.1.0: {} + jose@6.1.3: {} js-cookie@3.0.5: {} js-tokens@4.0.0: {} - js-tokens@9.0.1: {} - js-yaml@4.1.0: dependencies: argparse: 2.0.1 + js-yaml@4.1.1: + dependencies: + argparse: 2.0.1 + jsbn@1.1.0: {} - jsdom@27.0.0(postcss@8.5.6): + jsdom@27.4.0: dependencies: - '@asamuzakjp/dom-selector': 6.6.1 - cssstyle: 5.3.1(postcss@8.5.6) + '@acemir/cssom': 0.9.30 + '@asamuzakjp/dom-selector': 6.7.6 + '@exodus/bytes': 1.6.0 + cssstyle: 5.3.5 data-urls: 6.0.0 decimal.js: 10.6.0 - html-encoding-sniffer: 4.0.0 + html-encoding-sniffer: 6.0.0 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 is-potential-custom-element-name: 1.0.1 - parse5: 7.3.0 - rrweb-cssom: 0.8.0 + parse5: 8.0.0 saxes: 6.0.0 symbol-tree: 3.2.4 tough-cookie: 6.0.0 w3c-xmlserializer: 5.0.0 webidl-conversions: 8.0.0 - whatwg-encoding: 3.1.1 whatwg-mimetype: 4.0.0 whatwg-url: 15.1.0 ws: 8.18.3 xml-name-validator: 5.0.0 transitivePeerDependencies: + - '@exodus/crypto' - bufferutil - - postcss - supports-color - utf-8-validate @@ -8025,21 +8839,15 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 - jsonfile@6.2.0: - dependencies: - universalify: 2.0.1 - optionalDependencies: - graceful-fs: 4.2.11 - jsonminify@0.4.2: {} jsonschema-draft4@1.0.0: {} jsonschema@1.2.4: {} - jsonwebtoken@9.0.2: + jsonwebtoken@9.0.3: dependencies: - jws: 3.2.2 + jws: 4.0.1 lodash.includes: 4.3.0 lodash.isboolean: 3.0.3 lodash.isinteger: 4.0.4 @@ -8050,15 +8858,15 @@ snapshots: ms: 2.1.3 semver: 7.7.3 - jwa@1.4.1: + jwa@2.0.1: dependencies: buffer-equal-constant-time: 1.0.1 ecdsa-sig-formatter: 1.0.11 safe-buffer: 5.2.1 - jws@3.2.2: + jws@4.0.1: dependencies: - jwa: 1.4.1 + jwa: 2.0.1 safe-buffer: 5.2.1 jwt-decode@4.0.0: {} @@ -8075,7 +8883,7 @@ snapshots: koa-compose@4.1.0: {} - koa@3.0.1: + koa@3.1.1: dependencies: accepts: 1.3.8 content-disposition: 0.5.4 @@ -8087,9 +8895,9 @@ snapshots: escape-html: 1.0.3 fresh: 0.5.2 http-assert: 1.5.0 - http-errors: 2.0.0 + http-errors: 2.0.1 koa-compose: 4.1.0 - mime-types: 3.0.1 + mime-types: 3.0.2 on-finished: 2.4.1 parseurl: 1.3.3 statuses: 2.0.2 @@ -8184,8 +8992,6 @@ snapshots: lodash.clonedeep@4.5.0: {} - lodash.get@4.4.2: {} - lodash.includes@4.3.0: {} lodash.isboolean@3.0.3: {} @@ -8219,13 +9025,9 @@ snapshots: transitivePeerDependencies: - supports-color - loupe@3.1.3: {} - - loupe@3.2.0: {} - lru-cache@10.4.3: {} - lru-cache@11.2.2: {} + lru-cache@11.2.4: {} lru-cache@5.1.1: dependencies: @@ -8233,15 +9035,11 @@ snapshots: lru-cache@7.18.3: {} - lucide-react@0.545.0(react@19.2.0): + lucide-react@0.562.0(react@19.2.3): dependencies: - react: 19.2.0 + react: 19.2.3 - magic-string@0.30.17: - dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 - - magic-string@0.30.18: + magic-string@0.30.21: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 @@ -8249,7 +9047,7 @@ snapshots: math-intrinsics@1.1.0: {} - mdast-util-to-hast@13.2.0: + mdast-util-to-hast@13.2.1: dependencies: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 @@ -8306,7 +9104,7 @@ snapshots: dependencies: mime-db: 1.52.0 - mime-types@3.0.1: + mime-types@3.0.2: dependencies: mime-db: 1.54.0 @@ -8336,7 +9134,7 @@ snapshots: minipass@7.1.2: {} - minisearch@7.1.2: {} + minisearch@7.2.0: {} minizlib@2.1.2: dependencies: @@ -8349,7 +9147,7 @@ snapshots: mocha-froth@0.2.10: {} - mocha@11.7.4: + mocha@11.7.5: dependencies: browser-stdout: 1.3.1 chokidar: 4.0.3 @@ -8383,7 +9181,7 @@ snapshots: nanoid@3.3.11: {} - nanoid@5.1.5: {} + nanoid@5.1.6: {} natural-compare@1.4.0: {} @@ -8400,7 +9198,7 @@ snapshots: node-domexception: 1.0.0 web-streams-polyfill: 3.3.3 - node-releases@2.0.23: {} + node-releases@2.0.27: {} nodeify@1.0.1: dependencies: @@ -8444,18 +9242,20 @@ snapshots: define-properties: 1.2.1 es-object-atoms: 1.1.1 - oidc-provider@9.5.1: + obug@2.1.1: {} + + oidc-provider@9.6.0: dependencies: '@koa/cors': 5.0.0 - '@koa/router': 14.0.0 - debug: 4.4.1 - eta: 3.5.0 - jose: 6.1.0 + '@koa/router': 15.1.1(koa@3.1.1) + debug: 4.4.3(supports-color@8.1.1) + eta: 4.5.0 + jose: 6.1.3 jsesc: 3.1.0 - koa: 3.0.1 - nanoid: 5.1.5 - quick-lru: 7.1.0 - raw-body: 3.0.0 + koa: 3.1.1 + nanoid: 5.1.6 + quick-lru: 7.3.0 + raw-body: 3.0.2 transitivePeerDependencies: - supports-color @@ -8471,7 +9271,7 @@ snapshots: oniguruma-parser@0.12.1: {} - oniguruma-to-es@4.3.3: + oniguruma-to-es@4.3.4: dependencies: oniguruma-parser: 0.12.1 regex: 6.0.1 @@ -8530,7 +9330,7 @@ snapshots: dependencies: p-limit: 3.1.0 - p-map@7.0.3: {} + p-map@7.0.4: {} pac-proxy-agent@7.2.0: dependencies: @@ -8560,6 +9360,10 @@ snapshots: dependencies: entities: 6.0.1 + parse5@8.0.0: + dependencies: + entities: 6.0.1 + parseurl@1.3.3: {} path-exists@4.0.0: {} @@ -8573,29 +9377,25 @@ snapshots: lru-cache: 10.4.3 minipass: 7.1.2 - path-to-regexp@8.2.0: {} + path-to-regexp@8.3.0: {} path-type@4.0.0: {} pathe@2.0.3: {} - pathval@2.0.0: {} - - perfect-debounce@1.0.0: {} + perfect-debounce@2.0.0: {} picocolors@1.1.1: {} picomatch@2.3.1: {} - picomatch@4.0.2: {} - picomatch@4.0.3: {} - playwright-core@1.56.0: {} + playwright-core@1.57.0: {} - playwright@1.56.0: + playwright@1.57.0: dependencies: - playwright-core: 1.56.0 + playwright-core: 1.57.0 optionalDependencies: fsevents: 2.3.2 @@ -8646,9 +9446,13 @@ snapshots: dependencies: side-channel: 1.1.0 + qs@6.14.1: + dependencies: + side-channel: 1.1.0 + queue-microtask@1.2.3: {} - quick-lru@7.1.0: {} + quick-lru@7.3.0: {} rambda@7.5.0: {} @@ -8660,78 +9464,79 @@ snapshots: range-parser@1.2.1: {} - rate-limiter-flexible@8.0.1: {} + rate-limiter-flexible@9.0.1: {} - raw-body@3.0.0: + raw-body@3.0.2: dependencies: bytes: 3.1.2 - http-errors: 2.0.0 - iconv-lite: 0.6.3 + http-errors: 2.0.1 + iconv-lite: 0.7.1 unpipe: 1.0.0 - react-dom@19.2.0(react@19.2.0): + react-dom@19.2.3(react@19.2.3): dependencies: - react: 19.2.0 + react: 19.2.3 scheduler: 0.27.0 - react-hook-form@7.64.0(react@19.2.0): + react-hook-form@7.71.1(react@19.2.3): dependencies: - react: 19.2.0 + react: 19.2.3 - react-i18next@16.0.0(i18next@25.5.3(typescript@5.9.3))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3): + react-i18next@16.5.3(i18next@25.7.4(typescript@5.9.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3): dependencies: - '@babel/runtime': 7.28.4 + '@babel/runtime': 7.28.6 html-parse-stringify: 3.0.1 - i18next: 25.5.3(typescript@5.9.3) - react: 19.2.0 + i18next: 25.7.4(typescript@5.9.3) + react: 19.2.3 + use-sync-external-store: 1.6.0(react@19.2.3) optionalDependencies: - react-dom: 19.2.0(react@19.2.0) + react-dom: 19.2.3(react@19.2.3) typescript: 5.9.3 - react-refresh@0.17.0: {} + react-refresh@0.18.0: {} - react-remove-scroll-bar@2.3.8(@types/react@19.2.2)(react@19.2.0): + react-remove-scroll-bar@2.3.8(@types/react@19.2.8)(react@19.2.3): dependencies: - react: 19.2.0 - react-style-singleton: 2.2.3(@types/react@19.2.2)(react@19.2.0) + react: 19.2.3 + react-style-singleton: 2.2.3(@types/react@19.2.8)(react@19.2.3) tslib: 2.8.1 optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.8 - react-remove-scroll@2.7.1(@types/react@19.2.2)(react@19.2.0): + react-remove-scroll@2.7.1(@types/react@19.2.8)(react@19.2.3): dependencies: - react: 19.2.0 - react-remove-scroll-bar: 2.3.8(@types/react@19.2.2)(react@19.2.0) - react-style-singleton: 2.2.3(@types/react@19.2.2)(react@19.2.0) + react: 19.2.3 + react-remove-scroll-bar: 2.3.8(@types/react@19.2.8)(react@19.2.3) + react-style-singleton: 2.2.3(@types/react@19.2.8)(react@19.2.3) tslib: 2.8.1 - use-callback-ref: 1.3.3(@types/react@19.2.2)(react@19.2.0) - use-sidecar: 1.1.3(@types/react@19.2.2)(react@19.2.0) + use-callback-ref: 1.3.3(@types/react@19.2.8)(react@19.2.3) + use-sidecar: 1.1.3(@types/react@19.2.8)(react@19.2.3) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.8 - react-router-dom@7.9.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + react-router-dom@7.12.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3): dependencies: - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) - react-router: 7.9.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.3 + react-dom: 19.2.3(react@19.2.3) + react-router: 7.12.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - react-router@7.9.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + react-router@7.12.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3): dependencies: - cookie: 1.0.2 - react: 19.2.0 - set-cookie-parser: 2.7.1 + cookie: 1.1.1 + react: 19.2.3 + set-cookie-parser: 2.7.2 optionalDependencies: - react-dom: 19.2.0(react@19.2.0) + react-dom: 19.2.3(react@19.2.3) - react-style-singleton@2.2.3(@types/react@19.2.2)(react@19.2.0): + react-style-singleton@2.2.3(@types/react@19.2.8)(react@19.2.3): dependencies: get-nonce: 1.0.1 - react: 19.2.0 + react: 19.2.3 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.8 - react@19.2.0: {} + react@19.2.3: {} readdirp@3.6.0: dependencies: @@ -8739,6 +9544,8 @@ snapshots: readdirp@4.1.2: {} + readdirp@5.0.0: {} + reflect.getprototypeof@1.0.10: dependencies: call-bind: 1.0.8 @@ -8801,7 +9608,7 @@ snapshots: resolve-pkg-maps@1.0.0: {} - resolve@1.22.10: + resolve@1.22.11: dependencies: is-core-module: 2.16.1 path-parse: 1.0.7 @@ -8811,66 +9618,97 @@ snapshots: rfdc@1.4.1: {} - rolldown-vite@7.1.16(@types/node@24.7.0)(esbuild@0.25.10)(tsx@4.20.6): + rolldown-vite@7.2.10(@types/node@25.0.9)(esbuild@0.25.12)(tsx@4.21.0): dependencies: - '@oxc-project/runtime': 0.92.0 + '@oxc-project/runtime': 0.101.0 fdir: 6.5.0(picomatch@4.0.3) lightningcss: 1.30.2 picomatch: 4.0.3 postcss: 8.5.6 - rolldown: 1.0.0-beta.42 + rolldown: 1.0.0-beta.53 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 24.7.0 - esbuild: 0.25.10 + '@types/node': 25.0.9 + esbuild: 0.25.12 fsevents: 2.3.3 - tsx: 4.20.6 + tsx: 4.21.0 - rolldown@1.0.0-beta.42: + rolldown@1.0.0-beta.53: dependencies: - '@oxc-project/types': 0.94.0 - '@rolldown/pluginutils': 1.0.0-beta.42 - ansis: 4.2.0 + '@oxc-project/types': 0.101.0 + '@rolldown/pluginutils': 1.0.0-beta.53 optionalDependencies: - '@rolldown/binding-android-arm64': 1.0.0-beta.42 - '@rolldown/binding-darwin-arm64': 1.0.0-beta.42 - '@rolldown/binding-darwin-x64': 1.0.0-beta.42 - '@rolldown/binding-freebsd-x64': 1.0.0-beta.42 - '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.42 - '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.42 - '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.42 - '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.42 - '@rolldown/binding-linux-x64-musl': 1.0.0-beta.42 - '@rolldown/binding-openharmony-arm64': 1.0.0-beta.42 - '@rolldown/binding-wasm32-wasi': 1.0.0-beta.42 - '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.42 - '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.42 - '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.42 + '@rolldown/binding-android-arm64': 1.0.0-beta.53 + '@rolldown/binding-darwin-arm64': 1.0.0-beta.53 + '@rolldown/binding-darwin-x64': 1.0.0-beta.53 + '@rolldown/binding-freebsd-x64': 1.0.0-beta.53 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.53 + '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.53 + '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.53 + '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.53 + '@rolldown/binding-linux-x64-musl': 1.0.0-beta.53 + '@rolldown/binding-openharmony-arm64': 1.0.0-beta.53 + '@rolldown/binding-wasm32-wasi': 1.0.0-beta.53 + '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.53 + '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.53 - rollup@4.47.1: + rollup@4.53.3: dependencies: '@types/estree': 1.0.8 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.47.1 - '@rollup/rollup-android-arm64': 4.47.1 - '@rollup/rollup-darwin-arm64': 4.47.1 - '@rollup/rollup-darwin-x64': 4.47.1 - '@rollup/rollup-freebsd-arm64': 4.47.1 - '@rollup/rollup-freebsd-x64': 4.47.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.47.1 - '@rollup/rollup-linux-arm-musleabihf': 4.47.1 - '@rollup/rollup-linux-arm64-gnu': 4.47.1 - '@rollup/rollup-linux-arm64-musl': 4.47.1 - '@rollup/rollup-linux-loongarch64-gnu': 4.47.1 - '@rollup/rollup-linux-ppc64-gnu': 4.47.1 - '@rollup/rollup-linux-riscv64-gnu': 4.47.1 - '@rollup/rollup-linux-riscv64-musl': 4.47.1 - '@rollup/rollup-linux-s390x-gnu': 4.47.1 - '@rollup/rollup-linux-x64-gnu': 4.47.1 - '@rollup/rollup-linux-x64-musl': 4.47.1 - '@rollup/rollup-win32-arm64-msvc': 4.47.1 - '@rollup/rollup-win32-ia32-msvc': 4.47.1 - '@rollup/rollup-win32-x64-msvc': 4.47.1 + '@rollup/rollup-android-arm-eabi': 4.53.3 + '@rollup/rollup-android-arm64': 4.53.3 + '@rollup/rollup-darwin-arm64': 4.53.3 + '@rollup/rollup-darwin-x64': 4.53.3 + '@rollup/rollup-freebsd-arm64': 4.53.3 + '@rollup/rollup-freebsd-x64': 4.53.3 + '@rollup/rollup-linux-arm-gnueabihf': 4.53.3 + '@rollup/rollup-linux-arm-musleabihf': 4.53.3 + '@rollup/rollup-linux-arm64-gnu': 4.53.3 + '@rollup/rollup-linux-arm64-musl': 4.53.3 + '@rollup/rollup-linux-loong64-gnu': 4.53.3 + '@rollup/rollup-linux-ppc64-gnu': 4.53.3 + '@rollup/rollup-linux-riscv64-gnu': 4.53.3 + '@rollup/rollup-linux-riscv64-musl': 4.53.3 + '@rollup/rollup-linux-s390x-gnu': 4.53.3 + '@rollup/rollup-linux-x64-gnu': 4.53.3 + '@rollup/rollup-linux-x64-musl': 4.53.3 + '@rollup/rollup-openharmony-arm64': 4.53.3 + '@rollup/rollup-win32-arm64-msvc': 4.53.3 + '@rollup/rollup-win32-ia32-msvc': 4.53.3 + '@rollup/rollup-win32-x64-gnu': 4.53.3 + '@rollup/rollup-win32-x64-msvc': 4.53.3 + fsevents: 2.3.3 + + rollup@4.55.1: + dependencies: + '@types/estree': 1.0.8 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.55.1 + '@rollup/rollup-android-arm64': 4.55.1 + '@rollup/rollup-darwin-arm64': 4.55.1 + '@rollup/rollup-darwin-x64': 4.55.1 + '@rollup/rollup-freebsd-arm64': 4.55.1 + '@rollup/rollup-freebsd-x64': 4.55.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.55.1 + '@rollup/rollup-linux-arm-musleabihf': 4.55.1 + '@rollup/rollup-linux-arm64-gnu': 4.55.1 + '@rollup/rollup-linux-arm64-musl': 4.55.1 + '@rollup/rollup-linux-loong64-gnu': 4.55.1 + '@rollup/rollup-linux-loong64-musl': 4.55.1 + '@rollup/rollup-linux-ppc64-gnu': 4.55.1 + '@rollup/rollup-linux-ppc64-musl': 4.55.1 + '@rollup/rollup-linux-riscv64-gnu': 4.55.1 + '@rollup/rollup-linux-riscv64-musl': 4.55.1 + '@rollup/rollup-linux-s390x-gnu': 4.55.1 + '@rollup/rollup-linux-x64-gnu': 4.55.1 + '@rollup/rollup-linux-x64-musl': 4.55.1 + '@rollup/rollup-openbsd-x64': 4.55.1 + '@rollup/rollup-openharmony-arm64': 4.55.1 + '@rollup/rollup-win32-arm64-msvc': 4.55.1 + '@rollup/rollup-win32-ia32-msvc': 4.55.1 + '@rollup/rollup-win32-x64-gnu': 4.55.1 + '@rollup/rollup-win32-x64-msvc': 4.55.1 fsevents: 2.3.3 router@2.2.0: @@ -8879,12 +9717,10 @@ snapshots: depd: 2.0.0 is-promise: 4.0.0 parseurl: 1.3.3 - path-to-regexp: 8.2.0 + path-to-regexp: 8.3.0 transitivePeerDependencies: - supports-color - rrweb-cssom@0.8.0: {} - run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 @@ -8974,8 +9810,8 @@ snapshots: escape-html: 1.0.3 etag: 1.8.1 fresh: 2.0.0 - http-errors: 2.0.0 - mime-types: 3.0.1 + http-errors: 2.0.1 + mime-types: 3.0.2 ms: 2.1.3 on-finished: 2.4.1 range-parser: 1.2.1 @@ -8996,7 +9832,9 @@ snapshots: transitivePeerDependencies: - supports-color - set-cookie-parser@2.7.1: {} + set-cookie-parser@2.7.2: {} + + set-cookie-parser@3.0.1: {} set-function-length@1.2.2: dependencies: @@ -9028,14 +9866,14 @@ snapshots: shebang-regex@3.0.0: {} - shiki@3.11.0: + shiki@3.17.0: dependencies: - '@shikijs/core': 3.11.0 - '@shikijs/engine-javascript': 3.11.0 - '@shikijs/engine-oniguruma': 3.11.0 - '@shikijs/langs': 3.11.0 - '@shikijs/themes': 3.11.0 - '@shikijs/types': 3.11.0 + '@shikijs/core': 3.17.0 + '@shikijs/engine-javascript': 3.17.0 + '@shikijs/engine-oniguruma': 3.17.0 + '@shikijs/langs': 3.17.0 + '@shikijs/themes': 3.17.0 + '@shikijs/types': 3.17.0 '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 @@ -9073,54 +9911,54 @@ snapshots: signal-exit@4.1.0: {} - sinon@21.0.0: + sinon@21.0.1: dependencies: '@sinonjs/commons': 3.0.1 - '@sinonjs/fake-timers': 13.0.5 - '@sinonjs/samsam': 8.0.2 - diff: 7.0.0 + '@sinonjs/fake-timers': 15.1.0 + '@sinonjs/samsam': 8.0.3 + diff: 8.0.2 supports-color: 7.2.0 slash@3.0.0: {} smart-buffer@4.2.0: {} - socket.io-adapter@2.5.5: + socket.io-adapter@2.5.6: dependencies: - debug: 4.3.7 - ws: 8.17.1 + debug: 4.4.3(supports-color@8.1.1) + ws: 8.18.3 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - socket.io-client@4.8.1: + socket.io-client@4.8.3: dependencies: '@socket.io/component-emitter': 3.1.2 - debug: 4.3.7 - engine.io-client: 6.6.3 - socket.io-parser: 4.2.4 + debug: 4.4.3(supports-color@8.1.1) + engine.io-client: 6.6.4 + socket.io-parser: 4.2.5 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - socket.io-parser@4.2.4: + socket.io-parser@4.2.5: dependencies: '@socket.io/component-emitter': 3.1.2 - debug: 4.3.7 + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color - socket.io@4.8.1: + socket.io@4.8.3: dependencies: accepts: 1.3.8 base64id: 2.0.0 cors: 2.8.5 - debug: 4.3.7 - engine.io: 6.6.4 - socket.io-adapter: 2.5.5 - socket.io-parser: 4.2.4 + debug: 4.4.3(supports-color@8.1.1) + engine.io: 6.6.5 + socket.io-adapter: 2.5.6 + socket.io-parser: 4.2.5 transitivePeerDependencies: - bufferutil - supports-color @@ -9158,11 +9996,9 @@ snapshots: statuses@1.5.0: {} - statuses@2.0.1: {} - statuses@2.0.2: {} - std-env@3.9.0: {} + std-env@3.10.0: {} streamroller@3.1.5: dependencies: @@ -9224,32 +10060,29 @@ snapshots: strip-json-comments@3.1.1: {} - strip-literal@3.0.0: - dependencies: - js-tokens: 9.0.1 - - superagent@10.2.3: + superagent@10.3.0: dependencies: component-emitter: 1.3.1 cookiejar: 2.1.4 - debug: 4.4.1 + debug: 4.4.3(supports-color@8.1.1) fast-safe-stringify: 2.1.1 - form-data: 4.0.4 + form-data: 4.0.5 formidable: 3.5.4 methods: 1.1.2 mime: 2.6.0 - qs: 6.14.0 + qs: 6.14.1 transitivePeerDependencies: - supports-color - superjson@2.2.2: + superjson@2.2.6: dependencies: - copy-anything: 3.0.5 + copy-anything: 4.0.5 - supertest@7.1.4: + supertest@7.2.2: dependencies: + cookie-signature: 1.2.2 methods: 1.1.2 - superagent: 10.2.3 + superagent: 10.3.0 transitivePeerDependencies: - supports-color @@ -9269,14 +10102,14 @@ snapshots: dependencies: '@scarf/scarf': 1.4.0 - swagger-ui-express@5.0.1(express@5.1.0): + swagger-ui-express@5.0.1(express@5.2.1): dependencies: - express: 5.1.0 + express: 5.2.1 swagger-ui-dist: 5.20.6 symbol-tree@3.2.4: {} - tabbable@6.2.0: {} + tabbable@6.3.0: {} tar@6.2.1: dependencies: @@ -9295,29 +10128,20 @@ snapshots: tinycon@0.6.8: {} - tinyexec@0.3.2: {} - - tinyglobby@0.2.14: - dependencies: - fdir: 6.5.0(picomatch@4.0.3) - picomatch: 4.0.3 + tinyexec@1.0.2: {} tinyglobby@0.2.15: dependencies: fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 - tinypool@1.1.1: {} + tinyrainbow@3.0.3: {} - tinyrainbow@2.0.0: {} + tldts-core@7.0.19: {} - tinyspy@4.0.3: {} - - tldts-core@7.0.16: {} - - tldts@7.0.16: + tldts@7.0.19: dependencies: - tldts-core: 7.0.16 + tldts-core: 7.0.19 to-regex-range@5.0.1: dependencies: @@ -9327,7 +10151,7 @@ snapshots: tough-cookie@6.0.0: dependencies: - tldts: 7.0.16 + tldts: 7.0.19 tr46@6.0.0: dependencies: @@ -9341,7 +10165,7 @@ snapshots: dependencies: typescript: 5.9.3 - ts-api-utils@2.1.0(typescript@5.9.3): + ts-api-utils@2.4.0(typescript@5.9.3): dependencies: typescript: 5.9.3 @@ -9356,10 +10180,10 @@ snapshots: tsscmp@1.0.6: {} - tsx@4.20.6: + tsx@4.21.0: dependencies: - esbuild: 0.25.10 - get-tsconfig: 4.10.1 + esbuild: 0.27.1 + get-tsconfig: 4.13.0 optionalDependencies: fsevents: 2.3.3 @@ -9377,7 +10201,7 @@ snapshots: dependencies: content-type: 1.0.5 media-typer: 1.1.0 - mime-types: 3.0.1 + mime-types: 3.0.2 typed-array-buffer@1.0.3: dependencies: @@ -9414,7 +10238,7 @@ snapshots: typescript@5.9.3: {} - ueberdb2@5.0.22: {} + ueberdb2@5.0.23: {} uid-safe@2.1.5: dependencies: @@ -9429,7 +10253,7 @@ snapshots: underscore@1.13.7: {} - undici-types@7.14.0: {} + undici-types@7.16.0: {} unified@11.0.5: dependencies: @@ -9445,6 +10269,10 @@ snapshots: dependencies: '@types/unist': 3.0.3 + unist-util-is@6.0.1: + dependencies: + '@types/unist': 3.0.3 + unist-util-position@5.0.0: dependencies: '@types/unist': 3.0.3 @@ -9453,16 +10281,16 @@ snapshots: dependencies: '@types/unist': 3.0.3 - unist-util-visit-parents@6.0.1: + unist-util-visit-parents@6.0.2: dependencies: '@types/unist': 3.0.3 - unist-util-is: 6.0.0 + unist-util-is: 6.0.1 unist-util-visit@5.0.0: dependencies: '@types/unist': 3.0.3 - unist-util-is: 6.0.0 - unist-util-visit-parents: 6.0.1 + unist-util-is: 6.0.1 + unist-util-visit-parents: 6.0.2 universalify@0.1.2: {} @@ -9490,9 +10318,9 @@ snapshots: '@unrs/resolver-binding-win32-ia32-msvc': 1.3.3 '@unrs/resolver-binding-win32-x64-msvc': 1.3.3 - update-browserslist-db@1.1.3(browserslist@4.26.3): + update-browserslist-db@1.2.3(browserslist@4.28.1): dependencies: - browserslist: 4.26.3 + browserslist: 4.28.1 escalade: 3.2.0 picocolors: 1.1.1 @@ -9502,20 +10330,24 @@ snapshots: url-join@4.0.1: {} - use-callback-ref@1.3.3(@types/react@19.2.2)(react@19.2.0): + use-callback-ref@1.3.3(@types/react@19.2.8)(react@19.2.3): dependencies: - react: 19.2.0 + react: 19.2.3 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.8 - use-sidecar@1.1.3(@types/react@19.2.2)(react@19.2.0): + use-sidecar@1.1.3(@types/react@19.2.8)(react@19.2.3): dependencies: detect-node-es: 1.1.0 - react: 19.2.0 + react: 19.2.3 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.8 + + use-sync-external-store@1.6.0(react@19.2.3): + dependencies: + react: 19.2.3 vary@1.1.2: {} @@ -9534,75 +10366,67 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite-node@3.2.4(@types/node@24.7.0)(lightningcss@1.30.2)(tsx@4.20.6): + vite-plugin-babel@1.4.1(@babel/core@7.28.5)(rolldown-vite@7.2.10(@types/node@25.0.9)(esbuild@0.25.12)(tsx@4.21.0)): dependencies: - cac: 6.7.14 - debug: 4.4.3(supports-color@8.1.1) - es-module-lexer: 1.7.0 - pathe: 2.0.3 - vite: 7.1.9(@types/node@24.7.0)(lightningcss@1.30.2)(tsx@4.20.6) - transitivePeerDependencies: - - '@types/node' - - jiti - - less - - lightningcss - - sass - - sass-embedded - - stylus - - sugarss - - supports-color - - terser - - tsx - - yaml + '@babel/core': 7.28.5 + vite: rolldown-vite@7.2.10(@types/node@25.0.9)(esbuild@0.25.12)(tsx@4.21.0) - vite-plugin-babel@1.3.2(@babel/core@7.28.4)(rolldown-vite@7.1.16(@types/node@24.7.0)(esbuild@0.25.10)(tsx@4.20.6)): - dependencies: - '@babel/core': 7.28.4 - vite: rolldown-vite@7.1.16(@types/node@24.7.0)(esbuild@0.25.10)(tsx@4.20.6) - - vite-plugin-static-copy@3.1.3(rolldown-vite@7.1.16(@types/node@24.7.0)(esbuild@0.25.10)(tsx@4.20.6)): + vite-plugin-static-copy@3.1.5(rolldown-vite@7.2.10(@types/node@25.0.9)(esbuild@0.25.12)(tsx@4.21.0)): dependencies: chokidar: 3.6.0 - fs-extra: 11.3.2 - p-map: 7.0.3 + p-map: 7.0.4 picocolors: 1.1.1 tinyglobby: 0.2.15 - vite: rolldown-vite@7.1.16(@types/node@24.7.0)(esbuild@0.25.10)(tsx@4.20.6) + vite: rolldown-vite@7.2.10(@types/node@25.0.9)(esbuild@0.25.12)(tsx@4.21.0) - vite@7.1.9(@types/node@24.7.0)(lightningcss@1.30.2)(tsx@4.20.6): + vite@7.2.6(@types/node@25.0.9)(lightningcss@1.30.2)(tsx@4.21.0): dependencies: - esbuild: 0.25.10 + esbuild: 0.25.12 fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 postcss: 8.5.6 - rollup: 4.47.1 + rollup: 4.53.3 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 24.7.0 + '@types/node': 25.0.9 fsevents: 2.3.3 lightningcss: 1.30.2 - tsx: 4.20.6 + tsx: 4.21.0 - vitepress@2.0.0-alpha.12(@types/node@24.7.0)(axios@1.12.2)(jwt-decode@4.0.0)(lightningcss@1.30.2)(postcss@8.5.6)(tsx@4.20.6)(typescript@5.9.3): + vite@7.3.1(@types/node@25.0.9)(lightningcss@1.30.2)(tsx@4.21.0): dependencies: - '@docsearch/css': 4.0.0-beta.7 - '@docsearch/js': 4.0.0-beta.7 - '@iconify-json/simple-icons': 1.2.48 - '@shikijs/core': 3.11.0 - '@shikijs/transformers': 3.11.0 - '@shikijs/types': 3.11.0 + esbuild: 0.27.2 + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + postcss: 8.5.6 + rollup: 4.55.1 + tinyglobby: 0.2.15 + optionalDependencies: + '@types/node': 25.0.9 + fsevents: 2.3.3 + lightningcss: 1.30.2 + tsx: 4.21.0 + + vitepress@2.0.0-alpha.15(@types/node@25.0.9)(axios@1.13.2)(jwt-decode@4.0.0)(lightningcss@1.30.2)(postcss@8.5.6)(tsx@4.21.0)(typescript@5.9.3): + dependencies: + '@docsearch/css': 4.3.2 + '@docsearch/js': 4.3.2 + '@iconify-json/simple-icons': 1.2.60 + '@shikijs/core': 3.17.0 + '@shikijs/transformers': 3.17.0 + '@shikijs/types': 3.17.0 '@types/markdown-it': 14.1.2 - '@vitejs/plugin-vue': 6.0.1(vite@7.1.9(@types/node@24.7.0)(lightningcss@1.30.2)(tsx@4.20.6))(vue@3.5.19(typescript@5.9.3)) - '@vue/devtools-api': 8.0.0 - '@vue/shared': 3.5.19 - '@vueuse/core': 13.7.0(vue@3.5.19(typescript@5.9.3)) - '@vueuse/integrations': 13.7.0(axios@1.12.2)(focus-trap@7.6.5)(jwt-decode@4.0.0)(vue@3.5.19(typescript@5.9.3)) - focus-trap: 7.6.5 + '@vitejs/plugin-vue': 6.0.2(vite@7.2.6(@types/node@25.0.9)(lightningcss@1.30.2)(tsx@4.21.0))(vue@3.5.25(typescript@5.9.3)) + '@vue/devtools-api': 8.0.5 + '@vue/shared': 3.5.25 + '@vueuse/core': 14.1.0(vue@3.5.25(typescript@5.9.3)) + '@vueuse/integrations': 14.1.0(axios@1.13.2)(focus-trap@7.6.6)(jwt-decode@4.0.0)(vue@3.5.25(typescript@5.9.3)) + focus-trap: 7.6.6 mark.js: 8.11.1 - minisearch: 7.1.2 - shiki: 3.11.0 - vite: 7.1.9(@types/node@24.7.0)(lightningcss@1.30.2)(tsx@4.20.6) - vue: 3.5.19(typescript@5.9.3) + minisearch: 7.2.0 + shiki: 3.17.0 + vite: 7.2.6(@types/node@25.0.9)(lightningcss@1.30.2)(tsx@4.21.0) + vue: 3.5.25(typescript@5.9.3) optionalDependencies: postcss: 8.5.6 transitivePeerDependencies: @@ -9630,35 +10454,32 @@ snapshots: - universal-cookie - yaml - vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.7.0)(jsdom@27.0.0(postcss@8.5.6))(lightningcss@1.30.2)(tsx@4.20.6): + vitest@4.0.17(@opentelemetry/api@1.9.0)(@types/node@25.0.9)(jsdom@27.4.0)(lightningcss@1.30.2)(tsx@4.21.0): dependencies: - '@types/chai': 5.2.2 - '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@7.1.9(@types/node@24.7.0)(lightningcss@1.30.2)(tsx@4.20.6)) - '@vitest/pretty-format': 3.2.4 - '@vitest/runner': 3.2.4 - '@vitest/snapshot': 3.2.4 - '@vitest/spy': 3.2.4 - '@vitest/utils': 3.2.4 - chai: 5.2.0 - debug: 4.4.1 - expect-type: 1.2.1 - magic-string: 0.30.17 + '@vitest/expect': 4.0.17 + '@vitest/mocker': 4.0.17(vite@7.3.1(@types/node@25.0.9)(lightningcss@1.30.2)(tsx@4.21.0)) + '@vitest/pretty-format': 4.0.17 + '@vitest/runner': 4.0.17 + '@vitest/snapshot': 4.0.17 + '@vitest/spy': 4.0.17 + '@vitest/utils': 4.0.17 + es-module-lexer: 1.7.0 + expect-type: 1.3.0 + magic-string: 0.30.21 + obug: 2.1.1 pathe: 2.0.3 - picomatch: 4.0.2 - std-env: 3.9.0 + picomatch: 4.0.3 + std-env: 3.10.0 tinybench: 2.9.0 - tinyexec: 0.3.2 - tinyglobby: 0.2.14 - tinypool: 1.1.1 - tinyrainbow: 2.0.0 - vite: 7.1.9(@types/node@24.7.0)(lightningcss@1.30.2)(tsx@4.20.6) - vite-node: 3.2.4(@types/node@24.7.0)(lightningcss@1.30.2)(tsx@4.20.6) + tinyexec: 1.0.2 + tinyglobby: 0.2.15 + tinyrainbow: 3.0.3 + vite: 7.3.1(@types/node@25.0.9)(lightningcss@1.30.2)(tsx@4.21.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/debug': 4.1.12 - '@types/node': 24.7.0 - jsdom: 27.0.0(postcss@8.5.6) + '@opentelemetry/api': 1.9.0 + '@types/node': 25.0.9 + jsdom: 27.4.0 transitivePeerDependencies: - jiti - less @@ -9668,20 +10489,19 @@ snapshots: - sass-embedded - stylus - sugarss - - supports-color - terser - tsx - yaml void-elements@3.1.0: {} - vue@3.5.19(typescript@5.9.3): + vue@3.5.25(typescript@5.9.3): dependencies: - '@vue/compiler-dom': 3.5.19 - '@vue/compiler-sfc': 3.5.19 - '@vue/runtime-dom': 3.5.19 - '@vue/server-renderer': 3.5.19(vue@3.5.19(typescript@5.9.3)) - '@vue/shared': 3.5.19 + '@vue/compiler-dom': 3.5.25 + '@vue/compiler-sfc': 3.5.25 + '@vue/runtime-dom': 3.5.25 + '@vue/server-renderer': 3.5.25(vue@3.5.25(typescript@5.9.3)) + '@vue/shared': 3.5.25 optionalDependencies: typescript: 5.9.3 @@ -9695,10 +10515,6 @@ snapshots: webidl-conversions@8.0.0: {} - whatwg-encoding@3.1.1: - dependencies: - iconv-lite: 0.6.3 - whatwg-mimetype@4.0.0: {} whatwg-url@15.1.0: @@ -9774,8 +10590,6 @@ snapshots: wrappy@1.0.2: {} - ws@8.17.1: {} - ws@8.18.3: {} wtfnode@0.10.1: {} @@ -9819,9 +10633,10 @@ snapshots: zod@4.1.12: {} - zustand@5.0.8(@types/react@19.2.2)(react@19.2.0): + zustand@5.0.10(@types/react@19.2.8)(react@19.2.3)(use-sync-external-store@1.6.0(react@19.2.3)): optionalDependencies: - '@types/react': 19.2.2 - react: 19.2.0 + '@types/react': 19.2.8 + react: 19.2.3 + use-sync-external-store: 1.6.0(react@19.2.3) zwitch@2.0.4: {} diff --git a/settings.json.docker b/settings.json.docker index 24aef23c8..1dabcdc0c 100644 --- a/settings.json.docker +++ b/settings.json.docker @@ -104,6 +104,11 @@ */ "title": "${TITLE:Etherpad}", + /* + * Whether to show recent pads on the homepage or not. + */ + "showRecentPads": "${SHOW_RECENT_PADS:true}", + /* * Pathname of the favicon you want to use. If null, the skin's favicon is * used if one is provided by the skin, otherwise the default Etherpad favicon diff --git a/settings.json.template b/settings.json.template index 5c8a90cf4..d8e42fe60 100644 --- a/settings.json.template +++ b/settings.json.template @@ -95,6 +95,11 @@ */ "title": "Etherpad", + /* + * Whether to show recent pads on the homepage or not. + */ + "showRecentPads": true, + /* * Pathname of the favicon you want to use. If null, the skin's favicon is * used if one is provided by the skin, otherwise the default Etherpad favicon diff --git a/src/ep.json b/src/ep.json index 355a9e0b0..14016364d 100644 --- a/src/ep.json +++ b/src/ep.json @@ -58,6 +58,12 @@ "expressCreateServer": "ep_etherpad-lite/node/hooks/express/padurlsanitize" } }, + { + "name": "transferToken", + "hooks": { + "expressCreateServer": "ep_etherpad-lite/node/hooks/express/tokenTransfer" + } + }, { "name": "pwa", "hooks": { diff --git a/src/locales/ar.json b/src/locales/ar.json index 787c0422f..1ffd7f015 100644 --- a/src/locales/ar.json +++ b/src/locales/ar.json @@ -49,6 +49,18 @@ "admin_settings.current_save.value": "حفظ الإعدادات", "admin_settings.page-title": "الإعدادات - Etherpad", "index.newPad": "باد جديد", + "index.settings": "إعدادات", + "index.transferSessionTitle": "جلسة النقل", + "index.receiveSessionTitle": "تلقي الجلسة", + "index.receiveSessionDescription": "هنا يمكنك استقبال جلسة Etherpad من متصفح أو جهاز آخر. مع ذلك، يُرجى العلم أن هذا سيؤدي إلى حذف جلستك الحالية، إن وُجدت.", + "index.transferSession": "1. جلسة النقل", + "index.transferSessionNow": "نقل الجلسة الآن", + "index.copyLink": "2. نسخ الرابط", + "index.copyLinkDescription": "انقر على الزر أدناه لنسخ الرابط إلى الحافظة الخاصة بك.", + "index.copyLinkButton": "نسخ الرابط إلى الحافظة", + "index.transferToSystem": "3. نسخ الجلسة إلى النظام الجديد", + "index.transferToSystemDescription": "افتح الرابط المنسوخ في المتصفح أو الجهاز المستهدف لنقل جلستك.", + "index.transferSessionDescription": "انقل جلستك الحالية إلى المتصفح أو الجهاز بالنقر على الزر أدناه. سيؤدي هذا إلى نسخ رابط لصفحة ستنقل جلستك عند فتحها في المتصفح أو الجهاز المستهدف.", "index.createOpenPad": "افتح الوسادة حسب الاسم", "index.openPad": "افتح باد موجودة بالاسم:", "index.recentPads": "الوسادات الأخيرة", diff --git a/src/locales/cs.json b/src/locales/cs.json index 3995434a1..aec3a5a1c 100644 --- a/src/locales/cs.json +++ b/src/locales/cs.json @@ -49,8 +49,27 @@ "admin_settings.current_save.value": "Uložit nastavení", "admin_settings.page-title": "Nastavení - Etherpad", "index.newPad": "Založ nový Pad", - "index.createOpenPad": "nebo vytvoř/otevři Pad s názvem:", + "index.settings": "Nastavení", + "index.transferSessionTitle": "relace Přenosu", + "index.receiveSessionTitle": "Přijmout relaci", + "index.receiveSessionDescription": "Zde můžete přijímat relaci Etherpad z jiného prohlížeče nebo zařízení. Upozorňujeme však, že tím se smaže vaše aktuální relace, pokud nějaká existuje.", + "index.transferSession": "1. Přenos relace", + "index.transferSessionNow": "Přenést relaci nyní", + "index.copyLink": "2. Zkopírovat odkaz", + "index.copyLinkDescription": "Kliknutím na tlačítko níže zkopírujete odkaz do schránky.", + "index.copyLinkButton": "Kopírovat odkaz do schránky", + "index.transferToSystem": "3. Zkopírujte relaci do nového systému", + "index.transferToSystemDescription": "Otevřete zkopírovaný odkaz v cílovém prohlížeči nebo zařízení a přeneste svou relaci.", + "index.transferSessionDescription": "Přeneste svou aktuální relaci do prohlížeče nebo zařízení kliknutím na tlačítko níže. Tím se zkopíruje odkaz na stránku, která přenese vaši relaci po otevření v cílovém prohlížeči nebo zařízení.", + "index.createOpenPad": "Otevřít pad podle jména", "index.openPad": "otevřít existující Pad se jménem:", + "index.recentPads": "Poslední Pady", + "index.recentPadsEmpty": "Nebyly nalezeny žádné nedávné pady.", + "index.generateNewPad": "Generovat náhodný název padu", + "index.labelPad": "Název Padu (volitelné)", + "index.placeholderPadEnter": "Zadejte prosím název padu...", + "index.createAndShareDocuments": "Vytvářejte a sdílejte dokumenty v reálném čase", + "index.createAndShareDocumentsDescription": "Etherpad umožňuje kolaborativní úpravu dokumentů v reálném čase, podobně jako živý multiplayerový editor, který běží ve vašem prohlížeči.", "pad.toolbar.bold.title": "Tučný text (Ctrl-B)", "pad.toolbar.italic.title": "Kurzíva (Ctrl-I)", "pad.toolbar.underline.title": "Podtržené písmo (Ctrl-U)", @@ -67,6 +86,7 @@ "pad.toolbar.savedRevision.title": "Uložit revizi", "pad.toolbar.settings.title": "Nastavení", "pad.toolbar.embed.title": "Sdílet a umístit tento Pad", + "pad.toolbar.home.title": "Zpět domů", "pad.toolbar.showusers.title": "Zobrazit uživatele u tohoto Padu", "pad.colorpicker.save": "Uložit", "pad.colorpicker.cancel": "Zrušit", diff --git a/src/locales/de.json b/src/locales/de.json index 3c324e6a7..5fde3af2e 100644 --- a/src/locales/de.json +++ b/src/locales/de.json @@ -2,11 +2,13 @@ "@metadata": { "authors": [ "Bjarncraft", + "Brettchenweber", "Dom", "Justman10000", "Killarnee", "Metalhead64", "Mklehr", + "Mukeber", "Nipsky", "Predatorix", "SamTV", @@ -52,6 +54,18 @@ "admin_settings.current_save.value": "Einstellungen speichern", "admin_settings.page-title": "Einstellungen - Etherpad", "index.newPad": "Neues Pad", + "index.settings": "Einstellungen", + "index.transferSessionTitle": "Sitzung übertragen", + "index.receiveSessionTitle": "Sitzung empfangen", + "index.receiveSessionDescription": "Hier kannst du eine Etherpad-Sitzung aus einem anderen Browser oder Gerät empfangen. Bedenke allerdings, dass dadurch deine aktuelle Sitzung, falls vorhanden, gelöscht wird.", + "index.transferSession": "1. Sitzung übertragen", + "index.transferSessionNow": "Jetzt übertragen", + "index.copyLink": "2. Link kopieren", + "index.copyLinkDescription": "Klicke auf den untenstehenden Button, um den Übertragungscode in deine Zwischenablage zu kopieren.", + "index.copyLinkButton": "Übertragungscode kopieren", + "index.transferToSystem": "3. Sitzung einfügen", + "index.transferToSystemDescription": "Öffne den kopierten Link in dem neuen Browser oder Gerät, um deine aktuelle Etherpad-Sitzung zu übertragen.", + "index.transferSessionDescription": "Übertrage deine aktuelle Etherpad-Sitzung zu einem anderen Browser oder Gerät, indem du den untenstehenden Button klickst. Dabei wird ein Link in deine Zwischenablage kopiert, den du im neuen Browser oder Gerät öffnen kannst, um deine Sitzung zu übertragen.", "index.createOpenPad": "Pad öffnen", "index.openPad": "Öffne ein vorhandenes Pad mit folgendem Namen:", "index.recentPads": "Zuletzt bearbeitete Pads", diff --git a/src/locales/dsb.json b/src/locales/dsb.json index 082dabe2c..805d3f19d 100644 --- a/src/locales/dsb.json +++ b/src/locales/dsb.json @@ -38,8 +38,27 @@ "admin_settings.current_save.value": "Nastajenja składowaś", "admin_settings.page-title": "Nastajenja – Etherpad", "index.newPad": "Nowy zapisnik", - "index.createOpenPad": "abo napóraj/wócyń zapisnik z mjenim:", + "index.settings": "Nastajenja", + "index.transferSessionTitle": "Pósejźenje pśenosowaś", + "index.receiveSessionTitle": "Pósejźenje dostaś", + "index.receiveSessionDescription": "How móžoš póseźenje Etherpad z drugego wobglědowaka abo rěda dostaś. Pšosym źiwaj na to, až to wašo aktualne pósejźenje wulašujo, jolic take eksistěrujo.", + "index.transferSession": "1. Pósejźenje pśenosowaś", + "index.transferSessionNow": "Pósejźenje něnto pśenosowaś", + "index.copyLink": "2. Wótkaz kopěrowaś", + "index.copyLinkDescription": "Klikni na slědujucy tłocašk, aby wótkaz do mjazywótkłada kopěrował.", + "index.copyLinkButton": "Wótkaz do mjazywótkłada kopěrowaś", + "index.transferToSystem": "3. Pósejźenje do nowego systema kopěrowaś", + "index.transferToSystemDescription": "Wócyń kopěrowany wótkaz w celowem wobglědowaku abo rěźe, aby swóje pósejźenje pśenosował.", + "index.transferSessionDescription": "Klikni na slědujucy tłocašk, aby swójo aktualne pósejźenje do wobglědowaka abo rěda pśenosował. To buźo wótkaz do boka kopěrowaś, kótaryž buźo wašo pósejźenje pśenosowaś, gaž se w celowem wobglědowaku abo rěźe woócynja.", + "index.createOpenPad": "Zapisnik pó mjenju wócyniś", "index.openPad": "wócyńśo eksistěrujucy Pad z mjenim:", + "index.recentPads": "Nejnowše zapisniki", + "index.recentPadsEmpty": "Žedne nejnowše zapisniki namakane.", + "index.generateNewPad": "Pśipadne mě zapisnika generěrowaś", + "index.labelPad": "Mě zapisnika (pó žycenju)", + "index.placeholderPadEnter": "Pšosym zapódaj mě zapisnika…", + "index.createAndShareDocuments": "Napóraj a źěl dokumenty w napšawdnem casu", + "index.createAndShareDocumentsDescription": "Etherpad wam zmóžnja, dokumenty zgromadnje w napšawdnem casu wobźěłaś, kaž editor live multi-player, kótaryž we wašom wobglědowaku běžy.", "pad.toolbar.bold.title": "Tucny (Strg-B)", "pad.toolbar.italic.title": "Kursiwny (Strg-I)", "pad.toolbar.underline.title": "Pódšmarnuś (Strg-U)", @@ -56,6 +75,7 @@ "pad.toolbar.savedRevision.title": "Wersiju składowaś", "pad.toolbar.settings.title": "Nastajenja", "pad.toolbar.embed.title": "Toś ten zapisnik źěliś a zasajźiś", + "pad.toolbar.home.title": "Slědk k startowemu bokoju", "pad.toolbar.showusers.title": "Wužywarje na toś tom zapisniku pokazaś", "pad.colorpicker.save": "Składowaś", "pad.colorpicker.cancel": "Pśetergnuś", diff --git a/src/locales/el.json b/src/locales/el.json index 0ebcdf077..cbe811a9f 100644 --- a/src/locales/el.json +++ b/src/locales/el.json @@ -44,6 +44,16 @@ "admin_settings.current_save.value": "Αποθήκευση Ρυθμίσεων", "admin_settings.page-title": "Ρυθμίσεις - Etherpad", "index.newPad": "Νέος Κοινόχρηστος Πίνακας", + "index.settings": "Ρυθμίσεις", + "index.transferSessionTitle": "Μεταφορά συνεδρίας", + "index.receiveSessionTitle": "Λήψη συνεδρίας", + "index.transferSession": "1. Μεταφορά συνεδρίας", + "index.transferSessionNow": "Μεταφορά συνεδρίας τώρα", + "index.copyLink": "2. Αντιγραφή συνδέσμου", + "index.copyLinkDescription": "Πατήστε στο παρακάτω κουμπί για να αντιγράψετε τον σύνδεσμο στο πρόχειρό σας.", + "index.copyLinkButton": "Αντιγραφή συνδέσμου στο πρόχειρο", + "index.transferToSystem": "3. Αντιγραφή συνεδρίας στο νέο σύστημα", + "index.transferToSystemDescription": "Ανοίξτε τον αντιγραμμένο σύνδεσμο στο πρόγραμμα περιήγησης ή στη συσκευή προορισμού για να μεταφέρετε την συνεδρία σας.", "index.createOpenPad": "ή δημιουργία/άνοιγμα ενός κοινόχρηστου πίνακα με όνομα:", "index.openPad": "άνοιγμα υπάρχοντος κοινόχρηστού πίνακα με όνομα:", "pad.toolbar.bold.title": "Έντονα (Ctrl-B)", diff --git a/src/locales/en.json b/src/locales/en.json index e341d8df8..51e07f302 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -34,6 +34,18 @@ "admin_settings.page-title": "Settings - Etherpad", "index.newPad": "New Pad", + "index.settings": "Settings", + "index.transferSessionTitle": "Transfer session", + "index.receiveSessionTitle": "Receive session", + "index.receiveSessionDescription": "Here you can receive an Etherpad session from another browser or device. Please note, however, that this will delete your current session, if any.", + "index.transferSession": "1. Transfer session", + "index.transferSessionNow": "Transfer session now", + "index.copyLink": "2. Copy link", + "index.copyLinkDescription": "Click on the button below to copy the link to your clipboard.", + "index.copyLinkButton": "Copy link to clipboard", + "index.transferToSystem": "3. Copy session to new system", + "index.transferToSystemDescription": "Open the copied link in the target browser or device to transfer your session.", + "index.transferSessionDescription": "Transfer your current session to browser or device by clicking the button below. This will copy a link to a page that will transfer your session when opened in the target browser or device.", "index.createOpenPad": "Open pad by name", "index.openPad": "open an existing Pad with the name:", "index.recentPads": "Recent Pads", diff --git a/src/locales/fr.json b/src/locales/fr.json index b45e04248..1915edaee 100644 --- a/src/locales/fr.json +++ b/src/locales/fr.json @@ -67,6 +67,18 @@ "admin_settings.current_save.value": "Enregistrer les paramètres", "admin_settings.page-title": "Paramètres — Etherpad", "index.newPad": "Nouveau bloc-notes", + "index.settings": "Paramètres", + "index.transferSessionTitle": "Session de transfert", + "index.receiveSessionTitle": "Résumé de la séance", + "index.receiveSessionDescription": "Vous pouvez ici recevoir une session Etherpad depuis un autre navigateur ou appareil. Veuillez noter toutefois que cela supprimera votre session actuelle, le cas échéant.", + "index.transferSession": "1. Séance de transfert", + "index.transferSessionNow": "Séance de transfert maintenant", + "index.copyLink": "Copier le lien", + "index.copyLinkDescription": "Cliquez sur le bouton ci-dessous pour copier le lien dans votre presse-papiers.", + "index.copyLinkButton": "Copier le lien dans le presse-papiers", + "index.transferToSystem": "3. Copier la séance sur le nouveau système", + "index.transferToSystemDescription": "Ouvrir le lien copié dans le navigateur ou l'appareil cible pour transférer votre séance.", + "index.transferSessionDescription": "Transférez votre session actuelle vers le navigateur ou l'appareil en cliquant sur le bouton ci-dessous. Cela copiera un lien vers une page qui transférera votre session lors de l'ouverture dans le navigateur ou l'appareil cible.", "index.createOpenPad": "Ouvrir le bloc-notes par son nom", "index.openPad": "ouvrir un bloc-note existant avec le nom :", "index.recentPads": "Bloc-notes récents", diff --git a/src/locales/gl.json b/src/locales/gl.json index b602e7e89..465496a03 100644 --- a/src/locales/gl.json +++ b/src/locales/gl.json @@ -40,6 +40,18 @@ "admin_settings.current_save.value": "Gardar axustes", "admin_settings.page-title": "Axustes - Etherpad", "index.newPad": "Novo documento", + "index.settings": "Axustes", + "index.transferSessionTitle": "Transferir a sesión", + "index.receiveSessionTitle": "Recibir a sesión", + "index.receiveSessionDescription": "Aquí podes recibir unha sesión de Etherpad desde outro navegador ou dispositivo. Ten en conta, non obstante, que isto eliminará a túa sesión actual, se a houbese.", + "index.transferSession": "1. Transfire a sesión", + "index.transferSessionNow": "Transfire a sesión agora", + "index.copyLink": "2. Copia a ligazón", + "index.copyLinkDescription": "Fai clic no botón de embaixo para copiar a ligazón no portapapeis.", + "index.copyLinkButton": "Copiar a ligazón no portapapeis", + "index.transferToSystem": "3. Copia a sesión no novo sistema", + "index.transferToSystemDescription": "Abre a ligazón copiada no navegador ou dispositivo de destino para transferir a túa sesión.", + "index.transferSessionDescription": "Transfire a túa sesión actual ao navegador ou dispositivo facendo clic no botón de embaixo. Isto copiará unha ligazón cara a unha páxina que transferirá a túa sesión cando se abra no navegador ou dispositivo de destino.", "index.createOpenPad": "Abrir un documento por nome", "index.openPad": "abrir un documento existente co nome:", "index.recentPads": "Documentos recentes", diff --git a/src/locales/he.json b/src/locales/he.json index 152b7d2db..0515308f0 100644 --- a/src/locales/he.json +++ b/src/locales/he.json @@ -42,6 +42,18 @@ "admin_settings.current_save.value": "שמירת הגדרות", "admin_settings.page-title": "הגדרות - Etherpad", "index.newPad": "פנקס חדש", + "index.settings": "הגדרות", + "index.transferSessionTitle": "העברת הפעלה", + "index.receiveSessionTitle": "קבלת הפעלה", + "index.receiveSessionDescription": "כאן אפשר לקבל הפעלת Etherpad מדפדפן או מכשיר אחרים. נא לשים לב, שזה עלול למחוק את ההפעלה הנוכחית שלך, אם יש כזאת.", + "index.transferSession": "1. העברת הפעלה", + "index.transferSessionNow": "העברת הפעלה כעת", + "index.copyLink": "2. להעתיק קישור", + "index.copyLinkDescription": "לחיצה על הכפתור להלן תעתיק את הקישור ללוח הגזירים שלך.", + "index.copyLinkButton": "העתקת קישור ללוח", + "index.transferToSystem": "3. העתקת הפעלה למערכת חדשה", + "index.transferToSystemDescription": "יש לפתוח את הקישור שהועתק בדפדפן או מכשיר היעד כדי להעביר את ההפעלה שלך.", + "index.transferSessionDescription": "אפשר להעביר את ההתחברות הנוכחית שלך לדפדפן או למכשיר בלחיצה על הכפתור שלהלן. הפעולה הזאת תעתיק את הקישור לדף שיעביר את ההפעלה שלך כשייפתח בדפדפן או מכשיר היעד.", "index.createOpenPad": "פתיחת פנקס לפי שם", "index.openPad": "פתיחת פנקס קיים עם השם:", "index.recentPads": "פנקסים אחרונים", diff --git a/src/locales/hsb.json b/src/locales/hsb.json index e95e856dc..7a75c9508 100644 --- a/src/locales/hsb.json +++ b/src/locales/hsb.json @@ -38,6 +38,18 @@ "admin_settings.current_save.value": "Nastajenja składować", "admin_settings.page-title": "Nastajenja – Etherpad", "index.newPad": "Nowy zapisnik", + "index.settings": "Nastajenja", + "index.transferSessionTitle": "Posedźenje přenošować", + "index.receiveSessionTitle": "Posedźenje přijeć", + "index.receiveSessionDescription": "Tu móžeš posedźenje Etherpad z druheho wobhladowaka abo grata přijeć. Prošu dźiwaj na to, zo to waše aktualne posedźenje zhaša, jeli tajke eksistuje.", + "index.transferSession": "1. Posedźenje přenošować", + "index.transferSessionNow": "Posedźenje nětko přenošować", + "index.copyLink": "2. Wotkaz kopěrować", + "index.copyLinkDescription": "Klikń na slědowace tłóčatko, zo by wotkaz do mjezyskłada kopěrował.", + "index.copyLinkButton": "Wotkaz do mjezyskłada kopěrować", + "index.transferToSystem": "3. Posedźenje do noweho systema kopěrować", + "index.transferToSystemDescription": "Wočiń kopěrowany wotkaz w cilowym wobhladowaku abo graće, zo by swoje posedźenje přenošował.", + "index.transferSessionDescription": "Klikń na slědowace tłóčatko, zo by swoje aktualne posedźenje do wobhladowaka abo grata přenošował. To budźe wotkaz do strony kopěrować, kotraž budźe waše posedźenje přenošować, hdyž so w cilowym wobhladowaku abo graće wočinja.", "index.createOpenPad": "Zapisnik po mjenje wočinić", "index.openPad": "wočińće eksistowacy Pad z mjenom:", "index.recentPads": "Najnowše zapisniki", diff --git a/src/locales/id.json b/src/locales/id.json index 4cd5201d0..0011a9557 100644 --- a/src/locales/id.json +++ b/src/locales/id.json @@ -6,11 +6,12 @@ "Bennylin", "IvanLanin", "Marwan Mohamad", + "Penyuwangi", "Veracious" ] }, "admin.page-title": "Dasbor Pengurus - Etherpad", - "admin_plugins": "Manajer plugin", + "admin_plugins": "Pengelola plugin", "admin_plugins.available": "Plugin yang tersedia", "admin_plugins.available_not-found": "Tidak ada plugin yang ditemukan.", "admin_plugins.available_fetching": "Mengambil…", @@ -23,12 +24,12 @@ "admin_plugins.installed_uninstall.value": "Uninstal", "admin_plugins.last-update": "Pembaruan terakhir", "admin_plugins.name": "Nama", - "admin_plugins.page-title": "Manajer plugin - Etherpad", + "admin_plugins.page-title": "Pengelola plugin - Etherpad", "admin_plugins.version": "Versi", "admin_plugins_info": "Informasi penelusuran masalah", "admin_plugins_info.hooks": "Kait terpasang", "admin_plugins_info.hooks_client": "Kait sisi klien", - "admin_plugins_info.hooks_server": "Kait sisi server", + "admin_plugins_info.hooks_server": "Kait sisi peladen", "admin_plugins_info.parts": "Bagian terpasang", "admin_plugins_info.plugins": "Plugin terpasang", "admin_plugins_info.page-title": "Informasi plugin - Etherpad", @@ -106,21 +107,21 @@ "pad.modals.initsocketfail": "Peladen tidak dapat dihubungi.", "pad.modals.initsocketfail.explanation": "Peladen sinkronisasi tidak dapat dihubungi.", "pad.modals.initsocketfail.cause": "Ini mungkin disebabkan oleh masalah dengan peramban atau sambungan internet Anda.", - "pad.modals.slowcommit.explanation": "Peladen tidak merespons.", + "pad.modals.slowcommit.explanation": "Peladen tidak menanggapi.", "pad.modals.slowcommit.cause": "Ini mungkin disebabkan oleh masalah dengan sambungan jaringan Anda.", - "pad.modals.badChangeset.explanation": "Suntingan yang Anda lakukan dianggap ilegal oleh server sinkronisasi.", - "pad.modals.badChangeset.cause": "Hal ini mungkin disebabkan oleh konfigurasi peladen salah atau sesuatu perilaku yang tidak diperkirakan. Silahkan hubungi administrator Anda jika Anda merasakan ini adalah satu kesalahan. Coba sambungkan kembali untuk terus menyunting.", + "pad.modals.badChangeset.explanation": "Suntingan yang telah Anda buat digolongkan ilegal oleh peladen sinkronisasi.", + "pad.modals.badChangeset.cause": "Ini mungkin disebabkan oleh konfigurasi peladen salah atau perilaku tak terduga lainnya. Harap hubungi pengurus layanan Anda jika Anda merasakan ini adalah satu kesalahan. Coba sambungkan kembali untuk terus menyunting.", "pad.modals.corruptPad.explanation": "Pad yang Anda coba akses telah korup.", - "pad.modals.corruptPad.cause": "Hal ini mungkin disebabkan oleh konfigurasi peladen salah atau sesuatu perilaku yang tidak diperkirakan. Silahkan hubungi administrator Anda jika Anda merasakan ini adalah satu kesalahan.", + "pad.modals.corruptPad.cause": "Ini mungkin disebabkan oleh konfigurasi peladen salah atau perilaku tak terduga lainnya. Harap hubungi pengurus layanan.", "pad.modals.deleted": "Dihapus", "pad.modals.deleted.explanation": "Pad ini telah dibuang.", "pad.modals.rateLimited": "Laju Dibatasi.", "pad.modals.rateLimited.explanation": "Anda mengirim terlalu banyak pesan ke pad ini sehingga itu memutus Anda.", - "pad.modals.rejected.explanation": "Server menolak suatu pesan yang dikirim oleh peramban Anda.", - "pad.modals.rejected.cause": "Server mungkin telah diperbarui ketika Anda sedang melihat pad, atau mungkin ada bug dalam Etherpad. Cobalah memuat ulang halaman.", + "pad.modals.rejected.explanation": "Peladen menolak suatu pesan yang dikirim oleh peramban Anda.", + "pad.modals.rejected.cause": "Peladen mungkin telah diperbarui ketika Anda sedang melihat pad, atau mungkin ada kekutu dalam Etherpad. Coba muat ulang halaman.", "pad.modals.disconnected": "Sambungan Anda telah diputuskan.", "pad.modals.disconnected.explanation": "Sambungan ke peladen terputus", - "pad.modals.disconnected.cause": "Peladen ini mungkin tidak tersedia. Silakan beritahu administrator jika masalah ini berkelanjutan.", + "pad.modals.disconnected.cause": "Peladen ini mungkin tak tersedia. Silakan beritahukan pengurus jika masalah ini berlanjut.", "pad.share": "Bagikan pad ini", "pad.share.readonly": "Baca saja", "pad.share.link": "Pranala", @@ -169,6 +170,6 @@ "pad.impexp.uploadFailed": "Penunggahan gagal, silakan mencoba lagi", "pad.impexp.importfailed": "Impor gagal", "pad.impexp.copypaste": "Silahkan salin tempel", - "pad.impexp.exportdisabled": "Mengekspor dalam format {{type}} dilarang. Silakan hubungi administrator untuk detilnya.", - "pad.impexp.maxFileSize": "Berkas terlalu besar. Hubungi administrator situs Anda untuk menaikkan ukuran berkas yang diizinkan untuk impor" + "pad.impexp.exportdisabled": "Mengekspor dalam format {{type}} dimatikan. Silakan hubungi pengurus sistem Anda untuk rincian.", + "pad.impexp.maxFileSize": "Berkas terlalu besar. Hubungi pengurus situs Anda untuk menaikkan ukuran berkas yang diizinkan untuk impor" } diff --git a/src/locales/it.json b/src/locales/it.json index b4cb5c8f3..aa49a59c0 100644 --- a/src/locales/it.json +++ b/src/locales/it.json @@ -3,6 +3,7 @@ "authors": [ "Ajeje Brazorf", "Albano", + "Ayub Abdulla", "Beta16", "Gianfranco", "Jack", @@ -47,6 +48,18 @@ "admin_settings.current_save.value": "Salva impostazioni", "admin_settings.page-title": "Impostazioni - Etherpad", "index.newPad": "Nuovo pad", + "index.settings": "Impostazioni", + "index.transferSessionTitle": "Sessione di trasferimento", + "index.receiveSessionTitle": "Ricevi sessione", + "index.receiveSessionDescription": "Qui puoi ricevere una sessione Etherpad da un altro browser o dispositivo. Tieni presente, tuttavia, che questa operazione eliminerà la sessione corrente, se presente.", + "index.transferSession": "1. Sessione di trasferimento", + "index.transferSessionNow": "Trasferisci sessione ora", + "index.copyLink": "2. Copia il collegamento", + "index.copyLinkDescription": "Clicca sul pulsante qui sotto per copiare il link negli appunti.", + "index.copyLinkButton": "Copia link negli appunti", + "index.transferToSystem": "3. Copia la sessione sul nuovo sistema", + "index.transferToSystemDescription": "Apri il collegamento copiato nel browser o nel dispositivo di destinazione per trasferire la sessione", + "index.transferSessionDescription": "Trasferisci la tua sessione corrente al browser o al dispositivo cliccando sul pulsante qui sotto. Verrà copiato un link a una pagina che trasferirà la tua sessione quando verrà aperta nel browser o dispositivo di destinazione.", "index.createOpenPad": "Apri pad per nome", "index.openPad": "apri un Pad esistente col nome:", "index.recentPads": "Pad recenti", diff --git a/src/locales/lb.json b/src/locales/lb.json index fbb2eb1c1..46bd3285a 100644 --- a/src/locales/lb.json +++ b/src/locales/lb.json @@ -19,6 +19,9 @@ "admin_settings.current_save.value": "Astellunge späicheren", "admin_settings.page-title": "Astellungen - Etherpad", "index.newPad": "Neie Pad", + "index.settings": "Astellungen", + "index.copyLink": "2. Link kopéieren", + "index.copyLinkButton": "Link an den Tëschespäicher kopéieren", "index.createOpenPad": "oder maacht ee Pad mat dësem Numm op:", "pad.toolbar.bold.title": "Fett (Strg-B)", "pad.toolbar.italic.title": "Schréi (Ctrl+I)", diff --git a/src/locales/ln.json b/src/locales/ln.json deleted file mode 100644 index 39f0e1200..000000000 --- a/src/locales/ln.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "@metadata": { - "authors": [ - "BOKOBA VEROLY" - ] - }, - "admin.page-title": "Admin Dashboard - Etherpad", - "admin_plugins": "Mokambi ya plug-in", - "admin_plugins.available": "Ba plugins oyo ezali", - "admin_plugins.available_not-found": "Ba plugins ezwamaki te.", - "admin_plugins.available_fetching": "Kozwa...", - "admin_plugins.available_install.value": "Kotya", - "admin_plugins.available_search.placeholder": "Bolukiluki ya ba plugins mpo na kotya", - "admin_plugins.description": "Ndimbola", - "admin_plugins.installed": "Ba plugins oyo etyamaki", - "admin_plugins.installed_fetching": "Kozwa ba plugins oyo etyamaki...", - "admin_plugins.installed_nothing": "Otikaki naino ba plugins te.", - "admin_plugins.installed_uninstall.value": "Kofungola esika", - "admin_plugins.last-update": "Makambo ya sika ya suka", - "admin_plugins.name": "Nkombo na yango", - "admin_plugins.page-title": "Gestionnaire de greffons — Etherpad", - "admin_plugins.version": "Libongoli", - "admin_plugins_info": "Informations de résolution de problème", - "admin_plugins_info.hooks": "Crochets installés", - "admin_plugins_info.hooks_client": "Crochets côté client", - "admin_plugins_info.hooks_server": "Crochets côté serveur", - "admin_plugins_info.parts": "Biteni oyo batye", - "admin_plugins_info.plugins": "Ba plugins oyo etyamaki", - "admin_plugins_info.page-title": "Makambo etali ordinatɛrɛ - Etherpad", - "admin_plugins_info.version": "Libongoli ya Etherpad", - "admin_plugins_info.version_latest": "Libongoli ya sika", - "admin_plugins_info.version_number": "Numero ya version", - "admin_settings": "Ndenge ya kobongisa yango", - "admin_settings.current": "Configuration ya lelo", - "admin_settings.current_example-devel": "Ndakisa modèle ya paramètres ya développement", - "admin_settings.current_example-prod": "Ndakisa modèle ya paramètres ya production", - "admin_settings.current_restart.value": "Bobandi lisusu Etherpad", - "admin_settings.current_save.value": "Bomba ba Paramètres", - "admin_settings.page-title": "Paramètres - Etherpad ya kosala", - "index.newPad": "Pad ya sika", - "index.createOpenPad": "to kosala/kofungola Pad na nkombo:", - "index.openPad": "kofungola Pad oyo ezali na nkombo:", - "pad.toolbar.bold.title": "Makomi ya moindo makasi (Ctrl+B)", - "pad.toolbar.underline.title": "Mokanda ya nse (Ctrl+U)", - "pad.toolbar.strikethrough.title": "Strikethrough (Ctrl+5)", - "pad.toolbar.ol.title": "Liste oyo esɛngami (Ctrl+Shift+N)", - "pad.toolbar.ul.title": "Liste oyo etyami na molongo te (Ctrl+Shift+L)", - "pad.toolbar.indent.title": "Indent (TAB)", - "pad.toolbar.unindent.title": "Mikuwa ya libándá (Shift+TAB)", - "pad.toolbar.undo.title": "Undo (Ctrl+Z)", - "pad.toolbar.redo.title": "Redo (Ctrl+Y)", - "pad.toolbar.clearAuthorship.title": "Langi ya polele ya mokomi (Ctrl+Shift+C)", - "pad.toolbar.import_export.title": "Kokotisa/kobimisa na/na ba formats ya ba fichiers ndenge na ndenge", - "pad.toolbar.timeslider.title": "Mokambi ya ntango", - "pad.toolbar.savedRevision.title": "Kobomba lisusu", - "pad.toolbar.settings.title": "Ndenge ya kobongisa yango", - "pad.toolbar.embed.title": "Kopesa mpe kobakisa yango", - "pad.toolbar.showusers.title": "Tyá bato oyo basalelaka yango", - "pad.colorpicker.save": "Kobikisa", - "pad.colorpicker.cancel": "Kolongola" -} diff --git a/src/locales/mk.json b/src/locales/mk.json index 5e55f91a7..af56f6999 100644 --- a/src/locales/mk.json +++ b/src/locales/mk.json @@ -40,13 +40,25 @@ "admin_settings.current_save.value": "Зачувај нагодувања", "admin_settings.page-title": "Нагодувања — Etherpad", "index.newPad": "Нова тетратка", + "index.settings": "Нагодувања", + "index.transferSessionTitle": "Префрли седница", + "index.receiveSessionTitle": "Прими седница", + "index.receiveSessionDescription": "Тука можете да примите седница на Etherpad од друг прелистувач или уред. Но имајте на ум дека ова ќе ја избрише вашата тековна седница, ако ја има.", + "index.transferSession": "1. Префрли седница", + "index.transferSessionNow": "Префрли седница сега", + "index.copyLink": "2. Копирај врска", + "index.copyLinkDescription": "Стиснете на копчето подолу за да ја прекопирајте врската во вашиот меѓусклад", + "index.copyLinkButton": "Копирај врска во меѓускладот", + "index.transferToSystem": "3. Копирај седница во нов систем", + "index.transferToSystemDescription": "Отворете ја ископираната врска во целниот прелистувач или уред за да ја префрлите вашата седница.", + "index.transferSessionDescription": "Префрлете ја вашата тековна седница на прелистувач или уред стискајќи на копчето подолу. Ова ќе ја прекопира врската во страница која ќе ви ја префрли седницата кога ќе се отвори во целниот прелистувач или уред.", "index.createOpenPad": "Отвори тетратка по име", "index.openPad": "отвори постоечка тетратка наречена:", "index.recentPads": "Скорешни тетратки", "index.recentPadsEmpty": "Не најдов скорешни тетратки.", "index.generateNewPad": "Создај случајно име на тетратка", "index.labelPad": "Име на тетратка (незадолжително)", - "index.placeholderPadEnter": "Внесете го името на тетратката...", + "index.placeholderPadEnter": "Внесете име на тетратката...", "index.createAndShareDocuments": "Создавајте и споделувајте документи во живо", "index.createAndShareDocumentsDescription": "Etherpad ви овозможува соработно уредување на документи во живо, слично како уредувачот за повеќе играчи во живо што работи во вашиот пречистувач.", "pad.toolbar.bold.title": "Задебелено (Ctrl-B)", diff --git a/src/locales/ne.json b/src/locales/ne.json index 29515c7ff..9ba6b3f6e 100644 --- a/src/locales/ne.json +++ b/src/locales/ne.json @@ -13,7 +13,9 @@ }, "admin_plugins.description": "विवरण", "admin_plugins.name": "नाम", + "admin_plugins.version": "संस्करण", "index.newPad": "नयाँ प्याड", + "index.settings": "अभिरुचिहरू", "index.createOpenPad": "नाम सहितको नयाँ प्याड सिर्जना गर्ने / खोल्ने :", "pad.toolbar.bold.title": "मोटो (Ctrl-B)", "pad.toolbar.italic.title": "ढल्के (Ctrl-I)", @@ -25,13 +27,13 @@ "pad.toolbar.unindent.title": "आउटडेन्ट (Shift+TAB)", "pad.toolbar.undo.title": "रद्द (Ctrl-Z)", "pad.toolbar.redo.title": "पुन:लागु (Ctrl-Y)", - "pad.toolbar.clearAuthorship.title": "लेखकीय रङ्ग हटाउने (Ctrl+Shift+C)", + "pad.toolbar.clearAuthorship.title": "लेखकत्व रङहरू खाली गर्नुहोस् (Ctrl + Shift + C)", "pad.toolbar.timeslider.title": "टाइमस्लाइडर", "pad.toolbar.savedRevision.title": "पुनरावलोकन संग्रहगर्ने", "pad.toolbar.settings.title": "अभिरुचिहरू", "pad.toolbar.embed.title": "यस प्याडलाई बाड्ने या इम्बेड गर्ने", "pad.toolbar.showusers.title": "यस प्याडमा रहेका प्रयोगकर्ता देखाउने", - "pad.colorpicker.save": "सङ्ग्रह गर्ने", + "pad.colorpicker.save": "सङ्ग्रह गर्नुहोस्", "pad.colorpicker.cancel": "रद्द गर्नुहोस्", "pad.loading": "खुल्दै छ…", "pad.permissionDenied": "तपाईंलाई यो प्याड खोल्न अनुमति छैन", @@ -39,7 +41,7 @@ "pad.settings.myView": "मेरो दृष्य", "pad.settings.stickychat": "पर्दामा सधै च्याट गर्ने", "pad.settings.chatandusers": "वार्ता तथा प्रयोगकर्ताहरू देखाउने", - "pad.settings.colorcheck": "लेखकीय रङ्ग", + "pad.settings.colorcheck": "लेखकका रङहरू", "pad.settings.linenocheck": "हरफ संख्या", "pad.settings.rtlcheck": "के सामग्री दाहिने देखि देब्रे पढ्ने हो ?", "pad.settings.fontType": "लिपि प्रकार:", diff --git a/src/locales/nl.json b/src/locales/nl.json index 9f67fd20a..31ab822b5 100644 --- a/src/locales/nl.json +++ b/src/locales/nl.json @@ -52,6 +52,18 @@ "admin_settings.current_save.value": "Bewaar instellingen", "admin_settings.page-title": "Instellingen - Etherpad", "index.newPad": "Nieuwe notitie", + "index.settings": "Instellingen", + "index.transferSessionTitle": "Sessie overzetten", + "index.receiveSessionTitle": "Sessie ontvangen", + "index.receiveSessionDescription": "Hier kunt u een Etherpad-sessie ontvangen vanaf een andere browser of een ander apparaat. Houd er echter rekening mee dat hiermee uw huidige sessie, indien aanwezig, wordt verwijderd.", + "index.transferSession": "1. Sessie overzetten", + "index.transferSessionNow": "Sessie nu overzetten", + "index.copyLink": "2. Koppeling kopiëren", + "index.copyLinkDescription": "Klik op de onderstaande knop om de koppeling naar uw klembord te kopiëren.", + "index.copyLinkButton": "Koppeling naar klembord kopiëren", + "index.transferToSystem": "3. Kopieer de sessie naar het nieuwe systeem", + "index.transferToSystemDescription": "Open de gekopieerde koppeling in de doelbrowser of het doelapparaat om uw sessie over te zetten.", + "index.transferSessionDescription": "Zet uw huidige sessie over naar uw browser of apparaat door op de onderstaande knop te klikken. Hiermee wordt een koppeling naar een pagina gekopieerd die uw sessie overzet wanneer deze in de gewenste browser of op het gewenste apparaat wordt geopend.", "index.createOpenPad": "Open een notitie met de naam", "index.openPad": "open een bestaande notitie met de naam:", "index.recentPads": "Recente notities", diff --git a/src/locales/pa.json b/src/locales/pa.json index f8a957d1c..423ffd367 100644 --- a/src/locales/pa.json +++ b/src/locales/pa.json @@ -40,7 +40,7 @@ "pad.toolbar.showusers.title": "ਇਸ ਫੱਟੀ ਉੱਤੇ ਵਰਤੋਂਕਾਰ ਵਿਖਾਓ", "pad.colorpicker.save": "ਸੰਭਾਲੋ", "pad.colorpicker.cancel": "ਰੱਦ ਕਰੋ", - "pad.loading": "…ਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ", + "pad.loading": "ਲੱਦ ਰਿਹਾ ਏ...", "pad.noCookie": "ਕੂਕੀਜ਼ ਨਹੀਂ ਲੱਭੀਅਾਂ। ਕਿਰਪਾ ਕਰਕੇ ਬ੍ਰਾੳੂਜ਼ਰ ਵਿੱਚ ਕੂਕੀਜ਼ ਲਾਗੂ ਕਰੋ।", "pad.permissionDenied": "ਇਹ ਪੈਡ ਵਰਤਨ ਲਈ ਤੁਹਾਨੂੰ ਅਧਿਕਾਰ ਨਹੀਂ ਹਨ", "pad.settings.padSettings": "ਪੈਡ ਸੈਟਿੰਗ", @@ -65,9 +65,10 @@ "pad.importExport.exportpdf": "PDF", "pad.importExport.exportopen": "ODF (ਓਪਨ ਡੌਕੂਮੈਂਟ ਫਾਰਮੈਟ)", "pad.importExport.abiword.innerHTML": "ਤੁਸੀਂ ਸਿਰਫ਼ ਸਾਦੀਆਂ ਲਿਖਤੀ ਜਾਂ ਐੱਚ.ਟੀ.ਐੱਮ.ਐੱਲ. ਰੂਪ-ਰੇਖਾਵਾਂ ਤੋਂ ਦਰਾਮਦ ਕਰ ਸਕਦੇ ਹੋ। ਹੋਰ ਉੱਨਤ ਦਰਾਮਦੀ ਗੁਣਾਂ ਵਾਸਤੇ ਮਿਹਰਬਾਨੀ ਕਰਕੇ ਐਬੀਵਰਡ ਥਾਪੋ।", - "pad.modals.connected": "ਕੁਨੈਕਟ ਹੈ।", + "pad.modals.connected": "ਜੁੜਿਆ ਹੋਇਆ।", "pad.modals.reconnecting": "..ਤੁਹਾਡੇ ਪੈਡ ਨਾਲ ਮੁੜ-ਕੁਨੈਕਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ", - "pad.modals.forcereconnect": "ਧੱਕੇ ਨਾਲ ਮੁੜ-ਕੁਨੈਕਟ ਕਰੋ", + "pad.modals.forcereconnect": "ਧੱਕੇ ਨਾਲ ਮੁੜ-ਜੁੜੋ", + "pad.modals.reconnecttimer": "ਮੁਡ਼ ਜੋੜਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਜਾ ਰਹੀ ਏ", "pad.modals.cancel": "ਰੱਦ ਕਰੋ", "pad.modals.userdup": "ਹੋਰ ਵਿੰਡੋ ਵਿੱਚ ਖੁੱਲ੍ਹਿਆ ਹੈ", "pad.modals.userdup.explanation": "ਇਹ ਪੈਡ ਇਸ ਕੰਪਿਊਟਰ 'ਤੇ ਇੱਕ ਤੋਂ ਵੱਧ ਫਰੋਲੂ ਬਾਰੀ ਵਿੱਚ ਖੁੱਲ੍ਹਿਆ ਜਾਪਦਾ ਹੈ।", @@ -91,7 +92,7 @@ "pad.modals.disconnected.explanation": "ਸਰਵਰ ਨਾਲ ਕੁਨੈਕਸ਼ਨ ਖਤਮ ਹੋਇਆ ਹੈ", "pad.modals.disconnected.cause": "ਸਰਵਰ ਨਾਮੌਜੂਦ ਹੋ ਸਕਦਾ ਹੈ। ਜੇਕਰ ਇਹ ਹੁੰਦਾ ਰਹੇ ਤਾਂ ਮਿਹਰਬਾਨੀ ਕਰਕੇ ਸੇਵਾ ਪ੍ਰਬੰਧਕ ਨੂੰ ਖ਼ਬਰ ਕਰੋ।", "pad.share": "ਇਹ ਪੈਡ ਸਾਂਝਾ ਕਰੋ", - "pad.share.readonly": "ਕੇਵਲ ਪੜ੍ਹਨ ਲਈ", + "pad.share.readonly": "ਸਿਰਫ਼ ਪੜ੍ਹਨ ਲਈ", "pad.share.link": "ਕੜੀ", "pad.share.emebdcode": "ਇੰਬੈੱਡ URL", "pad.chat": "ਗੱਲਬਾਤ", @@ -104,7 +105,7 @@ "timeslider.toolbar.authorsList": "ਕੋਈ ਲੇਖਕ ਨਹੀਂ", "timeslider.toolbar.exportlink.title": "ਬਰਾਮਦ", "timeslider.exportCurrent": "ਮੌਜੂਦਾ ਵਰਜਨ ਇੰਝ ਐਕਸਪੋਰਟ ਕਰੋ:", - "timeslider.version": "ਵਰਜ਼ਨ {{version}}", + "timeslider.version": "ਰੂਪ {{version}}", "timeslider.saved": "{{day}} {{month}} {{year}} ਨੂੰ ਸੰਭਾਲਿਆ", "timeslider.playPause": "ਪੈਡ ਸਮੱਗਰੀ ਚਲਾਓ / ਵਿਰਾਮ ਕਰੋ", "timeslider.backRevision": "ਇਸ ਪੈਡ ਵਿੱਚ ਪਿਛਲੇ ਰੀਵਿਜ਼ਨ ਤੇ ਜਾਓ", @@ -129,7 +130,7 @@ "pad.userlist.unnamed": "ਬੇਨਾਮ", "pad.editbar.clearcolors": "ਪੂਰੇ ਦਸਾਤਵੇਜ਼ ਉੱਤੇ ਪਰਮਾਣਕਿਤਾ ਰੰਗ ਸਾਫ਼ ਕਰਨੇ ਹਨ?", "pad.impexp.importbutton": "ਹੁਣੇ ਦਰਾਮਦ ਕਰੋ", - "pad.impexp.importing": "...ਇੰਪੋਰਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ", + "pad.impexp.importing": "ਦਰਾਮਦ ਜਾਰੀ ਏ...", "pad.impexp.confirmimport": "ਕੋਈ ਫ਼ਾਈਲ ਦਰਾਮਦ ਕਾਰਨ ਨਾਲ਼ ਪੈਡ ਦੀ ਮੌਜੂਦਾ ਲਿਖਤ ਉੱਤੇ ਲਿਖਿਆ ਜਾਵੇਗਾ। ਕੀ ਤੁਸੀਂ ਸੱਚੀਂ ਇਹ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?", "pad.impexp.convertFailed": "ਅਸੀਂ ਇਸ ਫ਼ਾਈਲ ਦੀ ਦਰਾਮਦ ਨਹੀਂ ਕਰ ਸਕੇ। ਮਿਹਰਬਾਨੀ ਕਰਕੇ ਕੋਈ ਵੱਖਰੀ ਦਸਤਾਵੇਜ਼ੀ ਰੂਪ-ਰੇਖਾ ਵਰਤੋ ਜਾਂ ਹੱਥੀਂ ਨਕਲ-ਚੇਪੀ ਕਰੋ।", "pad.impexp.padHasData": "ਅਸੀ ਇਸ ਫਾਈਲ ਨੂੰ ਦਰਾਮਦ ਨਹੀੰ ਕਰ ਸਕੇ ਕਿਉੰਕਿ ਇਸ ਕਾਗਜ਼ ਉੱਤੇ ਪਹਿਲਾਂ ਹੀ ਤਬਦੀਲੀਆਂ ਕੀਤੀਆਂ ਜਾ ਚੁਕੀਆਂ ਹਨ, ਕਿਰਪਾ ਕਰਕੇ ਨਵੇਂ ਕਾਗਜ਼ ਵਿਚ ਦਰਾਮਦ ਕਰੋ", diff --git a/src/locales/pl.json b/src/locales/pl.json index 6f01cd6d2..ec82f9014 100644 --- a/src/locales/pl.json +++ b/src/locales/pl.json @@ -11,6 +11,7 @@ "Rezonansowy", "Teeed", "Ty221", + "Usagi.02808", "WTM", "WaldiSt", "Woytecr" @@ -20,19 +21,42 @@ "admin_plugins": "Menedżer wtyczek", "admin_plugins.available": "Dostępne wtyczki", "admin_plugins.available_not-found": "Nie znaleziono żadnych wtyczek.", + "admin_plugins.available_fetching": "Pobieranie...", "admin_plugins.available_install.value": "Instaluj", + "admin_plugins.available_search.placeholder": "Wyszukaj wtyczki do zainstalowania", "admin_plugins.description": "Opis", "admin_plugins.installed": "Zainstalowane wtyczki", + "admin_plugins.installed_fetching": "Pobieranie zainstalowanych wtyczek…", + "admin_plugins.installed_nothing": "Nie zainstalowałeś jeszcze żadnych wtyczek.", "admin_plugins.installed_uninstall.value": "Odinstaluj", "admin_plugins.last-update": "Ostatnia aktualizacja", "admin_plugins.name": "Nazwa", "admin_plugins.page-title": "Menedżer wtyczek - Etherpad", "admin_plugins.version": "Wersja", + "admin_plugins_info": "Informacje dotyczące rozwiązywania problemów", + "admin_plugins_info.parts": "Zainstalowane części", + "admin_plugins_info.plugins": "Zainstalowane wtyczki", + "admin_plugins_info.page-title": "Informacje o wtyczkach - Etherpad", "admin_plugins_info.version": "Wersja Etherpada", + "admin_plugins_info.version_latest": "Najnowsza dostępna wersja", + "admin_plugins_info.version_number": "Numer wersji", "admin_settings": "Ustawienia", + "admin_settings.current": "Obecna konfiguracja", + "admin_settings.current_example-devel": "Przykładowy szablon ustawień deweloperskich", + "admin_settings.current_example-prod": "Przykładowy szablon ustawień produkcyjnych", + "admin_settings.current_restart.value": "Zrestartuj Etherpad", + "admin_settings.current_save.value": "Zapisz ustawienia", + "admin_settings.page-title": "Ustawienia - Etherpad", "index.newPad": "Nowy dokument", - "index.createOpenPad": "lub stwórz/otwórz dokument o nazwie:", + "index.createOpenPad": "Otwórz dokument znając nazwę", "index.openPad": "otwórz istniejący dokument o nazwie:", + "index.recentPads": "Ostatnie dokumenty", + "index.recentPadsEmpty": "Nie znaleziono ostatnio używanych dokumentów.", + "index.generateNewPad": "Wygeneruj losową nazwę dokumentu", + "index.labelPad": "Nazwa dokumentu (opcjonalna)", + "index.placeholderPadEnter": "Proszę wpisać nazwę dokumentu...", + "index.createAndShareDocuments": "Twórz i udostępniaj dokumenty w czasie rzeczywistym", + "index.createAndShareDocumentsDescription": "Etherpad umożliwia wspólną edycję dokumentów w czasie rzeczywistym, podobnie jak edytor wieloosobowy działający w przeglądarce.", "pad.toolbar.bold.title": "Pogrubienie (Ctrl-B)", "pad.toolbar.italic.title": "Kursywa (Ctrl-I)", "pad.toolbar.underline.title": "Podkreślenie (Ctrl-U)", @@ -49,6 +73,7 @@ "pad.toolbar.savedRevision.title": "Zapisz wersję", "pad.toolbar.settings.title": "Ustawienia", "pad.toolbar.embed.title": "Podziel się i osadź ten dokument", + "pad.toolbar.home.title": "Wróć do strony głównej", "pad.toolbar.showusers.title": "Pokaż użytkowników", "pad.colorpicker.save": "Zapisz", "pad.colorpicker.cancel": "Anuluj", @@ -65,6 +90,8 @@ "pad.settings.fontType": "Rodzaj czcionki:", "pad.settings.fontType.normal": "Normalna", "pad.settings.language": "Język:", + "pad.settings.deletePad": "Usuń dokument", + "pad.delete.confirm": "Czy na pewno chcesz usunąć ten dokument?", "pad.settings.about": "O aplikacji", "pad.settings.poweredBy": "Dostarczane przez $1", "pad.importExport.import_export": "Import/eksport", @@ -101,6 +128,8 @@ "pad.modals.corruptPad.cause": "Może być to spowodowane złą konfiguracją serwera lub innym nieoczekiwanym zachowaniem. Skontaktuj się z administratorem serwisu.", "pad.modals.deleted": "Usunięto.", "pad.modals.deleted.explanation": "Ten dokument został usunięty.", + "pad.modals.rateLimited.explanation": "Wysłano za dużo wiadomości w tym dokumencie, dlatego nastąpiło rozłączenie.", + "pad.modals.rejected.cause": "Serwer mógł zostać zaktualizowany podczas przeglądania panelu lub wystąpił błąd w Etherpadzie. Spróbuj odświeżyć stronę.", "pad.modals.disconnected": "Zostałeś rozłączony.", "pad.modals.disconnected.explanation": "Utracono połączenie z serwerem", "pad.modals.disconnected.cause": "Serwer może być niedostępny. Poinformuj administratora serwisu jeżeli problem będzie się powtarzał.", @@ -111,8 +140,9 @@ "pad.chat": "Czat", "pad.chat.title": "Otwórz czat dla tego dokumentu.", "pad.chat.loadmessages": "Załaduj więcej wiadomości", - "pad.chat.stick.title": "Przyklej czat do ekranu", + "pad.chat.stick.title": "Przypnij czat do ekranu", "pad.chat.writeMessage.placeholder": "Napisz swoją wiadomość tutaj", + "timeslider.followContents": "Śledź aktualizacje zawartości dokumentu", "timeslider.pageTitle": "Oś czasu {{appTitle}}", "timeslider.toolbar.returnbutton": "Powróć do dokumentu", "timeslider.toolbar.authors": "Autorzy:", diff --git a/src/locales/pms.json b/src/locales/pms.json index cd0410b0b..c41c023c1 100644 --- a/src/locales/pms.json +++ b/src/locales/pms.json @@ -38,6 +38,18 @@ "admin_settings.current_save.value": "Argistré ij paràmeter", "admin_settings.page-title": "Paràmeter - Etherpad", "index.newPad": "Feuj neuv", + "index.settings": "Paràmeter", + "index.transferSessionTitle": "Tramudé la session", + "index.receiveSessionTitle": "Arsèive na session", + "index.receiveSessionDescription": "Ambelessì a peul arsèive na session Etherpad da n'àutr navigador o angign. Për piasì, ch'a armarca che, an tute le manere, sòn a dëscancelërà soa session corent, s'a-i na j'é.", + "index.transferSession": "1. Tramudé la session", + "index.transferSessionNow": "Tramudé la session adess", + "index.copyLink": "2. Copié la liura", + "index.copyLinkDescription": "Ch'a sgnaca an sël boton sì-sota për copié la liura su soa taulëtta.", + "index.copyLinkButton": "Copié la liura an sla taulëtta", + "index.transferToSystem": "3. Copié la session ant ël neuv sistema", + "index.transferToSystemDescription": "Duverté la liura copià ant ël navigador o angign ëd destinassion për tramudé soa session.", + "index.transferSessionDescription": "Tramudé soa session corenta a 'n navigador o n'angign an ësgnacand ël boton sota. Sòn a copiërà na liura a na pàgina che a tramudërà soa session cand a sarà duvertà ant ël navigador o l'angign ëd destinassion.", "index.createOpenPad": "Duverté ël blochèt con sò nòm", "index.openPad": "duverté un Pad esistent con ël nòm:", "index.recentPads": "Blochèt recent", diff --git a/src/locales/ro.json b/src/locales/ro.json index e46c4b7f7..fba98804d 100644 --- a/src/locales/ro.json +++ b/src/locales/ro.json @@ -6,12 +6,13 @@ "ImGelu", "MSClaudiu", "Minisarm", + "SZ475", "Strainu", "Wintereu" ] }, "index.newPad": "Pad nou", - "index.createOpenPad": "sau creează/deschide un Pad cu numele:", + "index.createOpenPad": "Deschideți pad-ul după nume", "index.openPad": "deschide un Pad existent cu numele:", "pad.toolbar.bold.title": "Aldin (Ctrl + B)", "pad.toolbar.italic.title": "Cursiv (Ctrl + I)", @@ -20,7 +21,7 @@ "pad.toolbar.ol.title": "Listă ordonată (Ctrl+Shift+N)", "pad.toolbar.ul.title": "Listă neordonată (Ctrl+Shift+L)", "pad.toolbar.indent.title": "Cursiv (TAB)", - "pad.toolbar.unindent.title": "Fără cursiv (Shift+TAB)", + "pad.toolbar.unindent.title": "Outdent (Shift+TAB)", "pad.toolbar.undo.title": "Anulează (Ctrl+Z)", "pad.toolbar.redo.title": "Refă (Ctrl+Y)", "pad.toolbar.clearAuthorship.title": "Curăță culorile autorilor (Ctrl+Shift+C)", @@ -57,7 +58,7 @@ "pad.importExport.exportopen": "ODF (Open Document Format)", "pad.importExport.abiword.innerHTML": "Puteți importa doar din format simplu sau HTML. Pentru funcții de import mai avansate, vă rugăm instalați AbiWord sau LibreOffice.", "pad.modals.connected": "Conectat.", - "pad.modals.reconnecting": "Se reconectează la pad-ul dumneavoastră..", + "pad.modals.reconnecting": "Se reconectează la pad…", "pad.modals.forcereconnect": "Forțează reconectarea", "pad.modals.reconnecttimer": "Încercați să vă reconectați în", "pad.modals.cancel": "Anulează", diff --git a/src/locales/ru.json b/src/locales/ru.json index 8edfd81d8..7e11d382e 100644 --- a/src/locales/ru.json +++ b/src/locales/ru.json @@ -7,6 +7,7 @@ "Eleferen", "Facenapalm", "Kareyac", + "Lvova", "MSClaudiu", "Megakott", "Movses", @@ -53,6 +54,18 @@ "admin_settings.current_save.value": "Сохранить настройки", "admin_settings.page-title": "Настройки — Etherpad", "index.newPad": "Создать", + "index.settings": "Настройки", + "index.transferSessionTitle": "Передача сеанса", + "index.receiveSessionTitle": "Приём сеанса", + "index.receiveSessionDescription": "Здесь вы можете принять сеанс Etherpad из другого браузера или устройства. Обратите внимание, что это удалит ваш текущий сеанс, если он есть.", + "index.transferSession": "1. Перенос сеанса", + "index.transferSessionNow": "Перенести сеанс сейчас", + "index.copyLink": "2. Скопировать ссылку", + "index.copyLinkDescription": "Нажмите на кнопку ниже, чтобы скопировать ссылку в буфер обмена.", + "index.copyLinkButton": "Скопировать в буфер обмена", + "index.transferToSystem": "3. Копировать сеанс в новую систему", + "index.transferToSystemDescription": "Откройте скопированную ссылку в нужном браузере или устройстве, чтобы перенести сеанс.", + "index.transferSessionDescription": "Перенесите текущий сеанс в браузер или на устройство, нажав кнопку ниже. Будет скопирована ссылка на страницу, которая перенесёт ваш сеанс при открытии в целевом браузере или на целевом устройстве.", "index.createOpenPad": "Открыть документ по имени", "index.openPad": "откройте существующий документ с именем:", "index.recentPads": "Последние документы", diff --git a/src/locales/sq.json b/src/locales/sq.json index 887e2aedc..4f8c18fe4 100644 --- a/src/locales/sq.json +++ b/src/locales/sq.json @@ -79,7 +79,7 @@ "pad.settings.about": "Mbi", "pad.settings.poweredBy": "Bazuar në", "pad.importExport.import_export": "Import/Eksport", - "pad.importExport.import": "Ngarko çdo skedar teksti ose dokument", + "pad.importExport.import": "Ngarkoni cilëndo kartelë tekst ose dokument", "pad.importExport.importSuccessful": "Me sukses!", "pad.importExport.export": "Eksportojeni bllokun e tanishëm si:", "pad.importExport.exportetherpad": "Etherpad", diff --git a/src/locales/sv.json b/src/locales/sv.json index 83fd7dfa1..939eeac3d 100644 --- a/src/locales/sv.json +++ b/src/locales/sv.json @@ -42,8 +42,27 @@ "admin_settings.current_save.value": "Spara inställningar", "admin_settings.page-title": "Inställningar - Etherpad", "index.newPad": "Nytt block", - "index.createOpenPad": "eller skapa/öppna ett block med namnet:", + "index.settings": "Inställningar", + "index.transferSessionTitle": "Överför session", + "index.receiveSessionTitle": "Ta emot session", + "index.receiveSessionDescription": "Här kan du ta emot en Etherpad-session från en annan webbläsare eller enhet. Observera att detta kommer att radera din aktuella session, om en sådan finns.", + "index.transferSession": "1. Överför session", + "index.transferSessionNow": "Överför session nu", + "index.copyLink": "2. Kopiera länk", + "index.copyLinkDescription": "Klicka på knappen nedan för att kopiera länken till urklipp.", + "index.copyLinkButton": "Kopiera länk till urklipp", + "index.transferToSystem": "3. Kopiera sessionen till det nya systemet", + "index.transferToSystemDescription": "Öppna den kopierade länken i målwebbläsaren eller -enheten för att överföra din session.", + "index.transferSessionDescription": "Överför din nuvarande session till webbläsaren eller enheten genom att klicka på knappen nedan. Detta kopierar en länk till en sida som överför din session när den öppnas i målwebbläsaren eller -enheten.", + "index.createOpenPad": "Öppna block med namn", "index.openPad": "öppna ett befintligt block med namnet:", + "index.recentPads": "Senaste block", + "index.recentPadsEmpty": "Inga senaste block hittades.", + "index.generateNewPad": "Generera slumpat blocknamn", + "index.labelPad": "Blocknamn (valfritt)", + "index.placeholderPadEnter": "Ange ett blocknamn...", + "index.createAndShareDocuments": "Skapa och dela dokument i realtid", + "index.createAndShareDocumentsDescription": "Med Etherpad kan ni redigera dokument tillsammans i realtid, ungefär som en live-redigerare för flera spelare som körs i din webbläsare.", "pad.toolbar.bold.title": "Fet (Ctrl+B)", "pad.toolbar.italic.title": "Kursiv (Ctrl+I)", "pad.toolbar.underline.title": "Understruken (Ctrl+U)", @@ -60,6 +79,7 @@ "pad.toolbar.savedRevision.title": "Spara version", "pad.toolbar.settings.title": "Inställningar", "pad.toolbar.embed.title": "Dela och bädda in detta block", + "pad.toolbar.home.title": "Tillbaka till hemsidan", "pad.toolbar.showusers.title": "Visa användarna på detta block", "pad.colorpicker.save": "Spara", "pad.colorpicker.cancel": "Avbryt", diff --git a/src/locales/uk.json b/src/locales/uk.json index 5a8e06888..4879f62cc 100644 --- a/src/locales/uk.json +++ b/src/locales/uk.json @@ -50,7 +50,7 @@ "admin_settings.current_save.value": "Зберегти налаштування", "admin_settings.page-title": "Налаштування — Etherpad", "index.newPad": "Створити", - "index.createOpenPad": "або створити/відкрити документ з назвою:", + "index.createOpenPad": "Відкрити документ з іменем", "index.openPad": "відкрити наявний документ з назвою:", "pad.toolbar.bold.title": "Напівжирний (Ctrl-B)", "pad.toolbar.italic.title": "Курсив (Ctrl-I)", diff --git a/src/locales/zh-hans.json b/src/locales/zh-hans.json index 2720707f5..ac4549262 100644 --- a/src/locales/zh-hans.json +++ b/src/locales/zh-hans.json @@ -59,6 +59,18 @@ "admin_settings.current_save.value": "保存设置", "admin_settings.page-title": "设置 - Etherpad", "index.newPad": "新记事本", + "index.settings": "设置", + "index.transferSessionTitle": "转移会话", + "index.receiveSessionTitle": "接收会话", + "index.receiveSessionDescription": "您可以在此处从其他浏览器或设备接收Etherpad会话。但请注意,这会删除您目前的会话(如有)。", + "index.transferSession": "1. 转移会话", + "index.transferSessionNow": "现在进行转移会话", + "index.copyLink": "2. 复制链接", + "index.copyLinkDescription": "点击下方按钮,将链接复制到剪贴板。", + "index.copyLinkButton": "复制链接到剪贴板", + "index.transferToSystem": "3. 将会话复制到新系统", + "index.transferToSystemDescription": "在目标浏览器或设备上打开复制的链接,即可转移您的会话。", + "index.transferSessionDescription": "点击下方按钮,即可将目前的会话转移到浏览器或设备。这将复制一个指向某页面的链接,当该页面在目标浏览器或设备上打开时,将会转移您的会话。", "index.createOpenPad": "按名称打开记事本", "index.openPad": "打开一个现有的记事本,名称为:", "index.recentPads": "最近的记事本", diff --git a/src/locales/zh-hant.json b/src/locales/zh-hant.json index 5158a68ab..febf764c8 100644 --- a/src/locales/zh-hant.json +++ b/src/locales/zh-hant.json @@ -48,13 +48,25 @@ "admin_settings.current_save.value": "儲存設定", "admin_settings.page-title": "設定 - Etherpad", "index.newPad": "新記事本", + "index.settings": "設定", + "index.transferSessionTitle": "轉移連線階段", + "index.receiveSessionTitle": "接收連線階段", + "index.receiveSessionDescription": "您可以在此處從其他瀏覽器或裝置接收 Etherpad 的連線階段。但請留意,這會刪除您目前的連線階段(如有)。", + "index.transferSession": "1. 轉移連線階段", + "index.transferSessionNow": "現在進行轉移連線階段", + "index.copyLink": "2. 複製連結", + "index.copyLinkDescription": "點擊下方按鈕,將連結複製到您的剪貼簿。", + "index.copyLinkButton": "複製連結到剪貼簿", + "index.transferToSystem": "3. 將連線階段複製到新系統", + "index.transferToSystemDescription": "在目標瀏覽器或裝置上開啟複製的連結,即可轉移您的連線階段。", + "index.transferSessionDescription": "點擊下方按鈕,即可將您目前的連線階段轉移到瀏覽器或裝置。這將複製一個指向到一個頁面的連結,當該頁面在目標瀏覽器或設備上打開時,會轉移您的連線階段。", "index.createOpenPad": "依照名稱開啟記事本", "index.openPad": "開啟一個現有的記事本,名稱為:", "index.recentPads": "近期記事本", "index.recentPadsEmpty": "找不到近期的記事本。", "index.generateNewPad": "產生隨機記事本名稱", "index.labelPad": "記事本名稱(可選)", - "index.placeholderPadEnter": "輸入記事本名稱…", + "index.placeholderPadEnter": "請輸入記事本名稱…", "index.createAndShareDocuments": "即時建立和共享文件", "index.createAndShareDocumentsDescription": "Etherpad 允許您即時協作編輯文件,就像在瀏覽器中運作的即時多人編輯器一樣。", "pad.toolbar.bold.title": "粗體(Ctrl+B)", @@ -78,7 +90,7 @@ "pad.colorpicker.save": "儲存", "pad.colorpicker.cancel": "取消", "pad.loading": "載入中...", - "pad.noCookie": "無法找到 Cookie。請在您的瀏覽器中允許cookie!您的 session 和設定未在訪問期間保存下來。這可能是由於 Etherpad 包含在某些瀏覽器的 iFrame 中。請確保 Etherpad 與父層級 iFrame 位於同一子網域/網域中", + "pad.noCookie": "無法找到 Cookie。請在您的瀏覽器中允許 cookie!您的連線階段和設定未在訪問期間保存下來。這可能是由於 Etherpad 包含在某些瀏覽器的 iFrame 中。請確保 Etherpad 與父層級 iFrame 位於同一子網域/網域中", "pad.permissionDenied": "你沒有存取這個記事本的權限", "pad.settings.padSettings": "記事本設定", "pad.settings.myView": "我的視窗", diff --git a/src/node/handler/PadMessageHandler.ts b/src/node/handler/PadMessageHandler.ts index 115d69a23..0b411ed67 100644 --- a/src/node/handler/PadMessageHandler.ts +++ b/src/node/handler/PadMessageHandler.ts @@ -94,14 +94,25 @@ exports.socketio = () => { const sessioninfos:MapArrayType = {}; exports.sessioninfos = sessioninfos; -stats.gauge('totalUsers', () => socketio ? socketio.engine.clientsCount : 0); -stats.gauge('activePads', () => { +function getTotalActiveUsers() { + return socketio ? socketio.engine.clientsCount : 0; +} + +exports.getTotalActiveUsers = getTotalActiveUsers; + +function getActivePadCountFromSessionInfos() { const padIds = new Set(); for (const {padId} of Object.values(sessioninfos)) { if (!padId) continue; padIds.add(padId); } return padIds.size; +} +exports.getActivePadCountFromSessionInfos = getActivePadCountFromSessionInfos; + +stats.gauge('totalUsers', () => getTotalActiveUsers()); +stats.gauge('activePads', () => { + return getActivePadCountFromSessionInfos(); }); /** diff --git a/src/node/hooks/express/tokenTransfer.ts b/src/node/hooks/express/tokenTransfer.ts new file mode 100644 index 000000000..9a6bb25f1 --- /dev/null +++ b/src/node/hooks/express/tokenTransfer.ts @@ -0,0 +1,45 @@ +import {ArgsExpressType} from "../../types/ArgsExpressType"; +const db = require('../../db/DB'); +import crypto from 'crypto' + + +type TokenTransferRequest = { + token: string; + prefsHttp: string, + createdAt?: number; +} + +const tokenTransferKey = "tokenTransfer:"; + +export const expressCreateServer = (hookName:string, {app}:ArgsExpressType) => { + app.post('/tokenTransfer', async (req, res) => { + const token = req.body as TokenTransferRequest; + if (!token || !token.token) { + return res.status(400).send({error: 'Invalid request'}); + } + + const id = crypto.randomUUID() + token.createdAt = Date.now(); + + await db.set(`${tokenTransferKey}:${id}`, token) + res.send({id}); + }) + + app.get('/tokenTransfer/:token', async (req, res) => { + const id = req.params.token; + if (!id) { + return res.status(400).send({error: 'Invalid request'}); + } + + const tokenData = await db.get(`${tokenTransferKey}:${id}`); + if (!tokenData) { + return res.status(404).send({error: 'Token not found'}); + } + + const token = await db.get(`${tokenTransferKey}:${id}`) + + res.cookie('token', tokenData.token, {path: '/', maxAge: 1000*60*60*24*365}); + res.cookie('prefsHttp', tokenData.prefsHttp, {path: '/', maxAge: 1000*60*60*24*365}); + res.send(token); + }) +} diff --git a/src/node/prometheus.ts b/src/node/prometheus.ts index 2fad567f4..8b0ac7598 100644 --- a/src/node/prometheus.ts +++ b/src/node/prometheus.ts @@ -1,25 +1,38 @@ -import client from 'prom-client' -const db = require('./db/DB').db +import client from 'prom-client'; -const monitor = function () { - const collectDefaultMetrics = client.collectDefaultMetrics; - const Registry = client.Registry; - const register = new Registry(); - collectDefaultMetrics({register}); - const gaugeDB = new client.Gauge({ - name: "ueberdb_stats", - help: "ueberdb stats", - labelNames: ['type'], - }) +const db = require('./db/DB').db; +const PadMessageHandler = require('./handler/PadMessageHandler'); +const register = new client.Registry(); +const gaugeDB = new client.Gauge({ + name: 'ueberdb_stats', + help: 'ueberdb stats', + labelNames: ['type'], +}); +register.registerMetric(gaugeDB); + +const totalUsersGauge = new client.Gauge({ + name: 'etherpad_total_users', + help: 'Total number of users', +}); +register.registerMetric(totalUsersGauge); + +const activePadsGauge = new client.Gauge({ + name: 'etherpad_active_pads', + help: 'Total number of active pads', +}); +register.registerMetric(activePadsGauge); + +client.collectDefaultMetrics({register}); + +const monitor = async function () { for (const [metric, value] of Object.entries(db.metrics)) { if (typeof value !== 'number') continue; gaugeDB.set({type: metric}, value); } - - - register.registerMetric(gaugeDB); - return register + activePadsGauge.set(PadMessageHandler.getActivePadCountFromSessionInfos()); + totalUsersGauge.set(PadMessageHandler.getTotalActiveUsers()); + return register; }; export default monitor; diff --git a/src/node/server.ts b/src/node/server.ts index 5ed8d3073..331136746 100755 --- a/src/node/server.ts +++ b/src/node/server.ts @@ -96,7 +96,7 @@ const State = { let state = State.INITIAL; -const removeSignalListener = (signal: NodeJS.Signals, listener: NodeJS.SignalsListener) => { +const removeSignalListener = (signal: NodeJS.Signals, listener: any) => { logger.debug(`Removing ${signal} listener because it might interfere with shutdown tasks. ` + `Function code:\n${listener.toString()}\n` + `Current stack:\n${new Error()!.stack!.split('\n').slice(1).join('\n')}`); diff --git a/src/node/utils/Settings.ts b/src/node/utils/Settings.ts index 886350c59..46bc487c8 100644 --- a/src/node/utils/Settings.ts +++ b/src/node/utils/Settings.ts @@ -161,6 +161,7 @@ export type SettingsType = { settingsFilename: string, credentialsFilename: string, title: string, + showRecentPads: boolean, favicon: string | null, ttl: { AccessToken: number, @@ -303,6 +304,12 @@ const settings: SettingsType = { * The app title, visible e.g. in the browser window */ title: 'Etherpad', + + /** + * Whether to show recent pads on the homepage + */ + showRecentPads: true, + /** * Pathname of the favicon you want to use. If null, the skin's favicon is * used if one is provided by the skin, otherwise the default Etherpad favicon diff --git a/src/package.json b/src/package.json index 142eb0827..2e97354f5 100644 --- a/src/package.json +++ b/src/package.json @@ -31,49 +31,49 @@ ], "dependencies": { "async": "^3.2.6", - "axios": "^1.12.1", + "axios": "^1.13.2", "cookie-parser": "^1.4.7", "cross-env": "^10.1.0", "cross-spawn": "^7.0.6", "ejs": "^3.1.10", - "esbuild": "^0.25.10", - "express": "^5.1.0", - "express-rate-limit": "^8.1.0", + "esbuild": "^0.27.2", + "express": "^5.2.1", + "express-rate-limit": "^8.2.1", "express-session": "^1.18.2", "find-root": "1.1.0", "formidable": "^3.5.4", - "http-errors": "^2.0.0", - "jose": "^6.1.0", + "http-errors": "^2.0.1", + "jose": "^6.1.3", "js-cookie": "^3.0.5", - "jsdom": "^27.0.0", + "jsdom": "^27.4.0", "jsonminify": "0.4.2", - "jsonwebtoken": "^9.0.2", + "jsonwebtoken": "^9.0.3", "jwt-decode": "^4.0.0", "languages4translatewiki": "0.1.3", "live-plugin-manager": "^1.1.0", "lodash.clonedeep": "4.5.0", "log4js": "^6.9.1", - "lru-cache": "^11.2.2", + "lru-cache": "^11.2.4", "measured-core": "^2.0.0", - "mime-types": "^3.0.1", - "oidc-provider": "^9.5.1", + "mime-types": "^3.0.2", + "oidc-provider": "9.6.0", "openapi-backend": "^5.15.0", "prom-client": "^15.1.3", "proxy-addr": "^2.0.7", - "rate-limiter-flexible": "^8.0.1", + "rate-limiter-flexible": "^9.0.1", "rehype": "^13.0.2", "rehype-minify-whitespace": "^6.0.2", - "resolve": "1.22.10", + "resolve": "1.22.11", "rusty-store-kv": "^1.3.1", "security": "1.0.0", "semver": "^7.7.3", - "socket.io": "^4.8.1", - "socket.io-client": "^4.8.1", - "superagent": "10.2.3", + "socket.io": "^4.8.3", + "socket.io-client": "^4.8.3", + "superagent": "10.3.0", "swagger-ui-express": "^5.0.1", "tinycon": "0.6.8", - "tsx": "4.20.6", - "ueberdb2": "^5.0.22", + "tsx": "4.21.0", + "ueberdb2": "^5.0.23", "underscore": "1.13.7", "unorm": "1.6.0", "wtfnode": "^0.10.1" @@ -83,14 +83,14 @@ "etherpad-lite": "node/server.ts" }, "devDependencies": { - "@playwright/test": "^1.56.0", + "@playwright/test": "^1.57.0", "@types/async": "^3.2.25", - "@types/cookie-parser": "^1.4.9", + "@types/cookie-parser": "^1.4.10", "@types/cross-spawn": "^6.0.6", "@types/ejs": "^3.1.5", - "@types/express": "^5.0.0", + "@types/express": "^5.0.6", "@types/express-session": "^1.18.2", - "@types/formidable": "^3.4.5", + "@types/formidable": "^3.4.6", "@types/http-errors": "^2.0.5", "@types/jquery": "^3.5.33", "@types/js-cookie": "^3.0.6", @@ -99,28 +99,28 @@ "@types/jsonwebtoken": "^9.0.10", "@types/mime-types": "^3.0.1", "@types/mocha": "^10.0.9", - "@types/node": "^24.7.0", + "@types/node": "^25.0.9", "@types/oidc-provider": "^9.5.0", "@types/semver": "^7.7.1", - "@types/sinon": "^17.0.3", + "@types/sinon": "^21.0.0", "@types/supertest": "^6.0.2", "@types/swagger-ui-express": "^4.1.8", "@types/underscore": "^1.13.0", "@types/whatwg-mimetype": "^3.0.2", - "chokidar": "^4.0.3", - "eslint": "^9.37.0", + "chokidar": "^5.0.0", + "eslint": "^9.39.2", "eslint-config-etherpad": "^4.0.4", "etherpad-cli-client": "^3.0.5", - "mocha": "^11.7.4", + "mocha": "^11.7.5", "mocha-froth": "^0.2.10", "nodeify": "^1.0.1", "openapi-schema-validation": "^0.4.2", - "set-cookie-parser": "^2.7.1", - "sinon": "^21.0.0", + "set-cookie-parser": "^3.0.1", + "sinon": "^21.0.1", "split-grid": "^1.0.11", - "supertest": "^7.1.3", + "supertest": "^7.2.2", "typescript": "^5.9.3", - "vitest": "^3.2.4" + "vitest": "^4.0.17" }, "engines": { "node": ">=18.18.2", @@ -147,6 +147,6 @@ "debug:socketio": "cross-env DEBUG=socket.io* node --require tsx/cjs node/server.ts", "test:vitest": "vitest" }, - "version": "2.5.1", + "version": "2.6.0", "license": "Apache-2.0" } diff --git a/src/static/js/welcome.ts b/src/static/js/welcome.ts new file mode 100644 index 000000000..dacaed7bf --- /dev/null +++ b/src/static/js/welcome.ts @@ -0,0 +1,116 @@ +const checkmark = ''; + +function getCookie(name: string) { + const value = `; ${document.cookie}`; + const parts = value.split(`; ${name}=`); + if (parts.length === 2) { // @ts-ignore + return parts.pop().split(';').shift(); + } +} + + +function handleTransferOfSession() { + const transferNowButton = document.querySelector('[data-l10n-id="index.transferSessionNow"]')! as HTMLButtonElement; + + transferNowButton.addEventListener('click', async () => { + transferNowButton.style.display = 'inline-flex'; + transferNowButton.style.alignItems = 'center'; + transferNowButton.style.justifyContent = 'center'; + transferNowButton.innerHTML = `${checkmark}`; + transferNowButton.disabled = true; + + const responseWithId = await fetch("./tokenTransfer", { + method: "POST", + headers: { + "Content-Type": "application/json" + }, + body: JSON.stringify({ + prefsHttp: getCookie('prefsHttp'), + token: getCookie('token'), + }) + }) + + const copyLinkSection = document.getElementById('copy-link-section') + if (!copyLinkSection) return; + copyLinkSection.style.display = 'block'; + + const copyButton = document.querySelector('#copy-link-section .btn-secondary') as HTMLButtonElement + const responseData = await responseWithId.json(); + copyButton.addEventListener('click', async ()=>{ + await navigator.clipboard.writeText(responseData.id); + copyButton.style.display = 'inline-flex'; + copyButton.style.alignItems = 'center'; + copyButton.style.justifyContent = 'center'; + copyButton.innerHTML = `${checkmark}`; + copyButton.disabled = true; + }) + }); +} + + +const handleSettingsButtonClick = () => { + const settingsButton = document.querySelector('.settings-button')!; + const settingsDialog = document.getElementById('settings-dialog') as HTMLDialogElement; + let initialSettingsHtml: string; + + settingsDialog.addEventListener('click', (e) => { + if (e.target === settingsDialog) { + settingsDialog.close(); + settingsDialog.innerHTML = initialSettingsHtml; + handleMenuBarClicked(); + handleTransferOfSession(); + } + }); + + settingsButton.addEventListener('click', () => { + initialSettingsHtml = settingsDialog.innerHTML; + settingsDialog.showModal(); + }); +}; + + +const handleMenuBarClicked = () => { + const menuBar = document.getElementById('button-bar')!; + menuBar.querySelectorAll('button').forEach((button, index)=>{ + button.addEventListener('click', ()=>{ + menuBar.querySelectorAll('button').forEach((btn)=>btn.classList.remove('active-btn')); + button.classList.add('active-btn'); + + const sections: NodeListOf = document.querySelectorAll('#settings-dialog > div'); + sections.forEach((section, index)=>index >= 1 && (section.style.display = 'none')); + (sections[index +1] as HTMLElement).style.display = 'block'; + }); + }) + + const transferSessionButton = document.getElementById('transferSessionButton') + const codeInputField = document.getElementById('codeInput') as HTMLInputElement + if (transferSessionButton) { + transferSessionButton.addEventListener('click', ()=>{ + const code = codeInputField.value + fetch("./tokenTransfer/"+code, { + method: 'GET' + }) + .then(res => res.json()) + .then(()=>{ + window.location.reload() + }) + }); + } + + if (codeInputField) { + codeInputField.addEventListener('input', (e)=>{ + if ((e.target as HTMLInputElement).value?.length === 36) { + transferSessionButton?.removeAttribute('disabled'); + } else { + transferSessionButton?.setAttribute('disabled', 'true'); + } + }) + } + +} + +window.addEventListener('load', () => { + handleSettingsButtonClick(); + handleMenuBarClicked(); + handleTransferOfSession(); +}); diff --git a/src/static/skins/colibris/index.css b/src/static/skins/colibris/index.css index fc4a87f61..3d06464db 100644 --- a/src/static/skins/colibris/index.css +++ b/src/static/skins/colibris/index.css @@ -1,3 +1,5 @@ +@import url("./src/components/buttons.css"); + :root { --etherpad-color: #64d29b; --etherpad-color-dark: #4a5d5c; @@ -100,7 +102,7 @@ h1 { border-radius: 5px; } -#button, #button:hover, #go2Name [type="submit"] { +#button, #button:hover, #go2Name [type="submit"], #transferSessionButton { order: 2; margin-top: 0.5rem; line-height: 1.25rem; @@ -115,10 +117,14 @@ h1 { cursor: pointer; } -#go2Name [type="submit"]:hover { +#go2Name [type="submit"]:hover, #transferSessionButton { background-color: oklch(52.7% 0.154 150.069) } +#transferSessionButton:disabled { + opacity: 0.5; +} + #button, #button:hover { order: 2; } @@ -132,7 +138,7 @@ h1 { } -#go2Name [type="submit"] { +#go2Name [type="submit"], #transferSessionButton { display: block; background-color: var(--ep-color); color: white; @@ -234,10 +240,25 @@ a, a:visited, a:hover, a:active { border-bottom-color: #e5e7eb; } +#settings-dialog::backdrop { + background: rgba(0, 0, 0, 0.45); + backdrop-filter: blur(2px); +} + .card-content { padding: 1.5rem; } +#codeInput { + height: auto; + position: static; + border: 1px solid var(--muted-border); + border-radius: 0.375rem; + font-size: 1rem; + outline: none; + transition: border 0.2s; +} + @media (max-width: 640px) { #inner { max-width: 100%; diff --git a/src/static/skins/colibris/index.js b/src/static/skins/colibris/index.js index 3001fa5f8..f36edf841 100644 --- a/src/static/skins/colibris/index.js +++ b/src/static/skins/colibris/index.js @@ -11,24 +11,25 @@ window.addEventListener('pageshow', (event) => { }); window.customStart = () => { - document.getElementById('recent-pads').replaceChildren() + const recentPadList = document.getElementById('recent-pads'); + if (recentPadList) { + recentPadList.replaceChildren(); + } // define your javascript here // jquery is available - except index.js // you can load extra scripts with $.getScript http://api.jquery.com/jQuery.getScript/ const divHoldingPlaceHolderLabel = document - .querySelector('[data-l10n-id="index.placeholderPadEnter"]'); + .querySelector('[data-l10n-id="index.placeholderPadEnter"]'); const observer = new MutationObserver(() => { document.querySelector('#go2Name input') - .setAttribute('placeholder', divHoldingPlaceHolderLabel.textContent); + .setAttribute('placeholder', divHoldingPlaceHolderLabel.textContent); }); observer - .observe(divHoldingPlaceHolderLabel, {childList: true, subtree: true, characterData: true}); + .observe(divHoldingPlaceHolderLabel, {childList: true, subtree: true, characterData: true}); - const recentPadList = document.getElementById('recent-pads'); - const parentStyle = recentPadList.parentElement.style; const recentPadListHeading = document.querySelector('[data-l10n-id="index.recentPads"]'); const recentPadsFromLocalStorage = localStorage.getItem('recentPads'); let recentPadListData = []; @@ -38,18 +39,18 @@ window.customStart = () => { // Remove duplicates based on pad name and sort by timestamp recentPadListData = recentPadListData.filter( - (pad, index, self) => - index === self.findIndex((p) => p.name === pad.name) + (pad, index, self) => index === self.findIndex((p) => p.name === pad.name) ).sort((a, b) => new Date(a.timestamp) > new Date(b.timestamp) ? -1 : 1); - if (recentPadListData.length === 0) { + if (recentPadList && recentPadListData.length === 0) { + const parentStyle = recentPadList.parentElement.style; recentPadListHeading.setAttribute('data-l10n-id', 'index.recentPadsEmpty'); parentStyle.display = 'flex'; parentStyle.justifyContent = 'center'; parentStyle.alignItems = 'center'; parentStyle.maxHeight = '100%'; recentPadList.remove(); - } else { + } else if (recentPadList) { /** * @typedef {Object} Pad * @property {string} name diff --git a/src/static/skins/colibris/src/components/buttons.css b/src/static/skins/colibris/src/components/buttons.css index 9a3445478..c9c3e0c2a 100644 --- a/src/static/skins/colibris/src/components/buttons.css +++ b/src/static/skins/colibris/src/components/buttons.css @@ -6,7 +6,6 @@ button, .btn width: auto; border: none; font-weight: bold; - text-transform: uppercase; position: relative; background: none; cursor: pointer; @@ -23,3 +22,36 @@ button, .btn color: #485365; color: var(--text-color); } + +/* Sekundär (outlined) */ +.btn-secondary { + background: transparent; + color: #1f8a3e; + border: 2px solid #1f8a3e; + box-shadow: none; +} + +.active-btn { + text-underline-offset: 10px; + text-decoration: underline; + text-decoration-style: solid; + text-decoration-thickness: 2px; + text-decoration-color: #1f8a3e; + cursor: pointer; +} + + +.btn-secondary:hover { + background: #1f8a3e; + color: #fff; + box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), 0 1px 2px rgba(0,0,0,0.12); + transform: translateY(-1px); +} + +.btn-secondary:disabled { + background: transparent; + color: #aaa; + border-color: #aaa; + box-shadow: none; + cursor: not-allowed; +} diff --git a/src/templates/index.html b/src/templates/index.html index d46bd3405..7cac8e4a0 100644 --- a/src/templates/index.html +++ b/src/templates/index.html @@ -33,7 +33,7 @@ background: -moz-linear-gradient(#fff,#ccc); background: -ms-linear-gradient(#fff,#ccc); background: -o-linear-gradient(#fff,#ccc); - box-shadow: 0px 1px 8px rgba(0,0,0,0.3); + box-shadow: 0 1px 8px rgba(0,0,0,0.3); } #inner { position:relative; @@ -43,7 +43,6 @@ #button { margin: 0 auto; text-align: center; - font: 36px verdana,arial,sans-serif; width:300px; border:none; color: white; @@ -76,10 +75,9 @@ display:block; } #padname{ - height:38px; max-width:280px; } - form { + #go2Name { height: 38px; background: #fff; border: 1px solid #bbb; @@ -106,20 +104,37 @@ button[type="submit"] { position: absolute; left:253px; - width: 45px; - height: 38px; } nav, .mission-statement, .pad-datalist { display: none; } - @media only screen and (min-device-width: 320px) and (max-device-width: 800px) { + .settings-button { + color: inherit; + border: none; + padding: 0; + font: inherit; + cursor: pointer; + outline: inherit; + } + + #settings-dialog { + border: none; + border-radius: 8px; + box-shadow: 0 4px 8px rgba(0,0,0,0.2); + padding: 20px; + } + + @media (min-device-width: 320px) and (min-device-width: 800px) { body { background: #bbb; background: -webkit-linear-gradient(#aaa,#eee 60%) center fixed; background: -moz-linear-gradient(#aaa,#eee 60%) center fixed; background: -ms-linear-gradient(#aaa,#eee 60%) center fixed; } + #settings-dialog { + max-width: 50%; + } #wrapper { margin-top: 0; } @@ -140,9 +155,54 @@

Etherpad

+
+ + + +
+ + +
+
+ + +

+
+ + + + +
+ + +
+ +
+ +
+

@@ -168,11 +228,13 @@ <% e.end_block(); %>
+ <% if (settings.showRecentPads) { %>

+ <% } %>
diff --git a/src/templates/indexBootstrap.js b/src/templates/indexBootstrap.js index faf6702e6..6836a460a 100644 --- a/src/templates/indexBootstrap.js +++ b/src/templates/indexBootstrap.js @@ -3,4 +3,5 @@ window.$ = window.jQuery = require('ep_etherpad-lite/static/js/rjquery').jQuery; require('ep_etherpad-lite/static/js/l10n') require('ep_etherpad-lite/static/js/index') + require('ep_etherpad-lite/static/js/welcome') })() diff --git a/ui/package.json b/ui/package.json index 4f90b7d01..8b262d327 100644 --- a/ui/package.json +++ b/ui/package.json @@ -12,9 +12,9 @@ "devDependencies": { "ep_etherpad-lite": "workspace:../src", "typescript": "^5.9.3", - "vite": "npm:rolldown-vite@latest" + "vite": "npm:rolldown-vite@7.2.10" }, "overrides": { - "vite": "npm:rolldown-vite@latest" + "vite": "npm:rolldown-vite@7.2.10" } } diff --git a/ui/vite.config.ts b/ui/vite.config.ts index 9705bcc83..d28dd0d93 100644 --- a/ui/vite.config.ts +++ b/ui/vite.config.ts @@ -5,9 +5,6 @@ import { defineConfig } from 'vite' export default defineConfig({ base: '/views/', build: { - commonjsOptions:{ - transformMixedEsModules: true, - }, outDir: resolve(__dirname, '../src/static/oidc'), rolldownOptions: { input: {