diff --git a/.eslintrc.cjs b/.eslintrc.cjs
new file mode 100644
index 0000000..c58c0ea
--- /dev/null
+++ b/.eslintrc.cjs
@@ -0,0 +1,15 @@
+module.exports = {
+ root: true,
+ extends: [
+ require.resolve('@vercel/style-guide/eslint/browser'),
+ require.resolve('@vercel/style-guide/eslint/typescript'),
+ require.resolve('@vercel/style-guide/eslint/jest'),
+ ],
+ env: {
+ jest: true,
+ },
+ parserOptions: {
+ project: './tsconfig.json',
+ },
+ ignorePatterns: ['*.config.js', 'dist/'],
+};
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..dfe0770
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,2 @@
+# Auto detect text files and perform LF normalization
+* text=auto
diff --git a/.github/banner.png b/.github/banner.png
new file mode 100644
index 0000000..8435523
Binary files /dev/null and b/.github/banner.png differ
diff --git a/.github/composite-actions/install/action.yml b/.github/composite-actions/install/action.yml
new file mode 100644
index 0000000..b628f01
--- /dev/null
+++ b/.github/composite-actions/install/action.yml
@@ -0,0 +1,32 @@
+name: 'Install'
+description: 'Sets up Node.js and runs install'
+runs:
+ using: composite
+ steps:
+ - name: Set up Node.js
+ uses: actions/setup-node@v3
+ with:
+ node-version-file: '.nvmrc'
+ registry-url: 'https://registry.npmjs.org'
+
+ - name: Install pnpm with corepack
+ shell: bash
+ run: corepack enable && pnpm --version
+
+ - name: Get pnpm store directory
+ id: pnpm-cache
+ shell: bash
+ run: echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
+
+ - name: Restore pnpm global cache
+ uses: actions/cache@v3
+ with:
+ path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
+ key: ${{ runner.os }}-pnpm-store-${{ hashFiles('pnpm-lock.yaml') }}
+ restore-keys: |
+ ${{ runner.os }}-pnpm-store-${{ hashFiles('pnpm-lock.yaml') }}
+ ${{ runner.os }}-pnpm-store-
+
+ - name: Install dependencies
+ shell: bash
+ run: pnpm install
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
new file mode 100644
index 0000000..cd94b4b
--- /dev/null
+++ b/.github/pull_request_template.md
@@ -0,0 +1,22 @@
+### 📓 What's in there?
+
+
+
+### 🧪 How to test?
+
+
+
+
diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml
new file mode 100644
index 0000000..c677c36
--- /dev/null
+++ b/.github/workflows/quality.yml
@@ -0,0 +1,55 @@
+name: ci
+on:
+ pull_request:
+ push:
+ branches:
+ - main
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
+
+jobs:
+ typescript:
+ name: typescript
+ runs-on: ubuntu-latest
+ timeout-minutes: 10
+ steps:
+ - name: checkout
+ uses: actions/checkout@v3
+ - name: Install
+ uses: ./.github/composite-actions/install
+ - name: lint
+ run: pnpm -r lint
+ - name: type-check
+ run: pnpm -r type-check
+ - name: prettier
+ run: pnpm prettier -c .
+ - name: build
+ run: pnpm -r build
+ - name: test
+ run: pnpm -r test
+
+ playwright:
+ name: playwright
+ runs-on: ubuntu-latest
+ if: false
+ timeout-minutes: 10
+ strategy:
+ fail-fast: false
+ matrix:
+ test:
+ - 'test:e2e:production'
+ - 'test:e2e:development'
+ steps:
+ - name: checkout
+ uses: actions/checkout@v3
+ - name: Install
+ uses: ./.github/composite-actions/install
+ - name: get playwright version
+ id: pw
+ run: echo "version=$(cat apps/nextjs/package.json | jq -r '.devDependencies."@playwright/test"')" >> $GITHUB_OUTPUT
+ - name: install playwright
+ run: pnpx playwright@${{ steps.pw.outputs.version }} install
+ - name: test
+ run: pnpm -r ${{ matrix.test }}
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 0000000..64787b8
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,28 @@
+name: Publish
+on:
+ release:
+ types: [published]
+jobs:
+ release:
+ runs-on: ubuntu-latest
+ steps:
+ - name: checkout
+ uses: actions/checkout@v3
+ - name: Install
+ uses: ./.github/composite-actions/install
+ - name: lint
+ run: pnpm -r lint
+ - name: type-check
+ run: pnpm -r type-check
+ - name: prettier
+ run: pnpm prettier -c .
+ - name: build
+ run: pnpm -r build
+ - run: pnpm --filter @vercel/speed-insights publish --tag beta --no-git-checks
+ if: github.event.release.prerelease == true
+ env:
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN_ELEVATED }}
+ - run: pnpm --filter @vercel/speed-insights publish --no-git-checks
+ if: github.event.release.prerelease == false
+ env:
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN_ELEVATED }}
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..d66d559
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+node_modules
+dist
+.DS_Store
+.vscode
diff --git a/.husky/pre-commit b/.husky/pre-commit
new file mode 100755
index 0000000..a5a29d9
--- /dev/null
+++ b/.husky/pre-commit
@@ -0,0 +1,4 @@
+#!/usr/bin/env sh
+. "$(dirname -- "$0")/_/husky.sh"
+
+pnpm lint-staged
diff --git a/.nvmrc b/.nvmrc
new file mode 100644
index 0000000..3876fd4
--- /dev/null
+++ b/.nvmrc
@@ -0,0 +1 @@
+18.16.1
diff --git a/.prettierignore b/.prettierignore
new file mode 100644
index 0000000..6244e1f
--- /dev/null
+++ b/.prettierignore
@@ -0,0 +1,6 @@
+.next/
+dist/
+.github/
+.nuxt/
+.svelte-kit/
+.vercel/
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..3eb9904
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,190 @@
+ Apache License
+ Version 2.0, January 2004
+ https://www.apache.org/licenses/
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+"License" shall mean the terms and conditions for use, reproduction,
+and distribution as defined by Sections 1 through 9 of this document.
+
+"Licensor" shall mean the copyright owner or entity authorized by
+the copyright owner that is granting the License.
+
+"Legal Entity" shall mean the union of the acting entity and all
+other entities that control, are controlled by, or are under common
+control with that entity. For the purposes of this definition,
+"control" means (i) the power, direct or indirect, to cause the
+direction or management of such entity, whether by contract or
+otherwise, or (ii) ownership of fifty percent (50%) or more of the
+outstanding shares, or (iii) beneficial ownership of such entity.
+
+"You" (or "Your") shall mean an individual or Legal Entity
+exercising permissions granted by this License.
+
+"Source" form shall mean the preferred form for making modifications,
+including but not limited to software source code, documentation
+source, and configuration files.
+
+"Object" form shall mean any form resulting from mechanical
+transformation or translation of a Source form, including but
+not limited to compiled object code, generated documentation,
+and conversions to other media types.
+
+"Work" shall mean the work of authorship, whether in Source or
+Object form, made available under the License, as indicated by a
+copyright notice that is included in or attached to the work
+(an example is provided in the Appendix below).
+
+"Derivative Works" shall mean any work, whether in Source or Object
+form, that is based on (or derived from) the Work and for which the
+editorial revisions, annotations, elaborations, or other modifications
+represent, as a whole, an original work of authorship. For the purposes
+of this License, Derivative Works shall not include works that remain
+separable from, or merely link (or bind by name) to the interfaces of,
+the Work and Derivative Works thereof.
+
+"Contribution" shall mean any work of authorship, including
+the original version of the Work and any modifications or additions
+to that Work or Derivative Works thereof, that is intentionally
+submitted to Licensor for inclusion in the Work by the copyright owner
+or by an individual or Legal Entity authorized to submit on behalf of
+the copyright owner. For the purposes of this definition, "submitted"
+means any form of electronic, verbal, or written communication sent
+to the Licensor or its representatives, including but not limited to
+communication on electronic mailing lists, source code control systems,
+and issue tracking systems that are managed by, or on behalf of, the
+Licensor for the purpose of discussing and improving the Work, but
+excluding communication that is conspicuously marked or otherwise
+designated in writing by the copyright owner as "Not a Contribution."
+
+"Contributor" shall mean Licensor and any individual or Legal Entity
+on behalf of whom a Contribution has been received by Licensor and
+subsequently incorporated within the Work.
+
+2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+(a) You must give any other recipients of the Work or
+Derivative Works a copy of this License; and
+
+(b) You must cause any modified files to carry prominent notices
+stating that You changed the files; and
+
+(c) You must retain, in the Source form of any Derivative Works
+that You distribute, all copyright, patent, trademark, and
+attribution notices from the Source form of the Work,
+excluding those notices that do not pertain to any part of
+the Derivative Works; and
+
+(d) If the Work includes a "NOTICE" text file as part of its
+distribution, then any Derivative Works that You distribute must
+include a readable copy of the attribution notices contained
+within such NOTICE file, excluding those notices that do not
+pertain to any part of the Derivative Works, in at least one
+of the following places: within a NOTICE text file distributed
+as part of the Derivative Works; within the Source form or
+documentation, if provided along with the Derivative Works; or,
+within a display generated by the Derivative Works, if and
+wherever such third-party notices normally appear. The contents
+of the NOTICE file are for informational purposes only and
+do not modify the License. You may add Your own attribution
+notices within Derivative Works that You distribute, alongside
+or as an addendum to the NOTICE text from the Work, provided
+that such additional attribution notices cannot be construed
+as modifying the License.
+
+You may add Your own copyright statement to Your modifications and
+may provide additional or different license terms and conditions
+for use, reproduction, or distribution of Your modifications, or
+for any such Derivative Works as a whole, provided Your use,
+reproduction, and distribution of the Work otherwise complies with
+the conditions stated in this License.
+
+5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
+
+Copyright 2023 Vercel, Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+https://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
diff --git a/README.md b/README.md
new file mode 120000
index 0000000..0db8334
--- /dev/null
+++ b/README.md
@@ -0,0 +1 @@
+packages/web/README.md
\ No newline at end of file
diff --git a/apps/nextjs/.eslintrc.json b/apps/nextjs/.eslintrc.json
new file mode 100644
index 0000000..449075a
--- /dev/null
+++ b/apps/nextjs/.eslintrc.json
@@ -0,0 +1,8 @@
+{
+ "extends": "next",
+ "rules": {
+ "react/no-unescaped-entities": "off",
+ "@next/next/no-page-custom-font": "off",
+ "import/no-default-export": "off"
+ }
+}
diff --git a/apps/nextjs/.gitignore b/apps/nextjs/.gitignore
new file mode 100644
index 0000000..dfccd1f
--- /dev/null
+++ b/apps/nextjs/.gitignore
@@ -0,0 +1,37 @@
+# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
+
+# dependencies
+/node_modules
+/.pnp
+.pnp.js
+
+# testing
+/coverage
+
+# next.js
+/.next/
+/out/
+
+# production
+/build
+
+# misc
+.DS_Store
+*.pem
+
+# debug
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+.pnpm-debug.log*
+
+.env
+# local env files
+.env*.local
+
+# vercel
+.vercel
+
+# typescript
+*.tsbuildinfo
+next-env.d.ts
diff --git a/apps/nextjs/app/blog/[slug]/layout.tsx b/apps/nextjs/app/blog/[slug]/layout.tsx
new file mode 100644
index 0000000..d2c2a3a
--- /dev/null
+++ b/apps/nextjs/app/blog/[slug]/layout.tsx
@@ -0,0 +1,25 @@
+import Link from 'next/link';
+
+export default function Layout({ children }: { children: React.ReactNode }) {
+ return (
+
+
+
+
+ Some post
+
+
+ Another post
+
+
+ Testing article
+
+
+ Blog Home
+
+
+
+ {children}
+
+ );
+}
diff --git a/apps/nextjs/app/blog/[slug]/page.tsx b/apps/nextjs/app/blog/[slug]/page.tsx
new file mode 100644
index 0000000..a9265e0
--- /dev/null
+++ b/apps/nextjs/app/blog/[slug]/page.tsx
@@ -0,0 +1,7 @@
+export default function Blog({
+ params: { slug },
+}: {
+ params: { slug: string };
+}) {
+ return My blog page {slug}
;
+}
diff --git a/apps/nextjs/app/blog/page.tsx b/apps/nextjs/app/blog/page.tsx
new file mode 100644
index 0000000..bc35178
--- /dev/null
+++ b/apps/nextjs/app/blog/page.tsx
@@ -0,0 +1,10 @@
+import Link from 'next/link';
+
+export default function Blog() {
+ return (
+
+
Welcome to the Blog
+ First blog entry
+
+ );
+}
diff --git a/apps/nextjs/app/layout.tsx b/apps/nextjs/app/layout.tsx
new file mode 100644
index 0000000..e8dfe8d
--- /dev/null
+++ b/apps/nextjs/app/layout.tsx
@@ -0,0 +1,16 @@
+'use client';
+import { SpeedInsights } from '@vercel/speed-insights/next';
+import { SPEED_INSIGHTS_ID } from '../config';
+
+export default function RootLayout({
+ children,
+}: {
+ children: React.ReactNode;
+}): React.ReactNode {
+ return (
+
+
+ {children}
+
+ );
+}
diff --git a/apps/nextjs/config.ts b/apps/nextjs/config.ts
new file mode 100644
index 0000000..ccaacbb
--- /dev/null
+++ b/apps/nextjs/config.ts
@@ -0,0 +1,4 @@
+export const SPEED_INSIGHTS_ID =
+ process.env.NEXT_PUBLIC_VERCEL_SPEED_INSIGHTS_ID ||
+ process.env.NEXT_PUBLIC_VERCEL_ANALYTICS_ID ||
+ '';
diff --git a/apps/nextjs/next.config.js b/apps/nextjs/next.config.js
new file mode 100644
index 0000000..3b56536
--- /dev/null
+++ b/apps/nextjs/next.config.js
@@ -0,0 +1,8 @@
+/** @type {import('next').NextConfig} */
+const nextConfig = {
+ experimental: {
+ serverActions: true,
+ },
+};
+
+module.exports = nextConfig;
diff --git a/apps/nextjs/package.json b/apps/nextjs/package.json
new file mode 100644
index 0000000..ac500ce
--- /dev/null
+++ b/apps/nextjs/package.json
@@ -0,0 +1,20 @@
+{
+ "name": "nextjs",
+ "private": true,
+ "scripts": {
+ "build": "next build",
+ "dev": "next dev",
+ "start": "next start",
+ "test:e2e:development": "NEXT_PUBLIC_ANALYTICS_MODE=development pnpm --filter nextjs... build && playwright test development",
+ "test:e2e:production": "NEXT_PUBLIC_ANALYTICS_MODE=production pnpm --filter nextjs... build && playwright test production"
+ },
+ "dependencies": {
+ "@vercel/speed-insights": "workspace:*",
+ "next": "^14.0.3",
+ "react": "18.2.0",
+ "react-dom": "18.2.0"
+ },
+ "devDependencies": {
+ "@playwright/test": "1.37.1"
+ }
+}
diff --git a/apps/nextjs/pages/_app.tsx b/apps/nextjs/pages/_app.tsx
new file mode 100644
index 0000000..11a1927
--- /dev/null
+++ b/apps/nextjs/pages/_app.tsx
@@ -0,0 +1,12 @@
+import { SpeedInsights } from '@vercel/speed-insights/next';
+import type { AppProps } from 'next/app';
+import { SPEED_INSIGHTS_ID } from '../config';
+
+export default function MyApp({ Component, pageProps }: AppProps) {
+ return (
+ <>
+
+
+ >
+ );
+}
diff --git a/apps/nextjs/pages/blog-pages/[slug].tsx b/apps/nextjs/pages/blog-pages/[slug].tsx
new file mode 100644
index 0000000..6fe3cd3
--- /dev/null
+++ b/apps/nextjs/pages/blog-pages/[slug].tsx
@@ -0,0 +1,7 @@
+export default function BlogPage() {
+ return (
+
+
Blog Page
+
+ );
+}
diff --git a/apps/nextjs/pages/index.tsx b/apps/nextjs/pages/index.tsx
new file mode 100644
index 0000000..5d8c0ed
--- /dev/null
+++ b/apps/nextjs/pages/index.tsx
@@ -0,0 +1,20 @@
+import Link from 'next/link';
+
+export default function Page() {
+ return (
+ <>
+ Testing speed insights
+
+
+ Pages directory A
+
+
+ Pages directory B
+
+
+ App directory
+
+
+ >
+ );
+}
diff --git a/apps/nextjs/playwright.config.ts b/apps/nextjs/playwright.config.ts
new file mode 100644
index 0000000..0b195f7
--- /dev/null
+++ b/apps/nextjs/playwright.config.ts
@@ -0,0 +1,47 @@
+import { PlaywrightTestConfig, devices } from '@playwright/test';
+import path from 'path';
+
+// Use process.env.PORT by default and fallback to port 3000
+const PORT = process.env.PORT || 3000;
+
+// Set webServer.url and use.baseURL with the location of the WebServer respecting the correct set port
+const baseURL = `http://localhost:${PORT}`;
+
+// Reference: https://playwright.dev/docs/test-configuration
+const config: PlaywrightTestConfig = {
+ // Timeout per test
+ timeout: 30 * 1000,
+ // Test directory
+ testDir: path.join(__dirname, 'e2e'),
+ // Artifacts folder where screenshots, videos, and traces are stored.
+ outputDir: 'test-results/',
+
+ // Run your local dev server before starting the tests:
+ // https://playwright.dev/docs/test-advanced#launching-a-development-web-server-during-the-tests
+ webServer: {
+ command: 'pnpm start',
+ url: baseURL,
+ timeout: 120 * 1000,
+ reuseExistingServer: !process.env.CI,
+ },
+
+ use: {
+ // Use baseURL so to make navigations relative.
+ // More information: https://playwright.dev/docs/api/class-testoptions#test-options-base-url
+ baseURL,
+
+ // Retry a test if its failing with enabled tracing. This allows you to analyse the DOM, console logs, network traffic etc.
+ // More information: https://playwright.dev/docs/trace-viewer
+ trace: 'retry-with-trace',
+ },
+
+ projects: [
+ {
+ name: 'Desktop Chrome',
+ use: {
+ ...devices['Desktop Chrome'],
+ },
+ },
+ ],
+};
+export default config;
diff --git a/apps/nextjs/tsconfig.json b/apps/nextjs/tsconfig.json
new file mode 100644
index 0000000..0e88cd1
--- /dev/null
+++ b/apps/nextjs/tsconfig.json
@@ -0,0 +1,26 @@
+{
+ "compilerOptions": {
+ "target": "es5",
+ "lib": ["dom", "dom.iterable", "esnext"],
+ "allowJs": true,
+ "skipLibCheck": true,
+ "strict": false,
+ "forceConsistentCasingInFileNames": true,
+ "noEmit": true,
+ "incremental": true,
+ "esModuleInterop": true,
+ "module": "esnext",
+ "moduleResolution": "node",
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "jsx": "preserve",
+ "plugins": [
+ {
+ "name": "next"
+ }
+ ],
+ "strictNullChecks": true
+ },
+ "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
+ "exclude": ["node_modules"]
+}
diff --git a/apps/nuxt/.gitignore b/apps/nuxt/.gitignore
new file mode 100644
index 0000000..4a7f73a
--- /dev/null
+++ b/apps/nuxt/.gitignore
@@ -0,0 +1,24 @@
+# Nuxt dev/build outputs
+.output
+.data
+.nuxt
+.nitro
+.cache
+dist
+
+# Node dependencies
+node_modules
+
+# Logs
+logs
+*.log
+
+# Misc
+.DS_Store
+.fleet
+.idea
+
+# Local env files
+.env
+.env.*
+!.env.example
diff --git a/apps/nuxt/README.md b/apps/nuxt/README.md
new file mode 100644
index 0000000..6890059
--- /dev/null
+++ b/apps/nuxt/README.md
@@ -0,0 +1,29 @@
+# Nuxt 3 Demo application for Vercel Speed-insights
+
+## Setup
+
+This application was created with the following commands:
+
+- `cd apps`
+- `npx nuxi@latest init nuxt` (answers: npm, no git)
+- `cd nuxt`
+- `rm -rf node_modules .nuxt`
+- manually edit package.json to add `"@vercel/speed-insights": "workspace:*"` dependency
+- `pnpm i`
+
+Then we moved some code from vue's official template (styles, HelloWorld SFC) and added a few dynamic route to illustrate the use.
+We also imported and used ` ` component in `layouts/default.vue` file:
+
+```vue
+
+
+
+
+
+```
+
+## Usage
+
+Start it with `cd apps/nuxt` + `pnpm dev` and browse to [http://localhost:3000](http://localhost:3000)
diff --git a/apps/nuxt/assets/base.css b/apps/nuxt/assets/base.css
new file mode 100644
index 0000000..8816868
--- /dev/null
+++ b/apps/nuxt/assets/base.css
@@ -0,0 +1,86 @@
+/* color palette from */
+:root {
+ --vt-c-white: #ffffff;
+ --vt-c-white-soft: #f8f8f8;
+ --vt-c-white-mute: #f2f2f2;
+
+ --vt-c-black: #181818;
+ --vt-c-black-soft: #222222;
+ --vt-c-black-mute: #282828;
+
+ --vt-c-indigo: #2c3e50;
+
+ --vt-c-divider-light-1: rgba(60, 60, 60, 0.29);
+ --vt-c-divider-light-2: rgba(60, 60, 60, 0.12);
+ --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65);
+ --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48);
+
+ --vt-c-text-light-1: var(--vt-c-indigo);
+ --vt-c-text-light-2: rgba(60, 60, 60, 0.66);
+ --vt-c-text-dark-1: var(--vt-c-white);
+ --vt-c-text-dark-2: rgba(235, 235, 235, 0.64);
+}
+
+/* semantic color variables for this project */
+:root {
+ --color-background: var(--vt-c-white);
+ --color-background-soft: var(--vt-c-white-soft);
+ --color-background-mute: var(--vt-c-white-mute);
+
+ --color-border: var(--vt-c-divider-light-2);
+ --color-border-hover: var(--vt-c-divider-light-1);
+
+ --color-heading: var(--vt-c-text-light-1);
+ --color-text: var(--vt-c-text-light-1);
+
+ --section-gap: 160px;
+}
+
+@media (prefers-color-scheme: dark) {
+ :root {
+ --color-background: var(--vt-c-black);
+ --color-background-soft: var(--vt-c-black-soft);
+ --color-background-mute: var(--vt-c-black-mute);
+
+ --color-border: var(--vt-c-divider-dark-2);
+ --color-border-hover: var(--vt-c-divider-dark-1);
+
+ --color-heading: var(--vt-c-text-dark-1);
+ --color-text: var(--vt-c-text-dark-2);
+ }
+}
+
+*,
+*::before,
+*::after {
+ box-sizing: border-box;
+ margin: 0;
+ font-weight: normal;
+}
+
+body {
+ min-height: 100vh;
+ color: var(--color-text);
+ background: var(--color-background);
+ transition:
+ color 0.5s,
+ background-color 0.5s;
+ line-height: 1.6;
+ font-family:
+ Inter,
+ -apple-system,
+ BlinkMacSystemFont,
+ 'Segoe UI',
+ Roboto,
+ Oxygen,
+ Ubuntu,
+ Cantarell,
+ 'Fira Sans',
+ 'Droid Sans',
+ 'Helvetica Neue',
+ sans-serif;
+ font-size: 15px;
+ text-rendering: optimizeLegibility;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
diff --git a/apps/nuxt/assets/logo.svg b/apps/nuxt/assets/logo.svg
new file mode 100644
index 0000000..7565660
--- /dev/null
+++ b/apps/nuxt/assets/logo.svg
@@ -0,0 +1 @@
+
diff --git a/apps/nuxt/assets/main.css b/apps/nuxt/assets/main.css
new file mode 100644
index 0000000..9db9703
--- /dev/null
+++ b/apps/nuxt/assets/main.css
@@ -0,0 +1,38 @@
+@import './base.css';
+
+#app {
+ max-width: 1280px;
+ margin: 0 auto;
+ padding: 2rem;
+
+ font-weight: normal;
+}
+
+a,
+.green {
+ text-decoration: none;
+ color: hsla(160, 100%, 37%, 1);
+ transition: 0.4s;
+}
+
+h1 {
+ font-weight: 500;
+ font-size: 2.6rem;
+ position: relative;
+ top: -10px;
+}
+
+h3 {
+ font-size: 1.2rem;
+}
+
+.greetings h1,
+.greetings h3 {
+ text-align: center;
+}
+
+@media (hover: hover) {
+ a:hover {
+ background-color: hsla(160, 100%, 37%, 0.2);
+ }
+}
diff --git a/apps/nuxt/components/HelloWorld.vue b/apps/nuxt/components/HelloWorld.vue
new file mode 100644
index 0000000..f32d55a
--- /dev/null
+++ b/apps/nuxt/components/HelloWorld.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
{{ msg }}
+
+ You’ve successfully created a project with
+ Vite +
+ Vue 3 .
+ What's next?
+
+
+
diff --git a/apps/nuxt/layouts/default.vue b/apps/nuxt/layouts/default.vue
new file mode 100644
index 0000000..3825cdc
--- /dev/null
+++ b/apps/nuxt/layouts/default.vue
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
+
+
diff --git a/apps/nuxt/nuxt.config.ts b/apps/nuxt/nuxt.config.ts
new file mode 100644
index 0000000..bf4ba7c
--- /dev/null
+++ b/apps/nuxt/nuxt.config.ts
@@ -0,0 +1,4 @@
+// https://nuxt.com/docs/api/configuration/nuxt-config
+export default defineNuxtConfig({
+ devtools: { enabled: true },
+});
diff --git a/apps/nuxt/package.json b/apps/nuxt/package.json
new file mode 100644
index 0000000..4e733b3
--- /dev/null
+++ b/apps/nuxt/package.json
@@ -0,0 +1,19 @@
+{
+ "name": "nuxt",
+ "private": true,
+ "type": "module",
+ "scripts": {
+ "build": "nuxt build",
+ "dev": "nuxt dev",
+ "generate": "nuxt generate",
+ "postinstall": "nuxt prepare",
+ "preview": "nuxt preview"
+ },
+ "devDependencies": {
+ "@nuxt/devtools": "latest",
+ "@vercel/speed-insights": "workspace:*",
+ "nuxt": "^3.8.2",
+ "vue": "^3.3.8",
+ "vue-router": "^4.2.5"
+ }
+}
diff --git a/apps/nuxt/pages/blog/[category]/[slug].vue b/apps/nuxt/pages/blog/[category]/[slug].vue
new file mode 100644
index 0000000..0b5314d
--- /dev/null
+++ b/apps/nuxt/pages/blog/[category]/[slug].vue
@@ -0,0 +1,10 @@
+
+
+
+
+
{{ route.params.slug }}!
+ Category {{ route.params.category }}
+
+
diff --git a/apps/nuxt/pages/index.vue b/apps/nuxt/pages/index.vue
new file mode 100644
index 0000000..b36b337
--- /dev/null
+++ b/apps/nuxt/pages/index.vue
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/apps/nuxt/public/favicon.ico b/apps/nuxt/public/favicon.ico
new file mode 100644
index 0000000..18993ad
Binary files /dev/null and b/apps/nuxt/public/favicon.ico differ
diff --git a/apps/nuxt/server/tsconfig.json b/apps/nuxt/server/tsconfig.json
new file mode 100644
index 0000000..b9ed69c
--- /dev/null
+++ b/apps/nuxt/server/tsconfig.json
@@ -0,0 +1,3 @@
+{
+ "extends": "../.nuxt/tsconfig.server.json"
+}
diff --git a/apps/nuxt/tsconfig.json b/apps/nuxt/tsconfig.json
new file mode 100644
index 0000000..a746f2a
--- /dev/null
+++ b/apps/nuxt/tsconfig.json
@@ -0,0 +1,4 @@
+{
+ // https://nuxt.com/docs/guide/concepts/typescript
+ "extends": "./.nuxt/tsconfig.json"
+}
diff --git a/apps/remix/.eslintrc.cjs b/apps/remix/.eslintrc.cjs
new file mode 100644
index 0000000..f2faf14
--- /dev/null
+++ b/apps/remix/.eslintrc.cjs
@@ -0,0 +1,4 @@
+/** @type {import('eslint').Linter.Config} */
+module.exports = {
+ extends: ['@remix-run/eslint-config', '@remix-run/eslint-config/node'],
+};
diff --git a/apps/remix/.gitignore b/apps/remix/.gitignore
new file mode 100644
index 0000000..3f7bf98
--- /dev/null
+++ b/apps/remix/.gitignore
@@ -0,0 +1,6 @@
+node_modules
+
+/.cache
+/build
+/public/build
+.env
diff --git a/apps/remix/README.md b/apps/remix/README.md
new file mode 100644
index 0000000..da8d02a
--- /dev/null
+++ b/apps/remix/README.md
@@ -0,0 +1,38 @@
+# Welcome to Remix!
+
+- [Remix Docs](https://remix.run/docs)
+
+## Development
+
+From your terminal:
+
+```sh
+npm run dev
+```
+
+This starts your app in development mode, rebuilding assets on file changes.
+
+## Deployment
+
+First, build your app for production:
+
+```sh
+npm run build
+```
+
+Then run the app in production mode:
+
+```sh
+npm start
+```
+
+Now you'll need to pick a host to deploy it to.
+
+### DIY
+
+If you're familiar with deploying node applications, the built-in Remix app server is production-ready.
+
+Make sure to deploy the output of `remix build`
+
+- `build/`
+- `public/build/`
diff --git a/apps/remix/app/entry.client.tsx b/apps/remix/app/entry.client.tsx
new file mode 100644
index 0000000..3f01ce1
--- /dev/null
+++ b/apps/remix/app/entry.client.tsx
@@ -0,0 +1,18 @@
+/**
+ * By default, Remix will handle hydrating your app on the client for you.
+ * You are free to delete this file if you'd like to, but if you ever want it revealed again, you can run `npx remix reveal` ✨
+ * For more information, see https://remix.run/file-conventions/entry.client
+ */
+
+import { RemixBrowser } from '@remix-run/react';
+import { startTransition, StrictMode } from 'react';
+import { hydrateRoot } from 'react-dom/client';
+
+startTransition(() => {
+ hydrateRoot(
+ document,
+
+
+ ,
+ );
+});
diff --git a/apps/remix/app/entry.server.tsx b/apps/remix/app/entry.server.tsx
new file mode 100644
index 0000000..99e5e3e
--- /dev/null
+++ b/apps/remix/app/entry.server.tsx
@@ -0,0 +1,137 @@
+/**
+ * By default, Remix will handle generating the HTTP Response for you.
+ * You are free to delete this file if you'd like to, but if you ever want it revealed again, you can run `npx remix reveal` ✨
+ * For more information, see https://remix.run/file-conventions/entry.server
+ */
+
+import { PassThrough } from 'node:stream';
+
+import type { AppLoadContext, EntryContext } from '@remix-run/node';
+import { createReadableStreamFromReadable } from '@remix-run/node';
+import { RemixServer } from '@remix-run/react';
+import isbot from 'isbot';
+import { renderToPipeableStream } from 'react-dom/server';
+
+const ABORT_DELAY = 5_000;
+
+export default function handleRequest(
+ request: Request,
+ responseStatusCode: number,
+ responseHeaders: Headers,
+ remixContext: EntryContext,
+ loadContext: AppLoadContext,
+) {
+ return isbot(request.headers.get('user-agent'))
+ ? handleBotRequest(
+ request,
+ responseStatusCode,
+ responseHeaders,
+ remixContext,
+ )
+ : handleBrowserRequest(
+ request,
+ responseStatusCode,
+ responseHeaders,
+ remixContext,
+ );
+}
+
+function handleBotRequest(
+ request: Request,
+ responseStatusCode: number,
+ responseHeaders: Headers,
+ remixContext: EntryContext,
+) {
+ return new Promise((resolve, reject) => {
+ let shellRendered = false;
+ const { pipe, abort } = renderToPipeableStream(
+ ,
+ {
+ onAllReady() {
+ shellRendered = true;
+ const body = new PassThrough();
+ const stream = createReadableStreamFromReadable(body);
+
+ responseHeaders.set('Content-Type', 'text/html');
+
+ resolve(
+ new Response(stream, {
+ headers: responseHeaders,
+ status: responseStatusCode,
+ }),
+ );
+
+ pipe(body);
+ },
+ onShellError(error: unknown) {
+ reject(error);
+ },
+ onError(error: unknown) {
+ responseStatusCode = 500;
+ // Log streaming rendering errors from inside the shell. Don't log
+ // errors encountered during initial shell rendering since they'll
+ // reject and get logged in handleDocumentRequest.
+ if (shellRendered) {
+ console.error(error);
+ }
+ },
+ },
+ );
+
+ setTimeout(abort, ABORT_DELAY);
+ });
+}
+
+function handleBrowserRequest(
+ request: Request,
+ responseStatusCode: number,
+ responseHeaders: Headers,
+ remixContext: EntryContext,
+) {
+ return new Promise((resolve, reject) => {
+ let shellRendered = false;
+ const { pipe, abort } = renderToPipeableStream(
+ ,
+ {
+ onShellReady() {
+ shellRendered = true;
+ const body = new PassThrough();
+ const stream = createReadableStreamFromReadable(body);
+
+ responseHeaders.set('Content-Type', 'text/html');
+
+ resolve(
+ new Response(stream, {
+ headers: responseHeaders,
+ status: responseStatusCode,
+ }),
+ );
+
+ pipe(body);
+ },
+ onShellError(error: unknown) {
+ reject(error);
+ },
+ onError(error: unknown) {
+ responseStatusCode = 500;
+ // Log streaming rendering errors from inside the shell. Don't log
+ // errors encountered during initial shell rendering since they'll
+ // reject and get logged in handleDocumentRequest.
+ if (shellRendered) {
+ console.error(error);
+ }
+ },
+ },
+ );
+
+ setTimeout(abort, ABORT_DELAY);
+ });
+}
diff --git a/apps/remix/app/root.tsx b/apps/remix/app/root.tsx
new file mode 100644
index 0000000..b056b63
--- /dev/null
+++ b/apps/remix/app/root.tsx
@@ -0,0 +1,35 @@
+import { cssBundleHref } from '@remix-run/css-bundle';
+import type { LinksFunction } from '@remix-run/node';
+import {
+ Links,
+ LiveReload,
+ Meta,
+ Outlet,
+ Scripts,
+ ScrollRestoration,
+} from '@remix-run/react';
+import { SpeedInsights } from '@vercel/speed-insights/remix';
+
+export const links: LinksFunction = () => [
+ ...(cssBundleHref ? [{ rel: 'stylesheet', href: cssBundleHref }] : []),
+];
+
+export default function App() {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/apps/remix/app/routes/_index.tsx b/apps/remix/app/routes/_index.tsx
new file mode 100644
index 0000000..99460bf
--- /dev/null
+++ b/apps/remix/app/routes/_index.tsx
@@ -0,0 +1,41 @@
+import type { MetaFunction } from '@remix-run/node';
+
+export const meta: MetaFunction = () => {
+ return [
+ { title: 'New Remix App' },
+ { name: 'description', content: 'Welcome to Remix!' },
+ ];
+};
+
+export default function Index() {
+ return (
+
+ );
+}
diff --git a/apps/remix/app/routes/blog.$slug.tsx b/apps/remix/app/routes/blog.$slug.tsx
new file mode 100644
index 0000000..51653ad
--- /dev/null
+++ b/apps/remix/app/routes/blog.$slug.tsx
@@ -0,0 +1,12 @@
+import { Link } from '@remix-run/react';
+
+export default function BlogPage() {
+ return (
+
+
Blog
+
Blog content goes here
+
First post
+
First second
+
+ );
+}
diff --git a/apps/remix/package.json b/apps/remix/package.json
new file mode 100644
index 0000000..e52e315
--- /dev/null
+++ b/apps/remix/package.json
@@ -0,0 +1,33 @@
+{
+ "name": "remix",
+ "private": true,
+ "sideEffects": false,
+ "type": "module",
+ "scripts": {
+ "build": "remix build",
+ "dev": "remix dev --manual",
+ "start": "remix-serve ./build/index.js",
+ "typecheck": "tsc"
+ },
+ "dependencies": {
+ "@remix-run/css-bundle": "^2.0.1",
+ "@remix-run/node": "^2.0.1",
+ "@remix-run/react": "^2.0.1",
+ "@remix-run/serve": "^2.0.1",
+ "@vercel/speed-insights": "workspace:*",
+ "isbot": "^3.6.8",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0"
+ },
+ "devDependencies": {
+ "@remix-run/dev": "^2.0.1",
+ "@remix-run/eslint-config": "^2.0.1",
+ "@types/react": "^18.2.20",
+ "@types/react-dom": "^18.2.7",
+ "eslint": "^8.38.0",
+ "typescript": "^5.1.6"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+}
diff --git a/apps/remix/public/favicon.ico b/apps/remix/public/favicon.ico
new file mode 100644
index 0000000..8830cf6
Binary files /dev/null and b/apps/remix/public/favicon.ico differ
diff --git a/apps/remix/remix.config.js b/apps/remix/remix.config.js
new file mode 100644
index 0000000..812df9d
--- /dev/null
+++ b/apps/remix/remix.config.js
@@ -0,0 +1,8 @@
+/** @type {import('@remix-run/dev').AppConfig} */
+export default {
+ ignoredRouteFiles: ['**/.*'],
+ // appDirectory: "app",
+ // assetsBuildDirectory: "public/build",
+ // publicPath: "/build/",
+ // serverBuildPath: "build/index.js",
+};
diff --git a/apps/remix/remix.env.d.ts b/apps/remix/remix.env.d.ts
new file mode 100644
index 0000000..dcf8c45
--- /dev/null
+++ b/apps/remix/remix.env.d.ts
@@ -0,0 +1,2 @@
+///
+///
diff --git a/apps/remix/tsconfig.json b/apps/remix/tsconfig.json
new file mode 100644
index 0000000..28cce91
--- /dev/null
+++ b/apps/remix/tsconfig.json
@@ -0,0 +1,22 @@
+{
+ "include": ["remix.env.d.ts", "**/*.ts", "**/*.tsx"],
+ "compilerOptions": {
+ "lib": ["DOM", "DOM.Iterable", "ES2022"],
+ "isolatedModules": true,
+ "esModuleInterop": true,
+ "jsx": "react-jsx",
+ "moduleResolution": "Bundler",
+ "resolveJsonModule": true,
+ "target": "ES2022",
+ "strict": true,
+ "allowJs": true,
+ "forceConsistentCasingInFileNames": true,
+ "baseUrl": ".",
+ "paths": {
+ "~/*": ["./app/*"]
+ },
+
+ // Remix takes care of building everything in `remix build`.
+ "noEmit": true
+ }
+}
diff --git a/apps/sveltekit/.gitignore b/apps/sveltekit/.gitignore
new file mode 100644
index 0000000..8f6c617
--- /dev/null
+++ b/apps/sveltekit/.gitignore
@@ -0,0 +1,12 @@
+.DS_Store
+node_modules
+/build
+/.svelte-kit
+/package
+.env
+.env.*
+!.env.example
+.vercel
+.output
+vite.config.js.timestamp-*
+vite.config.ts.timestamp-*
diff --git a/apps/sveltekit/.npmrc b/apps/sveltekit/.npmrc
new file mode 100644
index 0000000..b6f27f1
--- /dev/null
+++ b/apps/sveltekit/.npmrc
@@ -0,0 +1 @@
+engine-strict=true
diff --git a/apps/sveltekit/README.md b/apps/sveltekit/README.md
new file mode 100644
index 0000000..5c91169
--- /dev/null
+++ b/apps/sveltekit/README.md
@@ -0,0 +1,38 @@
+# create-svelte
+
+Everything you need to build a Svelte project, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/master/packages/create-svelte).
+
+## Creating a project
+
+If you're seeing this, you've probably already done this step. Congrats!
+
+```bash
+# create a new project in the current directory
+npm create svelte@latest
+
+# create a new project in my-app
+npm create svelte@latest my-app
+```
+
+## Developing
+
+Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
+
+```bash
+npm run dev
+
+# or start the server and open the app in a new browser tab
+npm run dev -- --open
+```
+
+## Building
+
+To create a production version of your app:
+
+```bash
+npm run build
+```
+
+You can preview the production build with `npm run preview`.
+
+> To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment.
diff --git a/apps/sveltekit/package.json b/apps/sveltekit/package.json
new file mode 100644
index 0000000..ebc1743
--- /dev/null
+++ b/apps/sveltekit/package.json
@@ -0,0 +1,27 @@
+{
+ "name": "svelte",
+ "version": "0.0.1",
+ "type": "module",
+ "scripts": {
+ "build": "vite build",
+ "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
+ "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
+ "dev": "vite dev",
+ "preview": "vite preview"
+ },
+ "dependencies": {
+ "@vercel/speed-insights": "workspace:*"
+ },
+ "devDependencies": {
+ "@fontsource/fira-mono": "^4.5.10",
+ "@neoconfetti/svelte": "^1.0.0",
+ "@sveltejs/adapter-auto": "^2.0.0",
+ "@sveltejs/kit": "^1.20.4",
+ "@types/cookie": "^0.5.1",
+ "svelte": "^4.0.5",
+ "svelte-check": "^3.4.3",
+ "tslib": "^2.4.1",
+ "typescript": "^5.0.0",
+ "vite": "^4.4.2"
+ }
+}
diff --git a/apps/sveltekit/src/app.d.ts b/apps/sveltekit/src/app.d.ts
new file mode 100644
index 0000000..899c7e8
--- /dev/null
+++ b/apps/sveltekit/src/app.d.ts
@@ -0,0 +1,12 @@
+// See https://kit.svelte.dev/docs/types#app
+// for information about these interfaces
+declare global {
+ namespace App {
+ // interface Error {}
+ // interface Locals {}
+ // interface PageData {}
+ // interface Platform {}
+ }
+}
+
+export {};
diff --git a/apps/sveltekit/src/app.html b/apps/sveltekit/src/app.html
new file mode 100644
index 0000000..84ffad1
--- /dev/null
+++ b/apps/sveltekit/src/app.html
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+ %sveltekit.head%
+
+
+ %sveltekit.body%
+
+
diff --git a/apps/sveltekit/src/lib/images/github.svg b/apps/sveltekit/src/lib/images/github.svg
new file mode 100644
index 0000000..bc5d249
--- /dev/null
+++ b/apps/sveltekit/src/lib/images/github.svg
@@ -0,0 +1,16 @@
+
+
+
+
\ No newline at end of file
diff --git a/apps/sveltekit/src/lib/images/svelte-logo.svg b/apps/sveltekit/src/lib/images/svelte-logo.svg
new file mode 100644
index 0000000..49492a8
--- /dev/null
+++ b/apps/sveltekit/src/lib/images/svelte-logo.svg
@@ -0,0 +1 @@
+svelte-logo
\ No newline at end of file
diff --git a/apps/sveltekit/src/lib/images/svelte-welcome.png b/apps/sveltekit/src/lib/images/svelte-welcome.png
new file mode 100644
index 0000000..fe7d2d6
Binary files /dev/null and b/apps/sveltekit/src/lib/images/svelte-welcome.png differ
diff --git a/apps/sveltekit/src/lib/images/svelte-welcome.webp b/apps/sveltekit/src/lib/images/svelte-welcome.webp
new file mode 100644
index 0000000..6ec1a28
Binary files /dev/null and b/apps/sveltekit/src/lib/images/svelte-welcome.webp differ
diff --git a/apps/sveltekit/src/routes/+layout.svelte b/apps/sveltekit/src/routes/+layout.svelte
new file mode 100644
index 0000000..6f08103
--- /dev/null
+++ b/apps/sveltekit/src/routes/+layout.svelte
@@ -0,0 +1,57 @@
+
+
+
+
+
diff --git a/apps/sveltekit/src/routes/+page.svelte b/apps/sveltekit/src/routes/+page.svelte
new file mode 100644
index 0000000..97201ef
--- /dev/null
+++ b/apps/sveltekit/src/routes/+page.svelte
@@ -0,0 +1,59 @@
+
+
+
+ Home
+
+
+
+
+
+
+
+
+
+
+
+
+ to your new SvelteKit app
+
+
+
+ try editing src/routes/+page.svelte
+
+
+
+
+
+
diff --git a/apps/sveltekit/src/routes/+page.ts b/apps/sveltekit/src/routes/+page.ts
new file mode 100644
index 0000000..a72419a
--- /dev/null
+++ b/apps/sveltekit/src/routes/+page.ts
@@ -0,0 +1,3 @@
+// since there's no dynamic data here, we can prerender
+// it so that it gets served as a static asset in production
+export const prerender = true;
diff --git a/apps/sveltekit/src/routes/Counter.svelte b/apps/sveltekit/src/routes/Counter.svelte
new file mode 100644
index 0000000..96ef556
--- /dev/null
+++ b/apps/sveltekit/src/routes/Counter.svelte
@@ -0,0 +1,102 @@
+
+
+
+
(count -= 1)} aria-label="Decrease the counter by one">
+
+
+
+
+
+
+
+ {Math.floor($displayed_count + 1)}
+ {Math.floor($displayed_count)}
+
+
+
+
(count += 1)} aria-label="Increase the counter by one">
+
+
+
+
+
+
+
diff --git a/apps/sveltekit/src/routes/Header.svelte b/apps/sveltekit/src/routes/Header.svelte
new file mode 100644
index 0000000..89a3644
--- /dev/null
+++ b/apps/sveltekit/src/routes/Header.svelte
@@ -0,0 +1,136 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/sveltekit/src/routes/about/+page.svelte b/apps/sveltekit/src/routes/about/+page.svelte
new file mode 100644
index 0000000..7f7946d
--- /dev/null
+++ b/apps/sveltekit/src/routes/about/+page.svelte
@@ -0,0 +1,26 @@
+
+ About
+
+
+
+
+
About this app
+
+
+ This is a SvelteKit app. You can make your own by typing the
+ following into your command line and following the prompts:
+
+
+
npm create svelte@latest
+
+
+ The page you're looking at is purely static HTML, with no client-side interactivity needed.
+ Because of that, we don't need to load any JavaScript. Try viewing the page's source, or opening
+ the devtools network panel and reloading.
+
+
+
+ The Sverdle page illustrates SvelteKit's data loading and form handling. Try
+ using it with JavaScript disabled!
+
+
diff --git a/apps/sveltekit/src/routes/about/+page.ts b/apps/sveltekit/src/routes/about/+page.ts
new file mode 100644
index 0000000..e739ef4
--- /dev/null
+++ b/apps/sveltekit/src/routes/about/+page.ts
@@ -0,0 +1,9 @@
+import { dev } from '$app/environment';
+
+// we don't need any JS on this page, though we'll load
+// it in dev so that we get hot module replacement
+export const csr = dev;
+
+// since there's no dynamic data here, we can prerender
+// it so that it gets served as a static asset in production
+export const prerender = true;
diff --git a/apps/sveltekit/src/routes/blog/[slug]/+page.svelte b/apps/sveltekit/src/routes/blog/[slug]/+page.svelte
new file mode 100644
index 0000000..284c31c
--- /dev/null
+++ b/apps/sveltekit/src/routes/blog/[slug]/+page.svelte
@@ -0,0 +1,6 @@
+
+
+{data.title}
+{@html data.content}
diff --git a/apps/sveltekit/src/routes/blog/[slug]/+page.ts b/apps/sveltekit/src/routes/blog/[slug]/+page.ts
new file mode 100644
index 0000000..d1ffdf5
--- /dev/null
+++ b/apps/sveltekit/src/routes/blog/[slug]/+page.ts
@@ -0,0 +1,12 @@
+import { error } from '@sveltejs/kit';
+
+export function load({ params }) {
+ if (params.slug === 'hello-world') {
+ return {
+ title: 'Hello world!',
+ content: 'Welcome to our blog. Lorem ipsum dolor sit amet...',
+ };
+ }
+
+ throw error(404, 'Not found');
+}
diff --git a/apps/sveltekit/src/routes/styles.css b/apps/sveltekit/src/routes/styles.css
new file mode 100644
index 0000000..f080f29
--- /dev/null
+++ b/apps/sveltekit/src/routes/styles.css
@@ -0,0 +1,112 @@
+@import '@fontsource/fira-mono';
+
+:root {
+ --font-body: Arial, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
+ Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
+ --font-mono: 'Fira Mono', monospace;
+ --color-bg-0: rgb(202, 216, 228);
+ --color-bg-1: hsl(209, 36%, 86%);
+ --color-bg-2: hsl(224, 44%, 95%);
+ --color-theme-1: #ff3e00;
+ --color-theme-2: #4075a6;
+ --color-text: rgba(0, 0, 0, 0.7);
+ --column-width: 42rem;
+ --column-margin-top: 4rem;
+ font-family: var(--font-body);
+ color: var(--color-text);
+}
+
+body {
+ min-height: 100vh;
+ margin: 0;
+ background-attachment: fixed;
+ background-color: var(--color-bg-1);
+ background-size: 100vw 100vh;
+ background-image: radial-gradient(
+ 50% 50% at 50% 50%,
+ rgba(255, 255, 255, 0.75) 0%,
+ rgba(255, 255, 255, 0) 100%
+ ),
+ linear-gradient(
+ 180deg,
+ var(--color-bg-0) 0%,
+ var(--color-bg-1) 15%,
+ var(--color-bg-2) 50%
+ );
+}
+
+h1,
+h2,
+p {
+ font-weight: 400;
+}
+
+p {
+ line-height: 1.5;
+}
+
+a {
+ color: var(--color-theme-1);
+ text-decoration: none;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+h1 {
+ font-size: 2rem;
+ text-align: center;
+}
+
+h2 {
+ font-size: 1rem;
+}
+
+pre {
+ font-size: 16px;
+ font-family: var(--font-mono);
+ background-color: rgba(255, 255, 255, 0.45);
+ border-radius: 3px;
+ box-shadow: 2px 2px 6px rgb(255 255 255 / 25%);
+ padding: 0.5em;
+ overflow-x: auto;
+ color: var(--color-text);
+}
+
+.text-column {
+ display: flex;
+ max-width: 48rem;
+ flex: 0.6;
+ flex-direction: column;
+ justify-content: center;
+ margin: 0 auto;
+}
+
+input,
+button {
+ font-size: inherit;
+ font-family: inherit;
+}
+
+button:focus:not(:focus-visible) {
+ outline: none;
+}
+
+@media (min-width: 720px) {
+ h1 {
+ font-size: 2.4rem;
+ }
+}
+
+.visually-hidden {
+ border: 0;
+ clip: rect(0 0 0 0);
+ height: auto;
+ margin: 0;
+ overflow: hidden;
+ padding: 0;
+ position: absolute;
+ width: 1px;
+ white-space: nowrap;
+}
diff --git a/apps/sveltekit/src/routes/sverdle/+page.server.ts b/apps/sveltekit/src/routes/sverdle/+page.server.ts
new file mode 100644
index 0000000..fa66f98
--- /dev/null
+++ b/apps/sveltekit/src/routes/sverdle/+page.server.ts
@@ -0,0 +1,69 @@
+import { fail } from '@sveltejs/kit';
+import { Game } from './game';
+import type { PageServerLoad, Actions } from './$types';
+
+export const load = (({ cookies }) => {
+ const game = new Game(cookies.get('sverdle'));
+
+ return {
+ /**
+ * The player's guessed words so far
+ */
+ guesses: game.guesses,
+
+ /**
+ * An array of strings like '__x_c' corresponding to the guesses, where 'x' means
+ * an exact match, and 'c' means a close match (right letter, wrong place)
+ */
+ answers: game.answers,
+
+ /**
+ * The correct answer, revealed if the game is over
+ */
+ answer: game.answers.length >= 6 ? game.answer : null,
+ };
+}) satisfies PageServerLoad;
+
+export const actions = {
+ /**
+ * Modify game state in reaction to a keypress. If client-side JavaScript
+ * is available, this will happen in the browser instead of here
+ */
+ update: async ({ request, cookies }) => {
+ const game = new Game(cookies.get('sverdle'));
+
+ const data = await request.formData();
+ const key = data.get('key');
+
+ const i = game.answers.length;
+
+ if (key === 'backspace') {
+ game.guesses[i] = game.guesses[i].slice(0, -1);
+ } else {
+ game.guesses[i] += key;
+ }
+
+ cookies.set('sverdle', game.toString());
+ },
+
+ /**
+ * Modify game state in reaction to a guessed word. This logic always runs on
+ * the server, so that people can't cheat by peeking at the JavaScript
+ */
+ enter: async ({ request, cookies }) => {
+ const game = new Game(cookies.get('sverdle'));
+
+ const data = await request.formData();
+ const guess = data.getAll('guess') as string[];
+
+ if (!game.enter(guess)) {
+ return fail(400, { badGuess: true });
+ }
+
+ cookies.set('sverdle', game.toString());
+ },
+
+ restart: async ({ cookies }) => {
+ cookies.delete('sverdle');
+ },
+} satisfies Actions;
diff --git a/apps/sveltekit/src/routes/sverdle/+page.svelte b/apps/sveltekit/src/routes/sverdle/+page.svelte
new file mode 100644
index 0000000..517abd8
--- /dev/null
+++ b/apps/sveltekit/src/routes/sverdle/+page.svelte
@@ -0,0 +1,411 @@
+
+
+
+
+
+ Sverdle
+
+
+
+Sverdle
+
+
+
+{#if won}
+
+{/if}
+
+
diff --git a/apps/sveltekit/src/routes/sverdle/game.ts b/apps/sveltekit/src/routes/sverdle/game.ts
new file mode 100644
index 0000000..561e7d9
--- /dev/null
+++ b/apps/sveltekit/src/routes/sverdle/game.ts
@@ -0,0 +1,75 @@
+import { words, allowed } from './words.server';
+
+export class Game {
+ index: number;
+ guesses: string[];
+ answers: string[];
+ answer: string;
+
+ /**
+ * Create a game object from the player's cookie, or initialise a new game
+ */
+ constructor(serialized: string | undefined = undefined) {
+ if (serialized) {
+ const [index, guesses, answers] = serialized.split('-');
+
+ this.index = +index;
+ this.guesses = guesses ? guesses.split(' ') : [];
+ this.answers = answers ? answers.split(' ') : [];
+ } else {
+ this.index = Math.floor(Math.random() * words.length);
+ this.guesses = ['', '', '', '', '', ''];
+ this.answers = [];
+ }
+
+ this.answer = words[this.index];
+ }
+
+ /**
+ * Update game state based on a guess of a five-letter word. Returns
+ * true if the guess was valid, false otherwise
+ */
+ enter(letters: string[]) {
+ const word = letters.join('');
+ const valid = allowed.has(word);
+
+ if (!valid) return false;
+
+ this.guesses[this.answers.length] = word;
+
+ const available = Array.from(this.answer);
+ const answer = Array(5).fill('_');
+
+ // first, find exact matches
+ for (let i = 0; i < 5; i += 1) {
+ if (letters[i] === available[i]) {
+ answer[i] = 'x';
+ available[i] = ' ';
+ }
+ }
+
+ // then find close matches (this has to happen
+ // in a second step, otherwise an early close
+ // match can prevent a later exact match)
+ for (let i = 0; i < 5; i += 1) {
+ if (answer[i] === '_') {
+ const index = available.indexOf(letters[i]);
+ if (index !== -1) {
+ answer[i] = 'c';
+ available[index] = ' ';
+ }
+ }
+ }
+
+ this.answers.push(answer.join(''));
+
+ return true;
+ }
+
+ /**
+ * Serialize game state so it can be set as a cookie
+ */
+ toString() {
+ return `${this.index}-${this.guesses.join(' ')}-${this.answers.join(' ')}`;
+ }
+}
diff --git a/apps/sveltekit/src/routes/sverdle/how-to-play/+page.svelte b/apps/sveltekit/src/routes/sverdle/how-to-play/+page.svelte
new file mode 100644
index 0000000..e8e2cec
--- /dev/null
+++ b/apps/sveltekit/src/routes/sverdle/how-to-play/+page.svelte
@@ -0,0 +1,95 @@
+
+ How to play Sverdle
+
+
+
+
+
How to play Sverdle
+
+
+ Sverdle is a clone of Wordle , the
+ word guessing game. To play, enter a five-letter English word. For example:
+
+
+
+ r
+ i
+ t
+ z
+ y
+
+
+
+ The y is in the right place. r and
+ t
+ are the right letters, but in the wrong place. The other letters are wrong, and can be discarded.
+ Let's make another guess:
+
+
+
+ p
+ a
+ r
+ t
+ y
+
+
+
This time we guessed right! You have six guesses to get the word.
+
+
+ Unlike the original Wordle, Sverdle runs on the server instead of in the browser, making it
+ impossible to cheat. It uses <form>
and cookies to submit data, meaning you can
+ even play with JavaScript disabled!
+
+
+
+
diff --git a/apps/sveltekit/src/routes/sverdle/how-to-play/+page.ts b/apps/sveltekit/src/routes/sverdle/how-to-play/+page.ts
new file mode 100644
index 0000000..e739ef4
--- /dev/null
+++ b/apps/sveltekit/src/routes/sverdle/how-to-play/+page.ts
@@ -0,0 +1,9 @@
+import { dev } from '$app/environment';
+
+// we don't need any JS on this page, though we'll load
+// it in dev so that we get hot module replacement
+export const csr = dev;
+
+// since there's no dynamic data here, we can prerender
+// it so that it gets served as a static asset in production
+export const prerender = true;
diff --git a/apps/sveltekit/src/routes/sverdle/reduced-motion.ts b/apps/sveltekit/src/routes/sverdle/reduced-motion.ts
new file mode 100644
index 0000000..795f08d
--- /dev/null
+++ b/apps/sveltekit/src/routes/sverdle/reduced-motion.ts
@@ -0,0 +1,26 @@
+import { readable } from 'svelte/store';
+import { browser } from '$app/environment';
+
+const reduced_motion_query = '(prefers-reduced-motion: reduce)';
+
+const get_initial_motion_preference = () => {
+ if (!browser) return false;
+ return window.matchMedia(reduced_motion_query).matches;
+};
+
+export const reduced_motion = readable(
+ get_initial_motion_preference(),
+ (set) => {
+ if (browser) {
+ const set_reduced_motion = (event: MediaQueryListEvent) => {
+ set(event.matches);
+ };
+ const media_query_list = window.matchMedia(reduced_motion_query);
+ media_query_list.addEventListener('change', set_reduced_motion);
+
+ return () => {
+ media_query_list.removeEventListener('change', set_reduced_motion);
+ };
+ }
+ },
+);
diff --git a/apps/sveltekit/src/routes/sverdle/words.server.ts b/apps/sveltekit/src/routes/sverdle/words.server.ts
new file mode 100644
index 0000000..806c0ad
--- /dev/null
+++ b/apps/sveltekit/src/routes/sverdle/words.server.ts
@@ -0,0 +1,12980 @@
+/** The list of possible words */
+export const words = [
+ 'aback',
+ 'abase',
+ 'abate',
+ 'abbey',
+ 'abbot',
+ 'abhor',
+ 'abide',
+ 'abled',
+ 'abode',
+ 'abort',
+ 'about',
+ 'above',
+ 'abuse',
+ 'abyss',
+ 'acorn',
+ 'acrid',
+ 'actor',
+ 'acute',
+ 'adage',
+ 'adapt',
+ 'adept',
+ 'admin',
+ 'admit',
+ 'adobe',
+ 'adopt',
+ 'adore',
+ 'adorn',
+ 'adult',
+ 'affix',
+ 'afire',
+ 'afoot',
+ 'afoul',
+ 'after',
+ 'again',
+ 'agape',
+ 'agate',
+ 'agent',
+ 'agile',
+ 'aging',
+ 'aglow',
+ 'agony',
+ 'agora',
+ 'agree',
+ 'ahead',
+ 'aider',
+ 'aisle',
+ 'alarm',
+ 'album',
+ 'alert',
+ 'algae',
+ 'alibi',
+ 'alien',
+ 'align',
+ 'alike',
+ 'alive',
+ 'allay',
+ 'alley',
+ 'allot',
+ 'allow',
+ 'alloy',
+ 'aloft',
+ 'alone',
+ 'along',
+ 'aloof',
+ 'aloud',
+ 'alpha',
+ 'altar',
+ 'alter',
+ 'amass',
+ 'amaze',
+ 'amber',
+ 'amble',
+ 'amend',
+ 'amiss',
+ 'amity',
+ 'among',
+ 'ample',
+ 'amply',
+ 'amuse',
+ 'angel',
+ 'anger',
+ 'angle',
+ 'angry',
+ 'angst',
+ 'anime',
+ 'ankle',
+ 'annex',
+ 'annoy',
+ 'annul',
+ 'anode',
+ 'antic',
+ 'anvil',
+ 'aorta',
+ 'apart',
+ 'aphid',
+ 'aping',
+ 'apnea',
+ 'apple',
+ 'apply',
+ 'apron',
+ 'aptly',
+ 'arbor',
+ 'ardor',
+ 'arena',
+ 'argue',
+ 'arise',
+ 'armor',
+ 'aroma',
+ 'arose',
+ 'array',
+ 'arrow',
+ 'arson',
+ 'artsy',
+ 'ascot',
+ 'ashen',
+ 'aside',
+ 'askew',
+ 'assay',
+ 'asset',
+ 'atoll',
+ 'atone',
+ 'attic',
+ 'audio',
+ 'audit',
+ 'augur',
+ 'aunty',
+ 'avail',
+ 'avert',
+ 'avian',
+ 'avoid',
+ 'await',
+ 'awake',
+ 'award',
+ 'aware',
+ 'awash',
+ 'awful',
+ 'awoke',
+ 'axial',
+ 'axiom',
+ 'axion',
+ 'azure',
+ 'bacon',
+ 'badge',
+ 'badly',
+ 'bagel',
+ 'baggy',
+ 'baker',
+ 'baler',
+ 'balmy',
+ 'banal',
+ 'banjo',
+ 'barge',
+ 'baron',
+ 'basal',
+ 'basic',
+ 'basil',
+ 'basin',
+ 'basis',
+ 'baste',
+ 'batch',
+ 'bathe',
+ 'baton',
+ 'batty',
+ 'bawdy',
+ 'bayou',
+ 'beach',
+ 'beady',
+ 'beard',
+ 'beast',
+ 'beech',
+ 'beefy',
+ 'befit',
+ 'began',
+ 'begat',
+ 'beget',
+ 'begin',
+ 'begun',
+ 'being',
+ 'belch',
+ 'belie',
+ 'belle',
+ 'belly',
+ 'below',
+ 'bench',
+ 'beret',
+ 'berry',
+ 'berth',
+ 'beset',
+ 'betel',
+ 'bevel',
+ 'bezel',
+ 'bible',
+ 'bicep',
+ 'biddy',
+ 'bigot',
+ 'bilge',
+ 'billy',
+ 'binge',
+ 'bingo',
+ 'biome',
+ 'birch',
+ 'birth',
+ 'bison',
+ 'bitty',
+ 'black',
+ 'blade',
+ 'blame',
+ 'bland',
+ 'blank',
+ 'blare',
+ 'blast',
+ 'blaze',
+ 'bleak',
+ 'bleat',
+ 'bleed',
+ 'bleep',
+ 'blend',
+ 'bless',
+ 'blimp',
+ 'blind',
+ 'blink',
+ 'bliss',
+ 'blitz',
+ 'bloat',
+ 'block',
+ 'bloke',
+ 'blond',
+ 'blood',
+ 'bloom',
+ 'blown',
+ 'bluer',
+ 'bluff',
+ 'blunt',
+ 'blurb',
+ 'blurt',
+ 'blush',
+ 'board',
+ 'boast',
+ 'bobby',
+ 'boney',
+ 'bongo',
+ 'bonus',
+ 'booby',
+ 'boost',
+ 'booth',
+ 'booty',
+ 'booze',
+ 'boozy',
+ 'borax',
+ 'borne',
+ 'bosom',
+ 'bossy',
+ 'botch',
+ 'bough',
+ 'boule',
+ 'bound',
+ 'bowel',
+ 'boxer',
+ 'brace',
+ 'braid',
+ 'brain',
+ 'brake',
+ 'brand',
+ 'brash',
+ 'brass',
+ 'brave',
+ 'bravo',
+ 'brawl',
+ 'brawn',
+ 'bread',
+ 'break',
+ 'breed',
+ 'briar',
+ 'bribe',
+ 'brick',
+ 'bride',
+ 'brief',
+ 'brine',
+ 'bring',
+ 'brink',
+ 'briny',
+ 'brisk',
+ 'broad',
+ 'broil',
+ 'broke',
+ 'brood',
+ 'brook',
+ 'broom',
+ 'broth',
+ 'brown',
+ 'brunt',
+ 'brush',
+ 'brute',
+ 'buddy',
+ 'budge',
+ 'buggy',
+ 'bugle',
+ 'build',
+ 'built',
+ 'bulge',
+ 'bulky',
+ 'bully',
+ 'bunch',
+ 'bunny',
+ 'burly',
+ 'burnt',
+ 'burst',
+ 'bused',
+ 'bushy',
+ 'butch',
+ 'butte',
+ 'buxom',
+ 'buyer',
+ 'bylaw',
+ 'cabal',
+ 'cabby',
+ 'cabin',
+ 'cable',
+ 'cacao',
+ 'cache',
+ 'cacti',
+ 'caddy',
+ 'cadet',
+ 'cagey',
+ 'cairn',
+ 'camel',
+ 'cameo',
+ 'canal',
+ 'candy',
+ 'canny',
+ 'canoe',
+ 'canon',
+ 'caper',
+ 'caput',
+ 'carat',
+ 'cargo',
+ 'carol',
+ 'carry',
+ 'carve',
+ 'caste',
+ 'catch',
+ 'cater',
+ 'catty',
+ 'caulk',
+ 'cause',
+ 'cavil',
+ 'cease',
+ 'cedar',
+ 'cello',
+ 'chafe',
+ 'chaff',
+ 'chain',
+ 'chair',
+ 'chalk',
+ 'champ',
+ 'chant',
+ 'chaos',
+ 'chard',
+ 'charm',
+ 'chart',
+ 'chase',
+ 'chasm',
+ 'cheap',
+ 'cheat',
+ 'check',
+ 'cheek',
+ 'cheer',
+ 'chess',
+ 'chest',
+ 'chick',
+ 'chide',
+ 'chief',
+ 'child',
+ 'chili',
+ 'chill',
+ 'chime',
+ 'china',
+ 'chirp',
+ 'chock',
+ 'choir',
+ 'choke',
+ 'chord',
+ 'chore',
+ 'chose',
+ 'chuck',
+ 'chump',
+ 'chunk',
+ 'churn',
+ 'chute',
+ 'cider',
+ 'cigar',
+ 'cinch',
+ 'circa',
+ 'civic',
+ 'civil',
+ 'clack',
+ 'claim',
+ 'clamp',
+ 'clang',
+ 'clank',
+ 'clash',
+ 'clasp',
+ 'class',
+ 'clean',
+ 'clear',
+ 'cleat',
+ 'cleft',
+ 'clerk',
+ 'click',
+ 'cliff',
+ 'climb',
+ 'cling',
+ 'clink',
+ 'cloak',
+ 'clock',
+ 'clone',
+ 'close',
+ 'cloth',
+ 'cloud',
+ 'clout',
+ 'clove',
+ 'clown',
+ 'cluck',
+ 'clued',
+ 'clump',
+ 'clung',
+ 'coach',
+ 'coast',
+ 'cobra',
+ 'cocoa',
+ 'colon',
+ 'color',
+ 'comet',
+ 'comfy',
+ 'comic',
+ 'comma',
+ 'conch',
+ 'condo',
+ 'conic',
+ 'copse',
+ 'coral',
+ 'corer',
+ 'corny',
+ 'couch',
+ 'cough',
+ 'could',
+ 'count',
+ 'coupe',
+ 'court',
+ 'coven',
+ 'cover',
+ 'covet',
+ 'covey',
+ 'cower',
+ 'coyly',
+ 'crack',
+ 'craft',
+ 'cramp',
+ 'crane',
+ 'crank',
+ 'crash',
+ 'crass',
+ 'crate',
+ 'crave',
+ 'crawl',
+ 'craze',
+ 'crazy',
+ 'creak',
+ 'cream',
+ 'credo',
+ 'creed',
+ 'creek',
+ 'creep',
+ 'creme',
+ 'crepe',
+ 'crept',
+ 'cress',
+ 'crest',
+ 'crick',
+ 'cried',
+ 'crier',
+ 'crime',
+ 'crimp',
+ 'crisp',
+ 'croak',
+ 'crock',
+ 'crone',
+ 'crony',
+ 'crook',
+ 'cross',
+ 'croup',
+ 'crowd',
+ 'crown',
+ 'crude',
+ 'cruel',
+ 'crumb',
+ 'crump',
+ 'crush',
+ 'crust',
+ 'crypt',
+ 'cubic',
+ 'cumin',
+ 'curio',
+ 'curly',
+ 'curry',
+ 'curse',
+ 'curve',
+ 'curvy',
+ 'cutie',
+ 'cyber',
+ 'cycle',
+ 'cynic',
+ 'daddy',
+ 'daily',
+ 'dairy',
+ 'daisy',
+ 'dally',
+ 'dance',
+ 'dandy',
+ 'datum',
+ 'daunt',
+ 'dealt',
+ 'death',
+ 'debar',
+ 'debit',
+ 'debug',
+ 'debut',
+ 'decal',
+ 'decay',
+ 'decor',
+ 'decoy',
+ 'decry',
+ 'defer',
+ 'deign',
+ 'deity',
+ 'delay',
+ 'delta',
+ 'delve',
+ 'demon',
+ 'demur',
+ 'denim',
+ 'dense',
+ 'depot',
+ 'depth',
+ 'derby',
+ 'deter',
+ 'detox',
+ 'deuce',
+ 'devil',
+ 'diary',
+ 'dicey',
+ 'digit',
+ 'dilly',
+ 'dimly',
+ 'diner',
+ 'dingo',
+ 'dingy',
+ 'diode',
+ 'dirge',
+ 'dirty',
+ 'disco',
+ 'ditch',
+ 'ditto',
+ 'ditty',
+ 'diver',
+ 'dizzy',
+ 'dodge',
+ 'dodgy',
+ 'dogma',
+ 'doing',
+ 'dolly',
+ 'donor',
+ 'donut',
+ 'dopey',
+ 'doubt',
+ 'dough',
+ 'dowdy',
+ 'dowel',
+ 'downy',
+ 'dowry',
+ 'dozen',
+ 'draft',
+ 'drain',
+ 'drake',
+ 'drama',
+ 'drank',
+ 'drape',
+ 'drawl',
+ 'drawn',
+ 'dread',
+ 'dream',
+ 'dress',
+ 'dried',
+ 'drier',
+ 'drift',
+ 'drill',
+ 'drink',
+ 'drive',
+ 'droit',
+ 'droll',
+ 'drone',
+ 'drool',
+ 'droop',
+ 'dross',
+ 'drove',
+ 'drown',
+ 'druid',
+ 'drunk',
+ 'dryer',
+ 'dryly',
+ 'duchy',
+ 'dully',
+ 'dummy',
+ 'dumpy',
+ 'dunce',
+ 'dusky',
+ 'dusty',
+ 'dutch',
+ 'duvet',
+ 'dwarf',
+ 'dwell',
+ 'dwelt',
+ 'dying',
+ 'eager',
+ 'eagle',
+ 'early',
+ 'earth',
+ 'easel',
+ 'eaten',
+ 'eater',
+ 'ebony',
+ 'eclat',
+ 'edict',
+ 'edify',
+ 'eerie',
+ 'egret',
+ 'eight',
+ 'eject',
+ 'eking',
+ 'elate',
+ 'elbow',
+ 'elder',
+ 'elect',
+ 'elegy',
+ 'elfin',
+ 'elide',
+ 'elite',
+ 'elope',
+ 'elude',
+ 'email',
+ 'embed',
+ 'ember',
+ 'emcee',
+ 'empty',
+ 'enact',
+ 'endow',
+ 'enema',
+ 'enemy',
+ 'enjoy',
+ 'ennui',
+ 'ensue',
+ 'enter',
+ 'entry',
+ 'envoy',
+ 'epoch',
+ 'epoxy',
+ 'equal',
+ 'equip',
+ 'erase',
+ 'erect',
+ 'erode',
+ 'error',
+ 'erupt',
+ 'essay',
+ 'ester',
+ 'ether',
+ 'ethic',
+ 'ethos',
+ 'etude',
+ 'evade',
+ 'event',
+ 'every',
+ 'evict',
+ 'evoke',
+ 'exact',
+ 'exalt',
+ 'excel',
+ 'exert',
+ 'exile',
+ 'exist',
+ 'expel',
+ 'extol',
+ 'extra',
+ 'exult',
+ 'eying',
+ 'fable',
+ 'facet',
+ 'faint',
+ 'fairy',
+ 'faith',
+ 'false',
+ 'fancy',
+ 'fanny',
+ 'farce',
+ 'fatal',
+ 'fatty',
+ 'fault',
+ 'fauna',
+ 'favor',
+ 'feast',
+ 'fecal',
+ 'feign',
+ 'fella',
+ 'felon',
+ 'femme',
+ 'femur',
+ 'fence',
+ 'feral',
+ 'ferry',
+ 'fetal',
+ 'fetch',
+ 'fetid',
+ 'fetus',
+ 'fever',
+ 'fewer',
+ 'fiber',
+ 'fibre',
+ 'ficus',
+ 'field',
+ 'fiend',
+ 'fiery',
+ 'fifth',
+ 'fifty',
+ 'fight',
+ 'filer',
+ 'filet',
+ 'filly',
+ 'filmy',
+ 'filth',
+ 'final',
+ 'finch',
+ 'finer',
+ 'first',
+ 'fishy',
+ 'fixer',
+ 'fizzy',
+ 'fjord',
+ 'flack',
+ 'flail',
+ 'flair',
+ 'flake',
+ 'flaky',
+ 'flame',
+ 'flank',
+ 'flare',
+ 'flash',
+ 'flask',
+ 'fleck',
+ 'fleet',
+ 'flesh',
+ 'flick',
+ 'flier',
+ 'fling',
+ 'flint',
+ 'flirt',
+ 'float',
+ 'flock',
+ 'flood',
+ 'floor',
+ 'flora',
+ 'floss',
+ 'flour',
+ 'flout',
+ 'flown',
+ 'fluff',
+ 'fluid',
+ 'fluke',
+ 'flume',
+ 'flung',
+ 'flunk',
+ 'flush',
+ 'flute',
+ 'flyer',
+ 'foamy',
+ 'focal',
+ 'focus',
+ 'foggy',
+ 'foist',
+ 'folio',
+ 'folly',
+ 'foray',
+ 'force',
+ 'forge',
+ 'forgo',
+ 'forte',
+ 'forth',
+ 'forty',
+ 'forum',
+ 'found',
+ 'foyer',
+ 'frail',
+ 'frame',
+ 'frank',
+ 'fraud',
+ 'freak',
+ 'freed',
+ 'freer',
+ 'fresh',
+ 'friar',
+ 'fried',
+ 'frill',
+ 'frisk',
+ 'fritz',
+ 'frock',
+ 'frond',
+ 'front',
+ 'frost',
+ 'froth',
+ 'frown',
+ 'froze',
+ 'fruit',
+ 'fudge',
+ 'fugue',
+ 'fully',
+ 'fungi',
+ 'funky',
+ 'funny',
+ 'furor',
+ 'furry',
+ 'fussy',
+ 'fuzzy',
+ 'gaffe',
+ 'gaily',
+ 'gamer',
+ 'gamma',
+ 'gamut',
+ 'gassy',
+ 'gaudy',
+ 'gauge',
+ 'gaunt',
+ 'gauze',
+ 'gavel',
+ 'gawky',
+ 'gayer',
+ 'gayly',
+ 'gazer',
+ 'gecko',
+ 'geeky',
+ 'geese',
+ 'genie',
+ 'genre',
+ 'ghost',
+ 'ghoul',
+ 'giant',
+ 'giddy',
+ 'gipsy',
+ 'girly',
+ 'girth',
+ 'given',
+ 'giver',
+ 'glade',
+ 'gland',
+ 'glare',
+ 'glass',
+ 'glaze',
+ 'gleam',
+ 'glean',
+ 'glide',
+ 'glint',
+ 'gloat',
+ 'globe',
+ 'gloom',
+ 'glory',
+ 'gloss',
+ 'glove',
+ 'glyph',
+ 'gnash',
+ 'gnome',
+ 'godly',
+ 'going',
+ 'golem',
+ 'golly',
+ 'gonad',
+ 'goner',
+ 'goody',
+ 'gooey',
+ 'goofy',
+ 'goose',
+ 'gorge',
+ 'gouge',
+ 'gourd',
+ 'grace',
+ 'grade',
+ 'graft',
+ 'grail',
+ 'grain',
+ 'grand',
+ 'grant',
+ 'grape',
+ 'graph',
+ 'grasp',
+ 'grass',
+ 'grate',
+ 'grave',
+ 'gravy',
+ 'graze',
+ 'great',
+ 'greed',
+ 'green',
+ 'greet',
+ 'grief',
+ 'grill',
+ 'grime',
+ 'grimy',
+ 'grind',
+ 'gripe',
+ 'groan',
+ 'groin',
+ 'groom',
+ 'grope',
+ 'gross',
+ 'group',
+ 'grout',
+ 'grove',
+ 'growl',
+ 'grown',
+ 'gruel',
+ 'gruff',
+ 'grunt',
+ 'guard',
+ 'guava',
+ 'guess',
+ 'guest',
+ 'guide',
+ 'guild',
+ 'guile',
+ 'guilt',
+ 'guise',
+ 'gulch',
+ 'gully',
+ 'gumbo',
+ 'gummy',
+ 'guppy',
+ 'gusto',
+ 'gusty',
+ 'gypsy',
+ 'habit',
+ 'hairy',
+ 'halve',
+ 'handy',
+ 'happy',
+ 'hardy',
+ 'harem',
+ 'harpy',
+ 'harry',
+ 'harsh',
+ 'haste',
+ 'hasty',
+ 'hatch',
+ 'hater',
+ 'haunt',
+ 'haute',
+ 'haven',
+ 'havoc',
+ 'hazel',
+ 'heady',
+ 'heard',
+ 'heart',
+ 'heath',
+ 'heave',
+ 'heavy',
+ 'hedge',
+ 'hefty',
+ 'heist',
+ 'helix',
+ 'hello',
+ 'hence',
+ 'heron',
+ 'hilly',
+ 'hinge',
+ 'hippo',
+ 'hippy',
+ 'hitch',
+ 'hoard',
+ 'hobby',
+ 'hoist',
+ 'holly',
+ 'homer',
+ 'honey',
+ 'honor',
+ 'horde',
+ 'horny',
+ 'horse',
+ 'hotel',
+ 'hotly',
+ 'hound',
+ 'house',
+ 'hovel',
+ 'hover',
+ 'howdy',
+ 'human',
+ 'humid',
+ 'humor',
+ 'humph',
+ 'humus',
+ 'hunch',
+ 'hunky',
+ 'hurry',
+ 'husky',
+ 'hussy',
+ 'hutch',
+ 'hydro',
+ 'hyena',
+ 'hymen',
+ 'hyper',
+ 'icily',
+ 'icing',
+ 'ideal',
+ 'idiom',
+ 'idiot',
+ 'idler',
+ 'idyll',
+ 'igloo',
+ 'iliac',
+ 'image',
+ 'imbue',
+ 'impel',
+ 'imply',
+ 'inane',
+ 'inbox',
+ 'incur',
+ 'index',
+ 'inept',
+ 'inert',
+ 'infer',
+ 'ingot',
+ 'inlay',
+ 'inlet',
+ 'inner',
+ 'input',
+ 'inter',
+ 'intro',
+ 'ionic',
+ 'irate',
+ 'irony',
+ 'islet',
+ 'issue',
+ 'itchy',
+ 'ivory',
+ 'jaunt',
+ 'jazzy',
+ 'jelly',
+ 'jerky',
+ 'jetty',
+ 'jewel',
+ 'jiffy',
+ 'joint',
+ 'joist',
+ 'joker',
+ 'jolly',
+ 'joust',
+ 'judge',
+ 'juice',
+ 'juicy',
+ 'jumbo',
+ 'jumpy',
+ 'junta',
+ 'junto',
+ 'juror',
+ 'kappa',
+ 'karma',
+ 'kayak',
+ 'kebab',
+ 'khaki',
+ 'kinky',
+ 'kiosk',
+ 'kitty',
+ 'knack',
+ 'knave',
+ 'knead',
+ 'kneed',
+ 'kneel',
+ 'knelt',
+ 'knife',
+ 'knock',
+ 'knoll',
+ 'known',
+ 'koala',
+ 'krill',
+ 'label',
+ 'labor',
+ 'laden',
+ 'ladle',
+ 'lager',
+ 'lance',
+ 'lanky',
+ 'lapel',
+ 'lapse',
+ 'large',
+ 'larva',
+ 'lasso',
+ 'latch',
+ 'later',
+ 'lathe',
+ 'latte',
+ 'laugh',
+ 'layer',
+ 'leach',
+ 'leafy',
+ 'leaky',
+ 'leant',
+ 'leapt',
+ 'learn',
+ 'lease',
+ 'leash',
+ 'least',
+ 'leave',
+ 'ledge',
+ 'leech',
+ 'leery',
+ 'lefty',
+ 'legal',
+ 'leggy',
+ 'lemon',
+ 'lemur',
+ 'leper',
+ 'level',
+ 'lever',
+ 'libel',
+ 'liege',
+ 'light',
+ 'liken',
+ 'lilac',
+ 'limbo',
+ 'limit',
+ 'linen',
+ 'liner',
+ 'lingo',
+ 'lipid',
+ 'lithe',
+ 'liver',
+ 'livid',
+ 'llama',
+ 'loamy',
+ 'loath',
+ 'lobby',
+ 'local',
+ 'locus',
+ 'lodge',
+ 'lofty',
+ 'logic',
+ 'login',
+ 'loopy',
+ 'loose',
+ 'lorry',
+ 'loser',
+ 'louse',
+ 'lousy',
+ 'lover',
+ 'lower',
+ 'lowly',
+ 'loyal',
+ 'lucid',
+ 'lucky',
+ 'lumen',
+ 'lumpy',
+ 'lunar',
+ 'lunch',
+ 'lunge',
+ 'lupus',
+ 'lurch',
+ 'lurid',
+ 'lusty',
+ 'lying',
+ 'lymph',
+ 'lynch',
+ 'lyric',
+ 'macaw',
+ 'macho',
+ 'macro',
+ 'madam',
+ 'madly',
+ 'mafia',
+ 'magic',
+ 'magma',
+ 'maize',
+ 'major',
+ 'maker',
+ 'mambo',
+ 'mamma',
+ 'mammy',
+ 'manga',
+ 'mange',
+ 'mango',
+ 'mangy',
+ 'mania',
+ 'manic',
+ 'manly',
+ 'manor',
+ 'maple',
+ 'march',
+ 'marry',
+ 'marsh',
+ 'mason',
+ 'masse',
+ 'match',
+ 'matey',
+ 'mauve',
+ 'maxim',
+ 'maybe',
+ 'mayor',
+ 'mealy',
+ 'meant',
+ 'meaty',
+ 'mecca',
+ 'medal',
+ 'media',
+ 'medic',
+ 'melee',
+ 'melon',
+ 'mercy',
+ 'merge',
+ 'merit',
+ 'merry',
+ 'metal',
+ 'meter',
+ 'metro',
+ 'micro',
+ 'midge',
+ 'midst',
+ 'might',
+ 'milky',
+ 'mimic',
+ 'mince',
+ 'miner',
+ 'minim',
+ 'minor',
+ 'minty',
+ 'minus',
+ 'mirth',
+ 'miser',
+ 'missy',
+ 'mocha',
+ 'modal',
+ 'model',
+ 'modem',
+ 'mogul',
+ 'moist',
+ 'molar',
+ 'moldy',
+ 'money',
+ 'month',
+ 'moody',
+ 'moose',
+ 'moral',
+ 'moron',
+ 'morph',
+ 'mossy',
+ 'motel',
+ 'motif',
+ 'motor',
+ 'motto',
+ 'moult',
+ 'mound',
+ 'mount',
+ 'mourn',
+ 'mouse',
+ 'mouth',
+ 'mover',
+ 'movie',
+ 'mower',
+ 'mucky',
+ 'mucus',
+ 'muddy',
+ 'mulch',
+ 'mummy',
+ 'munch',
+ 'mural',
+ 'murky',
+ 'mushy',
+ 'music',
+ 'musky',
+ 'musty',
+ 'myrrh',
+ 'nadir',
+ 'naive',
+ 'nanny',
+ 'nasal',
+ 'nasty',
+ 'natal',
+ 'naval',
+ 'navel',
+ 'needy',
+ 'neigh',
+ 'nerdy',
+ 'nerve',
+ 'never',
+ 'newer',
+ 'newly',
+ 'nicer',
+ 'niche',
+ 'niece',
+ 'night',
+ 'ninja',
+ 'ninny',
+ 'ninth',
+ 'noble',
+ 'nobly',
+ 'noise',
+ 'noisy',
+ 'nomad',
+ 'noose',
+ 'north',
+ 'nosey',
+ 'notch',
+ 'novel',
+ 'nudge',
+ 'nurse',
+ 'nutty',
+ 'nylon',
+ 'nymph',
+ 'oaken',
+ 'obese',
+ 'occur',
+ 'ocean',
+ 'octal',
+ 'octet',
+ 'odder',
+ 'oddly',
+ 'offal',
+ 'offer',
+ 'often',
+ 'olden',
+ 'older',
+ 'olive',
+ 'ombre',
+ 'omega',
+ 'onion',
+ 'onset',
+ 'opera',
+ 'opine',
+ 'opium',
+ 'optic',
+ 'orbit',
+ 'order',
+ 'organ',
+ 'other',
+ 'otter',
+ 'ought',
+ 'ounce',
+ 'outdo',
+ 'outer',
+ 'outgo',
+ 'ovary',
+ 'ovate',
+ 'overt',
+ 'ovine',
+ 'ovoid',
+ 'owing',
+ 'owner',
+ 'oxide',
+ 'ozone',
+ 'paddy',
+ 'pagan',
+ 'paint',
+ 'paler',
+ 'palsy',
+ 'panel',
+ 'panic',
+ 'pansy',
+ 'papal',
+ 'paper',
+ 'parer',
+ 'parka',
+ 'parry',
+ 'parse',
+ 'party',
+ 'pasta',
+ 'paste',
+ 'pasty',
+ 'patch',
+ 'patio',
+ 'patsy',
+ 'patty',
+ 'pause',
+ 'payee',
+ 'payer',
+ 'peace',
+ 'peach',
+ 'pearl',
+ 'pecan',
+ 'pedal',
+ 'penal',
+ 'pence',
+ 'penne',
+ 'penny',
+ 'perch',
+ 'peril',
+ 'perky',
+ 'pesky',
+ 'pesto',
+ 'petal',
+ 'petty',
+ 'phase',
+ 'phone',
+ 'phony',
+ 'photo',
+ 'piano',
+ 'picky',
+ 'piece',
+ 'piety',
+ 'piggy',
+ 'pilot',
+ 'pinch',
+ 'piney',
+ 'pinky',
+ 'pinto',
+ 'piper',
+ 'pique',
+ 'pitch',
+ 'pithy',
+ 'pivot',
+ 'pixel',
+ 'pixie',
+ 'pizza',
+ 'place',
+ 'plaid',
+ 'plain',
+ 'plait',
+ 'plane',
+ 'plank',
+ 'plant',
+ 'plate',
+ 'plaza',
+ 'plead',
+ 'pleat',
+ 'plied',
+ 'plier',
+ 'pluck',
+ 'plumb',
+ 'plume',
+ 'plump',
+ 'plunk',
+ 'plush',
+ 'poesy',
+ 'point',
+ 'poise',
+ 'poker',
+ 'polar',
+ 'polka',
+ 'polyp',
+ 'pooch',
+ 'poppy',
+ 'porch',
+ 'poser',
+ 'posit',
+ 'posse',
+ 'pouch',
+ 'pound',
+ 'pouty',
+ 'power',
+ 'prank',
+ 'prawn',
+ 'preen',
+ 'press',
+ 'price',
+ 'prick',
+ 'pride',
+ 'pried',
+ 'prime',
+ 'primo',
+ 'print',
+ 'prior',
+ 'prism',
+ 'privy',
+ 'prize',
+ 'probe',
+ 'prone',
+ 'prong',
+ 'proof',
+ 'prose',
+ 'proud',
+ 'prove',
+ 'prowl',
+ 'proxy',
+ 'prude',
+ 'prune',
+ 'psalm',
+ 'pubic',
+ 'pudgy',
+ 'puffy',
+ 'pulpy',
+ 'pulse',
+ 'punch',
+ 'pupal',
+ 'pupil',
+ 'puppy',
+ 'puree',
+ 'purer',
+ 'purge',
+ 'purse',
+ 'pushy',
+ 'putty',
+ 'pygmy',
+ 'quack',
+ 'quail',
+ 'quake',
+ 'qualm',
+ 'quark',
+ 'quart',
+ 'quash',
+ 'quasi',
+ 'queen',
+ 'queer',
+ 'quell',
+ 'query',
+ 'quest',
+ 'queue',
+ 'quick',
+ 'quiet',
+ 'quill',
+ 'quilt',
+ 'quirk',
+ 'quite',
+ 'quota',
+ 'quote',
+ 'quoth',
+ 'rabbi',
+ 'rabid',
+ 'racer',
+ 'radar',
+ 'radii',
+ 'radio',
+ 'rainy',
+ 'raise',
+ 'rajah',
+ 'rally',
+ 'ralph',
+ 'ramen',
+ 'ranch',
+ 'randy',
+ 'range',
+ 'rapid',
+ 'rarer',
+ 'raspy',
+ 'ratio',
+ 'ratty',
+ 'raven',
+ 'rayon',
+ 'razor',
+ 'reach',
+ 'react',
+ 'ready',
+ 'realm',
+ 'rearm',
+ 'rebar',
+ 'rebel',
+ 'rebus',
+ 'rebut',
+ 'recap',
+ 'recur',
+ 'recut',
+ 'reedy',
+ 'refer',
+ 'refit',
+ 'regal',
+ 'rehab',
+ 'reign',
+ 'relax',
+ 'relay',
+ 'relic',
+ 'remit',
+ 'renal',
+ 'renew',
+ 'repay',
+ 'repel',
+ 'reply',
+ 'rerun',
+ 'reset',
+ 'resin',
+ 'retch',
+ 'retro',
+ 'retry',
+ 'reuse',
+ 'revel',
+ 'revue',
+ 'rhino',
+ 'rhyme',
+ 'rider',
+ 'ridge',
+ 'rifle',
+ 'right',
+ 'rigid',
+ 'rigor',
+ 'rinse',
+ 'ripen',
+ 'riper',
+ 'risen',
+ 'riser',
+ 'risky',
+ 'rival',
+ 'river',
+ 'rivet',
+ 'roach',
+ 'roast',
+ 'robin',
+ 'robot',
+ 'rocky',
+ 'rodeo',
+ 'roger',
+ 'rogue',
+ 'roomy',
+ 'roost',
+ 'rotor',
+ 'rouge',
+ 'rough',
+ 'round',
+ 'rouse',
+ 'route',
+ 'rover',
+ 'rowdy',
+ 'rower',
+ 'royal',
+ 'ruddy',
+ 'ruder',
+ 'rugby',
+ 'ruler',
+ 'rumba',
+ 'rumor',
+ 'rupee',
+ 'rural',
+ 'rusty',
+ 'sadly',
+ 'safer',
+ 'saint',
+ 'salad',
+ 'sally',
+ 'salon',
+ 'salsa',
+ 'salty',
+ 'salve',
+ 'salvo',
+ 'sandy',
+ 'saner',
+ 'sappy',
+ 'sassy',
+ 'satin',
+ 'satyr',
+ 'sauce',
+ 'saucy',
+ 'sauna',
+ 'saute',
+ 'savor',
+ 'savoy',
+ 'savvy',
+ 'scald',
+ 'scale',
+ 'scalp',
+ 'scaly',
+ 'scamp',
+ 'scant',
+ 'scare',
+ 'scarf',
+ 'scary',
+ 'scene',
+ 'scent',
+ 'scion',
+ 'scoff',
+ 'scold',
+ 'scone',
+ 'scoop',
+ 'scope',
+ 'score',
+ 'scorn',
+ 'scour',
+ 'scout',
+ 'scowl',
+ 'scram',
+ 'scrap',
+ 'scree',
+ 'screw',
+ 'scrub',
+ 'scrum',
+ 'scuba',
+ 'sedan',
+ 'seedy',
+ 'segue',
+ 'seize',
+ 'semen',
+ 'sense',
+ 'sepia',
+ 'serif',
+ 'serum',
+ 'serve',
+ 'setup',
+ 'seven',
+ 'sever',
+ 'sewer',
+ 'shack',
+ 'shade',
+ 'shady',
+ 'shaft',
+ 'shake',
+ 'shaky',
+ 'shale',
+ 'shall',
+ 'shalt',
+ 'shame',
+ 'shank',
+ 'shape',
+ 'shard',
+ 'share',
+ 'shark',
+ 'sharp',
+ 'shave',
+ 'shawl',
+ 'shear',
+ 'sheen',
+ 'sheep',
+ 'sheer',
+ 'sheet',
+ 'sheik',
+ 'shelf',
+ 'shell',
+ 'shied',
+ 'shift',
+ 'shine',
+ 'shiny',
+ 'shire',
+ 'shirk',
+ 'shirt',
+ 'shoal',
+ 'shock',
+ 'shone',
+ 'shook',
+ 'shoot',
+ 'shore',
+ 'shorn',
+ 'short',
+ 'shout',
+ 'shove',
+ 'shown',
+ 'showy',
+ 'shrew',
+ 'shrub',
+ 'shrug',
+ 'shuck',
+ 'shunt',
+ 'shush',
+ 'shyly',
+ 'siege',
+ 'sieve',
+ 'sight',
+ 'sigma',
+ 'silky',
+ 'silly',
+ 'since',
+ 'sinew',
+ 'singe',
+ 'siren',
+ 'sissy',
+ 'sixth',
+ 'sixty',
+ 'skate',
+ 'skier',
+ 'skiff',
+ 'skill',
+ 'skimp',
+ 'skirt',
+ 'skulk',
+ 'skull',
+ 'skunk',
+ 'slack',
+ 'slain',
+ 'slang',
+ 'slant',
+ 'slash',
+ 'slate',
+ 'slave',
+ 'sleek',
+ 'sleep',
+ 'sleet',
+ 'slept',
+ 'slice',
+ 'slick',
+ 'slide',
+ 'slime',
+ 'slimy',
+ 'sling',
+ 'slink',
+ 'sloop',
+ 'slope',
+ 'slosh',
+ 'sloth',
+ 'slump',
+ 'slung',
+ 'slunk',
+ 'slurp',
+ 'slush',
+ 'slyly',
+ 'smack',
+ 'small',
+ 'smart',
+ 'smash',
+ 'smear',
+ 'smell',
+ 'smelt',
+ 'smile',
+ 'smirk',
+ 'smite',
+ 'smith',
+ 'smock',
+ 'smoke',
+ 'smoky',
+ 'smote',
+ 'snack',
+ 'snail',
+ 'snake',
+ 'snaky',
+ 'snare',
+ 'snarl',
+ 'sneak',
+ 'sneer',
+ 'snide',
+ 'sniff',
+ 'snipe',
+ 'snoop',
+ 'snore',
+ 'snort',
+ 'snout',
+ 'snowy',
+ 'snuck',
+ 'snuff',
+ 'soapy',
+ 'sober',
+ 'soggy',
+ 'solar',
+ 'solid',
+ 'solve',
+ 'sonar',
+ 'sonic',
+ 'sooth',
+ 'sooty',
+ 'sorry',
+ 'sound',
+ 'south',
+ 'sower',
+ 'space',
+ 'spade',
+ 'spank',
+ 'spare',
+ 'spark',
+ 'spasm',
+ 'spawn',
+ 'speak',
+ 'spear',
+ 'speck',
+ 'speed',
+ 'spell',
+ 'spelt',
+ 'spend',
+ 'spent',
+ 'sperm',
+ 'spice',
+ 'spicy',
+ 'spied',
+ 'spiel',
+ 'spike',
+ 'spiky',
+ 'spill',
+ 'spilt',
+ 'spine',
+ 'spiny',
+ 'spire',
+ 'spite',
+ 'splat',
+ 'split',
+ 'spoil',
+ 'spoke',
+ 'spoof',
+ 'spook',
+ 'spool',
+ 'spoon',
+ 'spore',
+ 'sport',
+ 'spout',
+ 'spray',
+ 'spree',
+ 'sprig',
+ 'spunk',
+ 'spurn',
+ 'spurt',
+ 'squad',
+ 'squat',
+ 'squib',
+ 'stack',
+ 'staff',
+ 'stage',
+ 'staid',
+ 'stain',
+ 'stair',
+ 'stake',
+ 'stale',
+ 'stalk',
+ 'stall',
+ 'stamp',
+ 'stand',
+ 'stank',
+ 'stare',
+ 'stark',
+ 'start',
+ 'stash',
+ 'state',
+ 'stave',
+ 'stead',
+ 'steak',
+ 'steal',
+ 'steam',
+ 'steed',
+ 'steel',
+ 'steep',
+ 'steer',
+ 'stein',
+ 'stern',
+ 'stick',
+ 'stiff',
+ 'still',
+ 'stilt',
+ 'sting',
+ 'stink',
+ 'stint',
+ 'stock',
+ 'stoic',
+ 'stoke',
+ 'stole',
+ 'stomp',
+ 'stone',
+ 'stony',
+ 'stood',
+ 'stool',
+ 'stoop',
+ 'store',
+ 'stork',
+ 'storm',
+ 'story',
+ 'stout',
+ 'stove',
+ 'strap',
+ 'straw',
+ 'stray',
+ 'strip',
+ 'strut',
+ 'stuck',
+ 'study',
+ 'stuff',
+ 'stump',
+ 'stung',
+ 'stunk',
+ 'stunt',
+ 'style',
+ 'suave',
+ 'sugar',
+ 'suing',
+ 'suite',
+ 'sulky',
+ 'sully',
+ 'sumac',
+ 'sunny',
+ 'super',
+ 'surer',
+ 'surge',
+ 'surly',
+ 'sushi',
+ 'swami',
+ 'swamp',
+ 'swarm',
+ 'swash',
+ 'swath',
+ 'swear',
+ 'sweat',
+ 'sweep',
+ 'sweet',
+ 'swell',
+ 'swept',
+ 'swift',
+ 'swill',
+ 'swine',
+ 'swing',
+ 'swirl',
+ 'swish',
+ 'swoon',
+ 'swoop',
+ 'sword',
+ 'swore',
+ 'sworn',
+ 'swung',
+ 'synod',
+ 'syrup',
+ 'tabby',
+ 'table',
+ 'taboo',
+ 'tacit',
+ 'tacky',
+ 'taffy',
+ 'taint',
+ 'taken',
+ 'taker',
+ 'tally',
+ 'talon',
+ 'tamer',
+ 'tango',
+ 'tangy',
+ 'taper',
+ 'tapir',
+ 'tardy',
+ 'tarot',
+ 'taste',
+ 'tasty',
+ 'tatty',
+ 'taunt',
+ 'tawny',
+ 'teach',
+ 'teary',
+ 'tease',
+ 'teddy',
+ 'teeth',
+ 'tempo',
+ 'tenet',
+ 'tenor',
+ 'tense',
+ 'tenth',
+ 'tepee',
+ 'tepid',
+ 'terra',
+ 'terse',
+ 'testy',
+ 'thank',
+ 'theft',
+ 'their',
+ 'theme',
+ 'there',
+ 'these',
+ 'theta',
+ 'thick',
+ 'thief',
+ 'thigh',
+ 'thing',
+ 'think',
+ 'third',
+ 'thong',
+ 'thorn',
+ 'those',
+ 'three',
+ 'threw',
+ 'throb',
+ 'throw',
+ 'thrum',
+ 'thumb',
+ 'thump',
+ 'thyme',
+ 'tiara',
+ 'tibia',
+ 'tidal',
+ 'tiger',
+ 'tight',
+ 'tilde',
+ 'timer',
+ 'timid',
+ 'tipsy',
+ 'titan',
+ 'tithe',
+ 'title',
+ 'toast',
+ 'today',
+ 'toddy',
+ 'token',
+ 'tonal',
+ 'tonga',
+ 'tonic',
+ 'tooth',
+ 'topaz',
+ 'topic',
+ 'torch',
+ 'torso',
+ 'torus',
+ 'total',
+ 'totem',
+ 'touch',
+ 'tough',
+ 'towel',
+ 'tower',
+ 'toxic',
+ 'toxin',
+ 'trace',
+ 'track',
+ 'tract',
+ 'trade',
+ 'trail',
+ 'train',
+ 'trait',
+ 'tramp',
+ 'trash',
+ 'trawl',
+ 'tread',
+ 'treat',
+ 'trend',
+ 'triad',
+ 'trial',
+ 'tribe',
+ 'trice',
+ 'trick',
+ 'tried',
+ 'tripe',
+ 'trite',
+ 'troll',
+ 'troop',
+ 'trope',
+ 'trout',
+ 'trove',
+ 'truce',
+ 'truck',
+ 'truer',
+ 'truly',
+ 'trump',
+ 'trunk',
+ 'truss',
+ 'trust',
+ 'truth',
+ 'tryst',
+ 'tubal',
+ 'tuber',
+ 'tulip',
+ 'tulle',
+ 'tumor',
+ 'tunic',
+ 'turbo',
+ 'tutor',
+ 'twang',
+ 'tweak',
+ 'tweed',
+ 'tweet',
+ 'twice',
+ 'twine',
+ 'twirl',
+ 'twist',
+ 'twixt',
+ 'tying',
+ 'udder',
+ 'ulcer',
+ 'ultra',
+ 'umbra',
+ 'uncle',
+ 'uncut',
+ 'under',
+ 'undid',
+ 'undue',
+ 'unfed',
+ 'unfit',
+ 'unify',
+ 'union',
+ 'unite',
+ 'unity',
+ 'unlit',
+ 'unmet',
+ 'unset',
+ 'untie',
+ 'until',
+ 'unwed',
+ 'unzip',
+ 'upper',
+ 'upset',
+ 'urban',
+ 'urine',
+ 'usage',
+ 'usher',
+ 'using',
+ 'usual',
+ 'usurp',
+ 'utile',
+ 'utter',
+ 'vague',
+ 'valet',
+ 'valid',
+ 'valor',
+ 'value',
+ 'valve',
+ 'vapid',
+ 'vapor',
+ 'vault',
+ 'vaunt',
+ 'vegan',
+ 'venom',
+ 'venue',
+ 'verge',
+ 'verse',
+ 'verso',
+ 'verve',
+ 'vicar',
+ 'video',
+ 'vigil',
+ 'vigor',
+ 'villa',
+ 'vinyl',
+ 'viola',
+ 'viper',
+ 'viral',
+ 'virus',
+ 'visit',
+ 'visor',
+ 'vista',
+ 'vital',
+ 'vivid',
+ 'vixen',
+ 'vocal',
+ 'vodka',
+ 'vogue',
+ 'voice',
+ 'voila',
+ 'vomit',
+ 'voter',
+ 'vouch',
+ 'vowel',
+ 'vying',
+ 'wacky',
+ 'wafer',
+ 'wager',
+ 'wagon',
+ 'waist',
+ 'waive',
+ 'waltz',
+ 'warty',
+ 'waste',
+ 'watch',
+ 'water',
+ 'waver',
+ 'waxen',
+ 'weary',
+ 'weave',
+ 'wedge',
+ 'weedy',
+ 'weigh',
+ 'weird',
+ 'welch',
+ 'welsh',
+ 'wench',
+ 'whack',
+ 'whale',
+ 'wharf',
+ 'wheat',
+ 'wheel',
+ 'whelp',
+ 'where',
+ 'which',
+ 'whiff',
+ 'while',
+ 'whine',
+ 'whiny',
+ 'whirl',
+ 'whisk',
+ 'white',
+ 'whole',
+ 'whoop',
+ 'whose',
+ 'widen',
+ 'wider',
+ 'widow',
+ 'width',
+ 'wield',
+ 'wight',
+ 'willy',
+ 'wimpy',
+ 'wince',
+ 'winch',
+ 'windy',
+ 'wiser',
+ 'wispy',
+ 'witch',
+ 'witty',
+ 'woken',
+ 'woman',
+ 'women',
+ 'woody',
+ 'wooer',
+ 'wooly',
+ 'woozy',
+ 'wordy',
+ 'world',
+ 'worry',
+ 'worse',
+ 'worst',
+ 'worth',
+ 'would',
+ 'wound',
+ 'woven',
+ 'wrack',
+ 'wrath',
+ 'wreak',
+ 'wreck',
+ 'wrest',
+ 'wring',
+ 'wrist',
+ 'write',
+ 'wrong',
+ 'wrote',
+ 'wrung',
+ 'wryly',
+ 'yacht',
+ 'yearn',
+ 'yeast',
+ 'yield',
+ 'young',
+ 'youth',
+ 'zebra',
+ 'zesty',
+ 'zonal',
+];
+
+/** The list of valid guesses, of which the list of possible words is a subset */
+export const allowed = new Set([
+ ...words,
+ 'aahed',
+ 'aalii',
+ 'aargh',
+ 'aarti',
+ 'abaca',
+ 'abaci',
+ 'abacs',
+ 'abaft',
+ 'abaka',
+ 'abamp',
+ 'aband',
+ 'abash',
+ 'abask',
+ 'abaya',
+ 'abbas',
+ 'abbed',
+ 'abbes',
+ 'abcee',
+ 'abeam',
+ 'abear',
+ 'abele',
+ 'abers',
+ 'abets',
+ 'abies',
+ 'abler',
+ 'ables',
+ 'ablet',
+ 'ablow',
+ 'abmho',
+ 'abohm',
+ 'aboil',
+ 'aboma',
+ 'aboon',
+ 'abord',
+ 'abore',
+ 'abram',
+ 'abray',
+ 'abrim',
+ 'abrin',
+ 'abris',
+ 'absey',
+ 'absit',
+ 'abuna',
+ 'abune',
+ 'abuts',
+ 'abuzz',
+ 'abyes',
+ 'abysm',
+ 'acais',
+ 'acari',
+ 'accas',
+ 'accoy',
+ 'acerb',
+ 'acers',
+ 'aceta',
+ 'achar',
+ 'ached',
+ 'aches',
+ 'achoo',
+ 'acids',
+ 'acidy',
+ 'acing',
+ 'acini',
+ 'ackee',
+ 'acker',
+ 'acmes',
+ 'acmic',
+ 'acned',
+ 'acnes',
+ 'acock',
+ 'acold',
+ 'acred',
+ 'acres',
+ 'acros',
+ 'acted',
+ 'actin',
+ 'acton',
+ 'acyls',
+ 'adaws',
+ 'adays',
+ 'adbot',
+ 'addax',
+ 'added',
+ 'adder',
+ 'addio',
+ 'addle',
+ 'adeem',
+ 'adhan',
+ 'adieu',
+ 'adios',
+ 'adits',
+ 'adman',
+ 'admen',
+ 'admix',
+ 'adobo',
+ 'adown',
+ 'adoze',
+ 'adrad',
+ 'adred',
+ 'adsum',
+ 'aduki',
+ 'adunc',
+ 'adust',
+ 'advew',
+ 'adyta',
+ 'adzed',
+ 'adzes',
+ 'aecia',
+ 'aedes',
+ 'aegis',
+ 'aeons',
+ 'aerie',
+ 'aeros',
+ 'aesir',
+ 'afald',
+ 'afara',
+ 'afars',
+ 'afear',
+ 'aflaj',
+ 'afore',
+ 'afrit',
+ 'afros',
+ 'agama',
+ 'agami',
+ 'agars',
+ 'agast',
+ 'agave',
+ 'agaze',
+ 'agene',
+ 'agers',
+ 'agger',
+ 'aggie',
+ 'aggri',
+ 'aggro',
+ 'aggry',
+ 'aghas',
+ 'agila',
+ 'agios',
+ 'agism',
+ 'agist',
+ 'agita',
+ 'aglee',
+ 'aglet',
+ 'agley',
+ 'agloo',
+ 'aglus',
+ 'agmas',
+ 'agoge',
+ 'agone',
+ 'agons',
+ 'agood',
+ 'agria',
+ 'agrin',
+ 'agros',
+ 'agued',
+ 'agues',
+ 'aguna',
+ 'aguti',
+ 'aheap',
+ 'ahent',
+ 'ahigh',
+ 'ahind',
+ 'ahing',
+ 'ahint',
+ 'ahold',
+ 'ahull',
+ 'ahuru',
+ 'aidas',
+ 'aided',
+ 'aides',
+ 'aidoi',
+ 'aidos',
+ 'aiery',
+ 'aigas',
+ 'aight',
+ 'ailed',
+ 'aimed',
+ 'aimer',
+ 'ainee',
+ 'ainga',
+ 'aioli',
+ 'aired',
+ 'airer',
+ 'airns',
+ 'airth',
+ 'airts',
+ 'aitch',
+ 'aitus',
+ 'aiver',
+ 'aiyee',
+ 'aizle',
+ 'ajies',
+ 'ajiva',
+ 'ajuga',
+ 'ajwan',
+ 'akees',
+ 'akela',
+ 'akene',
+ 'aking',
+ 'akita',
+ 'akkas',
+ 'alaap',
+ 'alack',
+ 'alamo',
+ 'aland',
+ 'alane',
+ 'alang',
+ 'alans',
+ 'alant',
+ 'alapa',
+ 'alaps',
+ 'alary',
+ 'alate',
+ 'alays',
+ 'albas',
+ 'albee',
+ 'alcid',
+ 'alcos',
+ 'aldea',
+ 'alder',
+ 'aldol',
+ 'aleck',
+ 'alecs',
+ 'alefs',
+ 'aleft',
+ 'aleph',
+ 'alews',
+ 'aleye',
+ 'alfas',
+ 'algal',
+ 'algas',
+ 'algid',
+ 'algin',
+ 'algor',
+ 'algum',
+ 'alias',
+ 'alifs',
+ 'aline',
+ 'alist',
+ 'aliya',
+ 'alkie',
+ 'alkos',
+ 'alkyd',
+ 'alkyl',
+ 'allee',
+ 'allel',
+ 'allis',
+ 'allod',
+ 'allyl',
+ 'almah',
+ 'almas',
+ 'almeh',
+ 'almes',
+ 'almud',
+ 'almug',
+ 'alods',
+ 'aloed',
+ 'aloes',
+ 'aloha',
+ 'aloin',
+ 'aloos',
+ 'alowe',
+ 'altho',
+ 'altos',
+ 'alula',
+ 'alums',
+ 'alure',
+ 'alvar',
+ 'alway',
+ 'amahs',
+ 'amain',
+ 'amate',
+ 'amaut',
+ 'amban',
+ 'ambit',
+ 'ambos',
+ 'ambry',
+ 'ameba',
+ 'ameer',
+ 'amene',
+ 'amens',
+ 'ament',
+ 'amias',
+ 'amice',
+ 'amici',
+ 'amide',
+ 'amido',
+ 'amids',
+ 'amies',
+ 'amiga',
+ 'amigo',
+ 'amine',
+ 'amino',
+ 'amins',
+ 'amirs',
+ 'amlas',
+ 'amman',
+ 'ammon',
+ 'ammos',
+ 'amnia',
+ 'amnic',
+ 'amnio',
+ 'amoks',
+ 'amole',
+ 'amort',
+ 'amour',
+ 'amove',
+ 'amowt',
+ 'amped',
+ 'ampul',
+ 'amrit',
+ 'amuck',
+ 'amyls',
+ 'anana',
+ 'anata',
+ 'ancho',
+ 'ancle',
+ 'ancon',
+ 'andro',
+ 'anear',
+ 'anele',
+ 'anent',
+ 'angas',
+ 'anglo',
+ 'anigh',
+ 'anile',
+ 'anils',
+ 'anima',
+ 'animi',
+ 'anion',
+ 'anise',
+ 'anker',
+ 'ankhs',
+ 'ankus',
+ 'anlas',
+ 'annal',
+ 'annas',
+ 'annat',
+ 'anoas',
+ 'anole',
+ 'anomy',
+ 'ansae',
+ 'antae',
+ 'antar',
+ 'antas',
+ 'anted',
+ 'antes',
+ 'antis',
+ 'antra',
+ 'antre',
+ 'antsy',
+ 'anura',
+ 'anyon',
+ 'apace',
+ 'apage',
+ 'apaid',
+ 'apayd',
+ 'apays',
+ 'apeak',
+ 'apeek',
+ 'apers',
+ 'apert',
+ 'apery',
+ 'apgar',
+ 'aphis',
+ 'apian',
+ 'apiol',
+ 'apish',
+ 'apism',
+ 'apode',
+ 'apods',
+ 'apoop',
+ 'aport',
+ 'appal',
+ 'appay',
+ 'appel',
+ 'appro',
+ 'appui',
+ 'appuy',
+ 'apres',
+ 'apses',
+ 'apsis',
+ 'apsos',
+ 'apted',
+ 'apter',
+ 'aquae',
+ 'aquas',
+ 'araba',
+ 'araks',
+ 'arame',
+ 'arars',
+ 'arbas',
+ 'arced',
+ 'archi',
+ 'arcos',
+ 'arcus',
+ 'ardeb',
+ 'ardri',
+ 'aread',
+ 'areae',
+ 'areal',
+ 'arear',
+ 'areas',
+ 'areca',
+ 'aredd',
+ 'arede',
+ 'arefy',
+ 'areic',
+ 'arene',
+ 'arepa',
+ 'arere',
+ 'arete',
+ 'arets',
+ 'arett',
+ 'argal',
+ 'argan',
+ 'argil',
+ 'argle',
+ 'argol',
+ 'argon',
+ 'argot',
+ 'argus',
+ 'arhat',
+ 'arias',
+ 'ariel',
+ 'ariki',
+ 'arils',
+ 'ariot',
+ 'arish',
+ 'arked',
+ 'arled',
+ 'arles',
+ 'armed',
+ 'armer',
+ 'armet',
+ 'armil',
+ 'arnas',
+ 'arnut',
+ 'aroba',
+ 'aroha',
+ 'aroid',
+ 'arpas',
+ 'arpen',
+ 'arrah',
+ 'arras',
+ 'arret',
+ 'arris',
+ 'arroz',
+ 'arsed',
+ 'arses',
+ 'arsey',
+ 'arsis',
+ 'artal',
+ 'artel',
+ 'artic',
+ 'artis',
+ 'aruhe',
+ 'arums',
+ 'arval',
+ 'arvee',
+ 'arvos',
+ 'aryls',
+ 'asana',
+ 'ascon',
+ 'ascus',
+ 'asdic',
+ 'ashed',
+ 'ashes',
+ 'ashet',
+ 'asked',
+ 'asker',
+ 'askoi',
+ 'askos',
+ 'aspen',
+ 'asper',
+ 'aspic',
+ 'aspie',
+ 'aspis',
+ 'aspro',
+ 'assai',
+ 'assam',
+ 'asses',
+ 'assez',
+ 'assot',
+ 'aster',
+ 'astir',
+ 'astun',
+ 'asura',
+ 'asway',
+ 'aswim',
+ 'asyla',
+ 'ataps',
+ 'ataxy',
+ 'atigi',
+ 'atilt',
+ 'atimy',
+ 'atlas',
+ 'atman',
+ 'atmas',
+ 'atmos',
+ 'atocs',
+ 'atoke',
+ 'atoks',
+ 'atoms',
+ 'atomy',
+ 'atony',
+ 'atopy',
+ 'atria',
+ 'atrip',
+ 'attap',
+ 'attar',
+ 'atuas',
+ 'audad',
+ 'auger',
+ 'aught',
+ 'aulas',
+ 'aulic',
+ 'auloi',
+ 'aulos',
+ 'aumil',
+ 'aunes',
+ 'aunts',
+ 'aurae',
+ 'aural',
+ 'aurar',
+ 'auras',
+ 'aurei',
+ 'aures',
+ 'auric',
+ 'auris',
+ 'aurum',
+ 'autos',
+ 'auxin',
+ 'avale',
+ 'avant',
+ 'avast',
+ 'avels',
+ 'avens',
+ 'avers',
+ 'avgas',
+ 'avine',
+ 'avion',
+ 'avise',
+ 'aviso',
+ 'avize',
+ 'avows',
+ 'avyze',
+ 'awarn',
+ 'awato',
+ 'awave',
+ 'aways',
+ 'awdls',
+ 'aweel',
+ 'aweto',
+ 'awing',
+ 'awmry',
+ 'awned',
+ 'awner',
+ 'awols',
+ 'awork',
+ 'axels',
+ 'axile',
+ 'axils',
+ 'axing',
+ 'axite',
+ 'axled',
+ 'axles',
+ 'axman',
+ 'axmen',
+ 'axoid',
+ 'axone',
+ 'axons',
+ 'ayahs',
+ 'ayaya',
+ 'ayelp',
+ 'aygre',
+ 'ayins',
+ 'ayont',
+ 'ayres',
+ 'ayrie',
+ 'azans',
+ 'azide',
+ 'azido',
+ 'azine',
+ 'azlon',
+ 'azoic',
+ 'azole',
+ 'azons',
+ 'azote',
+ 'azoth',
+ 'azuki',
+ 'azurn',
+ 'azury',
+ 'azygy',
+ 'azyme',
+ 'azyms',
+ 'baaed',
+ 'baals',
+ 'babas',
+ 'babel',
+ 'babes',
+ 'babka',
+ 'baboo',
+ 'babul',
+ 'babus',
+ 'bacca',
+ 'bacco',
+ 'baccy',
+ 'bacha',
+ 'bachs',
+ 'backs',
+ 'baddy',
+ 'baels',
+ 'baffs',
+ 'baffy',
+ 'bafts',
+ 'baghs',
+ 'bagie',
+ 'bahts',
+ 'bahus',
+ 'bahut',
+ 'bails',
+ 'bairn',
+ 'baisa',
+ 'baith',
+ 'baits',
+ 'baiza',
+ 'baize',
+ 'bajan',
+ 'bajra',
+ 'bajri',
+ 'bajus',
+ 'baked',
+ 'baken',
+ 'bakes',
+ 'bakra',
+ 'balas',
+ 'balds',
+ 'baldy',
+ 'baled',
+ 'bales',
+ 'balks',
+ 'balky',
+ 'balls',
+ 'bally',
+ 'balms',
+ 'baloo',
+ 'balsa',
+ 'balti',
+ 'balun',
+ 'balus',
+ 'bambi',
+ 'banak',
+ 'banco',
+ 'bancs',
+ 'banda',
+ 'bandh',
+ 'bands',
+ 'bandy',
+ 'baned',
+ 'banes',
+ 'bangs',
+ 'bania',
+ 'banks',
+ 'banns',
+ 'bants',
+ 'bantu',
+ 'banty',
+ 'banya',
+ 'bapus',
+ 'barbe',
+ 'barbs',
+ 'barby',
+ 'barca',
+ 'barde',
+ 'bardo',
+ 'bards',
+ 'bardy',
+ 'bared',
+ 'barer',
+ 'bares',
+ 'barfi',
+ 'barfs',
+ 'baric',
+ 'barks',
+ 'barky',
+ 'barms',
+ 'barmy',
+ 'barns',
+ 'barny',
+ 'barps',
+ 'barra',
+ 'barre',
+ 'barro',
+ 'barry',
+ 'barye',
+ 'basan',
+ 'based',
+ 'basen',
+ 'baser',
+ 'bases',
+ 'basho',
+ 'basij',
+ 'basks',
+ 'bason',
+ 'basse',
+ 'bassi',
+ 'basso',
+ 'bassy',
+ 'basta',
+ 'basti',
+ 'basto',
+ 'basts',
+ 'bated',
+ 'bates',
+ 'baths',
+ 'batik',
+ 'batta',
+ 'batts',
+ 'battu',
+ 'bauds',
+ 'bauks',
+ 'baulk',
+ 'baurs',
+ 'bavin',
+ 'bawds',
+ 'bawks',
+ 'bawls',
+ 'bawns',
+ 'bawrs',
+ 'bawty',
+ 'bayed',
+ 'bayer',
+ 'bayes',
+ 'bayle',
+ 'bayts',
+ 'bazar',
+ 'bazoo',
+ 'beads',
+ 'beaks',
+ 'beaky',
+ 'beals',
+ 'beams',
+ 'beamy',
+ 'beano',
+ 'beans',
+ 'beany',
+ 'beare',
+ 'bears',
+ 'beath',
+ 'beats',
+ 'beaty',
+ 'beaus',
+ 'beaut',
+ 'beaux',
+ 'bebop',
+ 'becap',
+ 'becke',
+ 'becks',
+ 'bedad',
+ 'bedel',
+ 'bedes',
+ 'bedew',
+ 'bedim',
+ 'bedye',
+ 'beedi',
+ 'beefs',
+ 'beeps',
+ 'beers',
+ 'beery',
+ 'beets',
+ 'befog',
+ 'begad',
+ 'begar',
+ 'begem',
+ 'begot',
+ 'begum',
+ 'beige',
+ 'beigy',
+ 'beins',
+ 'bekah',
+ 'belah',
+ 'belar',
+ 'belay',
+ 'belee',
+ 'belga',
+ 'bells',
+ 'belon',
+ 'belts',
+ 'bemad',
+ 'bemas',
+ 'bemix',
+ 'bemud',
+ 'bends',
+ 'bendy',
+ 'benes',
+ 'benet',
+ 'benga',
+ 'benis',
+ 'benne',
+ 'benni',
+ 'benny',
+ 'bento',
+ 'bents',
+ 'benty',
+ 'bepat',
+ 'beray',
+ 'beres',
+ 'bergs',
+ 'berko',
+ 'berks',
+ 'berme',
+ 'berms',
+ 'berob',
+ 'beryl',
+ 'besat',
+ 'besaw',
+ 'besee',
+ 'beses',
+ 'besit',
+ 'besom',
+ 'besot',
+ 'besti',
+ 'bests',
+ 'betas',
+ 'beted',
+ 'betes',
+ 'beths',
+ 'betid',
+ 'beton',
+ 'betta',
+ 'betty',
+ 'bever',
+ 'bevor',
+ 'bevue',
+ 'bevvy',
+ 'bewet',
+ 'bewig',
+ 'bezes',
+ 'bezil',
+ 'bezzy',
+ 'bhais',
+ 'bhaji',
+ 'bhang',
+ 'bhats',
+ 'bhels',
+ 'bhoot',
+ 'bhuna',
+ 'bhuts',
+ 'biach',
+ 'biali',
+ 'bialy',
+ 'bibbs',
+ 'bibes',
+ 'biccy',
+ 'bices',
+ 'bided',
+ 'bider',
+ 'bides',
+ 'bidet',
+ 'bidis',
+ 'bidon',
+ 'bield',
+ 'biers',
+ 'biffo',
+ 'biffs',
+ 'biffy',
+ 'bifid',
+ 'bigae',
+ 'biggs',
+ 'biggy',
+ 'bigha',
+ 'bight',
+ 'bigly',
+ 'bigos',
+ 'bijou',
+ 'biked',
+ 'biker',
+ 'bikes',
+ 'bikie',
+ 'bilbo',
+ 'bilby',
+ 'biled',
+ 'biles',
+ 'bilgy',
+ 'bilks',
+ 'bills',
+ 'bimah',
+ 'bimas',
+ 'bimbo',
+ 'binal',
+ 'bindi',
+ 'binds',
+ 'biner',
+ 'bines',
+ 'bings',
+ 'bingy',
+ 'binit',
+ 'binks',
+ 'bints',
+ 'biogs',
+ 'biont',
+ 'biota',
+ 'biped',
+ 'bipod',
+ 'birds',
+ 'birks',
+ 'birle',
+ 'birls',
+ 'biros',
+ 'birrs',
+ 'birse',
+ 'birsy',
+ 'bises',
+ 'bisks',
+ 'bisom',
+ 'bitch',
+ 'biter',
+ 'bites',
+ 'bitos',
+ 'bitou',
+ 'bitsy',
+ 'bitte',
+ 'bitts',
+ 'bivia',
+ 'bivvy',
+ 'bizes',
+ 'bizzo',
+ 'bizzy',
+ 'blabs',
+ 'blads',
+ 'blady',
+ 'blaer',
+ 'blaes',
+ 'blaff',
+ 'blags',
+ 'blahs',
+ 'blain',
+ 'blams',
+ 'blart',
+ 'blase',
+ 'blash',
+ 'blate',
+ 'blats',
+ 'blatt',
+ 'blaud',
+ 'blawn',
+ 'blaws',
+ 'blays',
+ 'blear',
+ 'blebs',
+ 'blech',
+ 'blees',
+ 'blent',
+ 'blert',
+ 'blest',
+ 'blets',
+ 'bleys',
+ 'blimy',
+ 'bling',
+ 'blini',
+ 'blins',
+ 'bliny',
+ 'blips',
+ 'blist',
+ 'blite',
+ 'blits',
+ 'blive',
+ 'blobs',
+ 'blocs',
+ 'blogs',
+ 'blook',
+ 'bloop',
+ 'blore',
+ 'blots',
+ 'blows',
+ 'blowy',
+ 'blubs',
+ 'blude',
+ 'bluds',
+ 'bludy',
+ 'blued',
+ 'blues',
+ 'bluet',
+ 'bluey',
+ 'bluid',
+ 'blume',
+ 'blunk',
+ 'blurs',
+ 'blype',
+ 'boabs',
+ 'boaks',
+ 'boars',
+ 'boart',
+ 'boats',
+ 'bobac',
+ 'bobak',
+ 'bobas',
+ 'bobol',
+ 'bobos',
+ 'bocca',
+ 'bocce',
+ 'bocci',
+ 'boche',
+ 'bocks',
+ 'boded',
+ 'bodes',
+ 'bodge',
+ 'bodhi',
+ 'bodle',
+ 'boeps',
+ 'boets',
+ 'boeuf',
+ 'boffo',
+ 'boffs',
+ 'bogan',
+ 'bogey',
+ 'boggy',
+ 'bogie',
+ 'bogle',
+ 'bogue',
+ 'bogus',
+ 'bohea',
+ 'bohos',
+ 'boils',
+ 'boing',
+ 'boink',
+ 'boite',
+ 'boked',
+ 'bokeh',
+ 'bokes',
+ 'bokos',
+ 'bolar',
+ 'bolas',
+ 'bolds',
+ 'boles',
+ 'bolix',
+ 'bolls',
+ 'bolos',
+ 'bolts',
+ 'bolus',
+ 'bomas',
+ 'bombe',
+ 'bombo',
+ 'bombs',
+ 'bonce',
+ 'bonds',
+ 'boned',
+ 'boner',
+ 'bones',
+ 'bongs',
+ 'bonie',
+ 'bonks',
+ 'bonne',
+ 'bonny',
+ 'bonza',
+ 'bonze',
+ 'booai',
+ 'booay',
+ 'boobs',
+ 'boody',
+ 'booed',
+ 'boofy',
+ 'boogy',
+ 'boohs',
+ 'books',
+ 'booky',
+ 'bools',
+ 'booms',
+ 'boomy',
+ 'boong',
+ 'boons',
+ 'boord',
+ 'boors',
+ 'boose',
+ 'boots',
+ 'boppy',
+ 'borak',
+ 'boral',
+ 'boras',
+ 'borde',
+ 'bords',
+ 'bored',
+ 'boree',
+ 'borel',
+ 'borer',
+ 'bores',
+ 'borgo',
+ 'boric',
+ 'borks',
+ 'borms',
+ 'borna',
+ 'boron',
+ 'borts',
+ 'borty',
+ 'bortz',
+ 'bosie',
+ 'bosks',
+ 'bosky',
+ 'boson',
+ 'bosun',
+ 'botas',
+ 'botel',
+ 'botes',
+ 'bothy',
+ 'botte',
+ 'botts',
+ 'botty',
+ 'bouge',
+ 'bouks',
+ 'boult',
+ 'bouns',
+ 'bourd',
+ 'bourg',
+ 'bourn',
+ 'bouse',
+ 'bousy',
+ 'bouts',
+ 'bovid',
+ 'bowat',
+ 'bowed',
+ 'bower',
+ 'bowes',
+ 'bowet',
+ 'bowie',
+ 'bowls',
+ 'bowne',
+ 'bowrs',
+ 'bowse',
+ 'boxed',
+ 'boxen',
+ 'boxes',
+ 'boxla',
+ 'boxty',
+ 'boyar',
+ 'boyau',
+ 'boyed',
+ 'boyfs',
+ 'boygs',
+ 'boyla',
+ 'boyos',
+ 'boysy',
+ 'bozos',
+ 'braai',
+ 'brach',
+ 'brack',
+ 'bract',
+ 'brads',
+ 'braes',
+ 'brags',
+ 'brail',
+ 'braks',
+ 'braky',
+ 'brame',
+ 'brane',
+ 'brank',
+ 'brans',
+ 'brant',
+ 'brast',
+ 'brats',
+ 'brava',
+ 'bravi',
+ 'braws',
+ 'braxy',
+ 'brays',
+ 'braza',
+ 'braze',
+ 'bream',
+ 'brede',
+ 'breds',
+ 'breem',
+ 'breer',
+ 'brees',
+ 'breid',
+ 'breis',
+ 'breme',
+ 'brens',
+ 'brent',
+ 'brere',
+ 'brers',
+ 'breve',
+ 'brews',
+ 'breys',
+ 'brier',
+ 'bries',
+ 'brigs',
+ 'briki',
+ 'briks',
+ 'brill',
+ 'brims',
+ 'brins',
+ 'brios',
+ 'brise',
+ 'briss',
+ 'brith',
+ 'brits',
+ 'britt',
+ 'brize',
+ 'broch',
+ 'brock',
+ 'brods',
+ 'brogh',
+ 'brogs',
+ 'brome',
+ 'bromo',
+ 'bronc',
+ 'brond',
+ 'brool',
+ 'broos',
+ 'brose',
+ 'brosy',
+ 'brows',
+ 'brugh',
+ 'bruin',
+ 'bruit',
+ 'brule',
+ 'brume',
+ 'brung',
+ 'brusk',
+ 'brust',
+ 'bruts',
+ 'buats',
+ 'buaze',
+ 'bubal',
+ 'bubas',
+ 'bubba',
+ 'bubbe',
+ 'bubby',
+ 'bubus',
+ 'buchu',
+ 'bucko',
+ 'bucks',
+ 'bucku',
+ 'budas',
+ 'budis',
+ 'budos',
+ 'buffa',
+ 'buffe',
+ 'buffi',
+ 'buffo',
+ 'buffs',
+ 'buffy',
+ 'bufos',
+ 'bufty',
+ 'buhls',
+ 'buhrs',
+ 'buiks',
+ 'buist',
+ 'bukes',
+ 'bulbs',
+ 'bulgy',
+ 'bulks',
+ 'bulla',
+ 'bulls',
+ 'bulse',
+ 'bumbo',
+ 'bumfs',
+ 'bumph',
+ 'bumps',
+ 'bumpy',
+ 'bunas',
+ 'bunce',
+ 'bunco',
+ 'bunde',
+ 'bundh',
+ 'bunds',
+ 'bundt',
+ 'bundu',
+ 'bundy',
+ 'bungs',
+ 'bungy',
+ 'bunia',
+ 'bunje',
+ 'bunjy',
+ 'bunko',
+ 'bunks',
+ 'bunns',
+ 'bunts',
+ 'bunty',
+ 'bunya',
+ 'buoys',
+ 'buppy',
+ 'buran',
+ 'buras',
+ 'burbs',
+ 'burds',
+ 'buret',
+ 'burfi',
+ 'burgh',
+ 'burgs',
+ 'burin',
+ 'burka',
+ 'burke',
+ 'burks',
+ 'burls',
+ 'burns',
+ 'buroo',
+ 'burps',
+ 'burqa',
+ 'burro',
+ 'burrs',
+ 'burry',
+ 'bursa',
+ 'burse',
+ 'busby',
+ 'buses',
+ 'busks',
+ 'busky',
+ 'bussu',
+ 'busti',
+ 'busts',
+ 'busty',
+ 'buteo',
+ 'butes',
+ 'butle',
+ 'butoh',
+ 'butts',
+ 'butty',
+ 'butut',
+ 'butyl',
+ 'buzzy',
+ 'bwana',
+ 'bwazi',
+ 'byded',
+ 'bydes',
+ 'byked',
+ 'bykes',
+ 'byres',
+ 'byrls',
+ 'byssi',
+ 'bytes',
+ 'byway',
+ 'caaed',
+ 'cabas',
+ 'caber',
+ 'cabob',
+ 'caboc',
+ 'cabre',
+ 'cacas',
+ 'cacks',
+ 'cacky',
+ 'cadee',
+ 'cades',
+ 'cadge',
+ 'cadgy',
+ 'cadie',
+ 'cadis',
+ 'cadre',
+ 'caeca',
+ 'caese',
+ 'cafes',
+ 'caffs',
+ 'caged',
+ 'cager',
+ 'cages',
+ 'cagot',
+ 'cahow',
+ 'caids',
+ 'cains',
+ 'caird',
+ 'cajon',
+ 'cajun',
+ 'caked',
+ 'cakes',
+ 'cakey',
+ 'calfs',
+ 'calid',
+ 'calif',
+ 'calix',
+ 'calks',
+ 'calla',
+ 'calls',
+ 'calms',
+ 'calmy',
+ 'calos',
+ 'calpa',
+ 'calps',
+ 'calve',
+ 'calyx',
+ 'caman',
+ 'camas',
+ 'cames',
+ 'camis',
+ 'camos',
+ 'campi',
+ 'campo',
+ 'camps',
+ 'campy',
+ 'camus',
+ 'caned',
+ 'caneh',
+ 'caner',
+ 'canes',
+ 'cangs',
+ 'canid',
+ 'canna',
+ 'canns',
+ 'canso',
+ 'canst',
+ 'canto',
+ 'cants',
+ 'canty',
+ 'capas',
+ 'caped',
+ 'capes',
+ 'capex',
+ 'caphs',
+ 'capiz',
+ 'caple',
+ 'capon',
+ 'capos',
+ 'capot',
+ 'capri',
+ 'capul',
+ 'carap',
+ 'carbo',
+ 'carbs',
+ 'carby',
+ 'cardi',
+ 'cards',
+ 'cardy',
+ 'cared',
+ 'carer',
+ 'cares',
+ 'caret',
+ 'carex',
+ 'carks',
+ 'carle',
+ 'carls',
+ 'carns',
+ 'carny',
+ 'carob',
+ 'carom',
+ 'caron',
+ 'carpi',
+ 'carps',
+ 'carrs',
+ 'carse',
+ 'carta',
+ 'carte',
+ 'carts',
+ 'carvy',
+ 'casas',
+ 'casco',
+ 'cased',
+ 'cases',
+ 'casks',
+ 'casky',
+ 'casts',
+ 'casus',
+ 'cates',
+ 'cauda',
+ 'cauks',
+ 'cauld',
+ 'cauls',
+ 'caums',
+ 'caups',
+ 'cauri',
+ 'causa',
+ 'cavas',
+ 'caved',
+ 'cavel',
+ 'caver',
+ 'caves',
+ 'cavie',
+ 'cawed',
+ 'cawks',
+ 'caxon',
+ 'ceaze',
+ 'cebid',
+ 'cecal',
+ 'cecum',
+ 'ceded',
+ 'ceder',
+ 'cedes',
+ 'cedis',
+ 'ceiba',
+ 'ceili',
+ 'ceils',
+ 'celeb',
+ 'cella',
+ 'celli',
+ 'cells',
+ 'celom',
+ 'celts',
+ 'cense',
+ 'cento',
+ 'cents',
+ 'centu',
+ 'ceorl',
+ 'cepes',
+ 'cerci',
+ 'cered',
+ 'ceres',
+ 'cerge',
+ 'ceria',
+ 'ceric',
+ 'cerne',
+ 'ceroc',
+ 'ceros',
+ 'certs',
+ 'certy',
+ 'cesse',
+ 'cesta',
+ 'cesti',
+ 'cetes',
+ 'cetyl',
+ 'cezve',
+ 'chace',
+ 'chack',
+ 'chaco',
+ 'chado',
+ 'chads',
+ 'chaft',
+ 'chais',
+ 'chals',
+ 'chams',
+ 'chana',
+ 'chang',
+ 'chank',
+ 'chape',
+ 'chaps',
+ 'chapt',
+ 'chara',
+ 'chare',
+ 'chark',
+ 'charr',
+ 'chars',
+ 'chary',
+ 'chats',
+ 'chave',
+ 'chavs',
+ 'chawk',
+ 'chaws',
+ 'chaya',
+ 'chays',
+ 'cheep',
+ 'chefs',
+ 'cheka',
+ 'chela',
+ 'chelp',
+ 'chemo',
+ 'chems',
+ 'chere',
+ 'chert',
+ 'cheth',
+ 'chevy',
+ 'chews',
+ 'chewy',
+ 'chiao',
+ 'chias',
+ 'chibs',
+ 'chica',
+ 'chich',
+ 'chico',
+ 'chics',
+ 'chiel',
+ 'chiks',
+ 'chile',
+ 'chimb',
+ 'chimo',
+ 'chimp',
+ 'chine',
+ 'ching',
+ 'chink',
+ 'chino',
+ 'chins',
+ 'chips',
+ 'chirk',
+ 'chirl',
+ 'chirm',
+ 'chiro',
+ 'chirr',
+ 'chirt',
+ 'chiru',
+ 'chits',
+ 'chive',
+ 'chivs',
+ 'chivy',
+ 'chizz',
+ 'choco',
+ 'chocs',
+ 'chode',
+ 'chogs',
+ 'choil',
+ 'choko',
+ 'choky',
+ 'chola',
+ 'choli',
+ 'cholo',
+ 'chomp',
+ 'chons',
+ 'choof',
+ 'chook',
+ 'choom',
+ 'choon',
+ 'chops',
+ 'chota',
+ 'chott',
+ 'chout',
+ 'choux',
+ 'chowk',
+ 'chows',
+ 'chubs',
+ 'chufa',
+ 'chuff',
+ 'chugs',
+ 'chums',
+ 'churl',
+ 'churr',
+ 'chuse',
+ 'chuts',
+ 'chyle',
+ 'chyme',
+ 'chynd',
+ 'cibol',
+ 'cided',
+ 'cides',
+ 'ciels',
+ 'ciggy',
+ 'cilia',
+ 'cills',
+ 'cimar',
+ 'cimex',
+ 'cinct',
+ 'cines',
+ 'cinqs',
+ 'cions',
+ 'cippi',
+ 'circs',
+ 'cires',
+ 'cirls',
+ 'cirri',
+ 'cisco',
+ 'cissy',
+ 'cists',
+ 'cital',
+ 'cited',
+ 'citer',
+ 'cites',
+ 'cives',
+ 'civet',
+ 'civie',
+ 'civvy',
+ 'clach',
+ 'clade',
+ 'clads',
+ 'claes',
+ 'clags',
+ 'clame',
+ 'clams',
+ 'clans',
+ 'claps',
+ 'clapt',
+ 'claro',
+ 'clart',
+ 'clary',
+ 'clast',
+ 'clats',
+ 'claut',
+ 'clave',
+ 'clavi',
+ 'claws',
+ 'clays',
+ 'cleck',
+ 'cleek',
+ 'cleep',
+ 'clefs',
+ 'clegs',
+ 'cleik',
+ 'clems',
+ 'clepe',
+ 'clept',
+ 'cleve',
+ 'clews',
+ 'clied',
+ 'clies',
+ 'clift',
+ 'clime',
+ 'cline',
+ 'clint',
+ 'clipe',
+ 'clips',
+ 'clipt',
+ 'clits',
+ 'cloam',
+ 'clods',
+ 'cloff',
+ 'clogs',
+ 'cloke',
+ 'clomb',
+ 'clomp',
+ 'clonk',
+ 'clons',
+ 'cloop',
+ 'cloot',
+ 'clops',
+ 'clote',
+ 'clots',
+ 'clour',
+ 'clous',
+ 'clows',
+ 'cloye',
+ 'cloys',
+ 'cloze',
+ 'clubs',
+ 'clues',
+ 'cluey',
+ 'clunk',
+ 'clype',
+ 'cnida',
+ 'coact',
+ 'coady',
+ 'coala',
+ 'coals',
+ 'coaly',
+ 'coapt',
+ 'coarb',
+ 'coate',
+ 'coati',
+ 'coats',
+ 'cobbs',
+ 'cobby',
+ 'cobia',
+ 'coble',
+ 'cobza',
+ 'cocas',
+ 'cocci',
+ 'cocco',
+ 'cocks',
+ 'cocky',
+ 'cocos',
+ 'codas',
+ 'codec',
+ 'coded',
+ 'coden',
+ 'coder',
+ 'codes',
+ 'codex',
+ 'codon',
+ 'coeds',
+ 'coffs',
+ 'cogie',
+ 'cogon',
+ 'cogue',
+ 'cohab',
+ 'cohen',
+ 'cohoe',
+ 'cohog',
+ 'cohos',
+ 'coifs',
+ 'coign',
+ 'coils',
+ 'coins',
+ 'coirs',
+ 'coits',
+ 'coked',
+ 'cokes',
+ 'colas',
+ 'colby',
+ 'colds',
+ 'coled',
+ 'coles',
+ 'coley',
+ 'colic',
+ 'colin',
+ 'colls',
+ 'colly',
+ 'colog',
+ 'colts',
+ 'colza',
+ 'comae',
+ 'comal',
+ 'comas',
+ 'combe',
+ 'combi',
+ 'combo',
+ 'combs',
+ 'comby',
+ 'comer',
+ 'comes',
+ 'comix',
+ 'commo',
+ 'comms',
+ 'commy',
+ 'compo',
+ 'comps',
+ 'compt',
+ 'comte',
+ 'comus',
+ 'coned',
+ 'cones',
+ 'coney',
+ 'confs',
+ 'conga',
+ 'conge',
+ 'congo',
+ 'conia',
+ 'conin',
+ 'conks',
+ 'conky',
+ 'conne',
+ 'conns',
+ 'conte',
+ 'conto',
+ 'conus',
+ 'convo',
+ 'cooch',
+ 'cooed',
+ 'cooee',
+ 'cooer',
+ 'cooey',
+ 'coofs',
+ 'cooks',
+ 'cooky',
+ 'cools',
+ 'cooly',
+ 'coomb',
+ 'cooms',
+ 'coomy',
+ 'coons',
+ 'coops',
+ 'coopt',
+ 'coost',
+ 'coots',
+ 'cooze',
+ 'copal',
+ 'copay',
+ 'coped',
+ 'copen',
+ 'coper',
+ 'copes',
+ 'coppy',
+ 'copra',
+ 'copsy',
+ 'coqui',
+ 'coram',
+ 'corbe',
+ 'corby',
+ 'cords',
+ 'cored',
+ 'cores',
+ 'corey',
+ 'corgi',
+ 'coria',
+ 'corks',
+ 'corky',
+ 'corms',
+ 'corni',
+ 'corno',
+ 'corns',
+ 'cornu',
+ 'corps',
+ 'corse',
+ 'corso',
+ 'cosec',
+ 'cosed',
+ 'coses',
+ 'coset',
+ 'cosey',
+ 'cosie',
+ 'costa',
+ 'coste',
+ 'costs',
+ 'cotan',
+ 'coted',
+ 'cotes',
+ 'coths',
+ 'cotta',
+ 'cotts',
+ 'coude',
+ 'coups',
+ 'courb',
+ 'courd',
+ 'coure',
+ 'cours',
+ 'couta',
+ 'couth',
+ 'coved',
+ 'coves',
+ 'covin',
+ 'cowal',
+ 'cowan',
+ 'cowed',
+ 'cowks',
+ 'cowls',
+ 'cowps',
+ 'cowry',
+ 'coxae',
+ 'coxal',
+ 'coxed',
+ 'coxes',
+ 'coxib',
+ 'coyau',
+ 'coyed',
+ 'coyer',
+ 'coypu',
+ 'cozed',
+ 'cozen',
+ 'cozes',
+ 'cozey',
+ 'cozie',
+ 'craal',
+ 'crabs',
+ 'crags',
+ 'craic',
+ 'craig',
+ 'crake',
+ 'crame',
+ 'crams',
+ 'crans',
+ 'crape',
+ 'craps',
+ 'crapy',
+ 'crare',
+ 'craws',
+ 'crays',
+ 'creds',
+ 'creel',
+ 'crees',
+ 'crems',
+ 'crena',
+ 'creps',
+ 'crepy',
+ 'crewe',
+ 'crews',
+ 'crias',
+ 'cribs',
+ 'cries',
+ 'crims',
+ 'crine',
+ 'crios',
+ 'cripe',
+ 'crips',
+ 'crise',
+ 'crith',
+ 'crits',
+ 'croci',
+ 'crocs',
+ 'croft',
+ 'crogs',
+ 'cromb',
+ 'crome',
+ 'cronk',
+ 'crons',
+ 'crool',
+ 'croon',
+ 'crops',
+ 'crore',
+ 'crost',
+ 'crout',
+ 'crows',
+ 'croze',
+ 'cruck',
+ 'crudo',
+ 'cruds',
+ 'crudy',
+ 'crues',
+ 'cruet',
+ 'cruft',
+ 'crunk',
+ 'cruor',
+ 'crura',
+ 'cruse',
+ 'crusy',
+ 'cruve',
+ 'crwth',
+ 'cryer',
+ 'ctene',
+ 'cubby',
+ 'cubeb',
+ 'cubed',
+ 'cuber',
+ 'cubes',
+ 'cubit',
+ 'cuddy',
+ 'cuffo',
+ 'cuffs',
+ 'cuifs',
+ 'cuing',
+ 'cuish',
+ 'cuits',
+ 'cukes',
+ 'culch',
+ 'culet',
+ 'culex',
+ 'culls',
+ 'cully',
+ 'culms',
+ 'culpa',
+ 'culti',
+ 'cults',
+ 'culty',
+ 'cumec',
+ 'cundy',
+ 'cunei',
+ 'cunit',
+ 'cunts',
+ 'cupel',
+ 'cupid',
+ 'cuppa',
+ 'cuppy',
+ 'curat',
+ 'curbs',
+ 'curch',
+ 'curds',
+ 'curdy',
+ 'cured',
+ 'curer',
+ 'cures',
+ 'curet',
+ 'curfs',
+ 'curia',
+ 'curie',
+ 'curli',
+ 'curls',
+ 'curns',
+ 'curny',
+ 'currs',
+ 'cursi',
+ 'curst',
+ 'cusec',
+ 'cushy',
+ 'cusks',
+ 'cusps',
+ 'cuspy',
+ 'cusso',
+ 'cusum',
+ 'cutch',
+ 'cuter',
+ 'cutes',
+ 'cutey',
+ 'cutin',
+ 'cutis',
+ 'cutto',
+ 'cutty',
+ 'cutup',
+ 'cuvee',
+ 'cuzes',
+ 'cwtch',
+ 'cyano',
+ 'cyans',
+ 'cycad',
+ 'cycas',
+ 'cyclo',
+ 'cyder',
+ 'cylix',
+ 'cymae',
+ 'cymar',
+ 'cymas',
+ 'cymes',
+ 'cymol',
+ 'cysts',
+ 'cytes',
+ 'cyton',
+ 'czars',
+ 'daals',
+ 'dabba',
+ 'daces',
+ 'dacha',
+ 'dacks',
+ 'dadah',
+ 'dadas',
+ 'dados',
+ 'daffs',
+ 'daffy',
+ 'dagga',
+ 'daggy',
+ 'dagos',
+ 'dahls',
+ 'daiko',
+ 'daine',
+ 'daint',
+ 'daker',
+ 'daled',
+ 'dales',
+ 'dalis',
+ 'dalle',
+ 'dalts',
+ 'daman',
+ 'damar',
+ 'dames',
+ 'damme',
+ 'damns',
+ 'damps',
+ 'dampy',
+ 'dancy',
+ 'dangs',
+ 'danio',
+ 'danks',
+ 'danny',
+ 'dants',
+ 'daraf',
+ 'darbs',
+ 'darcy',
+ 'dared',
+ 'darer',
+ 'dares',
+ 'darga',
+ 'dargs',
+ 'daric',
+ 'daris',
+ 'darks',
+ 'darky',
+ 'darns',
+ 'darre',
+ 'darts',
+ 'darzi',
+ 'dashi',
+ 'dashy',
+ 'datal',
+ 'dated',
+ 'dater',
+ 'dates',
+ 'datos',
+ 'datto',
+ 'daube',
+ 'daubs',
+ 'dauby',
+ 'dauds',
+ 'dault',
+ 'daurs',
+ 'dauts',
+ 'daven',
+ 'davit',
+ 'dawah',
+ 'dawds',
+ 'dawed',
+ 'dawen',
+ 'dawks',
+ 'dawns',
+ 'dawts',
+ 'dayan',
+ 'daych',
+ 'daynt',
+ 'dazed',
+ 'dazer',
+ 'dazes',
+ 'deads',
+ 'deair',
+ 'deals',
+ 'deans',
+ 'deare',
+ 'dearn',
+ 'dears',
+ 'deary',
+ 'deash',
+ 'deave',
+ 'deaws',
+ 'deawy',
+ 'debag',
+ 'debby',
+ 'debel',
+ 'debes',
+ 'debts',
+ 'debud',
+ 'debur',
+ 'debus',
+ 'debye',
+ 'decad',
+ 'decaf',
+ 'decan',
+ 'decko',
+ 'decks',
+ 'decos',
+ 'dedal',
+ 'deeds',
+ 'deedy',
+ 'deely',
+ 'deems',
+ 'deens',
+ 'deeps',
+ 'deere',
+ 'deers',
+ 'deets',
+ 'deeve',
+ 'deevs',
+ 'defat',
+ 'deffo',
+ 'defis',
+ 'defog',
+ 'degas',
+ 'degum',
+ 'degus',
+ 'deice',
+ 'deids',
+ 'deify',
+ 'deils',
+ 'deism',
+ 'deist',
+ 'deked',
+ 'dekes',
+ 'dekko',
+ 'deled',
+ 'deles',
+ 'delfs',
+ 'delft',
+ 'delis',
+ 'dells',
+ 'delly',
+ 'delos',
+ 'delph',
+ 'delts',
+ 'deman',
+ 'demes',
+ 'demic',
+ 'demit',
+ 'demob',
+ 'demoi',
+ 'demos',
+ 'dempt',
+ 'denar',
+ 'denay',
+ 'dench',
+ 'denes',
+ 'denet',
+ 'denis',
+ 'dents',
+ 'deoxy',
+ 'derat',
+ 'deray',
+ 'dered',
+ 'deres',
+ 'derig',
+ 'derma',
+ 'derms',
+ 'derns',
+ 'derny',
+ 'deros',
+ 'derro',
+ 'derry',
+ 'derth',
+ 'dervs',
+ 'desex',
+ 'deshi',
+ 'desis',
+ 'desks',
+ 'desse',
+ 'devas',
+ 'devel',
+ 'devis',
+ 'devon',
+ 'devos',
+ 'devot',
+ 'dewan',
+ 'dewar',
+ 'dewax',
+ 'dewed',
+ 'dexes',
+ 'dexie',
+ 'dhaba',
+ 'dhaks',
+ 'dhals',
+ 'dhikr',
+ 'dhobi',
+ 'dhole',
+ 'dholl',
+ 'dhols',
+ 'dhoti',
+ 'dhows',
+ 'dhuti',
+ 'diact',
+ 'dials',
+ 'diane',
+ 'diazo',
+ 'dibbs',
+ 'diced',
+ 'dicer',
+ 'dices',
+ 'dicht',
+ 'dicks',
+ 'dicky',
+ 'dicot',
+ 'dicta',
+ 'dicts',
+ 'dicty',
+ 'diddy',
+ 'didie',
+ 'didos',
+ 'didst',
+ 'diebs',
+ 'diels',
+ 'diene',
+ 'diets',
+ 'diffs',
+ 'dight',
+ 'dikas',
+ 'diked',
+ 'diker',
+ 'dikes',
+ 'dikey',
+ 'dildo',
+ 'dilli',
+ 'dills',
+ 'dimbo',
+ 'dimer',
+ 'dimes',
+ 'dimps',
+ 'dinar',
+ 'dined',
+ 'dines',
+ 'dinge',
+ 'dings',
+ 'dinic',
+ 'dinks',
+ 'dinky',
+ 'dinna',
+ 'dinos',
+ 'dints',
+ 'diols',
+ 'diota',
+ 'dippy',
+ 'dipso',
+ 'diram',
+ 'direr',
+ 'dirke',
+ 'dirks',
+ 'dirls',
+ 'dirts',
+ 'disas',
+ 'disci',
+ 'discs',
+ 'dishy',
+ 'disks',
+ 'disme',
+ 'dital',
+ 'ditas',
+ 'dited',
+ 'dites',
+ 'ditsy',
+ 'ditts',
+ 'ditzy',
+ 'divan',
+ 'divas',
+ 'dived',
+ 'dives',
+ 'divis',
+ 'divna',
+ 'divos',
+ 'divot',
+ 'divvy',
+ 'diwan',
+ 'dixie',
+ 'dixit',
+ 'diyas',
+ 'dizen',
+ 'djinn',
+ 'djins',
+ 'doabs',
+ 'doats',
+ 'dobby',
+ 'dobes',
+ 'dobie',
+ 'dobla',
+ 'dobra',
+ 'dobro',
+ 'docht',
+ 'docks',
+ 'docos',
+ 'docus',
+ 'doddy',
+ 'dodos',
+ 'doeks',
+ 'doers',
+ 'doest',
+ 'doeth',
+ 'doffs',
+ 'dogan',
+ 'doges',
+ 'dogey',
+ 'doggo',
+ 'doggy',
+ 'dogie',
+ 'dohyo',
+ 'doilt',
+ 'doily',
+ 'doits',
+ 'dojos',
+ 'dolce',
+ 'dolci',
+ 'doled',
+ 'doles',
+ 'dolia',
+ 'dolls',
+ 'dolma',
+ 'dolor',
+ 'dolos',
+ 'dolts',
+ 'domal',
+ 'domed',
+ 'domes',
+ 'domic',
+ 'donah',
+ 'donas',
+ 'donee',
+ 'doner',
+ 'donga',
+ 'dongs',
+ 'donko',
+ 'donna',
+ 'donne',
+ 'donny',
+ 'donsy',
+ 'doobs',
+ 'dooce',
+ 'doody',
+ 'dooks',
+ 'doole',
+ 'dools',
+ 'dooly',
+ 'dooms',
+ 'doomy',
+ 'doona',
+ 'doorn',
+ 'doors',
+ 'doozy',
+ 'dopas',
+ 'doped',
+ 'doper',
+ 'dopes',
+ 'dorad',
+ 'dorba',
+ 'dorbs',
+ 'doree',
+ 'dores',
+ 'doric',
+ 'doris',
+ 'dorks',
+ 'dorky',
+ 'dorms',
+ 'dormy',
+ 'dorps',
+ 'dorrs',
+ 'dorsa',
+ 'dorse',
+ 'dorts',
+ 'dorty',
+ 'dosai',
+ 'dosas',
+ 'dosed',
+ 'doseh',
+ 'doser',
+ 'doses',
+ 'dosha',
+ 'dotal',
+ 'doted',
+ 'doter',
+ 'dotes',
+ 'dotty',
+ 'douar',
+ 'douce',
+ 'doucs',
+ 'douks',
+ 'doula',
+ 'douma',
+ 'doums',
+ 'doups',
+ 'doura',
+ 'douse',
+ 'douts',
+ 'doved',
+ 'doven',
+ 'dover',
+ 'doves',
+ 'dovie',
+ 'dowar',
+ 'dowds',
+ 'dowed',
+ 'dower',
+ 'dowie',
+ 'dowle',
+ 'dowls',
+ 'dowly',
+ 'downa',
+ 'downs',
+ 'dowps',
+ 'dowse',
+ 'dowts',
+ 'doxed',
+ 'doxes',
+ 'doxie',
+ 'doyen',
+ 'doyly',
+ 'dozed',
+ 'dozer',
+ 'dozes',
+ 'drabs',
+ 'drack',
+ 'draco',
+ 'draff',
+ 'drags',
+ 'drail',
+ 'drams',
+ 'drant',
+ 'draps',
+ 'drats',
+ 'drave',
+ 'draws',
+ 'drays',
+ 'drear',
+ 'dreck',
+ 'dreed',
+ 'dreer',
+ 'drees',
+ 'dregs',
+ 'dreks',
+ 'drent',
+ 'drere',
+ 'drest',
+ 'dreys',
+ 'dribs',
+ 'drice',
+ 'dries',
+ 'drily',
+ 'drips',
+ 'dript',
+ 'droid',
+ 'droil',
+ 'droke',
+ 'drole',
+ 'drome',
+ 'drony',
+ 'droob',
+ 'droog',
+ 'drook',
+ 'drops',
+ 'dropt',
+ 'drouk',
+ 'drows',
+ 'drubs',
+ 'drugs',
+ 'drums',
+ 'drupe',
+ 'druse',
+ 'drusy',
+ 'druxy',
+ 'dryad',
+ 'dryas',
+ 'dsobo',
+ 'dsomo',
+ 'duads',
+ 'duals',
+ 'duans',
+ 'duars',
+ 'dubbo',
+ 'ducal',
+ 'ducat',
+ 'duces',
+ 'ducks',
+ 'ducky',
+ 'ducts',
+ 'duddy',
+ 'duded',
+ 'dudes',
+ 'duels',
+ 'duets',
+ 'duett',
+ 'duffs',
+ 'dufus',
+ 'duing',
+ 'duits',
+ 'dukas',
+ 'duked',
+ 'dukes',
+ 'dukka',
+ 'dulce',
+ 'dules',
+ 'dulia',
+ 'dulls',
+ 'dulse',
+ 'dumas',
+ 'dumbo',
+ 'dumbs',
+ 'dumka',
+ 'dumky',
+ 'dumps',
+ 'dunam',
+ 'dunch',
+ 'dunes',
+ 'dungs',
+ 'dungy',
+ 'dunks',
+ 'dunno',
+ 'dunny',
+ 'dunsh',
+ 'dunts',
+ 'duomi',
+ 'duomo',
+ 'duped',
+ 'duper',
+ 'dupes',
+ 'duple',
+ 'duply',
+ 'duppy',
+ 'dural',
+ 'duras',
+ 'dured',
+ 'dures',
+ 'durgy',
+ 'durns',
+ 'duroc',
+ 'duros',
+ 'duroy',
+ 'durra',
+ 'durrs',
+ 'durry',
+ 'durst',
+ 'durum',
+ 'durzi',
+ 'dusks',
+ 'dusts',
+ 'duxes',
+ 'dwaal',
+ 'dwale',
+ 'dwalm',
+ 'dwams',
+ 'dwang',
+ 'dwaum',
+ 'dweeb',
+ 'dwile',
+ 'dwine',
+ 'dyads',
+ 'dyers',
+ 'dyked',
+ 'dykes',
+ 'dykey',
+ 'dykon',
+ 'dynel',
+ 'dynes',
+ 'dzhos',
+ 'eagre',
+ 'ealed',
+ 'eales',
+ 'eaned',
+ 'eards',
+ 'eared',
+ 'earls',
+ 'earns',
+ 'earnt',
+ 'earst',
+ 'eased',
+ 'easer',
+ 'eases',
+ 'easle',
+ 'easts',
+ 'eathe',
+ 'eaved',
+ 'eaves',
+ 'ebbed',
+ 'ebbet',
+ 'ebons',
+ 'ebook',
+ 'ecads',
+ 'eched',
+ 'eches',
+ 'echos',
+ 'ecrus',
+ 'edema',
+ 'edged',
+ 'edger',
+ 'edges',
+ 'edile',
+ 'edits',
+ 'educe',
+ 'educt',
+ 'eejit',
+ 'eensy',
+ 'eeven',
+ 'eevns',
+ 'effed',
+ 'egads',
+ 'egers',
+ 'egest',
+ 'eggar',
+ 'egged',
+ 'egger',
+ 'egmas',
+ 'ehing',
+ 'eider',
+ 'eidos',
+ 'eigne',
+ 'eiked',
+ 'eikon',
+ 'eilds',
+ 'eisel',
+ 'ejido',
+ 'ekkas',
+ 'elain',
+ 'eland',
+ 'elans',
+ 'elchi',
+ 'eldin',
+ 'elemi',
+ 'elfed',
+ 'eliad',
+ 'elint',
+ 'elmen',
+ 'eloge',
+ 'elogy',
+ 'eloin',
+ 'elops',
+ 'elpee',
+ 'elsin',
+ 'elute',
+ 'elvan',
+ 'elven',
+ 'elver',
+ 'elves',
+ 'emacs',
+ 'embar',
+ 'embay',
+ 'embog',
+ 'embow',
+ 'embox',
+ 'embus',
+ 'emeer',
+ 'emend',
+ 'emerg',
+ 'emery',
+ 'emeus',
+ 'emics',
+ 'emirs',
+ 'emits',
+ 'emmas',
+ 'emmer',
+ 'emmet',
+ 'emmew',
+ 'emmys',
+ 'emoji',
+ 'emong',
+ 'emote',
+ 'emove',
+ 'empts',
+ 'emule',
+ 'emure',
+ 'emyde',
+ 'emyds',
+ 'enarm',
+ 'enate',
+ 'ended',
+ 'ender',
+ 'endew',
+ 'endue',
+ 'enews',
+ 'enfix',
+ 'eniac',
+ 'enlit',
+ 'enmew',
+ 'ennog',
+ 'enoki',
+ 'enols',
+ 'enorm',
+ 'enows',
+ 'enrol',
+ 'ensew',
+ 'ensky',
+ 'entia',
+ 'enure',
+ 'enurn',
+ 'envoi',
+ 'enzym',
+ 'eorls',
+ 'eosin',
+ 'epact',
+ 'epees',
+ 'ephah',
+ 'ephas',
+ 'ephod',
+ 'ephor',
+ 'epics',
+ 'epode',
+ 'epopt',
+ 'epris',
+ 'eques',
+ 'equid',
+ 'erbia',
+ 'erevs',
+ 'ergon',
+ 'ergos',
+ 'ergot',
+ 'erhus',
+ 'erica',
+ 'erick',
+ 'erics',
+ 'ering',
+ 'erned',
+ 'ernes',
+ 'erose',
+ 'erred',
+ 'erses',
+ 'eruct',
+ 'erugo',
+ 'eruvs',
+ 'erven',
+ 'ervil',
+ 'escar',
+ 'escot',
+ 'esile',
+ 'eskar',
+ 'esker',
+ 'esnes',
+ 'esses',
+ 'estoc',
+ 'estop',
+ 'estro',
+ 'etage',
+ 'etape',
+ 'etats',
+ 'etens',
+ 'ethal',
+ 'ethne',
+ 'ethyl',
+ 'etics',
+ 'etnas',
+ 'ettin',
+ 'ettle',
+ 'etuis',
+ 'etwee',
+ 'etyma',
+ 'eughs',
+ 'euked',
+ 'eupad',
+ 'euros',
+ 'eusol',
+ 'evens',
+ 'evert',
+ 'evets',
+ 'evhoe',
+ 'evils',
+ 'evite',
+ 'evohe',
+ 'ewers',
+ 'ewest',
+ 'ewhow',
+ 'ewked',
+ 'exams',
+ 'exeat',
+ 'execs',
+ 'exeem',
+ 'exeme',
+ 'exfil',
+ 'exies',
+ 'exine',
+ 'exing',
+ 'exits',
+ 'exode',
+ 'exome',
+ 'exons',
+ 'expat',
+ 'expos',
+ 'exude',
+ 'exuls',
+ 'exurb',
+ 'eyass',
+ 'eyers',
+ 'eyots',
+ 'eyras',
+ 'eyres',
+ 'eyrie',
+ 'eyrir',
+ 'ezine',
+ 'fabby',
+ 'faced',
+ 'facer',
+ 'faces',
+ 'facia',
+ 'facta',
+ 'facts',
+ 'faddy',
+ 'faded',
+ 'fader',
+ 'fades',
+ 'fadge',
+ 'fados',
+ 'faena',
+ 'faery',
+ 'faffs',
+ 'faffy',
+ 'faggy',
+ 'fagin',
+ 'fagot',
+ 'faiks',
+ 'fails',
+ 'faine',
+ 'fains',
+ 'fairs',
+ 'faked',
+ 'faker',
+ 'fakes',
+ 'fakey',
+ 'fakie',
+ 'fakir',
+ 'falaj',
+ 'falls',
+ 'famed',
+ 'fames',
+ 'fanal',
+ 'fands',
+ 'fanes',
+ 'fanga',
+ 'fango',
+ 'fangs',
+ 'fanks',
+ 'fanon',
+ 'fanos',
+ 'fanum',
+ 'faqir',
+ 'farad',
+ 'farci',
+ 'farcy',
+ 'fards',
+ 'fared',
+ 'farer',
+ 'fares',
+ 'farle',
+ 'farls',
+ 'farms',
+ 'faros',
+ 'farro',
+ 'farse',
+ 'farts',
+ 'fasci',
+ 'fasti',
+ 'fasts',
+ 'fated',
+ 'fates',
+ 'fatly',
+ 'fatso',
+ 'fatwa',
+ 'faugh',
+ 'fauld',
+ 'fauns',
+ 'faurd',
+ 'fauts',
+ 'fauve',
+ 'favas',
+ 'favel',
+ 'faver',
+ 'faves',
+ 'favus',
+ 'fawns',
+ 'fawny',
+ 'faxed',
+ 'faxes',
+ 'fayed',
+ 'fayer',
+ 'fayne',
+ 'fayre',
+ 'fazed',
+ 'fazes',
+ 'feals',
+ 'feare',
+ 'fears',
+ 'feart',
+ 'fease',
+ 'feats',
+ 'feaze',
+ 'feces',
+ 'fecht',
+ 'fecit',
+ 'fecks',
+ 'fedex',
+ 'feebs',
+ 'feeds',
+ 'feels',
+ 'feens',
+ 'feers',
+ 'feese',
+ 'feeze',
+ 'fehme',
+ 'feint',
+ 'feist',
+ 'felch',
+ 'felid',
+ 'fells',
+ 'felly',
+ 'felts',
+ 'felty',
+ 'femal',
+ 'femes',
+ 'femmy',
+ 'fends',
+ 'fendy',
+ 'fenis',
+ 'fenks',
+ 'fenny',
+ 'fents',
+ 'feods',
+ 'feoff',
+ 'ferer',
+ 'feres',
+ 'feria',
+ 'ferly',
+ 'fermi',
+ 'ferms',
+ 'ferns',
+ 'ferny',
+ 'fesse',
+ 'festa',
+ 'fests',
+ 'festy',
+ 'fetas',
+ 'feted',
+ 'fetes',
+ 'fetor',
+ 'fetta',
+ 'fetts',
+ 'fetwa',
+ 'feuar',
+ 'feuds',
+ 'feued',
+ 'feyed',
+ 'feyer',
+ 'feyly',
+ 'fezes',
+ 'fezzy',
+ 'fiars',
+ 'fiats',
+ 'fibro',
+ 'fices',
+ 'fiche',
+ 'fichu',
+ 'ficin',
+ 'ficos',
+ 'fides',
+ 'fidge',
+ 'fidos',
+ 'fiefs',
+ 'fient',
+ 'fiere',
+ 'fiers',
+ 'fiest',
+ 'fifed',
+ 'fifer',
+ 'fifes',
+ 'fifis',
+ 'figgy',
+ 'figos',
+ 'fiked',
+ 'fikes',
+ 'filar',
+ 'filch',
+ 'filed',
+ 'files',
+ 'filii',
+ 'filks',
+ 'fille',
+ 'fillo',
+ 'fills',
+ 'filmi',
+ 'films',
+ 'filos',
+ 'filum',
+ 'finca',
+ 'finds',
+ 'fined',
+ 'fines',
+ 'finis',
+ 'finks',
+ 'finny',
+ 'finos',
+ 'fiord',
+ 'fiqhs',
+ 'fique',
+ 'fired',
+ 'firer',
+ 'fires',
+ 'firie',
+ 'firks',
+ 'firms',
+ 'firns',
+ 'firry',
+ 'firth',
+ 'fiscs',
+ 'fisks',
+ 'fists',
+ 'fisty',
+ 'fitch',
+ 'fitly',
+ 'fitna',
+ 'fitte',
+ 'fitts',
+ 'fiver',
+ 'fives',
+ 'fixed',
+ 'fixes',
+ 'fixit',
+ 'fjeld',
+ 'flabs',
+ 'flaff',
+ 'flags',
+ 'flaks',
+ 'flamm',
+ 'flams',
+ 'flamy',
+ 'flane',
+ 'flans',
+ 'flaps',
+ 'flary',
+ 'flats',
+ 'flava',
+ 'flawn',
+ 'flaws',
+ 'flawy',
+ 'flaxy',
+ 'flays',
+ 'fleam',
+ 'fleas',
+ 'fleek',
+ 'fleer',
+ 'flees',
+ 'flegs',
+ 'fleme',
+ 'fleur',
+ 'flews',
+ 'flexi',
+ 'flexo',
+ 'fleys',
+ 'flics',
+ 'flied',
+ 'flies',
+ 'flimp',
+ 'flims',
+ 'flips',
+ 'flirs',
+ 'flisk',
+ 'flite',
+ 'flits',
+ 'flitt',
+ 'flobs',
+ 'flocs',
+ 'floes',
+ 'flogs',
+ 'flong',
+ 'flops',
+ 'flors',
+ 'flory',
+ 'flosh',
+ 'flota',
+ 'flote',
+ 'flows',
+ 'flubs',
+ 'flued',
+ 'flues',
+ 'fluey',
+ 'fluky',
+ 'flump',
+ 'fluor',
+ 'flurr',
+ 'fluty',
+ 'fluyt',
+ 'flyby',
+ 'flype',
+ 'flyte',
+ 'foals',
+ 'foams',
+ 'foehn',
+ 'fogey',
+ 'fogie',
+ 'fogle',
+ 'fogou',
+ 'fohns',
+ 'foids',
+ 'foils',
+ 'foins',
+ 'folds',
+ 'foley',
+ 'folia',
+ 'folic',
+ 'folie',
+ 'folks',
+ 'folky',
+ 'fomes',
+ 'fonda',
+ 'fonds',
+ 'fondu',
+ 'fones',
+ 'fonly',
+ 'fonts',
+ 'foods',
+ 'foody',
+ 'fools',
+ 'foots',
+ 'footy',
+ 'foram',
+ 'forbs',
+ 'forby',
+ 'fordo',
+ 'fords',
+ 'forel',
+ 'fores',
+ 'forex',
+ 'forks',
+ 'forky',
+ 'forme',
+ 'forms',
+ 'forts',
+ 'forza',
+ 'forze',
+ 'fossa',
+ 'fosse',
+ 'fouat',
+ 'fouds',
+ 'fouer',
+ 'fouet',
+ 'foule',
+ 'fouls',
+ 'fount',
+ 'fours',
+ 'fouth',
+ 'fovea',
+ 'fowls',
+ 'fowth',
+ 'foxed',
+ 'foxes',
+ 'foxie',
+ 'foyle',
+ 'foyne',
+ 'frabs',
+ 'frack',
+ 'fract',
+ 'frags',
+ 'fraim',
+ 'franc',
+ 'frape',
+ 'fraps',
+ 'frass',
+ 'frate',
+ 'frati',
+ 'frats',
+ 'fraus',
+ 'frays',
+ 'frees',
+ 'freet',
+ 'freit',
+ 'fremd',
+ 'frena',
+ 'freon',
+ 'frere',
+ 'frets',
+ 'fribs',
+ 'frier',
+ 'fries',
+ 'frigs',
+ 'frise',
+ 'frist',
+ 'frith',
+ 'frits',
+ 'fritt',
+ 'frize',
+ 'frizz',
+ 'froes',
+ 'frogs',
+ 'frons',
+ 'frore',
+ 'frorn',
+ 'frory',
+ 'frosh',
+ 'frows',
+ 'frowy',
+ 'frugs',
+ 'frump',
+ 'frush',
+ 'frust',
+ 'fryer',
+ 'fubar',
+ 'fubby',
+ 'fubsy',
+ 'fucks',
+ 'fucus',
+ 'fuddy',
+ 'fudgy',
+ 'fuels',
+ 'fuero',
+ 'fuffs',
+ 'fuffy',
+ 'fugal',
+ 'fuggy',
+ 'fugie',
+ 'fugio',
+ 'fugle',
+ 'fugly',
+ 'fugus',
+ 'fujis',
+ 'fulls',
+ 'fumed',
+ 'fumer',
+ 'fumes',
+ 'fumet',
+ 'fundi',
+ 'funds',
+ 'fundy',
+ 'fungo',
+ 'fungs',
+ 'funks',
+ 'fural',
+ 'furan',
+ 'furca',
+ 'furls',
+ 'furol',
+ 'furrs',
+ 'furth',
+ 'furze',
+ 'furzy',
+ 'fused',
+ 'fusee',
+ 'fusel',
+ 'fuses',
+ 'fusil',
+ 'fusks',
+ 'fusts',
+ 'fusty',
+ 'futon',
+ 'fuzed',
+ 'fuzee',
+ 'fuzes',
+ 'fuzil',
+ 'fyces',
+ 'fyked',
+ 'fykes',
+ 'fyles',
+ 'fyrds',
+ 'fytte',
+ 'gabba',
+ 'gabby',
+ 'gable',
+ 'gaddi',
+ 'gades',
+ 'gadge',
+ 'gadid',
+ 'gadis',
+ 'gadje',
+ 'gadjo',
+ 'gadso',
+ 'gaffs',
+ 'gaged',
+ 'gager',
+ 'gages',
+ 'gaids',
+ 'gains',
+ 'gairs',
+ 'gaita',
+ 'gaits',
+ 'gaitt',
+ 'gajos',
+ 'galah',
+ 'galas',
+ 'galax',
+ 'galea',
+ 'galed',
+ 'gales',
+ 'galls',
+ 'gally',
+ 'galop',
+ 'galut',
+ 'galvo',
+ 'gamas',
+ 'gamay',
+ 'gamba',
+ 'gambe',
+ 'gambo',
+ 'gambs',
+ 'gamed',
+ 'games',
+ 'gamey',
+ 'gamic',
+ 'gamin',
+ 'gamme',
+ 'gammy',
+ 'gamps',
+ 'ganch',
+ 'gandy',
+ 'ganef',
+ 'ganev',
+ 'gangs',
+ 'ganja',
+ 'ganof',
+ 'gants',
+ 'gaols',
+ 'gaped',
+ 'gaper',
+ 'gapes',
+ 'gapos',
+ 'gappy',
+ 'garbe',
+ 'garbo',
+ 'garbs',
+ 'garda',
+ 'gares',
+ 'garis',
+ 'garms',
+ 'garni',
+ 'garre',
+ 'garth',
+ 'garum',
+ 'gases',
+ 'gasps',
+ 'gaspy',
+ 'gasts',
+ 'gatch',
+ 'gated',
+ 'gater',
+ 'gates',
+ 'gaths',
+ 'gator',
+ 'gauch',
+ 'gaucy',
+ 'gauds',
+ 'gauje',
+ 'gault',
+ 'gaums',
+ 'gaumy',
+ 'gaups',
+ 'gaurs',
+ 'gauss',
+ 'gauzy',
+ 'gavot',
+ 'gawcy',
+ 'gawds',
+ 'gawks',
+ 'gawps',
+ 'gawsy',
+ 'gayal',
+ 'gazal',
+ 'gazar',
+ 'gazed',
+ 'gazes',
+ 'gazon',
+ 'gazoo',
+ 'geals',
+ 'geans',
+ 'geare',
+ 'gears',
+ 'geats',
+ 'gebur',
+ 'gecks',
+ 'geeks',
+ 'geeps',
+ 'geest',
+ 'geist',
+ 'geits',
+ 'gelds',
+ 'gelee',
+ 'gelid',
+ 'gelly',
+ 'gelts',
+ 'gemel',
+ 'gemma',
+ 'gemmy',
+ 'gemot',
+ 'genal',
+ 'genas',
+ 'genes',
+ 'genet',
+ 'genic',
+ 'genii',
+ 'genip',
+ 'genny',
+ 'genoa',
+ 'genom',
+ 'genro',
+ 'gents',
+ 'genty',
+ 'genua',
+ 'genus',
+ 'geode',
+ 'geoid',
+ 'gerah',
+ 'gerbe',
+ 'geres',
+ 'gerle',
+ 'germs',
+ 'germy',
+ 'gerne',
+ 'gesse',
+ 'gesso',
+ 'geste',
+ 'gests',
+ 'getas',
+ 'getup',
+ 'geums',
+ 'geyan',
+ 'geyer',
+ 'ghast',
+ 'ghats',
+ 'ghaut',
+ 'ghazi',
+ 'ghees',
+ 'ghest',
+ 'ghyll',
+ 'gibed',
+ 'gibel',
+ 'giber',
+ 'gibes',
+ 'gibli',
+ 'gibus',
+ 'gifts',
+ 'gigas',
+ 'gighe',
+ 'gigot',
+ 'gigue',
+ 'gilas',
+ 'gilds',
+ 'gilet',
+ 'gills',
+ 'gilly',
+ 'gilpy',
+ 'gilts',
+ 'gimel',
+ 'gimme',
+ 'gimps',
+ 'gimpy',
+ 'ginch',
+ 'ginge',
+ 'gings',
+ 'ginks',
+ 'ginny',
+ 'ginzo',
+ 'gipon',
+ 'gippo',
+ 'gippy',
+ 'girds',
+ 'girls',
+ 'girns',
+ 'giron',
+ 'giros',
+ 'girrs',
+ 'girsh',
+ 'girts',
+ 'gismo',
+ 'gisms',
+ 'gists',
+ 'gitch',
+ 'gites',
+ 'giust',
+ 'gived',
+ 'gives',
+ 'gizmo',
+ 'glace',
+ 'glads',
+ 'glady',
+ 'glaik',
+ 'glair',
+ 'glams',
+ 'glans',
+ 'glary',
+ 'glaum',
+ 'glaur',
+ 'glazy',
+ 'gleba',
+ 'glebe',
+ 'gleby',
+ 'glede',
+ 'gleds',
+ 'gleed',
+ 'gleek',
+ 'glees',
+ 'gleet',
+ 'gleis',
+ 'glens',
+ 'glent',
+ 'gleys',
+ 'glial',
+ 'glias',
+ 'glibs',
+ 'gliff',
+ 'glift',
+ 'glike',
+ 'glime',
+ 'glims',
+ 'glisk',
+ 'glits',
+ 'glitz',
+ 'gloam',
+ 'globi',
+ 'globs',
+ 'globy',
+ 'glode',
+ 'glogg',
+ 'gloms',
+ 'gloop',
+ 'glops',
+ 'glost',
+ 'glout',
+ 'glows',
+ 'gloze',
+ 'glued',
+ 'gluer',
+ 'glues',
+ 'gluey',
+ 'glugs',
+ 'glume',
+ 'glums',
+ 'gluon',
+ 'glute',
+ 'gluts',
+ 'gnarl',
+ 'gnarr',
+ 'gnars',
+ 'gnats',
+ 'gnawn',
+ 'gnaws',
+ 'gnows',
+ 'goads',
+ 'goafs',
+ 'goals',
+ 'goary',
+ 'goats',
+ 'goaty',
+ 'goban',
+ 'gobar',
+ 'gobbi',
+ 'gobbo',
+ 'gobby',
+ 'gobis',
+ 'gobos',
+ 'godet',
+ 'godso',
+ 'goels',
+ 'goers',
+ 'goest',
+ 'goeth',
+ 'goety',
+ 'gofer',
+ 'goffs',
+ 'gogga',
+ 'gogos',
+ 'goier',
+ 'gojis',
+ 'golds',
+ 'goldy',
+ 'goles',
+ 'golfs',
+ 'golpe',
+ 'golps',
+ 'gombo',
+ 'gomer',
+ 'gompa',
+ 'gonch',
+ 'gonef',
+ 'gongs',
+ 'gonia',
+ 'gonif',
+ 'gonks',
+ 'gonna',
+ 'gonof',
+ 'gonys',
+ 'gonzo',
+ 'gooby',
+ 'goods',
+ 'goofs',
+ 'googs',
+ 'gooks',
+ 'gooky',
+ 'goold',
+ 'gools',
+ 'gooly',
+ 'goons',
+ 'goony',
+ 'goops',
+ 'goopy',
+ 'goors',
+ 'goory',
+ 'goosy',
+ 'gopak',
+ 'gopik',
+ 'goral',
+ 'goras',
+ 'gored',
+ 'gores',
+ 'goris',
+ 'gorms',
+ 'gormy',
+ 'gorps',
+ 'gorse',
+ 'gorsy',
+ 'gosht',
+ 'gosse',
+ 'gotch',
+ 'goths',
+ 'gothy',
+ 'gotta',
+ 'gouch',
+ 'gouks',
+ 'goura',
+ 'gouts',
+ 'gouty',
+ 'gowan',
+ 'gowds',
+ 'gowfs',
+ 'gowks',
+ 'gowls',
+ 'gowns',
+ 'goxes',
+ 'goyim',
+ 'goyle',
+ 'graal',
+ 'grabs',
+ 'grads',
+ 'graff',
+ 'graip',
+ 'grama',
+ 'grame',
+ 'gramp',
+ 'grams',
+ 'grana',
+ 'grans',
+ 'grapy',
+ 'gravs',
+ 'grays',
+ 'grebe',
+ 'grebo',
+ 'grece',
+ 'greek',
+ 'grees',
+ 'grege',
+ 'grego',
+ 'grein',
+ 'grens',
+ 'grese',
+ 'greve',
+ 'grews',
+ 'greys',
+ 'grice',
+ 'gride',
+ 'grids',
+ 'griff',
+ 'grift',
+ 'grigs',
+ 'grike',
+ 'grins',
+ 'griot',
+ 'grips',
+ 'gript',
+ 'gripy',
+ 'grise',
+ 'grist',
+ 'grisy',
+ 'grith',
+ 'grits',
+ 'grize',
+ 'groat',
+ 'grody',
+ 'grogs',
+ 'groks',
+ 'groma',
+ 'grone',
+ 'groof',
+ 'grosz',
+ 'grots',
+ 'grouf',
+ 'grovy',
+ 'grows',
+ 'grrls',
+ 'grrrl',
+ 'grubs',
+ 'grued',
+ 'grues',
+ 'grufe',
+ 'grume',
+ 'grump',
+ 'grund',
+ 'gryce',
+ 'gryde',
+ 'gryke',
+ 'grype',
+ 'grypt',
+ 'guaco',
+ 'guana',
+ 'guano',
+ 'guans',
+ 'guars',
+ 'gucks',
+ 'gucky',
+ 'gudes',
+ 'guffs',
+ 'gugas',
+ 'guids',
+ 'guimp',
+ 'guiro',
+ 'gulag',
+ 'gular',
+ 'gulas',
+ 'gules',
+ 'gulet',
+ 'gulfs',
+ 'gulfy',
+ 'gulls',
+ 'gulph',
+ 'gulps',
+ 'gulpy',
+ 'gumma',
+ 'gummi',
+ 'gumps',
+ 'gundy',
+ 'gunge',
+ 'gungy',
+ 'gunks',
+ 'gunky',
+ 'gunny',
+ 'guqin',
+ 'gurdy',
+ 'gurge',
+ 'gurls',
+ 'gurly',
+ 'gurns',
+ 'gurry',
+ 'gursh',
+ 'gurus',
+ 'gushy',
+ 'gusla',
+ 'gusle',
+ 'gusli',
+ 'gussy',
+ 'gusts',
+ 'gutsy',
+ 'gutta',
+ 'gutty',
+ 'guyed',
+ 'guyle',
+ 'guyot',
+ 'guyse',
+ 'gwine',
+ 'gyals',
+ 'gyans',
+ 'gybed',
+ 'gybes',
+ 'gyeld',
+ 'gymps',
+ 'gynae',
+ 'gynie',
+ 'gynny',
+ 'gynos',
+ 'gyoza',
+ 'gypos',
+ 'gyppo',
+ 'gyppy',
+ 'gyral',
+ 'gyred',
+ 'gyres',
+ 'gyron',
+ 'gyros',
+ 'gyrus',
+ 'gytes',
+ 'gyved',
+ 'gyves',
+ 'haafs',
+ 'haars',
+ 'hable',
+ 'habus',
+ 'hacek',
+ 'hacks',
+ 'hadal',
+ 'haded',
+ 'hades',
+ 'hadji',
+ 'hadst',
+ 'haems',
+ 'haets',
+ 'haffs',
+ 'hafiz',
+ 'hafts',
+ 'haggs',
+ 'hahas',
+ 'haick',
+ 'haika',
+ 'haiks',
+ 'haiku',
+ 'hails',
+ 'haily',
+ 'hains',
+ 'haint',
+ 'hairs',
+ 'haith',
+ 'hajes',
+ 'hajis',
+ 'hajji',
+ 'hakam',
+ 'hakas',
+ 'hakea',
+ 'hakes',
+ 'hakim',
+ 'hakus',
+ 'halal',
+ 'haled',
+ 'haler',
+ 'hales',
+ 'halfa',
+ 'halfs',
+ 'halid',
+ 'hallo',
+ 'halls',
+ 'halma',
+ 'halms',
+ 'halon',
+ 'halos',
+ 'halse',
+ 'halts',
+ 'halva',
+ 'halwa',
+ 'hamal',
+ 'hamba',
+ 'hamed',
+ 'hames',
+ 'hammy',
+ 'hamza',
+ 'hanap',
+ 'hance',
+ 'hanch',
+ 'hands',
+ 'hangi',
+ 'hangs',
+ 'hanks',
+ 'hanky',
+ 'hansa',
+ 'hanse',
+ 'hants',
+ 'haole',
+ 'haoma',
+ 'hapax',
+ 'haply',
+ 'happi',
+ 'hapus',
+ 'haram',
+ 'hards',
+ 'hared',
+ 'hares',
+ 'harim',
+ 'harks',
+ 'harls',
+ 'harms',
+ 'harns',
+ 'haros',
+ 'harps',
+ 'harts',
+ 'hashy',
+ 'hasks',
+ 'hasps',
+ 'hasta',
+ 'hated',
+ 'hates',
+ 'hatha',
+ 'hauds',
+ 'haufs',
+ 'haugh',
+ 'hauld',
+ 'haulm',
+ 'hauls',
+ 'hault',
+ 'hauns',
+ 'hause',
+ 'haver',
+ 'haves',
+ 'hawed',
+ 'hawks',
+ 'hawms',
+ 'hawse',
+ 'hayed',
+ 'hayer',
+ 'hayey',
+ 'hayle',
+ 'hazan',
+ 'hazed',
+ 'hazer',
+ 'hazes',
+ 'heads',
+ 'heald',
+ 'heals',
+ 'heame',
+ 'heaps',
+ 'heapy',
+ 'heare',
+ 'hears',
+ 'heast',
+ 'heats',
+ 'heben',
+ 'hebes',
+ 'hecht',
+ 'hecks',
+ 'heder',
+ 'hedgy',
+ 'heeds',
+ 'heedy',
+ 'heels',
+ 'heeze',
+ 'hefte',
+ 'hefts',
+ 'heids',
+ 'heigh',
+ 'heils',
+ 'heirs',
+ 'hejab',
+ 'hejra',
+ 'heled',
+ 'heles',
+ 'helio',
+ 'hells',
+ 'helms',
+ 'helos',
+ 'helot',
+ 'helps',
+ 'helve',
+ 'hemal',
+ 'hemes',
+ 'hemic',
+ 'hemin',
+ 'hemps',
+ 'hempy',
+ 'hench',
+ 'hends',
+ 'henge',
+ 'henna',
+ 'henny',
+ 'henry',
+ 'hents',
+ 'hepar',
+ 'herbs',
+ 'herby',
+ 'herds',
+ 'heres',
+ 'herls',
+ 'herma',
+ 'herms',
+ 'herns',
+ 'heros',
+ 'herry',
+ 'herse',
+ 'hertz',
+ 'herye',
+ 'hesps',
+ 'hests',
+ 'hetes',
+ 'heths',
+ 'heuch',
+ 'heugh',
+ 'hevea',
+ 'hewed',
+ 'hewer',
+ 'hewgh',
+ 'hexad',
+ 'hexed',
+ 'hexer',
+ 'hexes',
+ 'hexyl',
+ 'heyed',
+ 'hiant',
+ 'hicks',
+ 'hided',
+ 'hider',
+ 'hides',
+ 'hiems',
+ 'highs',
+ 'hight',
+ 'hijab',
+ 'hijra',
+ 'hiked',
+ 'hiker',
+ 'hikes',
+ 'hikoi',
+ 'hilar',
+ 'hilch',
+ 'hillo',
+ 'hills',
+ 'hilts',
+ 'hilum',
+ 'hilus',
+ 'himbo',
+ 'hinau',
+ 'hinds',
+ 'hings',
+ 'hinky',
+ 'hinny',
+ 'hints',
+ 'hiois',
+ 'hiply',
+ 'hired',
+ 'hiree',
+ 'hirer',
+ 'hires',
+ 'hissy',
+ 'hists',
+ 'hithe',
+ 'hived',
+ 'hiver',
+ 'hives',
+ 'hizen',
+ 'hoaed',
+ 'hoagy',
+ 'hoars',
+ 'hoary',
+ 'hoast',
+ 'hobos',
+ 'hocks',
+ 'hocus',
+ 'hodad',
+ 'hodja',
+ 'hoers',
+ 'hogan',
+ 'hogen',
+ 'hoggs',
+ 'hoghs',
+ 'hohed',
+ 'hoick',
+ 'hoied',
+ 'hoiks',
+ 'hoing',
+ 'hoise',
+ 'hokas',
+ 'hoked',
+ 'hokes',
+ 'hokey',
+ 'hokis',
+ 'hokku',
+ 'hokum',
+ 'holds',
+ 'holed',
+ 'holes',
+ 'holey',
+ 'holks',
+ 'holla',
+ 'hollo',
+ 'holme',
+ 'holms',
+ 'holon',
+ 'holos',
+ 'holts',
+ 'homas',
+ 'homed',
+ 'homes',
+ 'homey',
+ 'homie',
+ 'homme',
+ 'homos',
+ 'honan',
+ 'honda',
+ 'honds',
+ 'honed',
+ 'honer',
+ 'hones',
+ 'hongi',
+ 'hongs',
+ 'honks',
+ 'honky',
+ 'hooch',
+ 'hoods',
+ 'hoody',
+ 'hooey',
+ 'hoofs',
+ 'hooka',
+ 'hooks',
+ 'hooky',
+ 'hooly',
+ 'hoons',
+ 'hoops',
+ 'hoord',
+ 'hoors',
+ 'hoosh',
+ 'hoots',
+ 'hooty',
+ 'hoove',
+ 'hopak',
+ 'hoped',
+ 'hoper',
+ 'hopes',
+ 'hoppy',
+ 'horah',
+ 'horal',
+ 'horas',
+ 'horis',
+ 'horks',
+ 'horme',
+ 'horns',
+ 'horst',
+ 'horsy',
+ 'hosed',
+ 'hosel',
+ 'hosen',
+ 'hoser',
+ 'hoses',
+ 'hosey',
+ 'hosta',
+ 'hosts',
+ 'hotch',
+ 'hoten',
+ 'hotty',
+ 'houff',
+ 'houfs',
+ 'hough',
+ 'houri',
+ 'hours',
+ 'houts',
+ 'hovea',
+ 'hoved',
+ 'hoven',
+ 'hoves',
+ 'howbe',
+ 'howes',
+ 'howff',
+ 'howfs',
+ 'howks',
+ 'howls',
+ 'howre',
+ 'howso',
+ 'hoxed',
+ 'hoxes',
+ 'hoyas',
+ 'hoyed',
+ 'hoyle',
+ 'hubby',
+ 'hucks',
+ 'hudna',
+ 'hudud',
+ 'huers',
+ 'huffs',
+ 'huffy',
+ 'huger',
+ 'huggy',
+ 'huhus',
+ 'huias',
+ 'hulas',
+ 'hules',
+ 'hulks',
+ 'hulky',
+ 'hullo',
+ 'hulls',
+ 'hully',
+ 'humas',
+ 'humfs',
+ 'humic',
+ 'humps',
+ 'humpy',
+ 'hunks',
+ 'hunts',
+ 'hurds',
+ 'hurls',
+ 'hurly',
+ 'hurra',
+ 'hurst',
+ 'hurts',
+ 'hushy',
+ 'husks',
+ 'husos',
+ 'hutia',
+ 'huzza',
+ 'huzzy',
+ 'hwyls',
+ 'hydra',
+ 'hyens',
+ 'hygge',
+ 'hying',
+ 'hykes',
+ 'hylas',
+ 'hyleg',
+ 'hyles',
+ 'hylic',
+ 'hymns',
+ 'hynde',
+ 'hyoid',
+ 'hyped',
+ 'hypes',
+ 'hypha',
+ 'hyphy',
+ 'hypos',
+ 'hyrax',
+ 'hyson',
+ 'hythe',
+ 'iambi',
+ 'iambs',
+ 'ibrik',
+ 'icers',
+ 'iched',
+ 'iches',
+ 'ichor',
+ 'icier',
+ 'icker',
+ 'ickle',
+ 'icons',
+ 'ictal',
+ 'ictic',
+ 'ictus',
+ 'idant',
+ 'ideas',
+ 'idees',
+ 'ident',
+ 'idled',
+ 'idles',
+ 'idola',
+ 'idols',
+ 'idyls',
+ 'iftar',
+ 'igapo',
+ 'igged',
+ 'iglus',
+ 'ihram',
+ 'ikans',
+ 'ikats',
+ 'ikons',
+ 'ileac',
+ 'ileal',
+ 'ileum',
+ 'ileus',
+ 'iliad',
+ 'ilial',
+ 'ilium',
+ 'iller',
+ 'illth',
+ 'imago',
+ 'imams',
+ 'imari',
+ 'imaum',
+ 'imbar',
+ 'imbed',
+ 'imide',
+ 'imido',
+ 'imids',
+ 'imine',
+ 'imino',
+ 'immew',
+ 'immit',
+ 'immix',
+ 'imped',
+ 'impis',
+ 'impot',
+ 'impro',
+ 'imshi',
+ 'imshy',
+ 'inapt',
+ 'inarm',
+ 'inbye',
+ 'incel',
+ 'incle',
+ 'incog',
+ 'incus',
+ 'incut',
+ 'indew',
+ 'india',
+ 'indie',
+ 'indol',
+ 'indow',
+ 'indri',
+ 'indue',
+ 'inerm',
+ 'infix',
+ 'infos',
+ 'infra',
+ 'ingan',
+ 'ingle',
+ 'inion',
+ 'inked',
+ 'inker',
+ 'inkle',
+ 'inned',
+ 'innit',
+ 'inorb',
+ 'inrun',
+ 'inset',
+ 'inspo',
+ 'intel',
+ 'intil',
+ 'intis',
+ 'intra',
+ 'inula',
+ 'inure',
+ 'inurn',
+ 'inust',
+ 'invar',
+ 'inwit',
+ 'iodic',
+ 'iodid',
+ 'iodin',
+ 'iotas',
+ 'ippon',
+ 'irade',
+ 'irids',
+ 'iring',
+ 'irked',
+ 'iroko',
+ 'irone',
+ 'irons',
+ 'isbas',
+ 'ishes',
+ 'isled',
+ 'isles',
+ 'isnae',
+ 'issei',
+ 'istle',
+ 'items',
+ 'ither',
+ 'ivied',
+ 'ivies',
+ 'ixias',
+ 'ixnay',
+ 'ixora',
+ 'ixtle',
+ 'izard',
+ 'izars',
+ 'izzat',
+ 'jaaps',
+ 'jabot',
+ 'jacal',
+ 'jacks',
+ 'jacky',
+ 'jaded',
+ 'jades',
+ 'jafas',
+ 'jaffa',
+ 'jagas',
+ 'jager',
+ 'jaggs',
+ 'jaggy',
+ 'jagir',
+ 'jagra',
+ 'jails',
+ 'jaker',
+ 'jakes',
+ 'jakey',
+ 'jalap',
+ 'jalop',
+ 'jambe',
+ 'jambo',
+ 'jambs',
+ 'jambu',
+ 'james',
+ 'jammy',
+ 'jamon',
+ 'janes',
+ 'janns',
+ 'janny',
+ 'janty',
+ 'japan',
+ 'japed',
+ 'japer',
+ 'japes',
+ 'jarks',
+ 'jarls',
+ 'jarps',
+ 'jarta',
+ 'jarul',
+ 'jasey',
+ 'jaspe',
+ 'jasps',
+ 'jatos',
+ 'jauks',
+ 'jaups',
+ 'javas',
+ 'javel',
+ 'jawan',
+ 'jawed',
+ 'jaxie',
+ 'jeans',
+ 'jeats',
+ 'jebel',
+ 'jedis',
+ 'jeels',
+ 'jeely',
+ 'jeeps',
+ 'jeers',
+ 'jeeze',
+ 'jefes',
+ 'jeffs',
+ 'jehad',
+ 'jehus',
+ 'jelab',
+ 'jello',
+ 'jells',
+ 'jembe',
+ 'jemmy',
+ 'jenny',
+ 'jeons',
+ 'jerid',
+ 'jerks',
+ 'jerry',
+ 'jesse',
+ 'jests',
+ 'jesus',
+ 'jetes',
+ 'jeton',
+ 'jeune',
+ 'jewed',
+ 'jewie',
+ 'jhala',
+ 'jiaos',
+ 'jibba',
+ 'jibbs',
+ 'jibed',
+ 'jiber',
+ 'jibes',
+ 'jiffs',
+ 'jiggy',
+ 'jigot',
+ 'jihad',
+ 'jills',
+ 'jilts',
+ 'jimmy',
+ 'jimpy',
+ 'jingo',
+ 'jinks',
+ 'jinne',
+ 'jinni',
+ 'jinns',
+ 'jirds',
+ 'jirga',
+ 'jirre',
+ 'jisms',
+ 'jived',
+ 'jiver',
+ 'jives',
+ 'jivey',
+ 'jnana',
+ 'jobed',
+ 'jobes',
+ 'jocko',
+ 'jocks',
+ 'jocky',
+ 'jocos',
+ 'jodel',
+ 'joeys',
+ 'johns',
+ 'joins',
+ 'joked',
+ 'jokes',
+ 'jokey',
+ 'jokol',
+ 'joled',
+ 'joles',
+ 'jolls',
+ 'jolts',
+ 'jolty',
+ 'jomon',
+ 'jomos',
+ 'jones',
+ 'jongs',
+ 'jonty',
+ 'jooks',
+ 'joram',
+ 'jorum',
+ 'jotas',
+ 'jotty',
+ 'jotun',
+ 'joual',
+ 'jougs',
+ 'jouks',
+ 'joule',
+ 'jours',
+ 'jowar',
+ 'jowed',
+ 'jowls',
+ 'jowly',
+ 'joyed',
+ 'jubas',
+ 'jubes',
+ 'jucos',
+ 'judas',
+ 'judgy',
+ 'judos',
+ 'jugal',
+ 'jugum',
+ 'jujus',
+ 'juked',
+ 'jukes',
+ 'jukus',
+ 'julep',
+ 'jumar',
+ 'jumby',
+ 'jumps',
+ 'junco',
+ 'junks',
+ 'junky',
+ 'jupes',
+ 'jupon',
+ 'jural',
+ 'jurat',
+ 'jurel',
+ 'jures',
+ 'justs',
+ 'jutes',
+ 'jutty',
+ 'juves',
+ 'juvie',
+ 'kaama',
+ 'kabab',
+ 'kabar',
+ 'kabob',
+ 'kacha',
+ 'kacks',
+ 'kadai',
+ 'kades',
+ 'kadis',
+ 'kafir',
+ 'kagos',
+ 'kagus',
+ 'kahal',
+ 'kaiak',
+ 'kaids',
+ 'kaies',
+ 'kaifs',
+ 'kaika',
+ 'kaiks',
+ 'kails',
+ 'kaims',
+ 'kaing',
+ 'kains',
+ 'kakas',
+ 'kakis',
+ 'kalam',
+ 'kales',
+ 'kalif',
+ 'kalis',
+ 'kalpa',
+ 'kamas',
+ 'kames',
+ 'kamik',
+ 'kamis',
+ 'kamme',
+ 'kanae',
+ 'kanas',
+ 'kandy',
+ 'kaneh',
+ 'kanes',
+ 'kanga',
+ 'kangs',
+ 'kanji',
+ 'kants',
+ 'kanzu',
+ 'kaons',
+ 'kapas',
+ 'kaphs',
+ 'kapok',
+ 'kapow',
+ 'kapus',
+ 'kaput',
+ 'karas',
+ 'karat',
+ 'karks',
+ 'karns',
+ 'karoo',
+ 'karos',
+ 'karri',
+ 'karst',
+ 'karsy',
+ 'karts',
+ 'karzy',
+ 'kasha',
+ 'kasme',
+ 'katal',
+ 'katas',
+ 'katis',
+ 'katti',
+ 'kaugh',
+ 'kauri',
+ 'kauru',
+ 'kaury',
+ 'kaval',
+ 'kavas',
+ 'kawas',
+ 'kawau',
+ 'kawed',
+ 'kayle',
+ 'kayos',
+ 'kazis',
+ 'kazoo',
+ 'kbars',
+ 'kebar',
+ 'kebob',
+ 'kecks',
+ 'kedge',
+ 'kedgy',
+ 'keech',
+ 'keefs',
+ 'keeks',
+ 'keels',
+ 'keema',
+ 'keeno',
+ 'keens',
+ 'keeps',
+ 'keets',
+ 'keeve',
+ 'kefir',
+ 'kehua',
+ 'keirs',
+ 'kelep',
+ 'kelim',
+ 'kells',
+ 'kelly',
+ 'kelps',
+ 'kelpy',
+ 'kelts',
+ 'kelty',
+ 'kembo',
+ 'kembs',
+ 'kemps',
+ 'kempt',
+ 'kempy',
+ 'kenaf',
+ 'kench',
+ 'kendo',
+ 'kenos',
+ 'kente',
+ 'kents',
+ 'kepis',
+ 'kerbs',
+ 'kerel',
+ 'kerfs',
+ 'kerky',
+ 'kerma',
+ 'kerne',
+ 'kerns',
+ 'keros',
+ 'kerry',
+ 'kerve',
+ 'kesar',
+ 'kests',
+ 'ketas',
+ 'ketch',
+ 'ketes',
+ 'ketol',
+ 'kevel',
+ 'kevil',
+ 'kexes',
+ 'keyed',
+ 'keyer',
+ 'khadi',
+ 'khafs',
+ 'khans',
+ 'khaph',
+ 'khats',
+ 'khaya',
+ 'khazi',
+ 'kheda',
+ 'kheth',
+ 'khets',
+ 'khoja',
+ 'khors',
+ 'khoum',
+ 'khuds',
+ 'kiaat',
+ 'kiack',
+ 'kiang',
+ 'kibbe',
+ 'kibbi',
+ 'kibei',
+ 'kibes',
+ 'kibla',
+ 'kicks',
+ 'kicky',
+ 'kiddo',
+ 'kiddy',
+ 'kidel',
+ 'kidge',
+ 'kiefs',
+ 'kiers',
+ 'kieve',
+ 'kievs',
+ 'kight',
+ 'kikes',
+ 'kikoi',
+ 'kiley',
+ 'kilim',
+ 'kills',
+ 'kilns',
+ 'kilos',
+ 'kilps',
+ 'kilts',
+ 'kilty',
+ 'kimbo',
+ 'kinas',
+ 'kinda',
+ 'kinds',
+ 'kindy',
+ 'kines',
+ 'kings',
+ 'kinin',
+ 'kinks',
+ 'kinos',
+ 'kiore',
+ 'kipes',
+ 'kippa',
+ 'kipps',
+ 'kirby',
+ 'kirks',
+ 'kirns',
+ 'kirri',
+ 'kisan',
+ 'kissy',
+ 'kists',
+ 'kited',
+ 'kiter',
+ 'kites',
+ 'kithe',
+ 'kiths',
+ 'kitul',
+ 'kivas',
+ 'kiwis',
+ 'klang',
+ 'klaps',
+ 'klett',
+ 'klick',
+ 'klieg',
+ 'kliks',
+ 'klong',
+ 'kloof',
+ 'kluge',
+ 'klutz',
+ 'knags',
+ 'knaps',
+ 'knarl',
+ 'knars',
+ 'knaur',
+ 'knawe',
+ 'knees',
+ 'knell',
+ 'knish',
+ 'knits',
+ 'knive',
+ 'knobs',
+ 'knops',
+ 'knosp',
+ 'knots',
+ 'knout',
+ 'knowe',
+ 'knows',
+ 'knubs',
+ 'knurl',
+ 'knurr',
+ 'knurs',
+ 'knuts',
+ 'koans',
+ 'koaps',
+ 'koban',
+ 'kobos',
+ 'koels',
+ 'koffs',
+ 'kofta',
+ 'kogal',
+ 'kohas',
+ 'kohen',
+ 'kohls',
+ 'koine',
+ 'kojis',
+ 'kokam',
+ 'kokas',
+ 'koker',
+ 'kokra',
+ 'kokum',
+ 'kolas',
+ 'kolos',
+ 'kombu',
+ 'konbu',
+ 'kondo',
+ 'konks',
+ 'kooks',
+ 'kooky',
+ 'koori',
+ 'kopek',
+ 'kophs',
+ 'kopje',
+ 'koppa',
+ 'korai',
+ 'koras',
+ 'korat',
+ 'kores',
+ 'korma',
+ 'koros',
+ 'korun',
+ 'korus',
+ 'koses',
+ 'kotch',
+ 'kotos',
+ 'kotow',
+ 'koura',
+ 'kraal',
+ 'krabs',
+ 'kraft',
+ 'krais',
+ 'krait',
+ 'krang',
+ 'krans',
+ 'kranz',
+ 'kraut',
+ 'krays',
+ 'kreep',
+ 'kreng',
+ 'krewe',
+ 'krona',
+ 'krone',
+ 'kroon',
+ 'krubi',
+ 'krunk',
+ 'ksars',
+ 'kubie',
+ 'kudos',
+ 'kudus',
+ 'kudzu',
+ 'kufis',
+ 'kugel',
+ 'kuias',
+ 'kukri',
+ 'kukus',
+ 'kulak',
+ 'kulan',
+ 'kulas',
+ 'kulfi',
+ 'kumis',
+ 'kumys',
+ 'kuris',
+ 'kurre',
+ 'kurta',
+ 'kurus',
+ 'kusso',
+ 'kutas',
+ 'kutch',
+ 'kutis',
+ 'kutus',
+ 'kuzus',
+ 'kvass',
+ 'kvell',
+ 'kwela',
+ 'kyack',
+ 'kyaks',
+ 'kyang',
+ 'kyars',
+ 'kyats',
+ 'kybos',
+ 'kydst',
+ 'kyles',
+ 'kylie',
+ 'kylin',
+ 'kylix',
+ 'kyloe',
+ 'kynde',
+ 'kynds',
+ 'kypes',
+ 'kyrie',
+ 'kytes',
+ 'kythe',
+ 'laari',
+ 'labda',
+ 'labia',
+ 'labis',
+ 'labra',
+ 'laced',
+ 'lacer',
+ 'laces',
+ 'lacet',
+ 'lacey',
+ 'lacks',
+ 'laddy',
+ 'laded',
+ 'lader',
+ 'lades',
+ 'laers',
+ 'laevo',
+ 'lagan',
+ 'lahal',
+ 'lahar',
+ 'laich',
+ 'laics',
+ 'laids',
+ 'laigh',
+ 'laika',
+ 'laiks',
+ 'laird',
+ 'lairs',
+ 'lairy',
+ 'laith',
+ 'laity',
+ 'laked',
+ 'laker',
+ 'lakes',
+ 'lakhs',
+ 'lakin',
+ 'laksa',
+ 'laldy',
+ 'lalls',
+ 'lamas',
+ 'lambs',
+ 'lamby',
+ 'lamed',
+ 'lamer',
+ 'lames',
+ 'lamia',
+ 'lammy',
+ 'lamps',
+ 'lanai',
+ 'lanas',
+ 'lanch',
+ 'lande',
+ 'lands',
+ 'lanes',
+ 'lanks',
+ 'lants',
+ 'lapin',
+ 'lapis',
+ 'lapje',
+ 'larch',
+ 'lards',
+ 'lardy',
+ 'laree',
+ 'lares',
+ 'largo',
+ 'laris',
+ 'larks',
+ 'larky',
+ 'larns',
+ 'larnt',
+ 'larum',
+ 'lased',
+ 'laser',
+ 'lases',
+ 'lassi',
+ 'lassu',
+ 'lassy',
+ 'lasts',
+ 'latah',
+ 'lated',
+ 'laten',
+ 'latex',
+ 'lathi',
+ 'laths',
+ 'lathy',
+ 'latke',
+ 'latus',
+ 'lauan',
+ 'lauch',
+ 'lauds',
+ 'laufs',
+ 'laund',
+ 'laura',
+ 'laval',
+ 'lavas',
+ 'laved',
+ 'laver',
+ 'laves',
+ 'lavra',
+ 'lavvy',
+ 'lawed',
+ 'lawer',
+ 'lawin',
+ 'lawks',
+ 'lawns',
+ 'lawny',
+ 'laxed',
+ 'laxer',
+ 'laxes',
+ 'laxly',
+ 'layed',
+ 'layin',
+ 'layup',
+ 'lazar',
+ 'lazed',
+ 'lazes',
+ 'lazos',
+ 'lazzi',
+ 'lazzo',
+ 'leads',
+ 'leady',
+ 'leafs',
+ 'leaks',
+ 'leams',
+ 'leans',
+ 'leany',
+ 'leaps',
+ 'leare',
+ 'lears',
+ 'leary',
+ 'leats',
+ 'leavy',
+ 'leaze',
+ 'leben',
+ 'leccy',
+ 'ledes',
+ 'ledgy',
+ 'ledum',
+ 'leear',
+ 'leeks',
+ 'leeps',
+ 'leers',
+ 'leese',
+ 'leets',
+ 'leeze',
+ 'lefte',
+ 'lefts',
+ 'leger',
+ 'leges',
+ 'legge',
+ 'leggo',
+ 'legit',
+ 'lehrs',
+ 'lehua',
+ 'leirs',
+ 'leish',
+ 'leman',
+ 'lemed',
+ 'lemel',
+ 'lemes',
+ 'lemma',
+ 'lemme',
+ 'lends',
+ 'lenes',
+ 'lengs',
+ 'lenis',
+ 'lenos',
+ 'lense',
+ 'lenti',
+ 'lento',
+ 'leone',
+ 'lepid',
+ 'lepra',
+ 'lepta',
+ 'lered',
+ 'leres',
+ 'lerps',
+ 'lesbo',
+ 'leses',
+ 'lests',
+ 'letch',
+ 'lethe',
+ 'letup',
+ 'leuch',
+ 'leuco',
+ 'leuds',
+ 'leugh',
+ 'levas',
+ 'levee',
+ 'leves',
+ 'levin',
+ 'levis',
+ 'lewis',
+ 'lexes',
+ 'lexis',
+ 'lezes',
+ 'lezza',
+ 'lezzy',
+ 'liana',
+ 'liane',
+ 'liang',
+ 'liard',
+ 'liars',
+ 'liart',
+ 'liber',
+ 'libra',
+ 'libri',
+ 'lichi',
+ 'licht',
+ 'licit',
+ 'licks',
+ 'lidar',
+ 'lidos',
+ 'liefs',
+ 'liens',
+ 'liers',
+ 'lieus',
+ 'lieve',
+ 'lifer',
+ 'lifes',
+ 'lifts',
+ 'ligan',
+ 'liger',
+ 'ligge',
+ 'ligne',
+ 'liked',
+ 'liker',
+ 'likes',
+ 'likin',
+ 'lills',
+ 'lilos',
+ 'lilts',
+ 'liman',
+ 'limas',
+ 'limax',
+ 'limba',
+ 'limbi',
+ 'limbs',
+ 'limby',
+ 'limed',
+ 'limen',
+ 'limes',
+ 'limey',
+ 'limma',
+ 'limns',
+ 'limos',
+ 'limpa',
+ 'limps',
+ 'linac',
+ 'linch',
+ 'linds',
+ 'lindy',
+ 'lined',
+ 'lines',
+ 'liney',
+ 'linga',
+ 'lings',
+ 'lingy',
+ 'linin',
+ 'links',
+ 'linky',
+ 'linns',
+ 'linny',
+ 'linos',
+ 'lints',
+ 'linty',
+ 'linum',
+ 'linux',
+ 'lions',
+ 'lipas',
+ 'lipes',
+ 'lipin',
+ 'lipos',
+ 'lippy',
+ 'liras',
+ 'lirks',
+ 'lirot',
+ 'lisks',
+ 'lisle',
+ 'lisps',
+ 'lists',
+ 'litai',
+ 'litas',
+ 'lited',
+ 'liter',
+ 'lites',
+ 'litho',
+ 'liths',
+ 'litre',
+ 'lived',
+ 'liven',
+ 'lives',
+ 'livor',
+ 'livre',
+ 'llano',
+ 'loach',
+ 'loads',
+ 'loafs',
+ 'loams',
+ 'loans',
+ 'loast',
+ 'loave',
+ 'lobar',
+ 'lobed',
+ 'lobes',
+ 'lobos',
+ 'lobus',
+ 'loche',
+ 'lochs',
+ 'locie',
+ 'locis',
+ 'locks',
+ 'locos',
+ 'locum',
+ 'loden',
+ 'lodes',
+ 'loess',
+ 'lofts',
+ 'logan',
+ 'loges',
+ 'loggy',
+ 'logia',
+ 'logie',
+ 'logoi',
+ 'logon',
+ 'logos',
+ 'lohan',
+ 'loids',
+ 'loins',
+ 'loipe',
+ 'loirs',
+ 'lokes',
+ 'lolls',
+ 'lolly',
+ 'lolog',
+ 'lomas',
+ 'lomed',
+ 'lomes',
+ 'loner',
+ 'longa',
+ 'longe',
+ 'longs',
+ 'looby',
+ 'looed',
+ 'looey',
+ 'loofa',
+ 'loofs',
+ 'looie',
+ 'looks',
+ 'looky',
+ 'looms',
+ 'loons',
+ 'loony',
+ 'loops',
+ 'loord',
+ 'loots',
+ 'loped',
+ 'loper',
+ 'lopes',
+ 'loppy',
+ 'loral',
+ 'loran',
+ 'lords',
+ 'lordy',
+ 'lorel',
+ 'lores',
+ 'loric',
+ 'loris',
+ 'losed',
+ 'losel',
+ 'losen',
+ 'loses',
+ 'lossy',
+ 'lotah',
+ 'lotas',
+ 'lotes',
+ 'lotic',
+ 'lotos',
+ 'lotsa',
+ 'lotta',
+ 'lotte',
+ 'lotto',
+ 'lotus',
+ 'loued',
+ 'lough',
+ 'louie',
+ 'louis',
+ 'louma',
+ 'lound',
+ 'louns',
+ 'loupe',
+ 'loups',
+ 'loure',
+ 'lours',
+ 'loury',
+ 'louts',
+ 'lovat',
+ 'loved',
+ 'loves',
+ 'lovey',
+ 'lovie',
+ 'lowan',
+ 'lowed',
+ 'lowes',
+ 'lownd',
+ 'lowne',
+ 'lowns',
+ 'lowps',
+ 'lowry',
+ 'lowse',
+ 'lowts',
+ 'loxed',
+ 'loxes',
+ 'lozen',
+ 'luach',
+ 'luaus',
+ 'lubed',
+ 'lubes',
+ 'lubra',
+ 'luces',
+ 'lucks',
+ 'lucre',
+ 'ludes',
+ 'ludic',
+ 'ludos',
+ 'luffa',
+ 'luffs',
+ 'luged',
+ 'luger',
+ 'luges',
+ 'lulls',
+ 'lulus',
+ 'lumas',
+ 'lumbi',
+ 'lumme',
+ 'lummy',
+ 'lumps',
+ 'lunas',
+ 'lunes',
+ 'lunet',
+ 'lungi',
+ 'lungs',
+ 'lunks',
+ 'lunts',
+ 'lupin',
+ 'lured',
+ 'lurer',
+ 'lures',
+ 'lurex',
+ 'lurgi',
+ 'lurgy',
+ 'lurks',
+ 'lurry',
+ 'lurve',
+ 'luser',
+ 'lushy',
+ 'lusks',
+ 'lusts',
+ 'lusus',
+ 'lutea',
+ 'luted',
+ 'luter',
+ 'lutes',
+ 'luvvy',
+ 'luxed',
+ 'luxer',
+ 'luxes',
+ 'lweis',
+ 'lyams',
+ 'lyard',
+ 'lyart',
+ 'lyase',
+ 'lycea',
+ 'lycee',
+ 'lycra',
+ 'lymes',
+ 'lynes',
+ 'lyres',
+ 'lysed',
+ 'lyses',
+ 'lysin',
+ 'lysis',
+ 'lysol',
+ 'lyssa',
+ 'lyted',
+ 'lytes',
+ 'lythe',
+ 'lytic',
+ 'lytta',
+ 'maaed',
+ 'maare',
+ 'maars',
+ 'mabes',
+ 'macas',
+ 'maced',
+ 'macer',
+ 'maces',
+ 'mache',
+ 'machi',
+ 'machs',
+ 'macks',
+ 'macle',
+ 'macon',
+ 'madge',
+ 'madid',
+ 'madre',
+ 'maerl',
+ 'mafic',
+ 'mages',
+ 'maggs',
+ 'magot',
+ 'magus',
+ 'mahoe',
+ 'mahua',
+ 'mahwa',
+ 'maids',
+ 'maiko',
+ 'maiks',
+ 'maile',
+ 'maill',
+ 'mails',
+ 'maims',
+ 'mains',
+ 'maire',
+ 'mairs',
+ 'maise',
+ 'maist',
+ 'makar',
+ 'makes',
+ 'makis',
+ 'makos',
+ 'malam',
+ 'malar',
+ 'malas',
+ 'malax',
+ 'males',
+ 'malic',
+ 'malik',
+ 'malis',
+ 'malls',
+ 'malms',
+ 'malmy',
+ 'malts',
+ 'malty',
+ 'malus',
+ 'malva',
+ 'malwa',
+ 'mamas',
+ 'mamba',
+ 'mamee',
+ 'mamey',
+ 'mamie',
+ 'manas',
+ 'manat',
+ 'mandi',
+ 'maneb',
+ 'maned',
+ 'maneh',
+ 'manes',
+ 'manet',
+ 'mangs',
+ 'manis',
+ 'manky',
+ 'manna',
+ 'manos',
+ 'manse',
+ 'manta',
+ 'manto',
+ 'manty',
+ 'manul',
+ 'manus',
+ 'mapau',
+ 'maqui',
+ 'marae',
+ 'marah',
+ 'maras',
+ 'marcs',
+ 'mardy',
+ 'mares',
+ 'marge',
+ 'margs',
+ 'maria',
+ 'marid',
+ 'marka',
+ 'marks',
+ 'marle',
+ 'marls',
+ 'marly',
+ 'marms',
+ 'maron',
+ 'maror',
+ 'marra',
+ 'marri',
+ 'marse',
+ 'marts',
+ 'marvy',
+ 'masas',
+ 'mased',
+ 'maser',
+ 'mases',
+ 'mashy',
+ 'masks',
+ 'massa',
+ 'massy',
+ 'masts',
+ 'masty',
+ 'masus',
+ 'matai',
+ 'mated',
+ 'mater',
+ 'mates',
+ 'maths',
+ 'matin',
+ 'matlo',
+ 'matte',
+ 'matts',
+ 'matza',
+ 'matzo',
+ 'mauby',
+ 'mauds',
+ 'mauls',
+ 'maund',
+ 'mauri',
+ 'mausy',
+ 'mauts',
+ 'mauzy',
+ 'maven',
+ 'mavie',
+ 'mavin',
+ 'mavis',
+ 'mawed',
+ 'mawks',
+ 'mawky',
+ 'mawns',
+ 'mawrs',
+ 'maxed',
+ 'maxes',
+ 'maxis',
+ 'mayan',
+ 'mayas',
+ 'mayed',
+ 'mayos',
+ 'mayst',
+ 'mazed',
+ 'mazer',
+ 'mazes',
+ 'mazey',
+ 'mazut',
+ 'mbira',
+ 'meads',
+ 'meals',
+ 'meane',
+ 'means',
+ 'meany',
+ 'meare',
+ 'mease',
+ 'meath',
+ 'meats',
+ 'mebos',
+ 'mechs',
+ 'mecks',
+ 'medii',
+ 'medle',
+ 'meeds',
+ 'meers',
+ 'meets',
+ 'meffs',
+ 'meins',
+ 'meint',
+ 'meiny',
+ 'meith',
+ 'mekka',
+ 'melas',
+ 'melba',
+ 'melds',
+ 'melic',
+ 'melik',
+ 'mells',
+ 'melts',
+ 'melty',
+ 'memes',
+ 'memos',
+ 'menad',
+ 'mends',
+ 'mened',
+ 'menes',
+ 'menge',
+ 'mengs',
+ 'mensa',
+ 'mense',
+ 'mensh',
+ 'menta',
+ 'mento',
+ 'menus',
+ 'meous',
+ 'meows',
+ 'merch',
+ 'mercs',
+ 'merde',
+ 'mered',
+ 'merel',
+ 'merer',
+ 'meres',
+ 'meril',
+ 'meris',
+ 'merks',
+ 'merle',
+ 'merls',
+ 'merse',
+ 'mesal',
+ 'mesas',
+ 'mesel',
+ 'meses',
+ 'meshy',
+ 'mesic',
+ 'mesne',
+ 'meson',
+ 'messy',
+ 'mesto',
+ 'meted',
+ 'metes',
+ 'metho',
+ 'meths',
+ 'metic',
+ 'metif',
+ 'metis',
+ 'metol',
+ 'metre',
+ 'meuse',
+ 'meved',
+ 'meves',
+ 'mewed',
+ 'mewls',
+ 'meynt',
+ 'mezes',
+ 'mezze',
+ 'mezzo',
+ 'mhorr',
+ 'miaou',
+ 'miaow',
+ 'miasm',
+ 'miaul',
+ 'micas',
+ 'miche',
+ 'micht',
+ 'micks',
+ 'micky',
+ 'micos',
+ 'micra',
+ 'middy',
+ 'midgy',
+ 'midis',
+ 'miens',
+ 'mieve',
+ 'miffs',
+ 'miffy',
+ 'mifty',
+ 'miggs',
+ 'mihas',
+ 'mihis',
+ 'miked',
+ 'mikes',
+ 'mikra',
+ 'mikva',
+ 'milch',
+ 'milds',
+ 'miler',
+ 'miles',
+ 'milfs',
+ 'milia',
+ 'milko',
+ 'milks',
+ 'mille',
+ 'mills',
+ 'milor',
+ 'milos',
+ 'milpa',
+ 'milts',
+ 'milty',
+ 'miltz',
+ 'mimed',
+ 'mimeo',
+ 'mimer',
+ 'mimes',
+ 'mimsy',
+ 'minae',
+ 'minar',
+ 'minas',
+ 'mincy',
+ 'minds',
+ 'mined',
+ 'mines',
+ 'minge',
+ 'mings',
+ 'mingy',
+ 'minis',
+ 'minke',
+ 'minks',
+ 'minny',
+ 'minos',
+ 'mints',
+ 'mired',
+ 'mires',
+ 'mirex',
+ 'mirid',
+ 'mirin',
+ 'mirks',
+ 'mirky',
+ 'mirly',
+ 'miros',
+ 'mirvs',
+ 'mirza',
+ 'misch',
+ 'misdo',
+ 'mises',
+ 'misgo',
+ 'misos',
+ 'missa',
+ 'mists',
+ 'misty',
+ 'mitch',
+ 'miter',
+ 'mites',
+ 'mitis',
+ 'mitre',
+ 'mitts',
+ 'mixed',
+ 'mixen',
+ 'mixer',
+ 'mixes',
+ 'mixte',
+ 'mixup',
+ 'mizen',
+ 'mizzy',
+ 'mneme',
+ 'moans',
+ 'moats',
+ 'mobby',
+ 'mobes',
+ 'mobey',
+ 'mobie',
+ 'moble',
+ 'mochi',
+ 'mochs',
+ 'mochy',
+ 'mocks',
+ 'moder',
+ 'modes',
+ 'modge',
+ 'modii',
+ 'modus',
+ 'moers',
+ 'mofos',
+ 'moggy',
+ 'mohel',
+ 'mohos',
+ 'mohrs',
+ 'mohua',
+ 'mohur',
+ 'moile',
+ 'moils',
+ 'moira',
+ 'moire',
+ 'moits',
+ 'mojos',
+ 'mokes',
+ 'mokis',
+ 'mokos',
+ 'molal',
+ 'molas',
+ 'molds',
+ 'moled',
+ 'moles',
+ 'molla',
+ 'molls',
+ 'molly',
+ 'molto',
+ 'molts',
+ 'molys',
+ 'momes',
+ 'momma',
+ 'mommy',
+ 'momus',
+ 'monad',
+ 'monal',
+ 'monas',
+ 'monde',
+ 'mondo',
+ 'moner',
+ 'mongo',
+ 'mongs',
+ 'monic',
+ 'monie',
+ 'monks',
+ 'monos',
+ 'monte',
+ 'monty',
+ 'moobs',
+ 'mooch',
+ 'moods',
+ 'mooed',
+ 'mooks',
+ 'moola',
+ 'mooli',
+ 'mools',
+ 'mooly',
+ 'moong',
+ 'moons',
+ 'moony',
+ 'moops',
+ 'moors',
+ 'moory',
+ 'moots',
+ 'moove',
+ 'moped',
+ 'moper',
+ 'mopes',
+ 'mopey',
+ 'moppy',
+ 'mopsy',
+ 'mopus',
+ 'morae',
+ 'moras',
+ 'morat',
+ 'moray',
+ 'morel',
+ 'mores',
+ 'moria',
+ 'morne',
+ 'morns',
+ 'morra',
+ 'morro',
+ 'morse',
+ 'morts',
+ 'mosed',
+ 'moses',
+ 'mosey',
+ 'mosks',
+ 'mosso',
+ 'moste',
+ 'mosts',
+ 'moted',
+ 'moten',
+ 'motes',
+ 'motet',
+ 'motey',
+ 'moths',
+ 'mothy',
+ 'motis',
+ 'motte',
+ 'motts',
+ 'motty',
+ 'motus',
+ 'motza',
+ 'mouch',
+ 'moues',
+ 'mould',
+ 'mouls',
+ 'moups',
+ 'moust',
+ 'mousy',
+ 'moved',
+ 'moves',
+ 'mowas',
+ 'mowed',
+ 'mowra',
+ 'moxas',
+ 'moxie',
+ 'moyas',
+ 'moyle',
+ 'moyls',
+ 'mozed',
+ 'mozes',
+ 'mozos',
+ 'mpret',
+ 'mucho',
+ 'mucic',
+ 'mucid',
+ 'mucin',
+ 'mucks',
+ 'mucor',
+ 'mucro',
+ 'mudge',
+ 'mudir',
+ 'mudra',
+ 'muffs',
+ 'mufti',
+ 'mugga',
+ 'muggs',
+ 'muggy',
+ 'muhly',
+ 'muids',
+ 'muils',
+ 'muirs',
+ 'muist',
+ 'mujik',
+ 'mulct',
+ 'muled',
+ 'mules',
+ 'muley',
+ 'mulga',
+ 'mulie',
+ 'mulla',
+ 'mulls',
+ 'mulse',
+ 'mulsh',
+ 'mumms',
+ 'mumps',
+ 'mumsy',
+ 'mumus',
+ 'munga',
+ 'munge',
+ 'mungo',
+ 'mungs',
+ 'munis',
+ 'munts',
+ 'muntu',
+ 'muons',
+ 'muras',
+ 'mured',
+ 'mures',
+ 'murex',
+ 'murid',
+ 'murks',
+ 'murls',
+ 'murly',
+ 'murra',
+ 'murre',
+ 'murri',
+ 'murrs',
+ 'murry',
+ 'murti',
+ 'murva',
+ 'musar',
+ 'musca',
+ 'mused',
+ 'muser',
+ 'muses',
+ 'muset',
+ 'musha',
+ 'musit',
+ 'musks',
+ 'musos',
+ 'musse',
+ 'mussy',
+ 'musth',
+ 'musts',
+ 'mutch',
+ 'muted',
+ 'muter',
+ 'mutes',
+ 'mutha',
+ 'mutis',
+ 'muton',
+ 'mutts',
+ 'muxed',
+ 'muxes',
+ 'muzak',
+ 'muzzy',
+ 'mvule',
+ 'myall',
+ 'mylar',
+ 'mynah',
+ 'mynas',
+ 'myoid',
+ 'myoma',
+ 'myope',
+ 'myops',
+ 'myopy',
+ 'mysid',
+ 'mythi',
+ 'myths',
+ 'mythy',
+ 'myxos',
+ 'mzees',
+ 'naams',
+ 'naans',
+ 'nabes',
+ 'nabis',
+ 'nabks',
+ 'nabla',
+ 'nabob',
+ 'nache',
+ 'nacho',
+ 'nacre',
+ 'nadas',
+ 'naeve',
+ 'naevi',
+ 'naffs',
+ 'nagas',
+ 'naggy',
+ 'nagor',
+ 'nahal',
+ 'naiad',
+ 'naifs',
+ 'naiks',
+ 'nails',
+ 'naira',
+ 'nairu',
+ 'naked',
+ 'naker',
+ 'nakfa',
+ 'nalas',
+ 'naled',
+ 'nalla',
+ 'named',
+ 'namer',
+ 'names',
+ 'namma',
+ 'namus',
+ 'nanas',
+ 'nance',
+ 'nancy',
+ 'nandu',
+ 'nanna',
+ 'nanos',
+ 'nanua',
+ 'napas',
+ 'naped',
+ 'napes',
+ 'napoo',
+ 'nappa',
+ 'nappe',
+ 'nappy',
+ 'naras',
+ 'narco',
+ 'narcs',
+ 'nards',
+ 'nares',
+ 'naric',
+ 'naris',
+ 'narks',
+ 'narky',
+ 'narre',
+ 'nashi',
+ 'natch',
+ 'nates',
+ 'natis',
+ 'natty',
+ 'nauch',
+ 'naunt',
+ 'navar',
+ 'naves',
+ 'navew',
+ 'navvy',
+ 'nawab',
+ 'nazes',
+ 'nazir',
+ 'nazis',
+ 'nduja',
+ 'neafe',
+ 'neals',
+ 'neaps',
+ 'nears',
+ 'neath',
+ 'neats',
+ 'nebek',
+ 'nebel',
+ 'necks',
+ 'neddy',
+ 'needs',
+ 'neeld',
+ 'neele',
+ 'neemb',
+ 'neems',
+ 'neeps',
+ 'neese',
+ 'neeze',
+ 'negro',
+ 'negus',
+ 'neifs',
+ 'neist',
+ 'neive',
+ 'nelis',
+ 'nelly',
+ 'nemas',
+ 'nemns',
+ 'nempt',
+ 'nenes',
+ 'neons',
+ 'neper',
+ 'nepit',
+ 'neral',
+ 'nerds',
+ 'nerka',
+ 'nerks',
+ 'nerol',
+ 'nerts',
+ 'nertz',
+ 'nervy',
+ 'nests',
+ 'netes',
+ 'netop',
+ 'netts',
+ 'netty',
+ 'neuks',
+ 'neume',
+ 'neums',
+ 'nevel',
+ 'neves',
+ 'nevus',
+ 'newbs',
+ 'newed',
+ 'newel',
+ 'newie',
+ 'newsy',
+ 'newts',
+ 'nexts',
+ 'nexus',
+ 'ngaio',
+ 'ngana',
+ 'ngati',
+ 'ngoma',
+ 'ngwee',
+ 'nicad',
+ 'nicht',
+ 'nicks',
+ 'nicol',
+ 'nidal',
+ 'nided',
+ 'nides',
+ 'nidor',
+ 'nidus',
+ 'niefs',
+ 'nieve',
+ 'nifes',
+ 'niffs',
+ 'niffy',
+ 'nifty',
+ 'niger',
+ 'nighs',
+ 'nihil',
+ 'nikab',
+ 'nikah',
+ 'nikau',
+ 'nills',
+ 'nimbi',
+ 'nimbs',
+ 'nimps',
+ 'niner',
+ 'nines',
+ 'ninon',
+ 'nipas',
+ 'nippy',
+ 'niqab',
+ 'nirls',
+ 'nirly',
+ 'nisei',
+ 'nisse',
+ 'nisus',
+ 'niter',
+ 'nites',
+ 'nitid',
+ 'niton',
+ 'nitre',
+ 'nitro',
+ 'nitry',
+ 'nitty',
+ 'nival',
+ 'nixed',
+ 'nixer',
+ 'nixes',
+ 'nixie',
+ 'nizam',
+ 'nkosi',
+ 'noahs',
+ 'nobby',
+ 'nocks',
+ 'nodal',
+ 'noddy',
+ 'nodes',
+ 'nodus',
+ 'noels',
+ 'noggs',
+ 'nohow',
+ 'noils',
+ 'noily',
+ 'noint',
+ 'noirs',
+ 'noles',
+ 'nolls',
+ 'nolos',
+ 'nomas',
+ 'nomen',
+ 'nomes',
+ 'nomic',
+ 'nomoi',
+ 'nomos',
+ 'nonas',
+ 'nonce',
+ 'nones',
+ 'nonet',
+ 'nongs',
+ 'nonis',
+ 'nonny',
+ 'nonyl',
+ 'noobs',
+ 'nooit',
+ 'nooks',
+ 'nooky',
+ 'noons',
+ 'noops',
+ 'nopal',
+ 'noria',
+ 'noris',
+ 'norks',
+ 'norma',
+ 'norms',
+ 'nosed',
+ 'noser',
+ 'noses',
+ 'notal',
+ 'noted',
+ 'noter',
+ 'notes',
+ 'notum',
+ 'nould',
+ 'noule',
+ 'nouls',
+ 'nouns',
+ 'nouny',
+ 'noups',
+ 'novae',
+ 'novas',
+ 'novum',
+ 'noway',
+ 'nowed',
+ 'nowls',
+ 'nowts',
+ 'nowty',
+ 'noxal',
+ 'noxes',
+ 'noyau',
+ 'noyed',
+ 'noyes',
+ 'nubby',
+ 'nubia',
+ 'nucha',
+ 'nuddy',
+ 'nuder',
+ 'nudes',
+ 'nudie',
+ 'nudzh',
+ 'nuffs',
+ 'nugae',
+ 'nuked',
+ 'nukes',
+ 'nulla',
+ 'nulls',
+ 'numbs',
+ 'numen',
+ 'nummy',
+ 'nunny',
+ 'nurds',
+ 'nurdy',
+ 'nurls',
+ 'nurrs',
+ 'nutso',
+ 'nutsy',
+ 'nyaff',
+ 'nyala',
+ 'nying',
+ 'nyssa',
+ 'oaked',
+ 'oaker',
+ 'oakum',
+ 'oared',
+ 'oases',
+ 'oasis',
+ 'oasts',
+ 'oaten',
+ 'oater',
+ 'oaths',
+ 'oaves',
+ 'obang',
+ 'obeah',
+ 'obeli',
+ 'obeys',
+ 'obias',
+ 'obied',
+ 'obiit',
+ 'obits',
+ 'objet',
+ 'oboes',
+ 'obole',
+ 'oboli',
+ 'obols',
+ 'occam',
+ 'ocher',
+ 'oches',
+ 'ochre',
+ 'ochry',
+ 'ocker',
+ 'ocrea',
+ 'octad',
+ 'octan',
+ 'octas',
+ 'octyl',
+ 'oculi',
+ 'odahs',
+ 'odals',
+ 'odeon',
+ 'odeum',
+ 'odism',
+ 'odist',
+ 'odium',
+ 'odors',
+ 'odour',
+ 'odyle',
+ 'odyls',
+ 'ofays',
+ 'offed',
+ 'offie',
+ 'oflag',
+ 'ofter',
+ 'ogams',
+ 'ogeed',
+ 'ogees',
+ 'oggin',
+ 'ogham',
+ 'ogive',
+ 'ogled',
+ 'ogler',
+ 'ogles',
+ 'ogmic',
+ 'ogres',
+ 'ohias',
+ 'ohing',
+ 'ohmic',
+ 'ohone',
+ 'oidia',
+ 'oiled',
+ 'oiler',
+ 'oinks',
+ 'oints',
+ 'ojime',
+ 'okapi',
+ 'okays',
+ 'okehs',
+ 'okras',
+ 'oktas',
+ 'oldie',
+ 'oleic',
+ 'olein',
+ 'olent',
+ 'oleos',
+ 'oleum',
+ 'olios',
+ 'ollas',
+ 'ollav',
+ 'oller',
+ 'ollie',
+ 'ology',
+ 'olpae',
+ 'olpes',
+ 'omasa',
+ 'omber',
+ 'ombus',
+ 'omens',
+ 'omers',
+ 'omits',
+ 'omlah',
+ 'omovs',
+ 'omrah',
+ 'oncer',
+ 'onces',
+ 'oncet',
+ 'oncus',
+ 'onely',
+ 'oners',
+ 'onery',
+ 'onium',
+ 'onkus',
+ 'onlay',
+ 'onned',
+ 'ontic',
+ 'oobit',
+ 'oohed',
+ 'oomph',
+ 'oonts',
+ 'ooped',
+ 'oorie',
+ 'ooses',
+ 'ootid',
+ 'oozed',
+ 'oozes',
+ 'opahs',
+ 'opals',
+ 'opens',
+ 'opepe',
+ 'oping',
+ 'oppos',
+ 'opsin',
+ 'opted',
+ 'opter',
+ 'orach',
+ 'oracy',
+ 'orals',
+ 'orang',
+ 'orant',
+ 'orate',
+ 'orbed',
+ 'orcas',
+ 'orcin',
+ 'ordos',
+ 'oread',
+ 'orfes',
+ 'orgia',
+ 'orgic',
+ 'orgue',
+ 'oribi',
+ 'oriel',
+ 'orixa',
+ 'orles',
+ 'orlon',
+ 'orlop',
+ 'ormer',
+ 'ornis',
+ 'orpin',
+ 'orris',
+ 'ortho',
+ 'orval',
+ 'orzos',
+ 'oscar',
+ 'oshac',
+ 'osier',
+ 'osmic',
+ 'osmol',
+ 'ossia',
+ 'ostia',
+ 'otaku',
+ 'otary',
+ 'ottar',
+ 'ottos',
+ 'oubit',
+ 'oucht',
+ 'ouens',
+ 'ouija',
+ 'oulks',
+ 'oumas',
+ 'oundy',
+ 'oupas',
+ 'ouped',
+ 'ouphe',
+ 'ouphs',
+ 'ourie',
+ 'ousel',
+ 'ousts',
+ 'outby',
+ 'outed',
+ 'outre',
+ 'outro',
+ 'outta',
+ 'ouzel',
+ 'ouzos',
+ 'ovals',
+ 'ovels',
+ 'ovens',
+ 'overs',
+ 'ovist',
+ 'ovoli',
+ 'ovolo',
+ 'ovule',
+ 'owche',
+ 'owies',
+ 'owled',
+ 'owler',
+ 'owlet',
+ 'owned',
+ 'owres',
+ 'owrie',
+ 'owsen',
+ 'oxbow',
+ 'oxers',
+ 'oxeye',
+ 'oxids',
+ 'oxies',
+ 'oxime',
+ 'oxims',
+ 'oxlip',
+ 'oxter',
+ 'oyers',
+ 'ozeki',
+ 'ozzie',
+ 'paals',
+ 'paans',
+ 'pacas',
+ 'paced',
+ 'pacer',
+ 'paces',
+ 'pacey',
+ 'pacha',
+ 'packs',
+ 'pacos',
+ 'pacta',
+ 'pacts',
+ 'padis',
+ 'padle',
+ 'padma',
+ 'padre',
+ 'padri',
+ 'paean',
+ 'paedo',
+ 'paeon',
+ 'paged',
+ 'pager',
+ 'pages',
+ 'pagle',
+ 'pagod',
+ 'pagri',
+ 'paiks',
+ 'pails',
+ 'pains',
+ 'paire',
+ 'pairs',
+ 'paisa',
+ 'paise',
+ 'pakka',
+ 'palas',
+ 'palay',
+ 'palea',
+ 'paled',
+ 'pales',
+ 'palet',
+ 'palis',
+ 'palki',
+ 'palla',
+ 'palls',
+ 'pally',
+ 'palms',
+ 'palmy',
+ 'palpi',
+ 'palps',
+ 'palsa',
+ 'pampa',
+ 'panax',
+ 'pance',
+ 'panda',
+ 'pands',
+ 'pandy',
+ 'paned',
+ 'panes',
+ 'panga',
+ 'pangs',
+ 'panim',
+ 'panko',
+ 'panne',
+ 'panni',
+ 'panto',
+ 'pants',
+ 'panty',
+ 'paoli',
+ 'paolo',
+ 'papas',
+ 'papaw',
+ 'papes',
+ 'pappi',
+ 'pappy',
+ 'parae',
+ 'paras',
+ 'parch',
+ 'pardi',
+ 'pards',
+ 'pardy',
+ 'pared',
+ 'paren',
+ 'pareo',
+ 'pares',
+ 'pareu',
+ 'parev',
+ 'parge',
+ 'pargo',
+ 'paris',
+ 'parki',
+ 'parks',
+ 'parky',
+ 'parle',
+ 'parly',
+ 'parma',
+ 'parol',
+ 'parps',
+ 'parra',
+ 'parrs',
+ 'parti',
+ 'parts',
+ 'parve',
+ 'parvo',
+ 'paseo',
+ 'pases',
+ 'pasha',
+ 'pashm',
+ 'paska',
+ 'paspy',
+ 'passe',
+ 'pasts',
+ 'pated',
+ 'paten',
+ 'pater',
+ 'pates',
+ 'paths',
+ 'patin',
+ 'patka',
+ 'patly',
+ 'patte',
+ 'patus',
+ 'pauas',
+ 'pauls',
+ 'pavan',
+ 'paved',
+ 'paven',
+ 'paver',
+ 'paves',
+ 'pavid',
+ 'pavin',
+ 'pavis',
+ 'pawas',
+ 'pawaw',
+ 'pawed',
+ 'pawer',
+ 'pawks',
+ 'pawky',
+ 'pawls',
+ 'pawns',
+ 'paxes',
+ 'payed',
+ 'payor',
+ 'paysd',
+ 'peage',
+ 'peags',
+ 'peaks',
+ 'peaky',
+ 'peals',
+ 'peans',
+ 'peare',
+ 'pears',
+ 'peart',
+ 'pease',
+ 'peats',
+ 'peaty',
+ 'peavy',
+ 'peaze',
+ 'pebas',
+ 'pechs',
+ 'pecke',
+ 'pecks',
+ 'pecky',
+ 'pedes',
+ 'pedis',
+ 'pedro',
+ 'peece',
+ 'peeks',
+ 'peels',
+ 'peens',
+ 'peeoy',
+ 'peepe',
+ 'peeps',
+ 'peers',
+ 'peery',
+ 'peeve',
+ 'peggy',
+ 'peghs',
+ 'peins',
+ 'peise',
+ 'peize',
+ 'pekan',
+ 'pekes',
+ 'pekin',
+ 'pekoe',
+ 'pelas',
+ 'pelau',
+ 'peles',
+ 'pelfs',
+ 'pells',
+ 'pelma',
+ 'pelon',
+ 'pelta',
+ 'pelts',
+ 'pends',
+ 'pendu',
+ 'pened',
+ 'penes',
+ 'pengo',
+ 'penie',
+ 'penis',
+ 'penks',
+ 'penna',
+ 'penni',
+ 'pents',
+ 'peons',
+ 'peony',
+ 'pepla',
+ 'pepos',
+ 'peppy',
+ 'pepsi',
+ 'perai',
+ 'perce',
+ 'percs',
+ 'perdu',
+ 'perdy',
+ 'perea',
+ 'peres',
+ 'peris',
+ 'perks',
+ 'perms',
+ 'perns',
+ 'perog',
+ 'perps',
+ 'perry',
+ 'perse',
+ 'perst',
+ 'perts',
+ 'perve',
+ 'pervo',
+ 'pervs',
+ 'pervy',
+ 'pesos',
+ 'pests',
+ 'pesty',
+ 'petar',
+ 'peter',
+ 'petit',
+ 'petre',
+ 'petri',
+ 'petti',
+ 'petto',
+ 'pewee',
+ 'pewit',
+ 'peyse',
+ 'phage',
+ 'phang',
+ 'phare',
+ 'pharm',
+ 'pheer',
+ 'phene',
+ 'pheon',
+ 'phese',
+ 'phial',
+ 'phish',
+ 'phizz',
+ 'phlox',
+ 'phoca',
+ 'phono',
+ 'phons',
+ 'phots',
+ 'phpht',
+ 'phuts',
+ 'phyla',
+ 'phyle',
+ 'piani',
+ 'pians',
+ 'pibal',
+ 'pical',
+ 'picas',
+ 'piccy',
+ 'picks',
+ 'picot',
+ 'picra',
+ 'picul',
+ 'piend',
+ 'piers',
+ 'piert',
+ 'pieta',
+ 'piets',
+ 'piezo',
+ 'pight',
+ 'pigmy',
+ 'piing',
+ 'pikas',
+ 'pikau',
+ 'piked',
+ 'piker',
+ 'pikes',
+ 'pikey',
+ 'pikis',
+ 'pikul',
+ 'pilae',
+ 'pilaf',
+ 'pilao',
+ 'pilar',
+ 'pilau',
+ 'pilaw',
+ 'pilch',
+ 'pilea',
+ 'piled',
+ 'pilei',
+ 'piler',
+ 'piles',
+ 'pilis',
+ 'pills',
+ 'pilow',
+ 'pilum',
+ 'pilus',
+ 'pimas',
+ 'pimps',
+ 'pinas',
+ 'pined',
+ 'pines',
+ 'pingo',
+ 'pings',
+ 'pinko',
+ 'pinks',
+ 'pinna',
+ 'pinny',
+ 'pinon',
+ 'pinot',
+ 'pinta',
+ 'pints',
+ 'pinup',
+ 'pions',
+ 'piony',
+ 'pious',
+ 'pioye',
+ 'pioys',
+ 'pipal',
+ 'pipas',
+ 'piped',
+ 'pipes',
+ 'pipet',
+ 'pipis',
+ 'pipit',
+ 'pippy',
+ 'pipul',
+ 'pirai',
+ 'pirls',
+ 'pirns',
+ 'pirog',
+ 'pisco',
+ 'pises',
+ 'pisky',
+ 'pisos',
+ 'pissy',
+ 'piste',
+ 'pitas',
+ 'piths',
+ 'piton',
+ 'pitot',
+ 'pitta',
+ 'piums',
+ 'pixes',
+ 'pized',
+ 'pizes',
+ 'plaas',
+ 'plack',
+ 'plage',
+ 'plans',
+ 'plaps',
+ 'plash',
+ 'plasm',
+ 'plast',
+ 'plats',
+ 'platt',
+ 'platy',
+ 'playa',
+ 'plays',
+ 'pleas',
+ 'plebe',
+ 'plebs',
+ 'plena',
+ 'pleon',
+ 'plesh',
+ 'plews',
+ 'plica',
+ 'plies',
+ 'plims',
+ 'pling',
+ 'plink',
+ 'ploat',
+ 'plods',
+ 'plong',
+ 'plonk',
+ 'plook',
+ 'plops',
+ 'plots',
+ 'plotz',
+ 'plouk',
+ 'plows',
+ 'ploye',
+ 'ploys',
+ 'plues',
+ 'pluff',
+ 'plugs',
+ 'plums',
+ 'plumy',
+ 'pluot',
+ 'pluto',
+ 'plyer',
+ 'poach',
+ 'poaka',
+ 'poake',
+ 'poboy',
+ 'pocks',
+ 'pocky',
+ 'podal',
+ 'poddy',
+ 'podex',
+ 'podge',
+ 'podgy',
+ 'podia',
+ 'poems',
+ 'poeps',
+ 'poets',
+ 'pogey',
+ 'pogge',
+ 'pogos',
+ 'pohed',
+ 'poilu',
+ 'poind',
+ 'pokal',
+ 'poked',
+ 'pokes',
+ 'pokey',
+ 'pokie',
+ 'poled',
+ 'poler',
+ 'poles',
+ 'poley',
+ 'polio',
+ 'polis',
+ 'polje',
+ 'polks',
+ 'polls',
+ 'polly',
+ 'polos',
+ 'polts',
+ 'polys',
+ 'pombe',
+ 'pomes',
+ 'pommy',
+ 'pomos',
+ 'pomps',
+ 'ponce',
+ 'poncy',
+ 'ponds',
+ 'pones',
+ 'poney',
+ 'ponga',
+ 'pongo',
+ 'pongs',
+ 'pongy',
+ 'ponks',
+ 'ponts',
+ 'ponty',
+ 'ponzu',
+ 'poods',
+ 'pooed',
+ 'poofs',
+ 'poofy',
+ 'poohs',
+ 'pooja',
+ 'pooka',
+ 'pooks',
+ 'pools',
+ 'poons',
+ 'poops',
+ 'poopy',
+ 'poori',
+ 'poort',
+ 'poots',
+ 'poove',
+ 'poovy',
+ 'popes',
+ 'poppa',
+ 'popsy',
+ 'porae',
+ 'poral',
+ 'pored',
+ 'porer',
+ 'pores',
+ 'porge',
+ 'porgy',
+ 'porin',
+ 'porks',
+ 'porky',
+ 'porno',
+ 'porns',
+ 'porny',
+ 'porta',
+ 'ports',
+ 'porty',
+ 'posed',
+ 'poses',
+ 'posey',
+ 'posho',
+ 'posts',
+ 'potae',
+ 'potch',
+ 'poted',
+ 'potes',
+ 'potin',
+ 'potoo',
+ 'potsy',
+ 'potto',
+ 'potts',
+ 'potty',
+ 'pouff',
+ 'poufs',
+ 'pouke',
+ 'pouks',
+ 'poule',
+ 'poulp',
+ 'poult',
+ 'poupe',
+ 'poupt',
+ 'pours',
+ 'pouts',
+ 'powan',
+ 'powin',
+ 'pownd',
+ 'powns',
+ 'powny',
+ 'powre',
+ 'poxed',
+ 'poxes',
+ 'poynt',
+ 'poyou',
+ 'poyse',
+ 'pozzy',
+ 'praam',
+ 'prads',
+ 'prahu',
+ 'prams',
+ 'prana',
+ 'prang',
+ 'praos',
+ 'prase',
+ 'prate',
+ 'prats',
+ 'pratt',
+ 'praty',
+ 'praus',
+ 'prays',
+ 'predy',
+ 'preed',
+ 'prees',
+ 'preif',
+ 'prems',
+ 'premy',
+ 'prent',
+ 'preon',
+ 'preop',
+ 'preps',
+ 'presa',
+ 'prese',
+ 'prest',
+ 'preve',
+ 'prexy',
+ 'preys',
+ 'prial',
+ 'pricy',
+ 'prief',
+ 'prier',
+ 'pries',
+ 'prigs',
+ 'prill',
+ 'prima',
+ 'primi',
+ 'primp',
+ 'prims',
+ 'primy',
+ 'prink',
+ 'prion',
+ 'prise',
+ 'priss',
+ 'proas',
+ 'probs',
+ 'prods',
+ 'proem',
+ 'profs',
+ 'progs',
+ 'proin',
+ 'proke',
+ 'prole',
+ 'proll',
+ 'promo',
+ 'proms',
+ 'pronk',
+ 'props',
+ 'prore',
+ 'proso',
+ 'pross',
+ 'prost',
+ 'prosy',
+ 'proto',
+ 'proul',
+ 'prows',
+ 'proyn',
+ 'prunt',
+ 'pruta',
+ 'pryer',
+ 'pryse',
+ 'pseud',
+ 'pshaw',
+ 'psion',
+ 'psoae',
+ 'psoai',
+ 'psoas',
+ 'psora',
+ 'psych',
+ 'psyop',
+ 'pubco',
+ 'pubes',
+ 'pubis',
+ 'pucan',
+ 'pucer',
+ 'puces',
+ 'pucka',
+ 'pucks',
+ 'puddy',
+ 'pudge',
+ 'pudic',
+ 'pudor',
+ 'pudsy',
+ 'pudus',
+ 'puers',
+ 'puffa',
+ 'puffs',
+ 'puggy',
+ 'pugil',
+ 'puhas',
+ 'pujah',
+ 'pujas',
+ 'pukas',
+ 'puked',
+ 'puker',
+ 'pukes',
+ 'pukey',
+ 'pukka',
+ 'pukus',
+ 'pulao',
+ 'pulas',
+ 'puled',
+ 'puler',
+ 'pules',
+ 'pulik',
+ 'pulis',
+ 'pulka',
+ 'pulks',
+ 'pulli',
+ 'pulls',
+ 'pully',
+ 'pulmo',
+ 'pulps',
+ 'pulus',
+ 'pumas',
+ 'pumie',
+ 'pumps',
+ 'punas',
+ 'punce',
+ 'punga',
+ 'pungs',
+ 'punji',
+ 'punka',
+ 'punks',
+ 'punky',
+ 'punny',
+ 'punto',
+ 'punts',
+ 'punty',
+ 'pupae',
+ 'pupas',
+ 'pupus',
+ 'purda',
+ 'pured',
+ 'pures',
+ 'purin',
+ 'puris',
+ 'purls',
+ 'purpy',
+ 'purrs',
+ 'pursy',
+ 'purty',
+ 'puses',
+ 'pusle',
+ 'pussy',
+ 'putid',
+ 'puton',
+ 'putti',
+ 'putto',
+ 'putts',
+ 'puzel',
+ 'pwned',
+ 'pyats',
+ 'pyets',
+ 'pygal',
+ 'pyins',
+ 'pylon',
+ 'pyned',
+ 'pynes',
+ 'pyoid',
+ 'pyots',
+ 'pyral',
+ 'pyran',
+ 'pyres',
+ 'pyrex',
+ 'pyric',
+ 'pyros',
+ 'pyxed',
+ 'pyxes',
+ 'pyxie',
+ 'pyxis',
+ 'pzazz',
+ 'qadis',
+ 'qaids',
+ 'qajaq',
+ 'qanat',
+ 'qapik',
+ 'qibla',
+ 'qophs',
+ 'qorma',
+ 'quads',
+ 'quaff',
+ 'quags',
+ 'quair',
+ 'quais',
+ 'quaky',
+ 'quale',
+ 'quant',
+ 'quare',
+ 'quass',
+ 'quate',
+ 'quats',
+ 'quayd',
+ 'quays',
+ 'qubit',
+ 'quean',
+ 'queme',
+ 'quena',
+ 'quern',
+ 'queyn',
+ 'queys',
+ 'quich',
+ 'quids',
+ 'quiff',
+ 'quims',
+ 'quina',
+ 'quine',
+ 'quino',
+ 'quins',
+ 'quint',
+ 'quipo',
+ 'quips',
+ 'quipu',
+ 'quire',
+ 'quirt',
+ 'quist',
+ 'quits',
+ 'quoad',
+ 'quods',
+ 'quoif',
+ 'quoin',
+ 'quoit',
+ 'quoll',
+ 'quonk',
+ 'quops',
+ 'qursh',
+ 'quyte',
+ 'rabat',
+ 'rabic',
+ 'rabis',
+ 'raced',
+ 'races',
+ 'rache',
+ 'racks',
+ 'racon',
+ 'radge',
+ 'radix',
+ 'radon',
+ 'raffs',
+ 'rafts',
+ 'ragas',
+ 'ragde',
+ 'raged',
+ 'ragee',
+ 'rager',
+ 'rages',
+ 'ragga',
+ 'raggs',
+ 'raggy',
+ 'ragis',
+ 'ragus',
+ 'rahed',
+ 'rahui',
+ 'raias',
+ 'raids',
+ 'raiks',
+ 'raile',
+ 'rails',
+ 'raine',
+ 'rains',
+ 'raird',
+ 'raita',
+ 'raits',
+ 'rajas',
+ 'rajes',
+ 'raked',
+ 'rakee',
+ 'raker',
+ 'rakes',
+ 'rakia',
+ 'rakis',
+ 'rakus',
+ 'rales',
+ 'ramal',
+ 'ramee',
+ 'ramet',
+ 'ramie',
+ 'ramin',
+ 'ramis',
+ 'rammy',
+ 'ramps',
+ 'ramus',
+ 'ranas',
+ 'rance',
+ 'rands',
+ 'ranee',
+ 'ranga',
+ 'rangi',
+ 'rangs',
+ 'rangy',
+ 'ranid',
+ 'ranis',
+ 'ranke',
+ 'ranks',
+ 'rants',
+ 'raped',
+ 'raper',
+ 'rapes',
+ 'raphe',
+ 'rappe',
+ 'rared',
+ 'raree',
+ 'rares',
+ 'rarks',
+ 'rased',
+ 'raser',
+ 'rases',
+ 'rasps',
+ 'rasse',
+ 'rasta',
+ 'ratal',
+ 'ratan',
+ 'ratas',
+ 'ratch',
+ 'rated',
+ 'ratel',
+ 'rater',
+ 'rates',
+ 'ratha',
+ 'rathe',
+ 'raths',
+ 'ratoo',
+ 'ratos',
+ 'ratus',
+ 'rauns',
+ 'raupo',
+ 'raved',
+ 'ravel',
+ 'raver',
+ 'raves',
+ 'ravey',
+ 'ravin',
+ 'rawer',
+ 'rawin',
+ 'rawly',
+ 'rawns',
+ 'raxed',
+ 'raxes',
+ 'rayah',
+ 'rayas',
+ 'rayed',
+ 'rayle',
+ 'rayne',
+ 'razed',
+ 'razee',
+ 'razer',
+ 'razes',
+ 'razoo',
+ 'readd',
+ 'reads',
+ 'reais',
+ 'reaks',
+ 'realo',
+ 'reals',
+ 'reame',
+ 'reams',
+ 'reamy',
+ 'reans',
+ 'reaps',
+ 'rears',
+ 'reast',
+ 'reata',
+ 'reate',
+ 'reave',
+ 'rebbe',
+ 'rebec',
+ 'rebid',
+ 'rebit',
+ 'rebop',
+ 'rebuy',
+ 'recal',
+ 'recce',
+ 'recco',
+ 'reccy',
+ 'recit',
+ 'recks',
+ 'recon',
+ 'recta',
+ 'recti',
+ 'recto',
+ 'redan',
+ 'redds',
+ 'reddy',
+ 'reded',
+ 'redes',
+ 'redia',
+ 'redid',
+ 'redip',
+ 'redly',
+ 'redon',
+ 'redos',
+ 'redox',
+ 'redry',
+ 'redub',
+ 'redux',
+ 'redye',
+ 'reech',
+ 'reede',
+ 'reeds',
+ 'reefs',
+ 'reefy',
+ 'reeks',
+ 'reeky',
+ 'reels',
+ 'reens',
+ 'reest',
+ 'reeve',
+ 'refed',
+ 'refel',
+ 'reffo',
+ 'refis',
+ 'refix',
+ 'refly',
+ 'refry',
+ 'regar',
+ 'reges',
+ 'reggo',
+ 'regie',
+ 'regma',
+ 'regna',
+ 'regos',
+ 'regur',
+ 'rehem',
+ 'reifs',
+ 'reify',
+ 'reiki',
+ 'reiks',
+ 'reink',
+ 'reins',
+ 'reird',
+ 'reist',
+ 'reive',
+ 'rejig',
+ 'rejon',
+ 'reked',
+ 'rekes',
+ 'rekey',
+ 'relet',
+ 'relie',
+ 'relit',
+ 'rello',
+ 'reman',
+ 'remap',
+ 'remen',
+ 'remet',
+ 'remex',
+ 'remix',
+ 'renay',
+ 'rends',
+ 'reney',
+ 'renga',
+ 'renig',
+ 'renin',
+ 'renne',
+ 'renos',
+ 'rente',
+ 'rents',
+ 'reoil',
+ 'reorg',
+ 'repeg',
+ 'repin',
+ 'repla',
+ 'repos',
+ 'repot',
+ 'repps',
+ 'repro',
+ 'reran',
+ 'rerig',
+ 'resat',
+ 'resaw',
+ 'resay',
+ 'resee',
+ 'reses',
+ 'resew',
+ 'resid',
+ 'resit',
+ 'resod',
+ 'resow',
+ 'resto',
+ 'rests',
+ 'resty',
+ 'resus',
+ 'retag',
+ 'retax',
+ 'retem',
+ 'retia',
+ 'retie',
+ 'retox',
+ 'revet',
+ 'revie',
+ 'rewan',
+ 'rewax',
+ 'rewed',
+ 'rewet',
+ 'rewin',
+ 'rewon',
+ 'rewth',
+ 'rexes',
+ 'rezes',
+ 'rheas',
+ 'rheme',
+ 'rheum',
+ 'rhies',
+ 'rhime',
+ 'rhine',
+ 'rhody',
+ 'rhomb',
+ 'rhone',
+ 'rhumb',
+ 'rhyne',
+ 'rhyta',
+ 'riads',
+ 'rials',
+ 'riant',
+ 'riata',
+ 'ribas',
+ 'ribby',
+ 'ribes',
+ 'riced',
+ 'ricer',
+ 'rices',
+ 'ricey',
+ 'richt',
+ 'ricin',
+ 'ricks',
+ 'rides',
+ 'ridgy',
+ 'ridic',
+ 'riels',
+ 'riems',
+ 'rieve',
+ 'rifer',
+ 'riffs',
+ 'rifte',
+ 'rifts',
+ 'rifty',
+ 'riggs',
+ 'rigol',
+ 'riled',
+ 'riles',
+ 'riley',
+ 'rille',
+ 'rills',
+ 'rimae',
+ 'rimed',
+ 'rimer',
+ 'rimes',
+ 'rimus',
+ 'rinds',
+ 'rindy',
+ 'rines',
+ 'rings',
+ 'rinks',
+ 'rioja',
+ 'riots',
+ 'riped',
+ 'ripes',
+ 'ripps',
+ 'rises',
+ 'rishi',
+ 'risks',
+ 'risps',
+ 'risus',
+ 'rites',
+ 'ritts',
+ 'ritzy',
+ 'rivas',
+ 'rived',
+ 'rivel',
+ 'riven',
+ 'rives',
+ 'riyal',
+ 'rizas',
+ 'roads',
+ 'roams',
+ 'roans',
+ 'roars',
+ 'roary',
+ 'roate',
+ 'robed',
+ 'robes',
+ 'roble',
+ 'rocks',
+ 'roded',
+ 'rodes',
+ 'roguy',
+ 'rohes',
+ 'roids',
+ 'roils',
+ 'roily',
+ 'roins',
+ 'roist',
+ 'rojak',
+ 'rojis',
+ 'roked',
+ 'roker',
+ 'rokes',
+ 'rolag',
+ 'roles',
+ 'rolfs',
+ 'rolls',
+ 'romal',
+ 'roman',
+ 'romeo',
+ 'romps',
+ 'ronde',
+ 'rondo',
+ 'roneo',
+ 'rones',
+ 'ronin',
+ 'ronne',
+ 'ronte',
+ 'ronts',
+ 'roods',
+ 'roofs',
+ 'roofy',
+ 'rooks',
+ 'rooky',
+ 'rooms',
+ 'roons',
+ 'roops',
+ 'roopy',
+ 'roosa',
+ 'roose',
+ 'roots',
+ 'rooty',
+ 'roped',
+ 'roper',
+ 'ropes',
+ 'ropey',
+ 'roque',
+ 'roral',
+ 'rores',
+ 'roric',
+ 'rorid',
+ 'rorie',
+ 'rorts',
+ 'rorty',
+ 'rosed',
+ 'roses',
+ 'roset',
+ 'roshi',
+ 'rosin',
+ 'rosit',
+ 'rosti',
+ 'rosts',
+ 'rotal',
+ 'rotan',
+ 'rotas',
+ 'rotch',
+ 'roted',
+ 'rotes',
+ 'rotis',
+ 'rotls',
+ 'roton',
+ 'rotos',
+ 'rotte',
+ 'rouen',
+ 'roues',
+ 'roule',
+ 'rouls',
+ 'roums',
+ 'roups',
+ 'roupy',
+ 'roust',
+ 'routh',
+ 'routs',
+ 'roved',
+ 'roven',
+ 'roves',
+ 'rowan',
+ 'rowed',
+ 'rowel',
+ 'rowen',
+ 'rowie',
+ 'rowme',
+ 'rownd',
+ 'rowth',
+ 'rowts',
+ 'royne',
+ 'royst',
+ 'rozet',
+ 'rozit',
+ 'ruana',
+ 'rubai',
+ 'rubby',
+ 'rubel',
+ 'rubes',
+ 'rubin',
+ 'ruble',
+ 'rubli',
+ 'rubus',
+ 'ruche',
+ 'rucks',
+ 'rudas',
+ 'rudds',
+ 'rudes',
+ 'rudie',
+ 'rudis',
+ 'rueda',
+ 'ruers',
+ 'ruffe',
+ 'ruffs',
+ 'rugae',
+ 'rugal',
+ 'ruggy',
+ 'ruing',
+ 'ruins',
+ 'rukhs',
+ 'ruled',
+ 'rules',
+ 'rumal',
+ 'rumbo',
+ 'rumen',
+ 'rumes',
+ 'rumly',
+ 'rummy',
+ 'rumpo',
+ 'rumps',
+ 'rumpy',
+ 'runch',
+ 'runds',
+ 'runed',
+ 'runes',
+ 'rungs',
+ 'runic',
+ 'runny',
+ 'runts',
+ 'runty',
+ 'rupia',
+ 'rurps',
+ 'rurus',
+ 'rusas',
+ 'ruses',
+ 'rushy',
+ 'rusks',
+ 'rusma',
+ 'russe',
+ 'rusts',
+ 'ruths',
+ 'rutin',
+ 'rutty',
+ 'ryals',
+ 'rybat',
+ 'ryked',
+ 'rykes',
+ 'rymme',
+ 'rynds',
+ 'ryots',
+ 'ryper',
+ 'saags',
+ 'sabal',
+ 'sabed',
+ 'saber',
+ 'sabes',
+ 'sabha',
+ 'sabin',
+ 'sabir',
+ 'sable',
+ 'sabot',
+ 'sabra',
+ 'sabre',
+ 'sacks',
+ 'sacra',
+ 'saddo',
+ 'sades',
+ 'sadhe',
+ 'sadhu',
+ 'sadis',
+ 'sados',
+ 'sadza',
+ 'safed',
+ 'safes',
+ 'sagas',
+ 'sager',
+ 'sages',
+ 'saggy',
+ 'sagos',
+ 'sagum',
+ 'saheb',
+ 'sahib',
+ 'saice',
+ 'saick',
+ 'saics',
+ 'saids',
+ 'saiga',
+ 'sails',
+ 'saims',
+ 'saine',
+ 'sains',
+ 'sairs',
+ 'saist',
+ 'saith',
+ 'sajou',
+ 'sakai',
+ 'saker',
+ 'sakes',
+ 'sakia',
+ 'sakis',
+ 'sakti',
+ 'salal',
+ 'salat',
+ 'salep',
+ 'sales',
+ 'salet',
+ 'salic',
+ 'salix',
+ 'salle',
+ 'salmi',
+ 'salol',
+ 'salop',
+ 'salpa',
+ 'salps',
+ 'salse',
+ 'salto',
+ 'salts',
+ 'salue',
+ 'salut',
+ 'saman',
+ 'samas',
+ 'samba',
+ 'sambo',
+ 'samek',
+ 'samel',
+ 'samen',
+ 'sames',
+ 'samey',
+ 'samfu',
+ 'sammy',
+ 'sampi',
+ 'samps',
+ 'sands',
+ 'saned',
+ 'sanes',
+ 'sanga',
+ 'sangh',
+ 'sango',
+ 'sangs',
+ 'sanko',
+ 'sansa',
+ 'santo',
+ 'sants',
+ 'saola',
+ 'sapan',
+ 'sapid',
+ 'sapor',
+ 'saran',
+ 'sards',
+ 'sared',
+ 'saree',
+ 'sarge',
+ 'sargo',
+ 'sarin',
+ 'saris',
+ 'sarks',
+ 'sarky',
+ 'sarod',
+ 'saros',
+ 'sarus',
+ 'saser',
+ 'sasin',
+ 'sasse',
+ 'satai',
+ 'satay',
+ 'sated',
+ 'satem',
+ 'sates',
+ 'satis',
+ 'sauba',
+ 'sauch',
+ 'saugh',
+ 'sauls',
+ 'sault',
+ 'saunt',
+ 'saury',
+ 'sauts',
+ 'saved',
+ 'saver',
+ 'saves',
+ 'savey',
+ 'savin',
+ 'sawah',
+ 'sawed',
+ 'sawer',
+ 'saxes',
+ 'sayed',
+ 'sayer',
+ 'sayid',
+ 'sayne',
+ 'sayon',
+ 'sayst',
+ 'sazes',
+ 'scabs',
+ 'scads',
+ 'scaff',
+ 'scags',
+ 'scail',
+ 'scala',
+ 'scall',
+ 'scams',
+ 'scand',
+ 'scans',
+ 'scapa',
+ 'scape',
+ 'scapi',
+ 'scarp',
+ 'scars',
+ 'scart',
+ 'scath',
+ 'scats',
+ 'scatt',
+ 'scaud',
+ 'scaup',
+ 'scaur',
+ 'scaws',
+ 'sceat',
+ 'scena',
+ 'scend',
+ 'schav',
+ 'schmo',
+ 'schul',
+ 'schwa',
+ 'sclim',
+ 'scody',
+ 'scogs',
+ 'scoog',
+ 'scoot',
+ 'scopa',
+ 'scops',
+ 'scots',
+ 'scoug',
+ 'scoup',
+ 'scowp',
+ 'scows',
+ 'scrab',
+ 'scrae',
+ 'scrag',
+ 'scran',
+ 'scrat',
+ 'scraw',
+ 'scray',
+ 'scrim',
+ 'scrip',
+ 'scrob',
+ 'scrod',
+ 'scrog',
+ 'scrow',
+ 'scudi',
+ 'scudo',
+ 'scuds',
+ 'scuff',
+ 'scuft',
+ 'scugs',
+ 'sculk',
+ 'scull',
+ 'sculp',
+ 'sculs',
+ 'scums',
+ 'scups',
+ 'scurf',
+ 'scurs',
+ 'scuse',
+ 'scuta',
+ 'scute',
+ 'scuts',
+ 'scuzz',
+ 'scyes',
+ 'sdayn',
+ 'sdein',
+ 'seals',
+ 'seame',
+ 'seams',
+ 'seamy',
+ 'seans',
+ 'seare',
+ 'sears',
+ 'sease',
+ 'seats',
+ 'seaze',
+ 'sebum',
+ 'secco',
+ 'sechs',
+ 'sects',
+ 'seder',
+ 'sedes',
+ 'sedge',
+ 'sedgy',
+ 'sedum',
+ 'seeds',
+ 'seeks',
+ 'seeld',
+ 'seels',
+ 'seely',
+ 'seems',
+ 'seeps',
+ 'seepy',
+ 'seers',
+ 'sefer',
+ 'segar',
+ 'segni',
+ 'segno',
+ 'segol',
+ 'segos',
+ 'sehri',
+ 'seifs',
+ 'seils',
+ 'seine',
+ 'seirs',
+ 'seise',
+ 'seism',
+ 'seity',
+ 'seiza',
+ 'sekos',
+ 'sekts',
+ 'selah',
+ 'seles',
+ 'selfs',
+ 'sella',
+ 'selle',
+ 'sells',
+ 'selva',
+ 'semee',
+ 'semes',
+ 'semie',
+ 'semis',
+ 'senas',
+ 'sends',
+ 'senes',
+ 'sengi',
+ 'senna',
+ 'senor',
+ 'sensa',
+ 'sensi',
+ 'sente',
+ 'senti',
+ 'sents',
+ 'senvy',
+ 'senza',
+ 'sepad',
+ 'sepal',
+ 'sepic',
+ 'sepoy',
+ 'septa',
+ 'septs',
+ 'serac',
+ 'serai',
+ 'seral',
+ 'sered',
+ 'serer',
+ 'seres',
+ 'serfs',
+ 'serge',
+ 'seric',
+ 'serin',
+ 'serks',
+ 'seron',
+ 'serow',
+ 'serra',
+ 'serre',
+ 'serrs',
+ 'serry',
+ 'servo',
+ 'sesey',
+ 'sessa',
+ 'setae',
+ 'setal',
+ 'seton',
+ 'setts',
+ 'sewan',
+ 'sewar',
+ 'sewed',
+ 'sewel',
+ 'sewen',
+ 'sewin',
+ 'sexed',
+ 'sexer',
+ 'sexes',
+ 'sexto',
+ 'sexts',
+ 'seyen',
+ 'shads',
+ 'shags',
+ 'shahs',
+ 'shako',
+ 'shakt',
+ 'shalm',
+ 'shaly',
+ 'shama',
+ 'shams',
+ 'shand',
+ 'shans',
+ 'shaps',
+ 'sharn',
+ 'shash',
+ 'shaul',
+ 'shawm',
+ 'shawn',
+ 'shaws',
+ 'shaya',
+ 'shays',
+ 'shchi',
+ 'sheaf',
+ 'sheal',
+ 'sheas',
+ 'sheds',
+ 'sheel',
+ 'shend',
+ 'shent',
+ 'sheol',
+ 'sherd',
+ 'shere',
+ 'shero',
+ 'shets',
+ 'sheva',
+ 'shewn',
+ 'shews',
+ 'shiai',
+ 'shiel',
+ 'shier',
+ 'shies',
+ 'shill',
+ 'shily',
+ 'shims',
+ 'shins',
+ 'ships',
+ 'shirr',
+ 'shirs',
+ 'shish',
+ 'shiso',
+ 'shist',
+ 'shite',
+ 'shits',
+ 'shiur',
+ 'shiva',
+ 'shive',
+ 'shivs',
+ 'shlep',
+ 'shlub',
+ 'shmek',
+ 'shmoe',
+ 'shoat',
+ 'shoed',
+ 'shoer',
+ 'shoes',
+ 'shogi',
+ 'shogs',
+ 'shoji',
+ 'shojo',
+ 'shola',
+ 'shool',
+ 'shoon',
+ 'shoos',
+ 'shope',
+ 'shops',
+ 'shorl',
+ 'shote',
+ 'shots',
+ 'shott',
+ 'showd',
+ 'shows',
+ 'shoyu',
+ 'shred',
+ 'shris',
+ 'shrow',
+ 'shtik',
+ 'shtum',
+ 'shtup',
+ 'shule',
+ 'shuln',
+ 'shuls',
+ 'shuns',
+ 'shura',
+ 'shute',
+ 'shuts',
+ 'shwas',
+ 'shyer',
+ 'sials',
+ 'sibbs',
+ 'sibyl',
+ 'sices',
+ 'sicht',
+ 'sicko',
+ 'sicks',
+ 'sicky',
+ 'sidas',
+ 'sided',
+ 'sider',
+ 'sides',
+ 'sidha',
+ 'sidhe',
+ 'sidle',
+ 'sield',
+ 'siens',
+ 'sient',
+ 'sieth',
+ 'sieur',
+ 'sifts',
+ 'sighs',
+ 'sigil',
+ 'sigla',
+ 'signa',
+ 'signs',
+ 'sijos',
+ 'sikas',
+ 'siker',
+ 'sikes',
+ 'silds',
+ 'siled',
+ 'silen',
+ 'siler',
+ 'siles',
+ 'silex',
+ 'silks',
+ 'sills',
+ 'silos',
+ 'silts',
+ 'silty',
+ 'silva',
+ 'simar',
+ 'simas',
+ 'simba',
+ 'simis',
+ 'simps',
+ 'simul',
+ 'sinds',
+ 'sined',
+ 'sines',
+ 'sings',
+ 'sinhs',
+ 'sinks',
+ 'sinky',
+ 'sinus',
+ 'siped',
+ 'sipes',
+ 'sippy',
+ 'sired',
+ 'siree',
+ 'sires',
+ 'sirih',
+ 'siris',
+ 'siroc',
+ 'sirra',
+ 'sirup',
+ 'sisal',
+ 'sises',
+ 'sista',
+ 'sists',
+ 'sitar',
+ 'sited',
+ 'sites',
+ 'sithe',
+ 'sitka',
+ 'situp',
+ 'situs',
+ 'siver',
+ 'sixer',
+ 'sixes',
+ 'sixmo',
+ 'sixte',
+ 'sizar',
+ 'sized',
+ 'sizel',
+ 'sizer',
+ 'sizes',
+ 'skags',
+ 'skail',
+ 'skald',
+ 'skank',
+ 'skart',
+ 'skats',
+ 'skatt',
+ 'skaws',
+ 'skean',
+ 'skear',
+ 'skeds',
+ 'skeed',
+ 'skeef',
+ 'skeen',
+ 'skeer',
+ 'skees',
+ 'skeet',
+ 'skegg',
+ 'skegs',
+ 'skein',
+ 'skelf',
+ 'skell',
+ 'skelm',
+ 'skelp',
+ 'skene',
+ 'skens',
+ 'skeos',
+ 'skeps',
+ 'skers',
+ 'skets',
+ 'skews',
+ 'skids',
+ 'skied',
+ 'skies',
+ 'skiey',
+ 'skimo',
+ 'skims',
+ 'skink',
+ 'skins',
+ 'skint',
+ 'skios',
+ 'skips',
+ 'skirl',
+ 'skirr',
+ 'skite',
+ 'skits',
+ 'skive',
+ 'skivy',
+ 'sklim',
+ 'skoal',
+ 'skody',
+ 'skoff',
+ 'skogs',
+ 'skols',
+ 'skool',
+ 'skort',
+ 'skosh',
+ 'skran',
+ 'skrik',
+ 'skuas',
+ 'skugs',
+ 'skyed',
+ 'skyer',
+ 'skyey',
+ 'skyfs',
+ 'skyre',
+ 'skyrs',
+ 'skyte',
+ 'slabs',
+ 'slade',
+ 'slaes',
+ 'slags',
+ 'slaid',
+ 'slake',
+ 'slams',
+ 'slane',
+ 'slank',
+ 'slaps',
+ 'slart',
+ 'slats',
+ 'slaty',
+ 'slaws',
+ 'slays',
+ 'slebs',
+ 'sleds',
+ 'sleer',
+ 'slews',
+ 'sleys',
+ 'slier',
+ 'slily',
+ 'slims',
+ 'slipe',
+ 'slips',
+ 'slipt',
+ 'slish',
+ 'slits',
+ 'slive',
+ 'sloan',
+ 'slobs',
+ 'sloes',
+ 'slogs',
+ 'sloid',
+ 'slojd',
+ 'slomo',
+ 'sloom',
+ 'sloot',
+ 'slops',
+ 'slopy',
+ 'slorm',
+ 'slots',
+ 'slove',
+ 'slows',
+ 'sloyd',
+ 'slubb',
+ 'slubs',
+ 'slued',
+ 'slues',
+ 'sluff',
+ 'slugs',
+ 'sluit',
+ 'slums',
+ 'slurb',
+ 'slurs',
+ 'sluse',
+ 'sluts',
+ 'slyer',
+ 'slype',
+ 'smaak',
+ 'smaik',
+ 'smalm',
+ 'smalt',
+ 'smarm',
+ 'smaze',
+ 'smeek',
+ 'smees',
+ 'smeik',
+ 'smeke',
+ 'smerk',
+ 'smews',
+ 'smirr',
+ 'smirs',
+ 'smits',
+ 'smogs',
+ 'smoko',
+ 'smolt',
+ 'smoor',
+ 'smoot',
+ 'smore',
+ 'smorg',
+ 'smout',
+ 'smowt',
+ 'smugs',
+ 'smurs',
+ 'smush',
+ 'smuts',
+ 'snabs',
+ 'snafu',
+ 'snags',
+ 'snaps',
+ 'snarf',
+ 'snark',
+ 'snars',
+ 'snary',
+ 'snash',
+ 'snath',
+ 'snaws',
+ 'snead',
+ 'sneap',
+ 'snebs',
+ 'sneck',
+ 'sneds',
+ 'sneed',
+ 'snees',
+ 'snell',
+ 'snibs',
+ 'snick',
+ 'snies',
+ 'snift',
+ 'snigs',
+ 'snips',
+ 'snipy',
+ 'snirt',
+ 'snits',
+ 'snobs',
+ 'snods',
+ 'snoek',
+ 'snoep',
+ 'snogs',
+ 'snoke',
+ 'snood',
+ 'snook',
+ 'snool',
+ 'snoot',
+ 'snots',
+ 'snowk',
+ 'snows',
+ 'snubs',
+ 'snugs',
+ 'snush',
+ 'snyes',
+ 'soaks',
+ 'soaps',
+ 'soare',
+ 'soars',
+ 'soave',
+ 'sobas',
+ 'socas',
+ 'soces',
+ 'socko',
+ 'socks',
+ 'socle',
+ 'sodas',
+ 'soddy',
+ 'sodic',
+ 'sodom',
+ 'sofar',
+ 'sofas',
+ 'softa',
+ 'softs',
+ 'softy',
+ 'soger',
+ 'sohur',
+ 'soils',
+ 'soily',
+ 'sojas',
+ 'sojus',
+ 'sokah',
+ 'soken',
+ 'sokes',
+ 'sokol',
+ 'solah',
+ 'solan',
+ 'solas',
+ 'solde',
+ 'soldi',
+ 'soldo',
+ 'solds',
+ 'soled',
+ 'solei',
+ 'soler',
+ 'soles',
+ 'solon',
+ 'solos',
+ 'solum',
+ 'solus',
+ 'soman',
+ 'somas',
+ 'sonce',
+ 'sonde',
+ 'sones',
+ 'songs',
+ 'sonly',
+ 'sonne',
+ 'sonny',
+ 'sonse',
+ 'sonsy',
+ 'sooey',
+ 'sooks',
+ 'sooky',
+ 'soole',
+ 'sools',
+ 'sooms',
+ 'soops',
+ 'soote',
+ 'soots',
+ 'sophs',
+ 'sophy',
+ 'sopor',
+ 'soppy',
+ 'sopra',
+ 'soral',
+ 'soras',
+ 'sorbo',
+ 'sorbs',
+ 'sorda',
+ 'sordo',
+ 'sords',
+ 'sored',
+ 'soree',
+ 'sorel',
+ 'sorer',
+ 'sores',
+ 'sorex',
+ 'sorgo',
+ 'sorns',
+ 'sorra',
+ 'sorta',
+ 'sorts',
+ 'sorus',
+ 'soths',
+ 'sotol',
+ 'souce',
+ 'souct',
+ 'sough',
+ 'souks',
+ 'souls',
+ 'soums',
+ 'soups',
+ 'soupy',
+ 'sours',
+ 'souse',
+ 'souts',
+ 'sowar',
+ 'sowce',
+ 'sowed',
+ 'sowff',
+ 'sowfs',
+ 'sowle',
+ 'sowls',
+ 'sowms',
+ 'sownd',
+ 'sowne',
+ 'sowps',
+ 'sowse',
+ 'sowth',
+ 'soyas',
+ 'soyle',
+ 'soyuz',
+ 'sozin',
+ 'spacy',
+ 'spado',
+ 'spaed',
+ 'spaer',
+ 'spaes',
+ 'spags',
+ 'spahi',
+ 'spail',
+ 'spain',
+ 'spait',
+ 'spake',
+ 'spald',
+ 'spale',
+ 'spall',
+ 'spalt',
+ 'spams',
+ 'spane',
+ 'spang',
+ 'spans',
+ 'spard',
+ 'spars',
+ 'spart',
+ 'spate',
+ 'spats',
+ 'spaul',
+ 'spawl',
+ 'spaws',
+ 'spayd',
+ 'spays',
+ 'spaza',
+ 'spazz',
+ 'speal',
+ 'spean',
+ 'speat',
+ 'specs',
+ 'spect',
+ 'speel',
+ 'speer',
+ 'speil',
+ 'speir',
+ 'speks',
+ 'speld',
+ 'spelk',
+ 'speos',
+ 'spets',
+ 'speug',
+ 'spews',
+ 'spewy',
+ 'spial',
+ 'spica',
+ 'spick',
+ 'spics',
+ 'spide',
+ 'spier',
+ 'spies',
+ 'spiff',
+ 'spifs',
+ 'spiks',
+ 'spile',
+ 'spims',
+ 'spina',
+ 'spink',
+ 'spins',
+ 'spirt',
+ 'spiry',
+ 'spits',
+ 'spitz',
+ 'spivs',
+ 'splay',
+ 'splog',
+ 'spode',
+ 'spods',
+ 'spoom',
+ 'spoor',
+ 'spoot',
+ 'spork',
+ 'sposh',
+ 'spots',
+ 'sprad',
+ 'sprag',
+ 'sprat',
+ 'spred',
+ 'sprew',
+ 'sprit',
+ 'sprod',
+ 'sprog',
+ 'sprue',
+ 'sprug',
+ 'spuds',
+ 'spued',
+ 'spuer',
+ 'spues',
+ 'spugs',
+ 'spule',
+ 'spume',
+ 'spumy',
+ 'spurs',
+ 'sputa',
+ 'spyal',
+ 'spyre',
+ 'squab',
+ 'squaw',
+ 'squeg',
+ 'squid',
+ 'squit',
+ 'squiz',
+ 'stabs',
+ 'stade',
+ 'stags',
+ 'stagy',
+ 'staig',
+ 'stane',
+ 'stang',
+ 'staph',
+ 'staps',
+ 'starn',
+ 'starr',
+ 'stars',
+ 'stats',
+ 'staun',
+ 'staws',
+ 'stays',
+ 'stean',
+ 'stear',
+ 'stedd',
+ 'stede',
+ 'steds',
+ 'steek',
+ 'steem',
+ 'steen',
+ 'steil',
+ 'stela',
+ 'stele',
+ 'stell',
+ 'steme',
+ 'stems',
+ 'stend',
+ 'steno',
+ 'stens',
+ 'stent',
+ 'steps',
+ 'stept',
+ 'stere',
+ 'stets',
+ 'stews',
+ 'stewy',
+ 'steys',
+ 'stich',
+ 'stied',
+ 'sties',
+ 'stilb',
+ 'stile',
+ 'stime',
+ 'stims',
+ 'stimy',
+ 'stipa',
+ 'stipe',
+ 'stire',
+ 'stirk',
+ 'stirp',
+ 'stirs',
+ 'stive',
+ 'stivy',
+ 'stoae',
+ 'stoai',
+ 'stoas',
+ 'stoat',
+ 'stobs',
+ 'stoep',
+ 'stogy',
+ 'stoit',
+ 'stoln',
+ 'stoma',
+ 'stond',
+ 'stong',
+ 'stonk',
+ 'stonn',
+ 'stook',
+ 'stoor',
+ 'stope',
+ 'stops',
+ 'stopt',
+ 'stoss',
+ 'stots',
+ 'stott',
+ 'stoun',
+ 'stoup',
+ 'stour',
+ 'stown',
+ 'stowp',
+ 'stows',
+ 'strad',
+ 'strae',
+ 'strag',
+ 'strak',
+ 'strep',
+ 'strew',
+ 'stria',
+ 'strig',
+ 'strim',
+ 'strop',
+ 'strow',
+ 'stroy',
+ 'strum',
+ 'stubs',
+ 'stude',
+ 'studs',
+ 'stull',
+ 'stulm',
+ 'stumm',
+ 'stums',
+ 'stuns',
+ 'stupa',
+ 'stupe',
+ 'sture',
+ 'sturt',
+ 'styed',
+ 'styes',
+ 'styli',
+ 'stylo',
+ 'styme',
+ 'stymy',
+ 'styre',
+ 'styte',
+ 'subah',
+ 'subas',
+ 'subby',
+ 'suber',
+ 'subha',
+ 'succi',
+ 'sucks',
+ 'sucky',
+ 'sucre',
+ 'sudds',
+ 'sudor',
+ 'sudsy',
+ 'suede',
+ 'suent',
+ 'suers',
+ 'suete',
+ 'suets',
+ 'suety',
+ 'sugan',
+ 'sughs',
+ 'sugos',
+ 'suhur',
+ 'suids',
+ 'suint',
+ 'suits',
+ 'sujee',
+ 'sukhs',
+ 'sukuk',
+ 'sulci',
+ 'sulfa',
+ 'sulfo',
+ 'sulks',
+ 'sulph',
+ 'sulus',
+ 'sumis',
+ 'summa',
+ 'sumos',
+ 'sumph',
+ 'sumps',
+ 'sunis',
+ 'sunks',
+ 'sunna',
+ 'sunns',
+ 'sunup',
+ 'supes',
+ 'supra',
+ 'surah',
+ 'sural',
+ 'suras',
+ 'surat',
+ 'surds',
+ 'sured',
+ 'sures',
+ 'surfs',
+ 'surfy',
+ 'surgy',
+ 'surra',
+ 'sused',
+ 'suses',
+ 'susus',
+ 'sutor',
+ 'sutra',
+ 'sutta',
+ 'swabs',
+ 'swack',
+ 'swads',
+ 'swage',
+ 'swags',
+ 'swail',
+ 'swain',
+ 'swale',
+ 'swaly',
+ 'swamy',
+ 'swang',
+ 'swank',
+ 'swans',
+ 'swaps',
+ 'swapt',
+ 'sward',
+ 'sware',
+ 'swarf',
+ 'swart',
+ 'swats',
+ 'swayl',
+ 'sways',
+ 'sweal',
+ 'swede',
+ 'sweed',
+ 'sweel',
+ 'sweer',
+ 'swees',
+ 'sweir',
+ 'swelt',
+ 'swerf',
+ 'sweys',
+ 'swies',
+ 'swigs',
+ 'swile',
+ 'swims',
+ 'swink',
+ 'swipe',
+ 'swire',
+ 'swiss',
+ 'swith',
+ 'swits',
+ 'swive',
+ 'swizz',
+ 'swobs',
+ 'swole',
+ 'swoln',
+ 'swops',
+ 'swopt',
+ 'swots',
+ 'swoun',
+ 'sybbe',
+ 'sybil',
+ 'syboe',
+ 'sybow',
+ 'sycee',
+ 'syces',
+ 'sycon',
+ 'syens',
+ 'syker',
+ 'sykes',
+ 'sylis',
+ 'sylph',
+ 'sylva',
+ 'symar',
+ 'synch',
+ 'syncs',
+ 'synds',
+ 'syned',
+ 'synes',
+ 'synth',
+ 'syped',
+ 'sypes',
+ 'syphs',
+ 'syrah',
+ 'syren',
+ 'sysop',
+ 'sythe',
+ 'syver',
+ 'taals',
+ 'taata',
+ 'taber',
+ 'tabes',
+ 'tabid',
+ 'tabis',
+ 'tabla',
+ 'tabor',
+ 'tabun',
+ 'tabus',
+ 'tacan',
+ 'taces',
+ 'tacet',
+ 'tache',
+ 'tacho',
+ 'tachs',
+ 'tacks',
+ 'tacos',
+ 'tacts',
+ 'taels',
+ 'tafia',
+ 'taggy',
+ 'tagma',
+ 'tahas',
+ 'tahrs',
+ 'taiga',
+ 'taigs',
+ 'taiko',
+ 'tails',
+ 'tains',
+ 'taira',
+ 'taish',
+ 'taits',
+ 'tajes',
+ 'takas',
+ 'takes',
+ 'takhi',
+ 'takin',
+ 'takis',
+ 'takky',
+ 'talak',
+ 'talaq',
+ 'talar',
+ 'talas',
+ 'talcs',
+ 'talcy',
+ 'talea',
+ 'taler',
+ 'tales',
+ 'talks',
+ 'talky',
+ 'talls',
+ 'talma',
+ 'talpa',
+ 'taluk',
+ 'talus',
+ 'tamal',
+ 'tamed',
+ 'tames',
+ 'tamin',
+ 'tamis',
+ 'tammy',
+ 'tamps',
+ 'tanas',
+ 'tanga',
+ 'tangi',
+ 'tangs',
+ 'tanhs',
+ 'tanka',
+ 'tanks',
+ 'tanky',
+ 'tanna',
+ 'tansy',
+ 'tanti',
+ 'tanto',
+ 'tanty',
+ 'tapas',
+ 'taped',
+ 'tapen',
+ 'tapes',
+ 'tapet',
+ 'tapis',
+ 'tappa',
+ 'tapus',
+ 'taras',
+ 'tardo',
+ 'tared',
+ 'tares',
+ 'targa',
+ 'targe',
+ 'tarns',
+ 'taroc',
+ 'tarok',
+ 'taros',
+ 'tarps',
+ 'tarre',
+ 'tarry',
+ 'tarsi',
+ 'tarts',
+ 'tarty',
+ 'tasar',
+ 'tased',
+ 'taser',
+ 'tases',
+ 'tasks',
+ 'tassa',
+ 'tasse',
+ 'tasso',
+ 'tatar',
+ 'tater',
+ 'tates',
+ 'taths',
+ 'tatie',
+ 'tatou',
+ 'tatts',
+ 'tatus',
+ 'taube',
+ 'tauld',
+ 'tauon',
+ 'taupe',
+ 'tauts',
+ 'tavah',
+ 'tavas',
+ 'taver',
+ 'tawai',
+ 'tawas',
+ 'tawed',
+ 'tawer',
+ 'tawie',
+ 'tawse',
+ 'tawts',
+ 'taxed',
+ 'taxer',
+ 'taxes',
+ 'taxis',
+ 'taxol',
+ 'taxon',
+ 'taxor',
+ 'taxus',
+ 'tayra',
+ 'tazza',
+ 'tazze',
+ 'teade',
+ 'teads',
+ 'teaed',
+ 'teaks',
+ 'teals',
+ 'teams',
+ 'tears',
+ 'teats',
+ 'teaze',
+ 'techs',
+ 'techy',
+ 'tecta',
+ 'teels',
+ 'teems',
+ 'teend',
+ 'teene',
+ 'teens',
+ 'teeny',
+ 'teers',
+ 'teffs',
+ 'teggs',
+ 'tegua',
+ 'tegus',
+ 'tehrs',
+ 'teiid',
+ 'teils',
+ 'teind',
+ 'teins',
+ 'telae',
+ 'telco',
+ 'teles',
+ 'telex',
+ 'telia',
+ 'telic',
+ 'tells',
+ 'telly',
+ 'teloi',
+ 'telos',
+ 'temed',
+ 'temes',
+ 'tempi',
+ 'temps',
+ 'tempt',
+ 'temse',
+ 'tench',
+ 'tends',
+ 'tendu',
+ 'tenes',
+ 'tenge',
+ 'tenia',
+ 'tenne',
+ 'tenno',
+ 'tenny',
+ 'tenon',
+ 'tents',
+ 'tenty',
+ 'tenue',
+ 'tepal',
+ 'tepas',
+ 'tepoy',
+ 'terai',
+ 'teras',
+ 'terce',
+ 'terek',
+ 'teres',
+ 'terfe',
+ 'terfs',
+ 'terga',
+ 'terms',
+ 'terne',
+ 'terns',
+ 'terry',
+ 'terts',
+ 'tesla',
+ 'testa',
+ 'teste',
+ 'tests',
+ 'tetes',
+ 'teths',
+ 'tetra',
+ 'tetri',
+ 'teuch',
+ 'teugh',
+ 'tewed',
+ 'tewel',
+ 'tewit',
+ 'texas',
+ 'texes',
+ 'texts',
+ 'thack',
+ 'thagi',
+ 'thaim',
+ 'thale',
+ 'thali',
+ 'thana',
+ 'thane',
+ 'thang',
+ 'thans',
+ 'thanx',
+ 'tharm',
+ 'thars',
+ 'thaws',
+ 'thawy',
+ 'thebe',
+ 'theca',
+ 'theed',
+ 'theek',
+ 'thees',
+ 'thegn',
+ 'theic',
+ 'thein',
+ 'thelf',
+ 'thema',
+ 'thens',
+ 'theow',
+ 'therm',
+ 'thesp',
+ 'thete',
+ 'thews',
+ 'thewy',
+ 'thigs',
+ 'thilk',
+ 'thill',
+ 'thine',
+ 'thins',
+ 'thiol',
+ 'thirl',
+ 'thoft',
+ 'thole',
+ 'tholi',
+ 'thoro',
+ 'thorp',
+ 'thous',
+ 'thowl',
+ 'thrae',
+ 'thraw',
+ 'thrid',
+ 'thrip',
+ 'throe',
+ 'thuds',
+ 'thugs',
+ 'thuja',
+ 'thunk',
+ 'thurl',
+ 'thuya',
+ 'thymi',
+ 'thymy',
+ 'tians',
+ 'tiars',
+ 'tical',
+ 'ticca',
+ 'ticed',
+ 'tices',
+ 'tichy',
+ 'ticks',
+ 'ticky',
+ 'tiddy',
+ 'tided',
+ 'tides',
+ 'tiers',
+ 'tiffs',
+ 'tifos',
+ 'tifts',
+ 'tiges',
+ 'tigon',
+ 'tikas',
+ 'tikes',
+ 'tikis',
+ 'tikka',
+ 'tilak',
+ 'tiled',
+ 'tiler',
+ 'tiles',
+ 'tills',
+ 'tilly',
+ 'tilth',
+ 'tilts',
+ 'timbo',
+ 'timed',
+ 'times',
+ 'timon',
+ 'timps',
+ 'tinas',
+ 'tinct',
+ 'tinds',
+ 'tinea',
+ 'tined',
+ 'tines',
+ 'tinge',
+ 'tings',
+ 'tinks',
+ 'tinny',
+ 'tints',
+ 'tinty',
+ 'tipis',
+ 'tippy',
+ 'tired',
+ 'tires',
+ 'tirls',
+ 'tiros',
+ 'tirrs',
+ 'titch',
+ 'titer',
+ 'titis',
+ 'titre',
+ 'titty',
+ 'titup',
+ 'tiyin',
+ 'tiyns',
+ 'tizes',
+ 'tizzy',
+ 'toads',
+ 'toady',
+ 'toaze',
+ 'tocks',
+ 'tocky',
+ 'tocos',
+ 'todde',
+ 'toeas',
+ 'toffs',
+ 'toffy',
+ 'tofts',
+ 'tofus',
+ 'togae',
+ 'togas',
+ 'toged',
+ 'toges',
+ 'togue',
+ 'tohos',
+ 'toile',
+ 'toils',
+ 'toing',
+ 'toise',
+ 'toits',
+ 'tokay',
+ 'toked',
+ 'toker',
+ 'tokes',
+ 'tokos',
+ 'tolan',
+ 'tolar',
+ 'tolas',
+ 'toled',
+ 'toles',
+ 'tolls',
+ 'tolly',
+ 'tolts',
+ 'tolus',
+ 'tolyl',
+ 'toman',
+ 'tombs',
+ 'tomes',
+ 'tomia',
+ 'tommy',
+ 'tomos',
+ 'tondi',
+ 'tondo',
+ 'toned',
+ 'toner',
+ 'tones',
+ 'toney',
+ 'tongs',
+ 'tonka',
+ 'tonks',
+ 'tonne',
+ 'tonus',
+ 'tools',
+ 'tooms',
+ 'toons',
+ 'toots',
+ 'toped',
+ 'topee',
+ 'topek',
+ 'toper',
+ 'topes',
+ 'tophe',
+ 'tophi',
+ 'tophs',
+ 'topis',
+ 'topoi',
+ 'topos',
+ 'toppy',
+ 'toque',
+ 'torah',
+ 'toran',
+ 'toras',
+ 'torcs',
+ 'tores',
+ 'toric',
+ 'torii',
+ 'toros',
+ 'torot',
+ 'torrs',
+ 'torse',
+ 'torsi',
+ 'torsk',
+ 'torta',
+ 'torte',
+ 'torts',
+ 'tosas',
+ 'tosed',
+ 'toses',
+ 'toshy',
+ 'tossy',
+ 'toted',
+ 'toter',
+ 'totes',
+ 'totty',
+ 'touks',
+ 'touns',
+ 'tours',
+ 'touse',
+ 'tousy',
+ 'touts',
+ 'touze',
+ 'touzy',
+ 'towed',
+ 'towie',
+ 'towns',
+ 'towny',
+ 'towse',
+ 'towsy',
+ 'towts',
+ 'towze',
+ 'towzy',
+ 'toyed',
+ 'toyer',
+ 'toyon',
+ 'toyos',
+ 'tozed',
+ 'tozes',
+ 'tozie',
+ 'trabs',
+ 'trads',
+ 'tragi',
+ 'traik',
+ 'trams',
+ 'trank',
+ 'tranq',
+ 'trans',
+ 'trant',
+ 'trape',
+ 'traps',
+ 'trapt',
+ 'trass',
+ 'trats',
+ 'tratt',
+ 'trave',
+ 'trayf',
+ 'trays',
+ 'treck',
+ 'treed',
+ 'treen',
+ 'trees',
+ 'trefa',
+ 'treif',
+ 'treks',
+ 'trema',
+ 'trems',
+ 'tress',
+ 'trest',
+ 'trets',
+ 'trews',
+ 'treyf',
+ 'treys',
+ 'triac',
+ 'tride',
+ 'trier',
+ 'tries',
+ 'triff',
+ 'trigo',
+ 'trigs',
+ 'trike',
+ 'trild',
+ 'trill',
+ 'trims',
+ 'trine',
+ 'trins',
+ 'triol',
+ 'trior',
+ 'trios',
+ 'trips',
+ 'tripy',
+ 'trist',
+ 'troad',
+ 'troak',
+ 'troat',
+ 'trock',
+ 'trode',
+ 'trods',
+ 'trogs',
+ 'trois',
+ 'troke',
+ 'tromp',
+ 'trona',
+ 'tronc',
+ 'trone',
+ 'tronk',
+ 'trons',
+ 'trooz',
+ 'troth',
+ 'trots',
+ 'trows',
+ 'troys',
+ 'trued',
+ 'trues',
+ 'trugo',
+ 'trugs',
+ 'trull',
+ 'tryer',
+ 'tryke',
+ 'tryma',
+ 'tryps',
+ 'tsade',
+ 'tsadi',
+ 'tsars',
+ 'tsked',
+ 'tsuba',
+ 'tsubo',
+ 'tuans',
+ 'tuart',
+ 'tuath',
+ 'tubae',
+ 'tubar',
+ 'tubas',
+ 'tubby',
+ 'tubed',
+ 'tubes',
+ 'tucks',
+ 'tufas',
+ 'tuffe',
+ 'tuffs',
+ 'tufts',
+ 'tufty',
+ 'tugra',
+ 'tuile',
+ 'tuina',
+ 'tuism',
+ 'tuktu',
+ 'tules',
+ 'tulpa',
+ 'tulsi',
+ 'tumid',
+ 'tummy',
+ 'tumps',
+ 'tumpy',
+ 'tunas',
+ 'tunds',
+ 'tuned',
+ 'tuner',
+ 'tunes',
+ 'tungs',
+ 'tunny',
+ 'tupek',
+ 'tupik',
+ 'tuple',
+ 'tuque',
+ 'turds',
+ 'turfs',
+ 'turfy',
+ 'turks',
+ 'turme',
+ 'turms',
+ 'turns',
+ 'turnt',
+ 'turps',
+ 'turrs',
+ 'tushy',
+ 'tusks',
+ 'tusky',
+ 'tutee',
+ 'tutti',
+ 'tutty',
+ 'tutus',
+ 'tuxes',
+ 'tuyer',
+ 'twaes',
+ 'twain',
+ 'twals',
+ 'twank',
+ 'twats',
+ 'tways',
+ 'tweel',
+ 'tween',
+ 'tweep',
+ 'tweer',
+ 'twerk',
+ 'twerp',
+ 'twier',
+ 'twigs',
+ 'twill',
+ 'twilt',
+ 'twink',
+ 'twins',
+ 'twiny',
+ 'twire',
+ 'twirp',
+ 'twite',
+ 'twits',
+ 'twoer',
+ 'twyer',
+ 'tyees',
+ 'tyers',
+ 'tyiyn',
+ 'tykes',
+ 'tyler',
+ 'tymps',
+ 'tynde',
+ 'tyned',
+ 'tynes',
+ 'typal',
+ 'typed',
+ 'types',
+ 'typey',
+ 'typic',
+ 'typos',
+ 'typps',
+ 'typto',
+ 'tyran',
+ 'tyred',
+ 'tyres',
+ 'tyros',
+ 'tythe',
+ 'tzars',
+ 'udals',
+ 'udons',
+ 'ugali',
+ 'ugged',
+ 'uhlan',
+ 'uhuru',
+ 'ukase',
+ 'ulama',
+ 'ulans',
+ 'ulema',
+ 'ulmin',
+ 'ulnad',
+ 'ulnae',
+ 'ulnar',
+ 'ulnas',
+ 'ulpan',
+ 'ulvas',
+ 'ulyie',
+ 'ulzie',
+ 'umami',
+ 'umbel',
+ 'umber',
+ 'umble',
+ 'umbos',
+ 'umbre',
+ 'umiac',
+ 'umiak',
+ 'umiaq',
+ 'ummah',
+ 'ummas',
+ 'ummed',
+ 'umped',
+ 'umphs',
+ 'umpie',
+ 'umpty',
+ 'umrah',
+ 'umras',
+ 'unais',
+ 'unapt',
+ 'unarm',
+ 'unary',
+ 'unaus',
+ 'unbag',
+ 'unban',
+ 'unbar',
+ 'unbed',
+ 'unbid',
+ 'unbox',
+ 'uncap',
+ 'unces',
+ 'uncia',
+ 'uncos',
+ 'uncoy',
+ 'uncus',
+ 'undam',
+ 'undee',
+ 'undos',
+ 'undug',
+ 'uneth',
+ 'unfix',
+ 'ungag',
+ 'unget',
+ 'ungod',
+ 'ungot',
+ 'ungum',
+ 'unhat',
+ 'unhip',
+ 'unica',
+ 'units',
+ 'unjam',
+ 'unked',
+ 'unket',
+ 'unkid',
+ 'unlaw',
+ 'unlay',
+ 'unled',
+ 'unlet',
+ 'unlid',
+ 'unman',
+ 'unmew',
+ 'unmix',
+ 'unpay',
+ 'unpeg',
+ 'unpen',
+ 'unpin',
+ 'unred',
+ 'unrid',
+ 'unrig',
+ 'unrip',
+ 'unsaw',
+ 'unsay',
+ 'unsee',
+ 'unsew',
+ 'unsex',
+ 'unsod',
+ 'untax',
+ 'untin',
+ 'unwet',
+ 'unwit',
+ 'unwon',
+ 'upbow',
+ 'upbye',
+ 'updos',
+ 'updry',
+ 'upend',
+ 'upjet',
+ 'uplay',
+ 'upled',
+ 'uplit',
+ 'upped',
+ 'upran',
+ 'uprun',
+ 'upsee',
+ 'upsey',
+ 'uptak',
+ 'upter',
+ 'uptie',
+ 'uraei',
+ 'urali',
+ 'uraos',
+ 'urare',
+ 'urari',
+ 'urase',
+ 'urate',
+ 'urbex',
+ 'urbia',
+ 'urdee',
+ 'ureal',
+ 'ureas',
+ 'uredo',
+ 'ureic',
+ 'urena',
+ 'urent',
+ 'urged',
+ 'urger',
+ 'urges',
+ 'urial',
+ 'urite',
+ 'urman',
+ 'urnal',
+ 'urned',
+ 'urped',
+ 'ursae',
+ 'ursid',
+ 'urson',
+ 'urubu',
+ 'urvas',
+ 'users',
+ 'usnea',
+ 'usque',
+ 'usure',
+ 'usury',
+ 'uteri',
+ 'uveal',
+ 'uveas',
+ 'uvula',
+ 'vacua',
+ 'vaded',
+ 'vades',
+ 'vagal',
+ 'vagus',
+ 'vails',
+ 'vaire',
+ 'vairs',
+ 'vairy',
+ 'vakas',
+ 'vakil',
+ 'vales',
+ 'valis',
+ 'valse',
+ 'vamps',
+ 'vampy',
+ 'vanda',
+ 'vaned',
+ 'vanes',
+ 'vangs',
+ 'vants',
+ 'vaped',
+ 'vaper',
+ 'vapes',
+ 'varan',
+ 'varas',
+ 'vardy',
+ 'varec',
+ 'vares',
+ 'varia',
+ 'varix',
+ 'varna',
+ 'varus',
+ 'varve',
+ 'vasal',
+ 'vases',
+ 'vasts',
+ 'vasty',
+ 'vatic',
+ 'vatus',
+ 'vauch',
+ 'vaute',
+ 'vauts',
+ 'vawte',
+ 'vaxes',
+ 'veale',
+ 'veals',
+ 'vealy',
+ 'veena',
+ 'veeps',
+ 'veers',
+ 'veery',
+ 'vegas',
+ 'veges',
+ 'vegie',
+ 'vegos',
+ 'vehme',
+ 'veils',
+ 'veily',
+ 'veins',
+ 'veiny',
+ 'velar',
+ 'velds',
+ 'veldt',
+ 'veles',
+ 'vells',
+ 'velum',
+ 'venae',
+ 'venal',
+ 'vends',
+ 'vendu',
+ 'veney',
+ 'venge',
+ 'venin',
+ 'vents',
+ 'venus',
+ 'verbs',
+ 'verra',
+ 'verry',
+ 'verst',
+ 'verts',
+ 'vertu',
+ 'vespa',
+ 'vesta',
+ 'vests',
+ 'vetch',
+ 'vexed',
+ 'vexer',
+ 'vexes',
+ 'vexil',
+ 'vezir',
+ 'vials',
+ 'viand',
+ 'vibes',
+ 'vibex',
+ 'vibey',
+ 'viced',
+ 'vices',
+ 'vichy',
+ 'viers',
+ 'views',
+ 'viewy',
+ 'vifda',
+ 'viffs',
+ 'vigas',
+ 'vigia',
+ 'vilde',
+ 'viler',
+ 'villi',
+ 'vills',
+ 'vimen',
+ 'vinal',
+ 'vinas',
+ 'vinca',
+ 'vined',
+ 'viner',
+ 'vines',
+ 'vinew',
+ 'vinic',
+ 'vinos',
+ 'vints',
+ 'viold',
+ 'viols',
+ 'vired',
+ 'vireo',
+ 'vires',
+ 'virga',
+ 'virge',
+ 'virid',
+ 'virls',
+ 'virtu',
+ 'visas',
+ 'vised',
+ 'vises',
+ 'visie',
+ 'visne',
+ 'vison',
+ 'visto',
+ 'vitae',
+ 'vitas',
+ 'vitex',
+ 'vitro',
+ 'vitta',
+ 'vivas',
+ 'vivat',
+ 'vivda',
+ 'viver',
+ 'vives',
+ 'vizir',
+ 'vizor',
+ 'vleis',
+ 'vlies',
+ 'vlogs',
+ 'voars',
+ 'vocab',
+ 'voces',
+ 'voddy',
+ 'vodou',
+ 'vodun',
+ 'voema',
+ 'vogie',
+ 'voids',
+ 'voile',
+ 'voips',
+ 'volae',
+ 'volar',
+ 'voled',
+ 'voles',
+ 'volet',
+ 'volks',
+ 'volta',
+ 'volte',
+ 'volti',
+ 'volts',
+ 'volva',
+ 'volve',
+ 'vomer',
+ 'voted',
+ 'votes',
+ 'vouge',
+ 'voulu',
+ 'vowed',
+ 'vower',
+ 'voxel',
+ 'vozhd',
+ 'vraic',
+ 'vrils',
+ 'vroom',
+ 'vrous',
+ 'vrouw',
+ 'vrows',
+ 'vuggs',
+ 'vuggy',
+ 'vughs',
+ 'vughy',
+ 'vulgo',
+ 'vulns',
+ 'vulva',
+ 'vutty',
+ 'waacs',
+ 'wacke',
+ 'wacko',
+ 'wacks',
+ 'wadds',
+ 'waddy',
+ 'waded',
+ 'wader',
+ 'wades',
+ 'wadge',
+ 'wadis',
+ 'wadts',
+ 'waffs',
+ 'wafts',
+ 'waged',
+ 'wages',
+ 'wagga',
+ 'wagyu',
+ 'wahoo',
+ 'waide',
+ 'waifs',
+ 'waift',
+ 'wails',
+ 'wains',
+ 'wairs',
+ 'waite',
+ 'waits',
+ 'wakas',
+ 'waked',
+ 'waken',
+ 'waker',
+ 'wakes',
+ 'wakfs',
+ 'waldo',
+ 'walds',
+ 'waled',
+ 'waler',
+ 'wales',
+ 'walie',
+ 'walis',
+ 'walks',
+ 'walla',
+ 'walls',
+ 'wally',
+ 'walty',
+ 'wamed',
+ 'wames',
+ 'wamus',
+ 'wands',
+ 'waned',
+ 'wanes',
+ 'waney',
+ 'wangs',
+ 'wanks',
+ 'wanky',
+ 'wanle',
+ 'wanly',
+ 'wanna',
+ 'wants',
+ 'wanty',
+ 'wanze',
+ 'waqfs',
+ 'warbs',
+ 'warby',
+ 'wards',
+ 'wared',
+ 'wares',
+ 'warez',
+ 'warks',
+ 'warms',
+ 'warns',
+ 'warps',
+ 'warre',
+ 'warst',
+ 'warts',
+ 'wases',
+ 'washy',
+ 'wasms',
+ 'wasps',
+ 'waspy',
+ 'wasts',
+ 'watap',
+ 'watts',
+ 'wauff',
+ 'waugh',
+ 'wauks',
+ 'waulk',
+ 'wauls',
+ 'waurs',
+ 'waved',
+ 'waves',
+ 'wavey',
+ 'wawas',
+ 'wawes',
+ 'wawls',
+ 'waxed',
+ 'waxer',
+ 'waxes',
+ 'wayed',
+ 'wazir',
+ 'wazoo',
+ 'weald',
+ 'weals',
+ 'weamb',
+ 'weans',
+ 'wears',
+ 'webby',
+ 'weber',
+ 'wecht',
+ 'wedel',
+ 'wedgy',
+ 'weeds',
+ 'weeke',
+ 'weeks',
+ 'weels',
+ 'weems',
+ 'weens',
+ 'weeny',
+ 'weeps',
+ 'weepy',
+ 'weest',
+ 'weete',
+ 'weets',
+ 'wefte',
+ 'wefts',
+ 'weids',
+ 'weils',
+ 'weirs',
+ 'weise',
+ 'weize',
+ 'wekas',
+ 'welds',
+ 'welke',
+ 'welks',
+ 'welkt',
+ 'wells',
+ 'welly',
+ 'welts',
+ 'wembs',
+ 'wends',
+ 'wenge',
+ 'wenny',
+ 'wents',
+ 'weros',
+ 'wersh',
+ 'wests',
+ 'wetas',
+ 'wetly',
+ 'wexed',
+ 'wexes',
+ 'whamo',
+ 'whams',
+ 'whang',
+ 'whaps',
+ 'whare',
+ 'whata',
+ 'whats',
+ 'whaup',
+ 'whaur',
+ 'wheal',
+ 'whear',
+ 'wheen',
+ 'wheep',
+ 'wheft',
+ 'whelk',
+ 'whelm',
+ 'whens',
+ 'whets',
+ 'whews',
+ 'wheys',
+ 'whids',
+ 'whift',
+ 'whigs',
+ 'whilk',
+ 'whims',
+ 'whins',
+ 'whios',
+ 'whips',
+ 'whipt',
+ 'whirr',
+ 'whirs',
+ 'whish',
+ 'whiss',
+ 'whist',
+ 'whits',
+ 'whity',
+ 'whizz',
+ 'whomp',
+ 'whoof',
+ 'whoot',
+ 'whops',
+ 'whore',
+ 'whorl',
+ 'whort',
+ 'whoso',
+ 'whows',
+ 'whump',
+ 'whups',
+ 'whyda',
+ 'wicca',
+ 'wicks',
+ 'wicky',
+ 'widdy',
+ 'wides',
+ 'wiels',
+ 'wifed',
+ 'wifes',
+ 'wifey',
+ 'wifie',
+ 'wifty',
+ 'wigan',
+ 'wigga',
+ 'wiggy',
+ 'wikis',
+ 'wilco',
+ 'wilds',
+ 'wiled',
+ 'wiles',
+ 'wilga',
+ 'wilis',
+ 'wilja',
+ 'wills',
+ 'wilts',
+ 'wimps',
+ 'winds',
+ 'wined',
+ 'wines',
+ 'winey',
+ 'winge',
+ 'wings',
+ 'wingy',
+ 'winks',
+ 'winna',
+ 'winns',
+ 'winos',
+ 'winze',
+ 'wiped',
+ 'wiper',
+ 'wipes',
+ 'wired',
+ 'wirer',
+ 'wires',
+ 'wirra',
+ 'wised',
+ 'wises',
+ 'wisha',
+ 'wisht',
+ 'wisps',
+ 'wists',
+ 'witan',
+ 'wited',
+ 'wites',
+ 'withe',
+ 'withs',
+ 'withy',
+ 'wived',
+ 'wiver',
+ 'wives',
+ 'wizen',
+ 'wizes',
+ 'woads',
+ 'woald',
+ 'wocks',
+ 'wodge',
+ 'woful',
+ 'wojus',
+ 'woker',
+ 'wokka',
+ 'wolds',
+ 'wolfs',
+ 'wolly',
+ 'wolve',
+ 'wombs',
+ 'womby',
+ 'womyn',
+ 'wonga',
+ 'wongi',
+ 'wonks',
+ 'wonky',
+ 'wonts',
+ 'woods',
+ 'wooed',
+ 'woofs',
+ 'woofy',
+ 'woold',
+ 'wools',
+ 'woons',
+ 'woops',
+ 'woopy',
+ 'woose',
+ 'woosh',
+ 'wootz',
+ 'words',
+ 'works',
+ 'worms',
+ 'wormy',
+ 'worts',
+ 'wowed',
+ 'wowee',
+ 'woxen',
+ 'wrang',
+ 'wraps',
+ 'wrapt',
+ 'wrast',
+ 'wrate',
+ 'wrawl',
+ 'wrens',
+ 'wrick',
+ 'wried',
+ 'wrier',
+ 'wries',
+ 'writs',
+ 'wroke',
+ 'wroot',
+ 'wroth',
+ 'wryer',
+ 'wuddy',
+ 'wudus',
+ 'wulls',
+ 'wurst',
+ 'wuses',
+ 'wushu',
+ 'wussy',
+ 'wuxia',
+ 'wyled',
+ 'wyles',
+ 'wynds',
+ 'wynns',
+ 'wyted',
+ 'wytes',
+ 'xebec',
+ 'xenia',
+ 'xenic',
+ 'xenon',
+ 'xeric',
+ 'xerox',
+ 'xerus',
+ 'xoana',
+ 'xrays',
+ 'xylan',
+ 'xylem',
+ 'xylic',
+ 'xylol',
+ 'xylyl',
+ 'xysti',
+ 'xysts',
+ 'yaars',
+ 'yabas',
+ 'yabba',
+ 'yabby',
+ 'yacca',
+ 'yacka',
+ 'yacks',
+ 'yaffs',
+ 'yager',
+ 'yages',
+ 'yagis',
+ 'yahoo',
+ 'yaird',
+ 'yakka',
+ 'yakow',
+ 'yales',
+ 'yamen',
+ 'yampy',
+ 'yamun',
+ 'yangs',
+ 'yanks',
+ 'yapok',
+ 'yapon',
+ 'yapps',
+ 'yappy',
+ 'yarak',
+ 'yarco',
+ 'yards',
+ 'yarer',
+ 'yarfa',
+ 'yarks',
+ 'yarns',
+ 'yarrs',
+ 'yarta',
+ 'yarto',
+ 'yates',
+ 'yauds',
+ 'yauld',
+ 'yaups',
+ 'yawed',
+ 'yawey',
+ 'yawls',
+ 'yawns',
+ 'yawny',
+ 'yawps',
+ 'ybore',
+ 'yclad',
+ 'ycled',
+ 'ycond',
+ 'ydrad',
+ 'ydred',
+ 'yeads',
+ 'yeahs',
+ 'yealm',
+ 'yeans',
+ 'yeard',
+ 'years',
+ 'yecch',
+ 'yechs',
+ 'yechy',
+ 'yedes',
+ 'yeeds',
+ 'yeesh',
+ 'yeggs',
+ 'yelks',
+ 'yells',
+ 'yelms',
+ 'yelps',
+ 'yelts',
+ 'yenta',
+ 'yente',
+ 'yerba',
+ 'yerds',
+ 'yerks',
+ 'yeses',
+ 'yesks',
+ 'yests',
+ 'yesty',
+ 'yetis',
+ 'yetts',
+ 'yeuks',
+ 'yeuky',
+ 'yeven',
+ 'yeves',
+ 'yewen',
+ 'yexed',
+ 'yexes',
+ 'yfere',
+ 'yiked',
+ 'yikes',
+ 'yills',
+ 'yince',
+ 'yipes',
+ 'yippy',
+ 'yirds',
+ 'yirks',
+ 'yirrs',
+ 'yirth',
+ 'yites',
+ 'yitie',
+ 'ylems',
+ 'ylike',
+ 'ylkes',
+ 'ymolt',
+ 'ympes',
+ 'yobbo',
+ 'yobby',
+ 'yocks',
+ 'yodel',
+ 'yodhs',
+ 'yodle',
+ 'yogas',
+ 'yogee',
+ 'yoghs',
+ 'yogic',
+ 'yogin',
+ 'yogis',
+ 'yoick',
+ 'yojan',
+ 'yoked',
+ 'yokel',
+ 'yoker',
+ 'yokes',
+ 'yokul',
+ 'yolks',
+ 'yolky',
+ 'yomim',
+ 'yomps',
+ 'yonic',
+ 'yonis',
+ 'yonks',
+ 'yoofs',
+ 'yoops',
+ 'yores',
+ 'yorks',
+ 'yorps',
+ 'youks',
+ 'yourn',
+ 'yours',
+ 'yourt',
+ 'youse',
+ 'yowed',
+ 'yowes',
+ 'yowie',
+ 'yowls',
+ 'yowza',
+ 'yrapt',
+ 'yrent',
+ 'yrivd',
+ 'yrneh',
+ 'ysame',
+ 'ytost',
+ 'yuans',
+ 'yucas',
+ 'yucca',
+ 'yucch',
+ 'yucko',
+ 'yucks',
+ 'yucky',
+ 'yufts',
+ 'yugas',
+ 'yuked',
+ 'yukes',
+ 'yukky',
+ 'yukos',
+ 'yulan',
+ 'yules',
+ 'yummo',
+ 'yummy',
+ 'yumps',
+ 'yupon',
+ 'yuppy',
+ 'yurta',
+ 'yurts',
+ 'yuzus',
+ 'zabra',
+ 'zacks',
+ 'zaida',
+ 'zaidy',
+ 'zaire',
+ 'zakat',
+ 'zaman',
+ 'zambo',
+ 'zamia',
+ 'zanja',
+ 'zante',
+ 'zanza',
+ 'zanze',
+ 'zappy',
+ 'zarfs',
+ 'zaris',
+ 'zatis',
+ 'zaxes',
+ 'zayin',
+ 'zazen',
+ 'zeals',
+ 'zebec',
+ 'zebub',
+ 'zebus',
+ 'zedas',
+ 'zeins',
+ 'zendo',
+ 'zerda',
+ 'zerks',
+ 'zeros',
+ 'zests',
+ 'zetas',
+ 'zexes',
+ 'zezes',
+ 'zhomo',
+ 'zibet',
+ 'ziffs',
+ 'zigan',
+ 'zilas',
+ 'zilch',
+ 'zilla',
+ 'zills',
+ 'zimbi',
+ 'zimbs',
+ 'zinco',
+ 'zincs',
+ 'zincy',
+ 'zineb',
+ 'zines',
+ 'zings',
+ 'zingy',
+ 'zinke',
+ 'zinky',
+ 'zippo',
+ 'zippy',
+ 'ziram',
+ 'zitis',
+ 'zizel',
+ 'zizit',
+ 'zlote',
+ 'zloty',
+ 'zoaea',
+ 'zobos',
+ 'zobus',
+ 'zocco',
+ 'zoeae',
+ 'zoeal',
+ 'zoeas',
+ 'zoism',
+ 'zoist',
+ 'zombi',
+ 'zonae',
+ 'zonda',
+ 'zoned',
+ 'zoner',
+ 'zones',
+ 'zonks',
+ 'zooea',
+ 'zooey',
+ 'zooid',
+ 'zooks',
+ 'zooms',
+ 'zoons',
+ 'zooty',
+ 'zoppa',
+ 'zoppo',
+ 'zoril',
+ 'zoris',
+ 'zorro',
+ 'zouks',
+ 'zowee',
+ 'zowie',
+ 'zulus',
+ 'zupan',
+ 'zupas',
+ 'zuppa',
+ 'zurfs',
+ 'zuzim',
+ 'zygal',
+ 'zygon',
+ 'zymes',
+ 'zymic',
+]);
diff --git a/apps/sveltekit/static/favicon.png b/apps/sveltekit/static/favicon.png
new file mode 100644
index 0000000..825b9e6
Binary files /dev/null and b/apps/sveltekit/static/favicon.png differ
diff --git a/apps/sveltekit/static/robots.txt b/apps/sveltekit/static/robots.txt
new file mode 100644
index 0000000..e9e57dc
--- /dev/null
+++ b/apps/sveltekit/static/robots.txt
@@ -0,0 +1,3 @@
+# https://www.robotstxt.org/robotstxt.html
+User-agent: *
+Disallow:
diff --git a/apps/sveltekit/svelte.config.js b/apps/sveltekit/svelte.config.js
new file mode 100644
index 0000000..d977679
--- /dev/null
+++ b/apps/sveltekit/svelte.config.js
@@ -0,0 +1,18 @@
+import adapter from '@sveltejs/adapter-auto';
+import { vitePreprocess } from '@sveltejs/kit/vite';
+
+/** @type {import('@sveltejs/kit').Config} */
+const config = {
+ // Consult https://kit.svelte.dev/docs/integrations#preprocessors
+ // for more information about preprocessors
+ preprocess: vitePreprocess(),
+
+ kit: {
+ // adapter-auto only supports some environments, see https://kit.svelte.dev/docs/adapter-auto for a list.
+ // If your environment is not supported or you settled on a specific environment, switch out the adapter.
+ // See https://kit.svelte.dev/docs/adapters for more information about adapters.
+ adapter: adapter(),
+ },
+};
+
+export default config;
diff --git a/apps/sveltekit/tsconfig.json b/apps/sveltekit/tsconfig.json
new file mode 100644
index 0000000..794b95b
--- /dev/null
+++ b/apps/sveltekit/tsconfig.json
@@ -0,0 +1,17 @@
+{
+ "extends": "./.svelte-kit/tsconfig.json",
+ "compilerOptions": {
+ "allowJs": true,
+ "checkJs": true,
+ "esModuleInterop": true,
+ "forceConsistentCasingInFileNames": true,
+ "resolveJsonModule": true,
+ "skipLibCheck": true,
+ "sourceMap": true,
+ "strict": true
+ }
+ // Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias
+ //
+ // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes
+ // from the referenced tsconfig.json - TypeScript does not merge them in
+}
diff --git a/apps/sveltekit/vite.config.ts b/apps/sveltekit/vite.config.ts
new file mode 100644
index 0000000..2e920e4
--- /dev/null
+++ b/apps/sveltekit/vite.config.ts
@@ -0,0 +1,6 @@
+import { sveltekit } from '@sveltejs/kit/vite';
+import { defineConfig } from 'vite';
+
+export default defineConfig({
+ plugins: [sveltekit()],
+});
diff --git a/apps/vue/.gitignore b/apps/vue/.gitignore
new file mode 100644
index 0000000..38adffa
--- /dev/null
+++ b/apps/vue/.gitignore
@@ -0,0 +1,28 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+.DS_Store
+dist
+dist-ssr
+coverage
+*.local
+
+/cypress/videos/
+/cypress/screenshots/
+
+# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
+.idea
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/apps/vue/README.md b/apps/vue/README.md
new file mode 100644
index 0000000..1c3242a
--- /dev/null
+++ b/apps/vue/README.md
@@ -0,0 +1,27 @@
+# Vue 3 barebone demo application for Vercel Speed-insights
+
+## Setup
+
+This application was created with the following commands:
+
+- `cd apps`
+- `npm create vue@latest vue` (answer no to all questions)
+- `cd vue`
+- manually edit package.json to add `"@vercel/speed-insights": "workspace:*"` dependency
+- `pnpm i`
+
+Then we imported and used ` ` component in `src/App.vue` file:
+
+```vue
+
+
+
+
+
+```
+
+## Usage
+
+Start it with `cd apps/vue` + `pnpm dev` and browse to [http://localhost:5173](http://localhost:5173)
diff --git a/apps/vue/index.html b/apps/vue/index.html
new file mode 100644
index 0000000..e631329
--- /dev/null
+++ b/apps/vue/index.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ Vite App
+
+
+
+
+
+
diff --git a/apps/vue/package.json b/apps/vue/package.json
new file mode 100644
index 0000000..35906ad
--- /dev/null
+++ b/apps/vue/package.json
@@ -0,0 +1,18 @@
+{
+ "name": "vue",
+ "version": "0.0.0",
+ "private": true,
+ "scripts": {
+ "build": "vite build",
+ "dev": "vite",
+ "preview": "vite preview"
+ },
+ "dependencies": {
+ "@vercel/speed-insights": "workspace:*",
+ "vue": "^3.3.4"
+ },
+ "devDependencies": {
+ "@vitejs/plugin-vue": "^4.4.0",
+ "vite": "^4.4.11"
+ }
+}
diff --git a/apps/vue/public/favicon.ico b/apps/vue/public/favicon.ico
new file mode 100644
index 0000000..df36fcf
Binary files /dev/null and b/apps/vue/public/favicon.ico differ
diff --git a/apps/vue/src/App.vue b/apps/vue/src/App.vue
new file mode 100644
index 0000000..f17b1f4
--- /dev/null
+++ b/apps/vue/src/App.vue
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/vue/src/assets/base.css b/apps/vue/src/assets/base.css
new file mode 100644
index 0000000..8816868
--- /dev/null
+++ b/apps/vue/src/assets/base.css
@@ -0,0 +1,86 @@
+/* color palette from */
+:root {
+ --vt-c-white: #ffffff;
+ --vt-c-white-soft: #f8f8f8;
+ --vt-c-white-mute: #f2f2f2;
+
+ --vt-c-black: #181818;
+ --vt-c-black-soft: #222222;
+ --vt-c-black-mute: #282828;
+
+ --vt-c-indigo: #2c3e50;
+
+ --vt-c-divider-light-1: rgba(60, 60, 60, 0.29);
+ --vt-c-divider-light-2: rgba(60, 60, 60, 0.12);
+ --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65);
+ --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48);
+
+ --vt-c-text-light-1: var(--vt-c-indigo);
+ --vt-c-text-light-2: rgba(60, 60, 60, 0.66);
+ --vt-c-text-dark-1: var(--vt-c-white);
+ --vt-c-text-dark-2: rgba(235, 235, 235, 0.64);
+}
+
+/* semantic color variables for this project */
+:root {
+ --color-background: var(--vt-c-white);
+ --color-background-soft: var(--vt-c-white-soft);
+ --color-background-mute: var(--vt-c-white-mute);
+
+ --color-border: var(--vt-c-divider-light-2);
+ --color-border-hover: var(--vt-c-divider-light-1);
+
+ --color-heading: var(--vt-c-text-light-1);
+ --color-text: var(--vt-c-text-light-1);
+
+ --section-gap: 160px;
+}
+
+@media (prefers-color-scheme: dark) {
+ :root {
+ --color-background: var(--vt-c-black);
+ --color-background-soft: var(--vt-c-black-soft);
+ --color-background-mute: var(--vt-c-black-mute);
+
+ --color-border: var(--vt-c-divider-dark-2);
+ --color-border-hover: var(--vt-c-divider-dark-1);
+
+ --color-heading: var(--vt-c-text-dark-1);
+ --color-text: var(--vt-c-text-dark-2);
+ }
+}
+
+*,
+*::before,
+*::after {
+ box-sizing: border-box;
+ margin: 0;
+ font-weight: normal;
+}
+
+body {
+ min-height: 100vh;
+ color: var(--color-text);
+ background: var(--color-background);
+ transition:
+ color 0.5s,
+ background-color 0.5s;
+ line-height: 1.6;
+ font-family:
+ Inter,
+ -apple-system,
+ BlinkMacSystemFont,
+ 'Segoe UI',
+ Roboto,
+ Oxygen,
+ Ubuntu,
+ Cantarell,
+ 'Fira Sans',
+ 'Droid Sans',
+ 'Helvetica Neue',
+ sans-serif;
+ font-size: 15px;
+ text-rendering: optimizeLegibility;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
diff --git a/apps/vue/src/assets/logo.svg b/apps/vue/src/assets/logo.svg
new file mode 100644
index 0000000..7565660
--- /dev/null
+++ b/apps/vue/src/assets/logo.svg
@@ -0,0 +1 @@
+
diff --git a/apps/vue/src/assets/main.css b/apps/vue/src/assets/main.css
new file mode 100644
index 0000000..e8667cd
--- /dev/null
+++ b/apps/vue/src/assets/main.css
@@ -0,0 +1,35 @@
+@import './base.css';
+
+#app {
+ max-width: 1280px;
+ margin: 0 auto;
+ padding: 2rem;
+
+ font-weight: normal;
+}
+
+a,
+.green {
+ text-decoration: none;
+ color: hsla(160, 100%, 37%, 1);
+ transition: 0.4s;
+}
+
+@media (hover: hover) {
+ a:hover {
+ background-color: hsla(160, 100%, 37%, 0.2);
+ }
+}
+
+@media (min-width: 1024px) {
+ body {
+ display: flex;
+ place-items: center;
+ }
+
+ #app {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ padding: 0 2rem;
+ }
+}
diff --git a/apps/vue/src/components/HelloWorld.vue b/apps/vue/src/components/HelloWorld.vue
new file mode 100644
index 0000000..c73be94
--- /dev/null
+++ b/apps/vue/src/components/HelloWorld.vue
@@ -0,0 +1,44 @@
+
+
+
+
+
{{ msg }}
+
+ You’ve successfully created a project with
+ Vite +
+ Vue 3 .
+
+
+
+
+
diff --git a/apps/vue/src/main.js b/apps/vue/src/main.js
new file mode 100644
index 0000000..b05b45f
--- /dev/null
+++ b/apps/vue/src/main.js
@@ -0,0 +1,6 @@
+import './assets/main.css';
+
+import { createApp } from 'vue';
+import App from './App.vue';
+
+createApp(App).mount('#app');
diff --git a/apps/vue/vite.config.js b/apps/vue/vite.config.js
new file mode 100644
index 0000000..0abd655
--- /dev/null
+++ b/apps/vue/vite.config.js
@@ -0,0 +1,14 @@
+import { fileURLToPath, URL } from 'node:url';
+
+import { defineConfig } from 'vite';
+import vue from '@vitejs/plugin-vue';
+
+// https://vitejs.dev/config/
+export default defineConfig({
+ plugins: [vue()],
+ resolve: {
+ alias: {
+ '@': fileURLToPath(new URL('./src', import.meta.url)),
+ },
+ },
+});
diff --git a/lint-staged.config.js b/lint-staged.config.js
new file mode 100644
index 0000000..cadb936
--- /dev/null
+++ b/lint-staged.config.js
@@ -0,0 +1,5 @@
+module.exports = {
+ '**/*.js?(x)': 'prettier --write --ignore-unknown',
+ '**/*.ts?(x)': 'prettier --write --ignore-unknown',
+ '*.json': 'prettier --write --ignore-unknown',
+};
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..4065596
--- /dev/null
+++ b/package.json
@@ -0,0 +1,22 @@
+{
+ "name": "speed-insights",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/vercel/speed-insights.git"
+ },
+ "license": "Apache-2.0",
+ "scripts": {
+ "prepare": "husky install"
+ },
+ "prettier": "@vercel/style-guide/prettier",
+ "dependencies": {
+ "lint-staged": "^14.0.1"
+ },
+ "devDependencies": {
+ "@vercel/style-guide": "^5.0.1",
+ "husky": "^8.0.3",
+ "prettier": "3.0.3",
+ "typescript": "^5.2.2"
+ },
+ "packageManager": "pnpm@8.6.5"
+}
diff --git a/packages/web/.eslintrc.cjs b/packages/web/.eslintrc.cjs
new file mode 100644
index 0000000..1cf9818
--- /dev/null
+++ b/packages/web/.eslintrc.cjs
@@ -0,0 +1,7 @@
+module.exports = {
+ extends: '../../.eslintrc.cjs',
+ rules: {
+ 'tsdoc/syntax': 'off',
+ },
+ ignorePatterns: ['jest.setup.ts'],
+};
diff --git a/packages/web/.npmignore b/packages/web/.npmignore
new file mode 100644
index 0000000..e831038
--- /dev/null
+++ b/packages/web/.npmignore
@@ -0,0 +1 @@
+src
\ No newline at end of file
diff --git a/packages/web/LICENSE b/packages/web/LICENSE
new file mode 100644
index 0000000..3eb9904
--- /dev/null
+++ b/packages/web/LICENSE
@@ -0,0 +1,190 @@
+ Apache License
+ Version 2.0, January 2004
+ https://www.apache.org/licenses/
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+"License" shall mean the terms and conditions for use, reproduction,
+and distribution as defined by Sections 1 through 9 of this document.
+
+"Licensor" shall mean the copyright owner or entity authorized by
+the copyright owner that is granting the License.
+
+"Legal Entity" shall mean the union of the acting entity and all
+other entities that control, are controlled by, or are under common
+control with that entity. For the purposes of this definition,
+"control" means (i) the power, direct or indirect, to cause the
+direction or management of such entity, whether by contract or
+otherwise, or (ii) ownership of fifty percent (50%) or more of the
+outstanding shares, or (iii) beneficial ownership of such entity.
+
+"You" (or "Your") shall mean an individual or Legal Entity
+exercising permissions granted by this License.
+
+"Source" form shall mean the preferred form for making modifications,
+including but not limited to software source code, documentation
+source, and configuration files.
+
+"Object" form shall mean any form resulting from mechanical
+transformation or translation of a Source form, including but
+not limited to compiled object code, generated documentation,
+and conversions to other media types.
+
+"Work" shall mean the work of authorship, whether in Source or
+Object form, made available under the License, as indicated by a
+copyright notice that is included in or attached to the work
+(an example is provided in the Appendix below).
+
+"Derivative Works" shall mean any work, whether in Source or Object
+form, that is based on (or derived from) the Work and for which the
+editorial revisions, annotations, elaborations, or other modifications
+represent, as a whole, an original work of authorship. For the purposes
+of this License, Derivative Works shall not include works that remain
+separable from, or merely link (or bind by name) to the interfaces of,
+the Work and Derivative Works thereof.
+
+"Contribution" shall mean any work of authorship, including
+the original version of the Work and any modifications or additions
+to that Work or Derivative Works thereof, that is intentionally
+submitted to Licensor for inclusion in the Work by the copyright owner
+or by an individual or Legal Entity authorized to submit on behalf of
+the copyright owner. For the purposes of this definition, "submitted"
+means any form of electronic, verbal, or written communication sent
+to the Licensor or its representatives, including but not limited to
+communication on electronic mailing lists, source code control systems,
+and issue tracking systems that are managed by, or on behalf of, the
+Licensor for the purpose of discussing and improving the Work, but
+excluding communication that is conspicuously marked or otherwise
+designated in writing by the copyright owner as "Not a Contribution."
+
+"Contributor" shall mean Licensor and any individual or Legal Entity
+on behalf of whom a Contribution has been received by Licensor and
+subsequently incorporated within the Work.
+
+2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+(a) You must give any other recipients of the Work or
+Derivative Works a copy of this License; and
+
+(b) You must cause any modified files to carry prominent notices
+stating that You changed the files; and
+
+(c) You must retain, in the Source form of any Derivative Works
+that You distribute, all copyright, patent, trademark, and
+attribution notices from the Source form of the Work,
+excluding those notices that do not pertain to any part of
+the Derivative Works; and
+
+(d) If the Work includes a "NOTICE" text file as part of its
+distribution, then any Derivative Works that You distribute must
+include a readable copy of the attribution notices contained
+within such NOTICE file, excluding those notices that do not
+pertain to any part of the Derivative Works, in at least one
+of the following places: within a NOTICE text file distributed
+as part of the Derivative Works; within the Source form or
+documentation, if provided along with the Derivative Works; or,
+within a display generated by the Derivative Works, if and
+wherever such third-party notices normally appear. The contents
+of the NOTICE file are for informational purposes only and
+do not modify the License. You may add Your own attribution
+notices within Derivative Works that You distribute, alongside
+or as an addendum to the NOTICE text from the Work, provided
+that such additional attribution notices cannot be construed
+as modifying the License.
+
+You may add Your own copyright statement to Your modifications and
+may provide additional or different license terms and conditions
+for use, reproduction, or distribution of Your modifications, or
+for any such Derivative Works as a whole, provided Your use,
+reproduction, and distribution of the Work otherwise complies with
+the conditions stated in this License.
+
+5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
+
+Copyright 2023 Vercel, Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+https://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
diff --git a/packages/web/README.md b/packages/web/README.md
new file mode 100644
index 0000000..4d38a03
--- /dev/null
+++ b/packages/web/README.md
@@ -0,0 +1,47 @@
+![Speed Insights](https://github.com/vercel/speed-insights/blob/main/.github/banner.png)
+
+Vercel Speed Insights
+Performance insights for your website
+
+
+
+## Overview
+
+`@vercel/speed-insights` automatically tracks web vitals and other performance metrics for your website.
+
+This package does **not** track data in development mode.
+
+It has 1st class integration with:
+
+| Framework | Package |
+| --------- | ---------------------------------- |
+| Next.js | `@vercel/speed-insights/next` |
+| Nuxt | `@vercel/speed-insights/nuxt` |
+| Sveltekit | `@vercel/speed-insights/sveltekit` |
+| React | `@vercel/speed-insights/react` |
+| Vue | `@vercel/speed-insights/vue` |
+
+It also supports other frameworks, vanilla JS and static websites.
+
+## Quickstart
+
+1. Enable Vercel Speed Insights for a project in the [Vercel Dashboard](https://vercel.com/d?to=%2F%5Bteam%5D%2F%5Bproject%5D%2Fspeed-insights&title=Open+Web+Analytics).
+2. Add the `@vercel/speed-insights` package to your project
+3. Inject Speed Insights to your app
+
+ - If you are using **Next.js**, **React**, **Nuxt** or **Vue** you can use the framework-specific ` ` component to inject the script into your app.
+ - If you are using **Sveltekit**, you can use the `injectSpeedInsights()` function `@vercel/speed-insights/sveltekit` in your top-level `+layout.svelte` file.
+ - For other frameworks, you can use the `inject` function add the tracking script to your app.
+ - If you want to use Vercel Speed Insights on a static site without npm, follow the instructions in the [documentation](https://vercel.com/docs/speed-insights/quickstart).
+
+4. Deploy your app to Vercel and see data flowing in.
+
+## Documentation
+
+Find more details about this package in our [documentation](https://vercel.com/docs/speed-insights/quickstart).
diff --git a/packages/web/jest.config.js b/packages/web/jest.config.js
new file mode 100644
index 0000000..f45b9dd
--- /dev/null
+++ b/packages/web/jest.config.js
@@ -0,0 +1,9 @@
+module.exports = {
+ testEnvironment: 'jsdom',
+ transform: {
+ '^.+\\.(t|j)sx?$': '@swc/jest',
+ },
+ coverageReporters: ['text', 'html'],
+ setupFilesAfterEnv: ['/jest.setup.ts'],
+ reporters: ['default', 'github-actions'],
+};
diff --git a/packages/web/jest.setup.ts b/packages/web/jest.setup.ts
new file mode 100644
index 0000000..79944f0
--- /dev/null
+++ b/packages/web/jest.setup.ts
@@ -0,0 +1,6 @@
+import '@testing-library/jest-dom';
+
+beforeEach(() => {
+ // reset dom before each test
+ document.getElementsByTagName('html')[0].innerHTML = '';
+});
diff --git a/packages/web/package.json b/packages/web/package.json
new file mode 100644
index 0000000..945d448
--- /dev/null
+++ b/packages/web/package.json
@@ -0,0 +1,108 @@
+{
+ "name": "@vercel/speed-insights",
+ "version": "1.0.0",
+ "description": "Speed Insights is a tool for measuring web performance and providing suggestions for improvement.",
+ "keywords": [
+ "speed-insights",
+ "vercel"
+ ],
+ "repository": {
+ "url": "github:vercel/speed-insights",
+ "directory": "packages/web"
+ },
+ "license": "Apache-2.0",
+ "exports": {
+ "./package.json": "./package.json",
+ ".": {
+ "browser": "./dist/index.mjs",
+ "import": "./dist/index.mjs",
+ "require": "./dist/index.js"
+ },
+ "./next": {
+ "browser": "./dist/next/index.mjs",
+ "import": "./dist/next/index.mjs",
+ "require": "./dist/next/index.js"
+ },
+ "./nuxt": {
+ "browser": "./dist/nuxt/index.mjs",
+ "import": "./dist/nuxt/index.mjs",
+ "require": "./dist/nuxt/index.js"
+ },
+ "./react": {
+ "browser": "./dist/react/index.mjs",
+ "import": "./dist/react/index.mjs",
+ "require": "./dist/react/index.js"
+ },
+ "./remix": {
+ "browser": "./dist/remix/index.mjs",
+ "import": "./dist/remix/index.mjs",
+ "require": "./dist/remix/index.js"
+ },
+ "./sveltekit": {
+ "svelte": "./dist/sveltekit/index.mjs",
+ "types": "./dist/sveltekit/index.d.ts"
+ },
+ "./vue": {
+ "browser": "./dist/vue/index.mjs",
+ "import": "./dist/vue/index.mjs",
+ "require": "./dist/vue/index.js"
+ }
+ },
+ "main": "dist/index.js",
+ "types": "dist/index.d.ts",
+ "typesVersions": {
+ "*": {
+ "*": [
+ "dist/index.d.ts"
+ ],
+ "react": [
+ "dist/react/index.d.ts"
+ ],
+ "next": [
+ "dist/next/index.d.ts"
+ ],
+ "nuxt": [
+ "dist/nuxt/index.d.ts"
+ ],
+ "remix": [
+ "dist/remix/index.d.ts"
+ ],
+ "sveltekit": [
+ "dist/sveltekit/index.d.ts"
+ ],
+ "vue": [
+ "dist/vue/index.d.ts"
+ ]
+ }
+ },
+ "scripts": {
+ "build": "tsup ",
+ "dev": "tsup --watch",
+ "postinstall": "node scripts/postinstall.mjs",
+ "lint": "eslint .",
+ "lint-fix": "eslint . --fix",
+ "test": "jest",
+ "type-check": "tsc --noEmit"
+ },
+ "devDependencies": {
+ "@remix-run/react": "^2.0.1",
+ "@sveltejs/kit": "^1.20.4",
+ "@swc/core": "^1.3.82",
+ "@swc/jest": "^0.2.29",
+ "@testing-library/jest-dom": "^6.1.2",
+ "@testing-library/react": "^14.0.0",
+ "@types/jest": "^29.5.4",
+ "@types/node": "^20.5.9",
+ "@types/react": "^18.2.21",
+ "copyfiles": "^2.4.1",
+ "jest": "^29.6.4",
+ "jest-environment-jsdom": "^29.6.4",
+ "next": "^13.4.19",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0",
+ "svelte": "^4.0.5",
+ "tsup": "7.2.0",
+ "vue": "^3.3.4",
+ "vue-router": "^4.2.5"
+ }
+}
diff --git a/packages/web/scripts/postinstall.mjs b/packages/web/scripts/postinstall.mjs
new file mode 100644
index 0000000..23fa409
--- /dev/null
+++ b/packages/web/scripts/postinstall.mjs
@@ -0,0 +1,86 @@
+/* eslint-disable no-undef -- Allow the use `process` */
+/* eslint-disable no-console -- Allow the use of `console` */
+import fs from 'node:fs';
+import path from 'node:path';
+
+const customPath = process.argv[2];
+const projectDir = customPath || path.resolve(process.cwd());
+
+// Check .env files for the presence of the analyticsId key
+function findEnvFileWithAnalyticsId() {
+ const files = ['.env.local', '.env.development.local', '.env'];
+ const envFile = files.find((file) => {
+ const envPath = path.join(projectDir, file);
+ if (!fs.existsSync(envPath)) {
+ return false;
+ }
+
+ const envContent = fs.readFileSync(envPath, 'utf-8');
+
+ return envContent.includes('VERCEL_ANALYTICS_ID');
+ });
+
+ return envFile;
+}
+
+function isSpeedInsightsInstalled() {
+ const packageJsonPath = path.join(projectDir, 'package.json');
+
+ if (!fs.existsSync(packageJsonPath)) {
+ console.error('Error: package.json not found in the current directory.');
+ return false;
+ }
+
+ const packageJsonContent = fs.readFileSync(packageJsonPath, 'utf-8');
+ const packageJson = JSON.parse(packageJsonContent);
+
+ if (!packageJson.dependencies) {
+ return false;
+ }
+
+ return Boolean(packageJson.dependencies['@vercel/speed-insights']);
+}
+
+function isAnalyticsIdInNextConfig() {
+ const jsConfigPath = path.join(projectDir, 'next.config.js');
+ const mjsConfigPath = path.join(projectDir, 'next.config.mjs');
+
+ let configFile;
+
+ if (fs.existsSync(jsConfigPath)) {
+ configFile = jsConfigPath;
+ } else if (fs.existsSync(mjsConfigPath)) {
+ configFile = mjsConfigPath;
+ } else {
+ return;
+ }
+
+ const configContent = fs.readFileSync(configFile, 'utf-8');
+
+ return configContent.includes('analyticsId');
+}
+
+function main() {
+ if (!isSpeedInsightsInstalled()) {
+ // No @vercel/speed-insights installed, we don't need to continue
+ return;
+ }
+
+ const isInConfig = isAnalyticsIdInNextConfig();
+ const envFile = findEnvFileWithAnalyticsId();
+
+ if (isInConfig) {
+ console.warn(
+ '\x1b[31m',
+ `Please remove 'analyticsId' from your next.config.js file.`,
+ );
+ }
+ if (envFile) {
+ console.log(
+ '\x1b[31m',
+ `Please remove 'VERCEL_ANALYTICS_ID' from your ${envFile} file.`,
+ );
+ }
+}
+
+main();
diff --git a/packages/web/src/generic.ts b/packages/web/src/generic.ts
new file mode 100644
index 0000000..df2e47c
--- /dev/null
+++ b/packages/web/src/generic.ts
@@ -0,0 +1,91 @@
+import { name as packageName, version } from '../package.json';
+import { initQueue } from './queue';
+import type { SpeedInsightsProps } from './types';
+import { isBrowser, isDevelopment, computeRoute } from './utils';
+
+const SCRIPT_URL = `https://va.vercel-scripts.com/v1/speed-insights`;
+const PROD_SCRIPT_URL = `${SCRIPT_URL}/script.js`;
+const DEV_SCRIPT_URL = `${SCRIPT_URL}/script.debug.js`;
+const PROXY_SCRIPT_URL = `/_vercel/speed-insights/script.js`;
+
+/**
+ * Injects the Vercel Speed Insights script into the page head and starts tracking page views. Read more in our [documentation](https://vercel.com/docs/speed-insights).
+ * @param [props] - Speed Insights options.
+ * @param [props.debug] - Whether to enable debug logging in development. Defaults to `true`.
+ * @param [props.beforeSend] - A middleware function to modify events before they are sent. Should return the event object or `null` to cancel the event.
+ * @param [props.sampleRate] - When setting to 0.5, 50% of the events will be sent to Vercel Speed Insights. Defaults to `1`.
+ * @param [props.route] - The dynamic route of the page.
+ * @param [props.dsn] - The DSN of the project to send events to. Only required when self-hosting.
+ */
+function injectSpeedInsights(
+ props: SpeedInsightsProps & {
+ framework?: string;
+ },
+): {
+ setRoute: (route: string | null) => void;
+} | null {
+ // When route is null, it means that pages router is not ready yet. Will resolve soon
+ if (!isBrowser() || props.route === null) return null;
+
+ initQueue();
+
+ const isSelfHosted = Boolean(props.dsn);
+
+ const productionScript = isSelfHosted ? PROD_SCRIPT_URL : PROXY_SCRIPT_URL;
+
+ const src =
+ props.scriptSrc || (isDevelopment() ? DEV_SCRIPT_URL : productionScript);
+
+ if (document.head.querySelector(`script[src*="${src}"]`)) return null;
+
+ if (props.beforeSend) {
+ window.si?.('beforeSend', props.beforeSend);
+ }
+
+ const script = document.createElement('script');
+ script.src = src;
+ script.defer = true;
+ script.dataset.sdkn =
+ packageName + (props.framework ? `/${props.framework}` : '');
+ script.dataset.sdkv = version;
+
+ if (props.sampleRate) {
+ script.dataset.sampleRate = props.sampleRate.toString();
+ }
+ if (props.route) {
+ script.dataset.route = props.route;
+ }
+ if (props.endpoint) {
+ script.dataset.endpoint = props.endpoint;
+ }
+ if (props.dsn) {
+ script.dataset.dsn = props.dsn;
+ }
+ if (isDevelopment() && props.debug === false) {
+ script.dataset.debug = 'false';
+ }
+
+ script.onerror = (): void => {
+ // eslint-disable-next-line no-console -- Logging is okay here
+ console.log(
+ `[Vercel Speed Insights] Failed to load script from ${src}. Please check if any content blockers are enabled and try again.`,
+ );
+ };
+
+ document.head.appendChild(script);
+
+ return {
+ setRoute: (route: string | null): void => {
+ script.dataset.route = route ?? undefined;
+ },
+ };
+}
+
+export { injectSpeedInsights, computeRoute };
+export type { SpeedInsightsProps };
+
+// eslint-disable-next-line import/no-default-export -- Allow default export
+export default {
+ injectSpeedInsights,
+ computeRoute,
+};
diff --git a/packages/web/src/nextjs/index.tsx b/packages/web/src/nextjs/index.tsx
new file mode 100644
index 0000000..1274ad5
--- /dev/null
+++ b/packages/web/src/nextjs/index.tsx
@@ -0,0 +1,20 @@
+import React, { Suspense } from 'react';
+import { SpeedInsights as SpeedInsightsScript } from '../react';
+import type { SpeedInsightsProps } from '../types';
+import { useRoute } from './utils';
+
+type Props = Omit;
+
+function SpeedInsightsComponent(props: Props): React.ReactElement {
+ const route = useRoute();
+
+ return ;
+}
+
+export function SpeedInsights(props: Props): React.ReactElement {
+ return (
+
+
+
+ );
+}
diff --git a/packages/web/src/nextjs/utils.ts b/packages/web/src/nextjs/utils.ts
new file mode 100644
index 0000000..0e3a03c
--- /dev/null
+++ b/packages/web/src/nextjs/utils.ts
@@ -0,0 +1,22 @@
+'use client';
+import { useMemo } from 'react';
+import { useParams, usePathname, useSearchParams } from 'next/navigation.js';
+import { computeRoute } from '../utils';
+
+export const useRoute = (): string | null => {
+ const params = useParams();
+ const searchParams = useSearchParams();
+ const path = usePathname();
+
+ const finalParams = useMemo(() => {
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- can be null on pages router
+ if (!params) return null;
+ if (Object.keys(params).length !== 0) {
+ return params;
+ }
+ // For pages router, we need to use `searchParams` because `params` is an empty object
+ return { ...Object.fromEntries(searchParams.entries()) };
+ }, [params, searchParams]);
+
+ return computeRoute(path, finalParams);
+};
diff --git a/packages/web/src/nuxt/index.ts b/packages/web/src/nuxt/index.ts
new file mode 100644
index 0000000..df5d44b
--- /dev/null
+++ b/packages/web/src/nuxt/index.ts
@@ -0,0 +1,4 @@
+import { createComponent } from '../vue/create-component';
+
+// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- vue's defineComponent return type is any
+export const SpeedInsights = createComponent('nuxt');
diff --git a/packages/web/src/queue.ts b/packages/web/src/queue.ts
new file mode 100644
index 0000000..3830079
--- /dev/null
+++ b/packages/web/src/queue.ts
@@ -0,0 +1,8 @@
+export const initQueue = (): void => {
+ // initialize va until script is loaded
+ if (window.si) return;
+
+ window.si = function a(...params): void {
+ (window.siq = window.siq || []).push(params);
+ };
+};
diff --git a/packages/web/src/react/index.tsx b/packages/web/src/react/index.tsx
new file mode 100644
index 0000000..4b9cb58
--- /dev/null
+++ b/packages/web/src/react/index.tsx
@@ -0,0 +1,29 @@
+'use client';
+import { useEffect, useRef } from 'react';
+import type { SpeedInsightsProps } from '../types';
+import { computeRoute, injectSpeedInsights } from '../generic';
+
+export function SpeedInsights(
+ props: SpeedInsightsProps & {
+ framework?: string;
+ },
+): JSX.Element | null {
+ const setScriptRoute = useRef<((path: string) => void) | null>(null);
+ useEffect(() => {
+ if (!setScriptRoute.current) {
+ const script = injectSpeedInsights({
+ framework: props.framework || 'react',
+ ...props,
+ });
+ if (script) {
+ setScriptRoute.current = script.setRoute;
+ }
+ } else if (props.route) {
+ setScriptRoute.current(props.route);
+ }
+ }, [props.route]);
+
+ return null;
+}
+
+export { computeRoute };
diff --git a/packages/web/src/remix/index.tsx b/packages/web/src/remix/index.tsx
new file mode 100644
index 0000000..f743233
--- /dev/null
+++ b/packages/web/src/remix/index.tsx
@@ -0,0 +1,18 @@
+import React from 'react';
+import { SpeedInsights as SpeedInsightsScript } from '../react';
+import type { SpeedInsightsProps } from '../types';
+import { useRoute } from './utils';
+
+export function SpeedInsights(
+ props: Omit,
+): JSX.Element {
+ const route = useRoute();
+
+ return (
+
+ );
+}
diff --git a/packages/web/src/remix/utils.ts b/packages/web/src/remix/utils.ts
new file mode 100644
index 0000000..22c81ac
--- /dev/null
+++ b/packages/web/src/remix/utils.ts
@@ -0,0 +1,9 @@
+import { useLocation, useParams } from '@remix-run/react';
+import { computeRoute } from '../utils';
+
+export const useRoute = (): string | null => {
+ const params = useParams();
+ const location = useLocation();
+
+ return computeRoute(location.pathname, params as never);
+};
diff --git a/packages/web/src/sveltekit/index.ts b/packages/web/src/sveltekit/index.ts
new file mode 100644
index 0000000..2158e50
--- /dev/null
+++ b/packages/web/src/sveltekit/index.ts
@@ -0,0 +1,26 @@
+import { get } from 'svelte/store';
+import {
+ injectSpeedInsights as genericInject,
+ type SpeedInsightsProps,
+} from '../generic';
+import { page } from '$app/stores';
+import { browser } from '$app/environment';
+import type {} from '@sveltejs/kit'; // don't remove, ensures ambient types for $app/* are loaded
+
+export function injectSpeedInsights(props?: SpeedInsightsProps): void {
+ if (browser) {
+ const speedInsights = genericInject({
+ route: get(page).route.id,
+ ...props,
+ framework: 'sveltekit',
+ });
+
+ if (speedInsights) {
+ page.subscribe((value) => {
+ if (value.route.id) {
+ speedInsights.setRoute(value.route.id);
+ }
+ });
+ }
+ }
+}
diff --git a/packages/web/src/types.ts b/packages/web/src/types.ts
new file mode 100644
index 0000000..373f5dc
--- /dev/null
+++ b/packages/web/src/types.ts
@@ -0,0 +1,44 @@
+export interface SpeedInsightsProps {
+ dsn?: string;
+ sampleRate?: number; // Only send a percentage of events to the server to reduce costs
+ route?: string | null; // The dynamic path if there is any (e.g. /blog/[slug]) otherwise the static path
+ beforeSend?: BeforeSendMiddleware;
+ debug?: boolean;
+
+ scriptSrc?: string;
+ endpoint?: string;
+}
+
+export type EventTypes = 'vital';
+
+export interface Event {
+ type: EventTypes;
+ url: string;
+}
+
+export type BeforeSendMiddleware = (
+ data: Event,
+ // Should we be more strict here? Compiler won't help a lot if it's that loose
+) => Event | null | undefined | false;
+
+export interface Functions {
+ beforeSend?: BeforeSendMiddleware;
+}
+
+export interface SpeedInsights {
+ queue: [T, Functions[T]][];
+ addAction: (action: T, data: Functions[T]) => void;
+}
+
+declare global {
+ interface Window {
+ // Base interface
+ /** Base interface to track events */
+ si?: SpeedInsights['addAction'];
+ /** Queue for speed insights datapoints, before the library is loaded */
+ siq?: SpeedInsights['queue'];
+
+ sil?: boolean;
+ // vam?: Mode;
+ }
+}
diff --git a/packages/web/src/utils.test.ts b/packages/web/src/utils.test.ts
new file mode 100644
index 0000000..07573c1
--- /dev/null
+++ b/packages/web/src/utils.test.ts
@@ -0,0 +1,98 @@
+import { computeRoute } from './utils';
+
+describe('utils', () => {
+ describe('computeRoute', () => {
+ it('returns unchanged pathname if no pathParams provided', () => {
+ expect(computeRoute('/vercel/next-site/analytics', null)).toBe(
+ '/vercel/next-site/analytics',
+ );
+ });
+
+ it('returns null for null pathname', () => {
+ expect(computeRoute(null, {})).toBe(null);
+ });
+
+ it('replaces segments', () => {
+ const input = '/vercel/next-site/analytics';
+ const params = {
+ teamSlug: 'vercel',
+ project: 'next-site',
+ };
+ const expected = '/[teamSlug]/[project]/analytics';
+ expect(computeRoute(input, params)).toBe(expected);
+ });
+
+ it('replaces segments even one param is not used', () => {
+ const input = '/vercel/next-site/analytics';
+ const params = {
+ lang: 'en',
+ teamSlug: 'vercel',
+ project: 'next-site',
+ };
+ const expected = '/[teamSlug]/[project]/analytics';
+ expect(computeRoute(input, params)).toBe(expected);
+ });
+
+ it('must not replace partial segments', () => {
+ const input = '/next-site/vercel-site';
+ const params = {
+ teamSlug: 'vercel',
+ };
+ const expected = '/next-site/vercel-site'; // remains unchanged because "vercel" is a partial match
+ expect(computeRoute(input, params)).toBe(expected);
+ });
+
+ it('handles array segments', () => {
+ const input = '/en/us/next-site';
+ const params = {
+ langs: ['en', 'us'],
+ teamSlug: 'vercel',
+ };
+ const expected = '/[...langs]/next-site';
+ expect(computeRoute(input, params)).toBe(expected);
+ });
+
+ it('handles special characters in url', () => {
+ const input = '/123/test(test';
+ const params = {
+ teamSlug: '123',
+ project: 'test(test',
+ };
+
+ const expected = '/[teamSlug]/[project]';
+ expect(computeRoute(input, params)).toBe(expected);
+ });
+
+ it('handles special more characters', () => {
+ const input = '/123/tes\\t(test/3.*';
+ const params = {
+ teamSlug: '123',
+ };
+
+ const expected = '/[teamSlug]/tes\\t(test/3.*';
+ expect(computeRoute(input, params)).toBe(expected);
+ });
+
+ describe('edge case handling (same values for multiple params)', () => {
+ it('replaces based on the priority of the pathParams keys', () => {
+ const input = '/test/test';
+ const params = {
+ teamSlug: 'test',
+ project: 'test',
+ };
+ const expected = '/[teamSlug]/[project]'; // 'teamSlug' takes priority over 'project' based on their order in the params object
+ expect(computeRoute(input, params)).toBe(expected);
+ });
+
+ it('handles reversed priority', () => {
+ const input = '/test/test';
+ const params = {
+ project: 'test',
+ teamSlug: 'test',
+ };
+ const expected = '/[project]/[teamSlug]'; // 'project' takes priority over 'teamSlug' here due to the reversed order in the params object
+ expect(computeRoute(input, params)).toBe(expected);
+ });
+ });
+ });
+});
diff --git a/packages/web/src/utils.ts b/packages/web/src/utils.ts
new file mode 100644
index 0000000..f1ea298
--- /dev/null
+++ b/packages/web/src/utils.ts
@@ -0,0 +1,55 @@
+export function isBrowser(): boolean {
+ return typeof window !== 'undefined';
+}
+
+function detectEnvironment(): 'development' | 'production' {
+ try {
+ const env = process.env.NODE_ENV;
+ if (env === 'development' || env === 'test') {
+ return 'development';
+ }
+ } catch (e) {
+ // do nothing, this is okay
+ }
+ return 'production';
+}
+
+export function isProduction(): boolean {
+ return detectEnvironment() === 'production';
+}
+
+export function isDevelopment(): boolean {
+ return detectEnvironment() === 'development';
+}
+
+export function computeRoute(
+ pathname: string | null,
+ pathParams: Record | null,
+): string | null {
+ if (!pathname || !pathParams) {
+ return pathname;
+ }
+
+ let result = pathname;
+
+ try {
+ for (const [key, valueOrArray] of Object.entries(pathParams)) {
+ const isValueArray = Array.isArray(valueOrArray);
+ const value = isValueArray ? valueOrArray.join('/') : valueOrArray;
+ const expr = isValueArray ? `...${key}` : key;
+
+ const matcher = new RegExp(`/${escapeRegExp(value)}(?=[/?#]|$)`);
+ if (matcher.test(result)) {
+ result = result.replace(matcher, `/[${expr}]`);
+ }
+ }
+
+ return result;
+ } catch (e) {
+ return pathname;
+ }
+}
+
+function escapeRegExp(string: string): string {
+ return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
+}
diff --git a/packages/web/src/vue/create-component.ts b/packages/web/src/vue/create-component.ts
new file mode 100644
index 0000000..657c79b
--- /dev/null
+++ b/packages/web/src/vue/create-component.ts
@@ -0,0 +1,37 @@
+import { defineComponent, watch } from 'vue';
+// for barebone vue project, vite will issue a warning since 'vue-router' import can't be resolved,
+import { useRoute } from 'vue-router';
+import { injectSpeedInsights, type SpeedInsightsProps } from '../generic';
+import { computeRoute } from '../utils';
+
+export function createComponent(
+ framework = 'vue',
+): ReturnType {
+ return defineComponent({
+ props: [
+ 'dsn',
+ 'sampleRate',
+ 'beforeSend',
+ 'debug',
+ 'scriptSrc',
+ 'endpoint',
+ ],
+ setup(props: Omit) {
+ const route = useRoute();
+ const configure = injectSpeedInsights({ ...props, framework });
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- route is undefined for barebone vue project
+ if (route && configure) {
+ const changeRoute = (): void => {
+ configure.setRoute(computeRoute(route.path, route.params));
+ };
+
+ changeRoute();
+ watch(route, changeRoute);
+ }
+ },
+ // Vue component must have a render function, or a template.
+ render() {
+ return null;
+ },
+ });
+}
diff --git a/packages/web/src/vue/index.ts b/packages/web/src/vue/index.ts
new file mode 100644
index 0000000..c182b00
--- /dev/null
+++ b/packages/web/src/vue/index.ts
@@ -0,0 +1,4 @@
+import { createComponent } from './create-component';
+
+// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- vue's defineComponent return type is any
+export const SpeedInsights = createComponent();
diff --git a/packages/web/tsconfig.json b/packages/web/tsconfig.json
new file mode 100644
index 0000000..9936b82
--- /dev/null
+++ b/packages/web/tsconfig.json
@@ -0,0 +1,7 @@
+{
+ "extends": "../../tsconfig.json",
+ "compilerOptions": {
+ "module": "esnext"
+ },
+ "include": ["src"]
+}
diff --git a/packages/web/tsup.config.js b/packages/web/tsup.config.js
new file mode 100644
index 0000000..5506086
--- /dev/null
+++ b/packages/web/tsup.config.js
@@ -0,0 +1,74 @@
+import { defineConfig } from 'tsup';
+
+const cfg = {
+ splitting: false,
+ sourcemap: true,
+ clean: true,
+ treeshake: false,
+ dts: true,
+ format: ['esm', 'cjs'],
+};
+
+export default defineConfig([
+ {
+ ...cfg,
+ entry: {
+ index: 'src/generic.ts',
+ },
+ outDir: 'dist',
+ },
+ {
+ ...cfg,
+ entry: {
+ index: 'src/nextjs/index.tsx',
+ },
+ external: ['react', 'next'],
+ outDir: 'dist/next',
+ esbuildOptions: (options) => {
+ // Append "use client" to the top of the react entry point
+ options.banner = {
+ js: '"use client";',
+ };
+ },
+ },
+ {
+ ...cfg,
+ entry: {
+ index: 'src/nuxt/index.ts',
+ },
+ external: ['vue', 'vue-router'],
+ outDir: 'dist/nuxt',
+ },
+ {
+ ...cfg,
+ entry: {
+ index: 'src/remix/index.tsx',
+ },
+ external: ['react', '@remix-run/react'],
+ outDir: 'dist/remix',
+ },
+ {
+ ...cfg,
+ entry: {
+ index: 'src/sveltekit/index.ts',
+ },
+ external: ['svelte', '@sveltejs/kit', '$app'],
+ outDir: 'dist/sveltekit',
+ },
+ {
+ ...cfg,
+ entry: {
+ index: 'src/vue/index.ts',
+ },
+ external: ['vue', 'vue-router'],
+ outDir: 'dist/vue',
+ },
+ {
+ ...cfg,
+ entry: {
+ index: 'src/react/index.tsx',
+ },
+ external: ['react'],
+ outDir: 'dist/react',
+ },
+]);
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
new file mode 100644
index 0000000..7fb15da
--- /dev/null
+++ b/pnpm-lock.yaml
@@ -0,0 +1,19164 @@
+lockfileVersion: '6.0'
+
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
+
+importers:
+ .:
+ dependencies:
+ lint-staged:
+ specifier: ^14.0.1
+ version: 14.0.1
+ devDependencies:
+ '@vercel/style-guide':
+ specifier: ^5.0.1
+ version: 5.0.1(eslint@8.48.0)(prettier@3.0.3)(typescript@5.2.2)
+ husky:
+ specifier: ^8.0.3
+ version: 8.0.3
+ prettier:
+ specifier: 3.0.3
+ version: 3.0.3
+ typescript:
+ specifier: ^5.2.2
+ version: 5.2.2
+
+ apps/nextjs:
+ dependencies:
+ '@vercel/speed-insights':
+ specifier: workspace:*
+ version: link:../../packages/web
+ next:
+ specifier: ^14.0.3
+ version: 14.0.3(@babel/core@7.22.15)(react-dom@18.2.0)(react@18.2.0)
+ react:
+ specifier: 18.2.0
+ version: 18.2.0
+ react-dom:
+ specifier: 18.2.0
+ version: 18.2.0(react@18.2.0)
+ devDependencies:
+ '@playwright/test':
+ specifier: 1.37.1
+ version: 1.37.1
+
+ apps/nuxt:
+ devDependencies:
+ '@nuxt/devtools':
+ specifier: latest
+ version: 1.0.3(nuxt@3.8.2)(vite@4.5.0)
+ '@vercel/speed-insights':
+ specifier: workspace:*
+ version: link:../../packages/web
+ nuxt:
+ specifier: ^3.8.2
+ version: 3.8.2(eslint@8.48.0)(typescript@5.2.2)(vite@4.5.0)
+ vue:
+ specifier: ^3.3.8
+ version: 3.3.8(typescript@5.2.2)
+ vue-router:
+ specifier: ^4.2.5
+ version: 4.2.5(vue@3.3.8)
+
+ apps/remix:
+ dependencies:
+ '@remix-run/css-bundle':
+ specifier: ^2.0.1
+ version: 2.0.1
+ '@remix-run/node':
+ specifier: ^2.0.1
+ version: 2.0.1(typescript@5.2.2)
+ '@remix-run/react':
+ specifier: ^2.0.1
+ version: 2.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2)
+ '@remix-run/serve':
+ specifier: ^2.0.1
+ version: 2.0.1(typescript@5.2.2)
+ '@vercel/speed-insights':
+ specifier: workspace:*
+ version: link:../../packages/web
+ isbot:
+ specifier: ^3.6.8
+ version: 3.6.8
+ react:
+ specifier: ^18.2.0
+ version: 18.2.0
+ react-dom:
+ specifier: ^18.2.0
+ version: 18.2.0(react@18.2.0)
+ devDependencies:
+ '@remix-run/dev':
+ specifier: ^2.0.1
+ version: 2.0.1(@remix-run/serve@2.0.1)(typescript@5.2.2)
+ '@remix-run/eslint-config':
+ specifier: ^2.0.1
+ version: 2.0.1(eslint@8.48.0)(react@18.2.0)(typescript@5.2.2)
+ '@types/react':
+ specifier: ^18.2.20
+ version: 18.2.21
+ '@types/react-dom':
+ specifier: ^18.2.7
+ version: 18.2.7
+ eslint:
+ specifier: ^8.38.0
+ version: 8.48.0
+ typescript:
+ specifier: ^5.1.6
+ version: 5.2.2
+
+ apps/sveltekit:
+ dependencies:
+ '@vercel/speed-insights':
+ specifier: workspace:*
+ version: link:../../packages/web
+ devDependencies:
+ '@fontsource/fira-mono':
+ specifier: ^4.5.10
+ version: 4.5.10
+ '@neoconfetti/svelte':
+ specifier: ^1.0.0
+ version: 1.0.0
+ '@sveltejs/adapter-auto':
+ specifier: ^2.0.0
+ version: 2.0.0(@sveltejs/kit@1.20.4)
+ '@sveltejs/kit':
+ specifier: ^1.20.4
+ version: 1.20.4(svelte@4.0.5)(vite@4.4.9)
+ '@types/cookie':
+ specifier: ^0.5.1
+ version: 0.5.1
+ svelte:
+ specifier: ^4.0.5
+ version: 4.0.5
+ svelte-check:
+ specifier: ^3.4.3
+ version: 3.4.3(@babel/core@7.22.15)(svelte@4.0.5)
+ tslib:
+ specifier: ^2.4.1
+ version: 2.6.2
+ typescript:
+ specifier: ^5.0.0
+ version: 5.2.2
+ vite:
+ specifier: ^4.4.2
+ version: 4.4.9
+
+ apps/vue:
+ dependencies:
+ '@vercel/speed-insights':
+ specifier: workspace:*
+ version: link:../../packages/web
+ vue:
+ specifier: ^3.3.4
+ version: 3.3.8(typescript@5.2.2)
+ devDependencies:
+ '@vitejs/plugin-vue':
+ specifier: ^4.4.0
+ version: 4.4.0(vite@4.4.11)(vue@3.3.8)
+ vite:
+ specifier: ^4.4.11
+ version: 4.4.11
+
+ packages/web:
+ devDependencies:
+ '@remix-run/react':
+ specifier: ^2.0.1
+ version: 2.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2)
+ '@sveltejs/kit':
+ specifier: ^1.20.4
+ version: 1.20.4(svelte@4.0.5)(vite@4.5.0)
+ '@swc/core':
+ specifier: ^1.3.82
+ version: 1.3.82
+ '@swc/jest':
+ specifier: ^0.2.29
+ version: 0.2.29(@swc/core@1.3.82)
+ '@testing-library/jest-dom':
+ specifier: ^6.1.2
+ version: 6.1.2(@types/jest@29.5.4)(jest@29.6.4)
+ '@testing-library/react':
+ specifier: ^14.0.0
+ version: 14.0.0(react-dom@18.2.0)(react@18.2.0)
+ '@types/jest':
+ specifier: ^29.5.4
+ version: 29.5.4
+ '@types/node':
+ specifier: ^20.5.9
+ version: 20.5.9
+ '@types/react':
+ specifier: ^18.2.21
+ version: 18.2.21
+ copyfiles:
+ specifier: ^2.4.1
+ version: 2.4.1
+ jest:
+ specifier: ^29.6.4
+ version: 29.6.4(@types/node@20.5.9)
+ jest-environment-jsdom:
+ specifier: ^29.6.4
+ version: 29.6.4
+ next:
+ specifier: ^13.4.19
+ version: 13.4.19(@babel/core@7.23.3)(react-dom@18.2.0)(react@18.2.0)
+ react:
+ specifier: ^18.2.0
+ version: 18.2.0
+ react-dom:
+ specifier: ^18.2.0
+ version: 18.2.0(react@18.2.0)
+ svelte:
+ specifier: ^4.0.5
+ version: 4.0.5
+ tsup:
+ specifier: 7.2.0
+ version: 7.2.0(@swc/core@1.3.82)(typescript@5.2.2)
+ vue:
+ specifier: ^3.3.4
+ version: 3.3.8(typescript@5.2.2)
+ vue-router:
+ specifier: ^4.2.5
+ version: 4.2.5(vue@3.3.8)
+
+packages:
+ /@aashutoshrathi/word-wrap@1.2.6:
+ resolution:
+ {
+ integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==,
+ }
+ engines: { node: '>=0.10.0' }
+ dev: true
+
+ /@adobe/css-tools@4.3.1:
+ resolution:
+ {
+ integrity: sha512-/62yikz7NLScCGAAST5SHdnjaDJQBDq0M2muyRTpf2VQhw6StBg2ALiu73zSJQ4fMVLA+0uBhBHAle7Wg+2kSg==,
+ }
+ dev: true
+
+ /@ampproject/remapping@2.2.1:
+ resolution:
+ {
+ integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==,
+ }
+ engines: { node: '>=6.0.0' }
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.3
+ '@jridgewell/trace-mapping': 0.3.19
+
+ /@antfu/utils@0.7.6:
+ resolution:
+ {
+ integrity: sha512-pvFiLP2BeOKA/ZOS6jxx4XhKzdVLHDhGlFEaZ2flWWYf2xOqVniqpk38I04DFRyz+L0ASggl7SkItTc+ZLju4w==,
+ }
+ dev: true
+
+ /@babel/code-frame@7.18.6:
+ resolution:
+ {
+ integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ '@babel/highlight': 7.18.6
+ dev: true
+
+ /@babel/code-frame@7.22.13:
+ resolution:
+ {
+ integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ '@babel/highlight': 7.22.13
+ chalk: 2.4.2
+
+ /@babel/code-frame@7.23.4:
+ resolution:
+ {
+ integrity: sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ '@babel/highlight': 7.23.4
+ chalk: 2.4.2
+
+ /@babel/compat-data@7.22.9:
+ resolution:
+ {
+ integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==,
+ }
+ engines: { node: '>=6.9.0' }
+
+ /@babel/core@7.22.15:
+ resolution:
+ {
+ integrity: sha512-PtZqMmgRrvj8ruoEOIwVA3yoF91O+Hgw9o7DAUTNBA6Mo2jpu31clx9a7Nz/9JznqetTR6zwfC4L3LAjKQXUwA==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ '@ampproject/remapping': 2.2.1
+ '@babel/code-frame': 7.22.13
+ '@babel/generator': 7.22.15
+ '@babel/helper-compilation-targets': 7.22.15
+ '@babel/helper-module-transforms': 7.22.15(@babel/core@7.22.15)
+ '@babel/helpers': 7.22.15
+ '@babel/parser': 7.22.15
+ '@babel/template': 7.22.15
+ '@babel/traverse': 7.22.15
+ '@babel/types': 7.22.15
+ convert-source-map: 1.9.0
+ debug: 4.3.4
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/core@7.23.3:
+ resolution:
+ {
+ integrity: sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ '@ampproject/remapping': 2.2.1
+ '@babel/code-frame': 7.22.13
+ '@babel/generator': 7.23.4
+ '@babel/helper-compilation-targets': 7.22.15
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3)
+ '@babel/helpers': 7.23.4
+ '@babel/parser': 7.23.4
+ '@babel/template': 7.22.15
+ '@babel/traverse': 7.23.4
+ '@babel/types': 7.23.4
+ convert-source-map: 2.0.0
+ debug: 4.3.4
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/eslint-parser@7.22.15(@babel/core@7.22.15)(eslint@8.48.0):
+ resolution:
+ {
+ integrity: sha512-yc8OOBIQk1EcRrpizuARSQS0TWAcOMpEJ1aafhNznaeYkeL+OhqnDObGFylB8ka8VFF/sZc+S4RzHyO+3LjQxg==,
+ }
+ engines: { node: ^10.13.0 || ^12.13.0 || >=14.0.0 }
+ peerDependencies:
+ '@babel/core': ^7.11.0
+ eslint: ^7.5.0 || ^8.0.0
+ dependencies:
+ '@babel/core': 7.22.15
+ '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1
+ eslint: 8.48.0
+ eslint-visitor-keys: 2.1.0
+ semver: 6.3.1
+ dev: true
+
+ /@babel/generator@7.22.15:
+ resolution:
+ {
+ integrity: sha512-Zu9oWARBqeVOW0dZOjXc3JObrzuqothQ3y/n1kUtrjCoCPLkXUwMvOo/F/TCfoHMbWIFlWwpZtkZVb9ga4U2pA==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ '@babel/types': 7.23.4
+ '@jridgewell/gen-mapping': 0.3.3
+ '@jridgewell/trace-mapping': 0.3.19
+ jsesc: 2.5.2
+
+ /@babel/generator@7.23.4:
+ resolution:
+ {
+ integrity: sha512-esuS49Cga3HcThFNebGhlgsrVLkvhqvYDTzgjfFFlHJcIfLe5jFmRRfCQ1KuBfc4Jrtn3ndLgKWAKjBE+IraYQ==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ '@babel/types': 7.23.4
+ '@jridgewell/gen-mapping': 0.3.3
+ '@jridgewell/trace-mapping': 0.3.19
+ jsesc: 2.5.2
+
+ /@babel/helper-annotate-as-pure@7.22.5:
+ resolution:
+ {
+ integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ '@babel/types': 7.23.4
+ dev: true
+
+ /@babel/helper-compilation-targets@7.22.15:
+ resolution:
+ {
+ integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ '@babel/compat-data': 7.22.9
+ '@babel/helper-validator-option': 7.22.15
+ browserslist: 4.21.10
+ lru-cache: 5.1.1
+ semver: 6.3.1
+
+ /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.22.15):
+ resolution:
+ {
+ integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==,
+ }
+ engines: { node: '>=6.9.0' }
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-environment-visitor': 7.22.5
+ '@babel/helper-function-name': 7.22.5
+ '@babel/helper-member-expression-to-functions': 7.23.0
+ '@babel/helper-optimise-call-expression': 7.22.5
+ '@babel/helper-replace-supers': 7.22.20(@babel/core@7.22.15)
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ semver: 6.3.1
+ dev: true
+
+ /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.23.3):
+ resolution:
+ {
+ integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==,
+ }
+ engines: { node: '>=6.9.0' }
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.3
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-function-name': 7.23.0
+ '@babel/helper-member-expression-to-functions': 7.23.0
+ '@babel/helper-optimise-call-expression': 7.22.5
+ '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.3)
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ semver: 6.3.1
+ dev: true
+
+ /@babel/helper-environment-visitor@7.22.20:
+ resolution:
+ {
+ integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==,
+ }
+ engines: { node: '>=6.9.0' }
+ dev: true
+
+ /@babel/helper-environment-visitor@7.22.5:
+ resolution:
+ {
+ integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==,
+ }
+ engines: { node: '>=6.9.0' }
+
+ /@babel/helper-function-name@7.22.5:
+ resolution:
+ {
+ integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ '@babel/template': 7.22.15
+ '@babel/types': 7.23.4
+
+ /@babel/helper-function-name@7.23.0:
+ resolution:
+ {
+ integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ '@babel/template': 7.22.15
+ '@babel/types': 7.23.4
+ dev: true
+
+ /@babel/helper-hoist-variables@7.22.5:
+ resolution:
+ {
+ integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ '@babel/types': 7.23.4
+
+ /@babel/helper-member-expression-to-functions@7.23.0:
+ resolution:
+ {
+ integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ '@babel/types': 7.23.4
+ dev: true
+
+ /@babel/helper-module-imports@7.22.15:
+ resolution:
+ {
+ integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ '@babel/types': 7.23.4
+
+ /@babel/helper-module-transforms@7.22.15(@babel/core@7.22.15):
+ resolution:
+ {
+ integrity: sha512-l1UiX4UyHSFsYt17iQ3Se5pQQZZHa22zyIXURmvkmLCD4t/aU+dvNWHatKac/D9Vm9UES7nvIqHs4jZqKviUmQ==,
+ }
+ engines: { node: '>=6.9.0' }
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/helper-environment-visitor': 7.22.5
+ '@babel/helper-module-imports': 7.22.15
+ '@babel/helper-simple-access': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ '@babel/helper-validator-identifier': 7.22.15
+
+ /@babel/helper-module-transforms@7.23.0(@babel/core@7.22.15):
+ resolution:
+ {
+ integrity: sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==,
+ }
+ engines: { node: '>=6.9.0' }
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-module-imports': 7.22.15
+ '@babel/helper-simple-access': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ '@babel/helper-validator-identifier': 7.22.20
+ dev: true
+
+ /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.3):
+ resolution:
+ {
+ integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==,
+ }
+ engines: { node: '>=6.9.0' }
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.3
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-module-imports': 7.22.15
+ '@babel/helper-simple-access': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ '@babel/helper-validator-identifier': 7.22.20
+ dev: true
+
+ /@babel/helper-optimise-call-expression@7.22.5:
+ resolution:
+ {
+ integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ '@babel/types': 7.23.4
+ dev: true
+
+ /@babel/helper-plugin-utils@7.22.5:
+ resolution:
+ {
+ integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==,
+ }
+ engines: { node: '>=6.9.0' }
+ dev: true
+
+ /@babel/helper-replace-supers@7.22.20(@babel/core@7.22.15):
+ resolution:
+ {
+ integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==,
+ }
+ engines: { node: '>=6.9.0' }
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-member-expression-to-functions': 7.23.0
+ '@babel/helper-optimise-call-expression': 7.22.5
+ dev: true
+
+ /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.3):
+ resolution:
+ {
+ integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==,
+ }
+ engines: { node: '>=6.9.0' }
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.3
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-member-expression-to-functions': 7.23.0
+ '@babel/helper-optimise-call-expression': 7.22.5
+ dev: true
+
+ /@babel/helper-simple-access@7.22.5:
+ resolution:
+ {
+ integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ '@babel/types': 7.23.4
+
+ /@babel/helper-skip-transparent-expression-wrappers@7.22.5:
+ resolution:
+ {
+ integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ '@babel/types': 7.23.4
+ dev: true
+
+ /@babel/helper-split-export-declaration@7.22.6:
+ resolution:
+ {
+ integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ '@babel/types': 7.23.4
+
+ /@babel/helper-string-parser@7.22.5:
+ resolution:
+ {
+ integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==,
+ }
+ engines: { node: '>=6.9.0' }
+
+ /@babel/helper-string-parser@7.23.4:
+ resolution:
+ {
+ integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==,
+ }
+ engines: { node: '>=6.9.0' }
+
+ /@babel/helper-validator-identifier@7.19.1:
+ resolution:
+ {
+ integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==,
+ }
+ engines: { node: '>=6.9.0' }
+ dev: true
+
+ /@babel/helper-validator-identifier@7.22.15:
+ resolution:
+ {
+ integrity: sha512-4E/F9IIEi8WR94324mbDUMo074YTheJmd7eZF5vITTeYchqAi6sYXRLHUVsmkdmY4QjfKTcB2jB7dVP3NaBElQ==,
+ }
+ engines: { node: '>=6.9.0' }
+
+ /@babel/helper-validator-identifier@7.22.20:
+ resolution:
+ {
+ integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==,
+ }
+ engines: { node: '>=6.9.0' }
+
+ /@babel/helper-validator-option@7.22.15:
+ resolution:
+ {
+ integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==,
+ }
+ engines: { node: '>=6.9.0' }
+
+ /@babel/helpers@7.22.15:
+ resolution:
+ {
+ integrity: sha512-7pAjK0aSdxOwR+CcYAqgWOGy5dcfvzsTIfFTb2odQqW47MDfv14UaJDY6eng8ylM2EaeKXdxaSWESbkmaQHTmw==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ '@babel/template': 7.22.15
+ '@babel/traverse': 7.22.15
+ '@babel/types': 7.22.15
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/helpers@7.23.4:
+ resolution:
+ {
+ integrity: sha512-HfcMizYz10cr3h29VqyfGL6ZWIjTwWfvYBMsBVGwpcbhNGe3wQ1ZXZRPzZoAHhd9OqHadHqjQ89iVKINXnbzuw==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ '@babel/template': 7.22.15
+ '@babel/traverse': 7.23.4
+ '@babel/types': 7.23.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/highlight@7.18.6:
+ resolution:
+ {
+ integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ '@babel/helper-validator-identifier': 7.19.1
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+ dev: true
+
+ /@babel/highlight@7.22.13:
+ resolution:
+ {
+ integrity: sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ '@babel/helper-validator-identifier': 7.22.15
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+
+ /@babel/highlight@7.23.4:
+ resolution:
+ {
+ integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ '@babel/helper-validator-identifier': 7.22.20
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+
+ /@babel/parser@7.22.15:
+ resolution:
+ {
+ integrity: sha512-RWmQ/sklUN9BvGGpCDgSubhHWfAx24XDTDObup4ffvxaYsptOg2P3KG0j+1eWKLxpkX0j0uHxmpq2Z1SP/VhxA==,
+ }
+ engines: { node: '>=6.0.0' }
+ hasBin: true
+ dependencies:
+ '@babel/types': 7.23.4
+
+ /@babel/parser@7.23.4:
+ resolution:
+ {
+ integrity: sha512-vf3Xna6UEprW+7t6EtOmFpHNAuxw3xqPZghy+brsnusscJRW5BMUzzHZc5ICjULee81WeUV2jjakG09MDglJXQ==,
+ }
+ engines: { node: '>=6.0.0' }
+ hasBin: true
+ dependencies:
+ '@babel/types': 7.23.4
+
+ /@babel/plugin-proposal-decorators@7.23.3(@babel/core@7.23.3):
+ resolution:
+ {
+ integrity: sha512-u8SwzOcP0DYSsa++nHd/9exlHb0NAlHCb890qtZZbSwPX2bFv8LBEztxwN7Xg/dS8oAFFidhrI9PBcLBJSkGRQ==,
+ }
+ engines: { node: '>=6.9.0' }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.3
+ '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3)
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.3)
+ '@babel/helper-split-export-declaration': 7.22.6
+ '@babel/plugin-syntax-decorators': 7.23.3(@babel/core@7.23.3)
+ dev: true
+
+ /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.15):
+ resolution:
+ {
+ integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==,
+ }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.22.15):
+ resolution:
+ {
+ integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==,
+ }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.15):
+ resolution:
+ {
+ integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==,
+ }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-decorators@7.22.10(@babel/core@7.22.15):
+ resolution:
+ {
+ integrity: sha512-z1KTVemBjnz+kSEilAsI4lbkPOl5TvJH7YDSY1CTIzvLWJ+KHXp+mRe8VPmfnyvqOPqar1V2gid2PleKzRUstQ==,
+ }
+ engines: { node: '>=6.9.0' }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-decorators@7.23.3(@babel/core@7.23.3):
+ resolution:
+ {
+ integrity: sha512-cf7Niq4/+/juY67E0PbgH0TDhLQ5J7zS8C/Q5FFx+DWyrRa9sUQdTXkjqKu8zGvuqr7vw1muKiukseihU+PJDA==,
+ }
+ engines: { node: '>=6.9.0' }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.3
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.23.3):
+ resolution:
+ {
+ integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==,
+ }
+ engines: { node: '>=6.9.0' }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.3
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.15):
+ resolution:
+ {
+ integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==,
+ }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.3):
+ resolution:
+ {
+ integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==,
+ }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.3
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.15):
+ resolution:
+ {
+ integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==,
+ }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.15):
+ resolution:
+ {
+ integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==,
+ }
+ engines: { node: '>=6.9.0' }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.23.3):
+ resolution:
+ {
+ integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==,
+ }
+ engines: { node: '>=6.9.0' }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.3
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.15):
+ resolution:
+ {
+ integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==,
+ }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.15):
+ resolution:
+ {
+ integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==,
+ }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.15):
+ resolution:
+ {
+ integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==,
+ }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.15):
+ resolution:
+ {
+ integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==,
+ }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.15):
+ resolution:
+ {
+ integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==,
+ }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.15):
+ resolution:
+ {
+ integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==,
+ }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.15):
+ resolution:
+ {
+ integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==,
+ }
+ engines: { node: '>=6.9.0' }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.15):
+ resolution:
+ {
+ integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==,
+ }
+ engines: { node: '>=6.9.0' }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.3):
+ resolution:
+ {
+ integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==,
+ }
+ engines: { node: '>=6.9.0' }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.3
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-modules-commonjs@7.23.0(@babel/core@7.22.15):
+ resolution:
+ {
+ integrity: sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==,
+ }
+ engines: { node: '>=6.9.0' }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/helper-module-transforms': 7.23.0(@babel/core@7.22.15)
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-simple-access': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-react-display-name@7.22.5(@babel/core@7.22.15):
+ resolution:
+ {
+ integrity: sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==,
+ }
+ engines: { node: '>=6.9.0' }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.22.15):
+ resolution:
+ {
+ integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==,
+ }
+ engines: { node: '>=6.9.0' }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.22.15)
+ dev: true
+
+ /@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.22.15):
+ resolution:
+ {
+ integrity: sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==,
+ }
+ engines: { node: '>=6.9.0' }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-module-imports': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.15)
+ '@babel/types': 7.23.4
+ dev: true
+
+ /@babel/plugin-transform-react-pure-annotations@7.22.5(@babel/core@7.22.15):
+ resolution:
+ {
+ integrity: sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==,
+ }
+ engines: { node: '>=6.9.0' }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-typescript@7.22.15(@babel/core@7.22.15):
+ resolution:
+ {
+ integrity: sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==,
+ }
+ engines: { node: '>=6.9.0' }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.15)
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.15)
+ dev: true
+
+ /@babel/plugin-transform-typescript@7.23.4(@babel/core@7.23.3):
+ resolution:
+ {
+ integrity: sha512-39hCCOl+YUAyMOu6B9SmUTiHUU0t/CxJNUmY3qRdJujbqi+lrQcL11ysYUsAvFWPBdhihrv1z0oRG84Yr3dODQ==,
+ }
+ engines: { node: '>=6.9.0' }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.3
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3)
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.3)
+ dev: true
+
+ /@babel/preset-react@7.22.15(@babel/core@7.22.15):
+ resolution:
+ {
+ integrity: sha512-Csy1IJ2uEh/PecCBXXoZGAZBeCATTuePzCSB7dLYWS0vOEj6CNpjxIhW4duWwZodBNueH7QO14WbGn8YyeuN9w==,
+ }
+ engines: { node: '>=6.9.0' }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-validator-option': 7.22.15
+ '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.22.15)
+ '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.22.15)
+ '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.22.15)
+ '@babel/plugin-transform-react-pure-annotations': 7.22.5(@babel/core@7.22.15)
+ dev: true
+
+ /@babel/preset-typescript@7.23.0(@babel/core@7.22.15):
+ resolution:
+ {
+ integrity: sha512-6P6VVa/NM/VlAYj5s2Aq/gdVg8FSENCg3wlZ6Qau9AcPaoF5LbN1nyGlR9DTRIw9PpxI94e+ReydsJHcjwAweg==,
+ }
+ engines: { node: '>=6.9.0' }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-validator-option': 7.22.15
+ '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.15)
+ '@babel/plugin-transform-modules-commonjs': 7.23.0(@babel/core@7.22.15)
+ '@babel/plugin-transform-typescript': 7.22.15(@babel/core@7.22.15)
+ dev: true
+
+ /@babel/runtime@7.19.4:
+ resolution:
+ {
+ integrity: sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ regenerator-runtime: 0.13.10
+ dev: true
+
+ /@babel/runtime@7.22.15:
+ resolution:
+ {
+ integrity: sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ regenerator-runtime: 0.14.0
+ dev: true
+
+ /@babel/standalone@7.23.4:
+ resolution:
+ {
+ integrity: sha512-cXT2Xi9YVJEi7kLjqoeZBXjrNt1PASOh4Zi3jp5yXT06Gt4ZeRETfYH9y5x3RQhFTpNxaA1300lzK1obiy6tcQ==,
+ }
+ engines: { node: '>=6.9.0' }
+ dev: true
+
+ /@babel/template@7.22.15:
+ resolution:
+ {
+ integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ '@babel/code-frame': 7.22.13
+ '@babel/parser': 7.22.15
+ '@babel/types': 7.22.15
+
+ /@babel/traverse@7.22.15:
+ resolution:
+ {
+ integrity: sha512-DdHPwvJY0sEeN4xJU5uRLmZjgMMDIvMPniLuYzUVXj/GGzysPl0/fwt44JBkyUIzGJPV8QgHMcQdQ34XFuKTYQ==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ '@babel/code-frame': 7.23.4
+ '@babel/generator': 7.23.4
+ '@babel/helper-environment-visitor': 7.22.5
+ '@babel/helper-function-name': 7.22.5
+ '@babel/helper-hoist-variables': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ '@babel/parser': 7.23.4
+ '@babel/types': 7.23.4
+ debug: 4.3.4
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/traverse@7.23.4:
+ resolution:
+ {
+ integrity: sha512-IYM8wSUwunWTB6tFC2dkKZhxbIjHoWemdK+3f8/wq8aKhbUscxD5MX72ubd90fxvFknaLPeGw5ycU84V1obHJg==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ '@babel/code-frame': 7.23.4
+ '@babel/generator': 7.23.4
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-function-name': 7.23.0
+ '@babel/helper-hoist-variables': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ '@babel/parser': 7.23.4
+ '@babel/types': 7.23.4
+ debug: 4.3.4
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/types@7.22.15:
+ resolution:
+ {
+ integrity: sha512-X+NLXr0N8XXmN5ZsaQdm9U2SSC3UbIYq/doL++sueHOTisgZHoKaQtZxGuV2cUPQHMfjKEfg/g6oy7Hm6SKFtA==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ '@babel/helper-string-parser': 7.22.5
+ '@babel/helper-validator-identifier': 7.22.15
+ to-fast-properties: 2.0.0
+
+ /@babel/types@7.23.4:
+ resolution:
+ {
+ integrity: sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ==,
+ }
+ engines: { node: '>=6.9.0' }
+ dependencies:
+ '@babel/helper-string-parser': 7.23.4
+ '@babel/helper-validator-identifier': 7.22.20
+ to-fast-properties: 2.0.0
+
+ /@bcoe/v8-coverage@0.2.3:
+ resolution:
+ {
+ integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==,
+ }
+ dev: true
+
+ /@cloudflare/kv-asset-handler@0.3.0:
+ resolution:
+ {
+ integrity: sha512-9CB/MKf/wdvbfkUdfrj+OkEwZ5b7rws0eogJ4293h+7b6KX5toPwym+VQKmILafNB9YiehqY0DlNrDcDhdWHSQ==,
+ }
+ dependencies:
+ mime: 3.0.0
+ dev: true
+
+ /@emotion/hash@0.9.1:
+ resolution:
+ {
+ integrity: sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==,
+ }
+ dev: true
+
+ /@esbuild/android-arm64@0.17.6:
+ resolution:
+ {
+ integrity: sha512-YnYSCceN/dUzUr5kdtUzB+wZprCafuD89Hs0Aqv9QSdwhYQybhXTaSTcrl6X/aWThn1a/j0eEpUBGOE7269REg==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/android-arm64@0.18.20:
+ resolution:
+ {
+ integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/android-arm64@0.19.7:
+ resolution:
+ {
+ integrity: sha512-YEDcw5IT7hW3sFKZBkCAQaOCJQLONVcD4bOyTXMZz5fr66pTHnAet46XAtbXAkJRfIn2YVhdC6R9g4xa27jQ1w==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/android-arm@0.17.6:
+ resolution:
+ {
+ integrity: sha512-bSC9YVUjADDy1gae8RrioINU6e1lCkg3VGVwm0QQ2E1CWcC4gnMce9+B6RpxuSsrsXsk1yojn7sp1fnG8erE2g==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/android-arm@0.18.20:
+ resolution:
+ {
+ integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/android-arm@0.19.7:
+ resolution:
+ {
+ integrity: sha512-YGSPnndkcLo4PmVl2tKatEn+0mlVMr3yEpOOT0BeMria87PhvoJb5dg5f5Ft9fbCVgtAz4pWMzZVgSEGpDAlww==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/android-x64@0.17.6:
+ resolution:
+ {
+ integrity: sha512-MVcYcgSO7pfu/x34uX9u2QIZHmXAB7dEiLQC5bBl5Ryqtpj9lT2sg3gNDEsrPEmimSJW2FXIaxqSQ501YLDsZQ==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/android-x64@0.18.20:
+ resolution:
+ {
+ integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/android-x64@0.19.7:
+ resolution:
+ {
+ integrity: sha512-jhINx8DEjz68cChFvM72YzrqfwJuFbfvSxZAk4bebpngGfNNRm+zRl4rtT9oAX6N9b6gBcFaJHFew5Blf6CvUw==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/darwin-arm64@0.17.6:
+ resolution:
+ {
+ integrity: sha512-bsDRvlbKMQMt6Wl08nHtFz++yoZHsyTOxnjfB2Q95gato+Yi4WnRl13oC2/PJJA9yLCoRv9gqT/EYX0/zDsyMA==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/darwin-arm64@0.18.20:
+ resolution:
+ {
+ integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/darwin-arm64@0.19.7:
+ resolution:
+ {
+ integrity: sha512-dr81gbmWN//3ZnBIm6YNCl4p3pjnabg1/ZVOgz2fJoUO1a3mq9WQ/1iuEluMs7mCL+Zwv7AY5e3g1hjXqQZ9Iw==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/darwin-x64@0.17.6:
+ resolution:
+ {
+ integrity: sha512-xh2A5oPrYRfMFz74QXIQTQo8uA+hYzGWJFoeTE8EvoZGHb+idyV4ATaukaUvnnxJiauhs/fPx3vYhU4wiGfosg==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/darwin-x64@0.18.20:
+ resolution:
+ {
+ integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/darwin-x64@0.19.7:
+ resolution:
+ {
+ integrity: sha512-Lc0q5HouGlzQEwLkgEKnWcSazqr9l9OdV2HhVasWJzLKeOt0PLhHaUHuzb8s/UIya38DJDoUm74GToZ6Wc7NGQ==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/freebsd-arm64@0.17.6:
+ resolution:
+ {
+ integrity: sha512-EnUwjRc1inT4ccZh4pB3v1cIhohE2S4YXlt1OvI7sw/+pD+dIE4smwekZlEPIwY6PhU6oDWwITrQQm5S2/iZgg==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/freebsd-arm64@0.18.20:
+ resolution:
+ {
+ integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/freebsd-arm64@0.19.7:
+ resolution:
+ {
+ integrity: sha512-+y2YsUr0CxDFF7GWiegWjGtTUF6gac2zFasfFkRJPkMAuMy9O7+2EH550VlqVdpEEchWMynkdhC9ZjtnMiHImQ==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/freebsd-x64@0.17.6:
+ resolution:
+ {
+ integrity: sha512-Uh3HLWGzH6FwpviUcLMKPCbZUAFzv67Wj5MTwK6jn89b576SR2IbEp+tqUHTr8DIl0iDmBAf51MVaP7pw6PY5Q==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/freebsd-x64@0.18.20:
+ resolution:
+ {
+ integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/freebsd-x64@0.19.7:
+ resolution:
+ {
+ integrity: sha512-CdXOxIbIzPJmJhrpmJTLx+o35NoiKBIgOvmvT+jeSadYiWJn0vFKsl+0bSG/5lwjNHoIDEyMYc/GAPR9jxusTA==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-arm64@0.17.6:
+ resolution:
+ {
+ integrity: sha512-bUR58IFOMJX523aDVozswnlp5yry7+0cRLCXDsxnUeQYJik1DukMY+apBsLOZJblpH+K7ox7YrKrHmJoWqVR9w==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-arm64@0.18.20:
+ resolution:
+ {
+ integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-arm64@0.19.7:
+ resolution:
+ {
+ integrity: sha512-inHqdOVCkUhHNvuQPT1oCB7cWz9qQ/Cz46xmVe0b7UXcuIJU3166aqSunsqkgSGMtUCWOZw3+KMwI6otINuC9g==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-arm@0.17.6:
+ resolution:
+ {
+ integrity: sha512-7YdGiurNt7lqO0Bf/U9/arrPWPqdPqcV6JCZda4LZgEn+PTQ5SMEI4MGR52Bfn3+d6bNEGcWFzlIxiQdS48YUw==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-arm@0.18.20:
+ resolution:
+ {
+ integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-arm@0.19.7:
+ resolution:
+ {
+ integrity: sha512-Y+SCmWxsJOdQtjcBxoacn/pGW9HDZpwsoof0ttL+2vGcHokFlfqV666JpfLCSP2xLxFpF1lj7T3Ox3sr95YXww==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-ia32@0.17.6:
+ resolution:
+ {
+ integrity: sha512-ujp8uoQCM9FRcbDfkqECoARsLnLfCUhKARTP56TFPog8ie9JG83D5GVKjQ6yVrEVdMie1djH86fm98eY3quQkQ==,
+ }
+ engines: { node: '>=12' }
+ cpu: [ia32]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-ia32@0.18.20:
+ resolution:
+ {
+ integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==,
+ }
+ engines: { node: '>=12' }
+ cpu: [ia32]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-ia32@0.19.7:
+ resolution:
+ {
+ integrity: sha512-2BbiL7nLS5ZO96bxTQkdO0euGZIUQEUXMTrqLxKUmk/Y5pmrWU84f+CMJpM8+EHaBPfFSPnomEaQiG/+Gmh61g==,
+ }
+ engines: { node: '>=12' }
+ cpu: [ia32]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-loong64@0.17.6:
+ resolution:
+ {
+ integrity: sha512-y2NX1+X/Nt+izj9bLoiaYB9YXT/LoaQFYvCkVD77G/4F+/yuVXYCWz4SE9yr5CBMbOxOfBcy/xFL4LlOeNlzYQ==,
+ }
+ engines: { node: '>=12' }
+ cpu: [loong64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-loong64@0.18.20:
+ resolution:
+ {
+ integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==,
+ }
+ engines: { node: '>=12' }
+ cpu: [loong64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-loong64@0.19.7:
+ resolution:
+ {
+ integrity: sha512-BVFQla72KXv3yyTFCQXF7MORvpTo4uTA8FVFgmwVrqbB/4DsBFWilUm1i2Oq6zN36DOZKSVUTb16jbjedhfSHw==,
+ }
+ engines: { node: '>=12' }
+ cpu: [loong64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-mips64el@0.17.6:
+ resolution:
+ {
+ integrity: sha512-09AXKB1HDOzXD+j3FdXCiL/MWmZP0Ex9eR8DLMBVcHorrWJxWmY8Nms2Nm41iRM64WVx7bA/JVHMv081iP2kUA==,
+ }
+ engines: { node: '>=12' }
+ cpu: [mips64el]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-mips64el@0.18.20:
+ resolution:
+ {
+ integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==,
+ }
+ engines: { node: '>=12' }
+ cpu: [mips64el]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-mips64el@0.19.7:
+ resolution:
+ {
+ integrity: sha512-DzAYckIaK+pS31Q/rGpvUKu7M+5/t+jI+cdleDgUwbU7KdG2eC3SUbZHlo6Q4P1CfVKZ1lUERRFP8+q0ob9i2w==,
+ }
+ engines: { node: '>=12' }
+ cpu: [mips64el]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-ppc64@0.17.6:
+ resolution:
+ {
+ integrity: sha512-AmLhMzkM8JuqTIOhxnX4ubh0XWJIznEynRnZAVdA2mMKE6FAfwT2TWKTwdqMG+qEaeyDPtfNoZRpJbD4ZBv0Tg==,
+ }
+ engines: { node: '>=12' }
+ cpu: [ppc64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-ppc64@0.18.20:
+ resolution:
+ {
+ integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==,
+ }
+ engines: { node: '>=12' }
+ cpu: [ppc64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-ppc64@0.19.7:
+ resolution:
+ {
+ integrity: sha512-JQ1p0SmUteNdUaaiRtyS59GkkfTW0Edo+e0O2sihnY4FoZLz5glpWUQEKMSzMhA430ctkylkS7+vn8ziuhUugQ==,
+ }
+ engines: { node: '>=12' }
+ cpu: [ppc64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-riscv64@0.17.6:
+ resolution:
+ {
+ integrity: sha512-Y4Ri62PfavhLQhFbqucysHOmRamlTVK10zPWlqjNbj2XMea+BOs4w6ASKwQwAiqf9ZqcY9Ab7NOU4wIgpxwoSQ==,
+ }
+ engines: { node: '>=12' }
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-riscv64@0.18.20:
+ resolution:
+ {
+ integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==,
+ }
+ engines: { node: '>=12' }
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-riscv64@0.19.7:
+ resolution:
+ {
+ integrity: sha512-xGwVJ7eGhkprY/nB7L7MXysHduqjpzUl40+XoYDGC4UPLbnG+gsyS1wQPJ9lFPcxYAaDXbdRXd1ACs9AE9lxuw==,
+ }
+ engines: { node: '>=12' }
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-s390x@0.17.6:
+ resolution:
+ {
+ integrity: sha512-SPUiz4fDbnNEm3JSdUW8pBJ/vkop3M1YwZAVwvdwlFLoJwKEZ9L98l3tzeyMzq27CyepDQ3Qgoba44StgbiN5Q==,
+ }
+ engines: { node: '>=12' }
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-s390x@0.18.20:
+ resolution:
+ {
+ integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==,
+ }
+ engines: { node: '>=12' }
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-s390x@0.19.7:
+ resolution:
+ {
+ integrity: sha512-U8Rhki5PVU0L0nvk+E8FjkV8r4Lh4hVEb9duR6Zl21eIEYEwXz8RScj4LZWA2i3V70V4UHVgiqMpszXvG0Yqhg==,
+ }
+ engines: { node: '>=12' }
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-x64@0.17.6:
+ resolution:
+ {
+ integrity: sha512-a3yHLmOodHrzuNgdpB7peFGPx1iJ2x6m+uDvhP2CKdr2CwOaqEFMeSqYAHU7hG+RjCq8r2NFujcd/YsEsFgTGw==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-x64@0.18.20:
+ resolution:
+ {
+ integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-x64@0.19.7:
+ resolution:
+ {
+ integrity: sha512-ZYZopyLhm4mcoZXjFt25itRlocKlcazDVkB4AhioiL9hOWhDldU9n38g62fhOI4Pth6vp+Mrd5rFKxD0/S+7aQ==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/netbsd-x64@0.17.6:
+ resolution:
+ {
+ integrity: sha512-EanJqcU/4uZIBreTrnbnre2DXgXSa+Gjap7ifRfllpmyAU7YMvaXmljdArptTHmjrkkKm9BK6GH5D5Yo+p6y5A==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [netbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/netbsd-x64@0.18.20:
+ resolution:
+ {
+ integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [netbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/netbsd-x64@0.19.7:
+ resolution:
+ {
+ integrity: sha512-/yfjlsYmT1O3cum3J6cmGG16Fd5tqKMcg5D+sBYLaOQExheAJhqr8xOAEIuLo8JYkevmjM5zFD9rVs3VBcsjtQ==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [netbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/openbsd-x64@0.17.6:
+ resolution:
+ {
+ integrity: sha512-xaxeSunhQRsTNGFanoOkkLtnmMn5QbA0qBhNet/XLVsc+OVkpIWPHcr3zTW2gxVU5YOHFbIHR9ODuaUdNza2Vw==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [openbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/openbsd-x64@0.18.20:
+ resolution:
+ {
+ integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [openbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/openbsd-x64@0.19.7:
+ resolution:
+ {
+ integrity: sha512-MYDFyV0EW1cTP46IgUJ38OnEY5TaXxjoDmwiTXPjezahQgZd+j3T55Ht8/Q9YXBM0+T9HJygrSRGV5QNF/YVDQ==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [openbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/sunos-x64@0.17.6:
+ resolution:
+ {
+ integrity: sha512-gnMnMPg5pfMkZvhHee21KbKdc6W3GR8/JuE0Da1kjwpK6oiFU3nqfHuVPgUX2rsOx9N2SadSQTIYV1CIjYG+xw==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [sunos]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/sunos-x64@0.18.20:
+ resolution:
+ {
+ integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [sunos]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/sunos-x64@0.19.7:
+ resolution:
+ {
+ integrity: sha512-JcPvgzf2NN/y6X3UUSqP6jSS06V0DZAV/8q0PjsZyGSXsIGcG110XsdmuWiHM+pno7/mJF6fjH5/vhUz/vA9fw==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [sunos]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-arm64@0.17.6:
+ resolution:
+ {
+ integrity: sha512-G95n7vP1UnGJPsVdKXllAJPtqjMvFYbN20e8RK8LVLhlTiSOH1sd7+Gt7rm70xiG+I5tM58nYgwWrLs6I1jHqg==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-arm64@0.18.20:
+ resolution:
+ {
+ integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-arm64@0.19.7:
+ resolution:
+ {
+ integrity: sha512-ZA0KSYti5w5toax5FpmfcAgu3ZNJxYSRm0AW/Dao5up0YV1hDVof1NvwLomjEN+3/GMtaWDI+CIyJOMTRSTdMw==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-ia32@0.17.6:
+ resolution:
+ {
+ integrity: sha512-96yEFzLhq5bv9jJo5JhTs1gI+1cKQ83cUpyxHuGqXVwQtY5Eq54ZEsKs8veKtiKwlrNimtckHEkj4mRh4pPjsg==,
+ }
+ engines: { node: '>=12' }
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-ia32@0.18.20:
+ resolution:
+ {
+ integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==,
+ }
+ engines: { node: '>=12' }
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-ia32@0.19.7:
+ resolution:
+ {
+ integrity: sha512-CTOnijBKc5Jpk6/W9hQMMvJnsSYRYgveN6O75DTACCY18RA2nqka8dTZR+x/JqXCRiKk84+5+bRKXUSbbwsS0A==,
+ }
+ engines: { node: '>=12' }
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-x64@0.17.6:
+ resolution:
+ {
+ integrity: sha512-n6d8MOyUrNp6G4VSpRcgjs5xj4A91svJSaiwLIDWVWEsZtpN5FA9NlBbZHDmAJc2e8e6SF4tkBD3HAvPF+7igA==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-x64@0.18.20:
+ resolution:
+ {
+ integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-x64@0.19.7:
+ resolution:
+ {
+ integrity: sha512-gRaP2sk6hc98N734luX4VpF318l3w+ofrtTu9j5L8EQXF+FzQKV6alCOHMVoJJHvVK/mGbwBXfOL1HETQu9IGQ==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@eslint-community/eslint-utils@4.4.0(eslint@8.48.0):
+ resolution:
+ {
+ integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
+ dependencies:
+ eslint: 8.48.0
+ eslint-visitor-keys: 3.4.3
+ dev: true
+
+ /@eslint-community/regexpp@4.8.0:
+ resolution:
+ {
+ integrity: sha512-JylOEEzDiOryeUnFbQz+oViCXS0KsvR1mvHkoMiu5+UiBvy+RYX7tzlIIIEstF/gVa2tj9AQXk3dgnxv6KxhFg==,
+ }
+ engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 }
+ dev: true
+
+ /@eslint/eslintrc@2.1.2:
+ resolution:
+ {
+ integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
+ dependencies:
+ ajv: 6.12.6
+ debug: 4.3.4
+ espree: 9.6.1
+ globals: 13.21.0
+ ignore: 5.2.4
+ import-fresh: 3.3.0
+ js-yaml: 4.1.0
+ minimatch: 3.1.2
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@eslint/js@8.48.0:
+ resolution:
+ {
+ integrity: sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
+ dev: true
+
+ /@fastify/busboy@2.1.0:
+ resolution:
+ {
+ integrity: sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==,
+ }
+ engines: { node: '>=14' }
+ dev: true
+
+ /@fontsource/fira-mono@4.5.10:
+ resolution:
+ {
+ integrity: sha512-bxUnRP8xptGRo8YXeY073DSpfK74XpSb0ZyRNpHV9WvLnJ7TwPOjZll8hTMin7zLC6iOp59pDZ8EQDj1gzgAQQ==,
+ }
+ dev: true
+
+ /@humanwhocodes/config-array@0.11.11:
+ resolution:
+ {
+ integrity: sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==,
+ }
+ engines: { node: '>=10.10.0' }
+ dependencies:
+ '@humanwhocodes/object-schema': 1.2.1
+ debug: 4.3.4
+ minimatch: 3.1.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@humanwhocodes/module-importer@1.0.1:
+ resolution:
+ {
+ integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==,
+ }
+ engines: { node: '>=12.22' }
+ dev: true
+
+ /@humanwhocodes/object-schema@1.2.1:
+ resolution:
+ {
+ integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==,
+ }
+ dev: true
+
+ /@ioredis/commands@1.2.0:
+ resolution:
+ {
+ integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==,
+ }
+ dev: true
+
+ /@isaacs/cliui@8.0.2:
+ resolution:
+ {
+ integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==,
+ }
+ engines: { node: '>=12' }
+ dependencies:
+ string-width: 5.1.2
+ string-width-cjs: /string-width@4.2.3
+ strip-ansi: 7.1.0
+ strip-ansi-cjs: /strip-ansi@6.0.1
+ wrap-ansi: 8.1.0
+ wrap-ansi-cjs: /wrap-ansi@7.0.0
+ dev: true
+
+ /@istanbuljs/load-nyc-config@1.1.0:
+ resolution:
+ {
+ integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ camelcase: 5.3.1
+ find-up: 4.1.0
+ get-package-type: 0.1.0
+ js-yaml: 3.14.1
+ resolve-from: 5.0.0
+ dev: true
+
+ /@istanbuljs/schema@0.1.3:
+ resolution:
+ {
+ integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /@jest/console@29.6.4:
+ resolution:
+ {
+ integrity: sha512-wNK6gC0Ha9QeEPSkeJedQuTQqxZYnDPuDcDhVuVatRvMkL4D0VTvFVZj+Yuh6caG2aOfzkUZ36KtCmLNtR02hw==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ '@jest/types': 29.6.3
+ '@types/node': 20.5.9
+ chalk: 4.1.2
+ jest-message-util: 29.6.3
+ jest-util: 29.6.3
+ slash: 3.0.0
+ dev: true
+
+ /@jest/core@29.6.4:
+ resolution:
+ {
+ integrity: sha512-U/vq5ccNTSVgYH7mHnodHmCffGWHJnz/E1BEWlLuK5pM4FZmGfBn/nrJGLjUsSmyx3otCeqc1T31F4y08AMDLg==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+ dependencies:
+ '@jest/console': 29.6.4
+ '@jest/reporters': 29.6.4
+ '@jest/test-result': 29.6.4
+ '@jest/transform': 29.6.4
+ '@jest/types': 29.6.3
+ '@types/node': 20.5.9
+ ansi-escapes: 4.3.2
+ chalk: 4.1.2
+ ci-info: 3.8.0
+ exit: 0.1.2
+ graceful-fs: 4.2.11
+ jest-changed-files: 29.6.3
+ jest-config: 29.6.4(@types/node@20.5.9)
+ jest-haste-map: 29.6.4
+ jest-message-util: 29.6.3
+ jest-regex-util: 29.6.3
+ jest-resolve: 29.6.4
+ jest-resolve-dependencies: 29.6.4
+ jest-runner: 29.6.4
+ jest-runtime: 29.6.4
+ jest-snapshot: 29.6.4
+ jest-util: 29.6.3
+ jest-validate: 29.6.3
+ jest-watcher: 29.6.4
+ micromatch: 4.0.5
+ pretty-format: 29.6.3
+ slash: 3.0.0
+ strip-ansi: 6.0.1
+ transitivePeerDependencies:
+ - babel-plugin-macros
+ - supports-color
+ - ts-node
+ dev: true
+
+ /@jest/create-cache-key-function@27.5.1:
+ resolution:
+ {
+ integrity: sha512-dmH1yW+makpTSURTy8VzdUwFnfQh1G8R+DxO2Ho2FFmBbKFEVm+3jWdvFhE2VqB/LATCTokkP0dotjyQyw5/AQ==,
+ }
+ engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 }
+ dependencies:
+ '@jest/types': 27.5.1
+ dev: true
+
+ /@jest/environment@29.6.4:
+ resolution:
+ {
+ integrity: sha512-sQ0SULEjA1XUTHmkBRl7A1dyITM9yb1yb3ZNKPX3KlTd6IG7mWUe3e2yfExtC2Zz1Q+mMckOLHmL/qLiuQJrBQ==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ '@jest/fake-timers': 29.6.4
+ '@jest/types': 29.6.3
+ '@types/node': 20.5.9
+ jest-mock: 29.6.3
+ dev: true
+
+ /@jest/expect-utils@29.6.4:
+ resolution:
+ {
+ integrity: sha512-FEhkJhqtvBwgSpiTrocquJCdXPsyvNKcl/n7A3u7X4pVoF4bswm11c9d4AV+kfq2Gpv/mM8x7E7DsRvH+djkrg==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ jest-get-type: 29.6.3
+ dev: true
+
+ /@jest/expect@29.6.4:
+ resolution:
+ {
+ integrity: sha512-Warhsa7d23+3X5bLbrbYvaehcgX5TLYhI03JKoedTiI8uJU4IhqYBWF7OSSgUyz4IgLpUYPkK0AehA5/fRclAA==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ expect: 29.6.4
+ jest-snapshot: 29.6.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@jest/fake-timers@29.6.4:
+ resolution:
+ {
+ integrity: sha512-6UkCwzoBK60edXIIWb0/KWkuj7R7Qq91vVInOe3De6DSpaEiqjKcJw4F7XUet24Wupahj9J6PlR09JqJ5ySDHw==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ '@jest/types': 29.6.3
+ '@sinonjs/fake-timers': 10.3.0
+ '@types/node': 20.5.9
+ jest-message-util: 29.6.3
+ jest-mock: 29.6.3
+ jest-util: 29.6.3
+ dev: true
+
+ /@jest/globals@29.6.4:
+ resolution:
+ {
+ integrity: sha512-wVIn5bdtjlChhXAzVXavcY/3PEjf4VqM174BM3eGL5kMxLiZD5CLnbmkEyA1Dwh9q8XjP6E8RwjBsY/iCWrWsA==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ '@jest/environment': 29.6.4
+ '@jest/expect': 29.6.4
+ '@jest/types': 29.6.3
+ jest-mock: 29.6.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@jest/reporters@29.6.4:
+ resolution:
+ {
+ integrity: sha512-sxUjWxm7QdchdrD3NfWKrL8FBsortZeibSJv4XLjESOOjSUOkjQcb0ZHJwfhEGIvBvTluTzfG2yZWZhkrXJu8g==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+ dependencies:
+ '@bcoe/v8-coverage': 0.2.3
+ '@jest/console': 29.6.4
+ '@jest/test-result': 29.6.4
+ '@jest/transform': 29.6.4
+ '@jest/types': 29.6.3
+ '@jridgewell/trace-mapping': 0.3.19
+ '@types/node': 20.5.9
+ chalk: 4.1.2
+ collect-v8-coverage: 1.0.2
+ exit: 0.1.2
+ glob: 7.2.3
+ graceful-fs: 4.2.11
+ istanbul-lib-coverage: 3.2.0
+ istanbul-lib-instrument: 6.0.0
+ istanbul-lib-report: 3.0.1
+ istanbul-lib-source-maps: 4.0.1
+ istanbul-reports: 3.1.6
+ jest-message-util: 29.6.3
+ jest-util: 29.6.3
+ jest-worker: 29.6.4
+ slash: 3.0.0
+ string-length: 4.0.2
+ strip-ansi: 6.0.1
+ v8-to-istanbul: 9.1.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@jest/schemas@29.6.3:
+ resolution:
+ {
+ integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ '@sinclair/typebox': 0.27.8
+ dev: true
+
+ /@jest/source-map@29.6.3:
+ resolution:
+ {
+ integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.19
+ callsites: 3.1.0
+ graceful-fs: 4.2.11
+ dev: true
+
+ /@jest/test-result@29.6.4:
+ resolution:
+ {
+ integrity: sha512-uQ1C0AUEN90/dsyEirgMLlouROgSY+Wc/JanVVk0OiUKa5UFh7sJpMEM3aoUBAz2BRNvUJ8j3d294WFuRxSyOQ==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ '@jest/console': 29.6.4
+ '@jest/types': 29.6.3
+ '@types/istanbul-lib-coverage': 2.0.4
+ collect-v8-coverage: 1.0.2
+ dev: true
+
+ /@jest/test-sequencer@29.6.4:
+ resolution:
+ {
+ integrity: sha512-E84M6LbpcRq3fT4ckfKs9ryVanwkaIB0Ws9bw3/yP4seRLg/VaCZ/LgW0MCq5wwk4/iP/qnilD41aj2fsw2RMg==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ '@jest/test-result': 29.6.4
+ graceful-fs: 4.2.11
+ jest-haste-map: 29.6.4
+ slash: 3.0.0
+ dev: true
+
+ /@jest/transform@29.6.4:
+ resolution:
+ {
+ integrity: sha512-8thgRSiXUqtr/pPGY/OsyHuMjGyhVnWrFAwoxmIemlBuiMyU1WFs0tXoNxzcr4A4uErs/ABre76SGmrr5ab/AA==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ '@babel/core': 7.22.15
+ '@jest/types': 29.6.3
+ '@jridgewell/trace-mapping': 0.3.19
+ babel-plugin-istanbul: 6.1.1
+ chalk: 4.1.2
+ convert-source-map: 2.0.0
+ fast-json-stable-stringify: 2.1.0
+ graceful-fs: 4.2.11
+ jest-haste-map: 29.6.4
+ jest-regex-util: 29.6.3
+ jest-util: 29.6.3
+ micromatch: 4.0.5
+ pirates: 4.0.6
+ slash: 3.0.0
+ write-file-atomic: 4.0.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@jest/types@27.5.1:
+ resolution:
+ {
+ integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==,
+ }
+ engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 }
+ dependencies:
+ '@types/istanbul-lib-coverage': 2.0.4
+ '@types/istanbul-reports': 3.0.1
+ '@types/node': 20.5.9
+ '@types/yargs': 16.0.5
+ chalk: 4.1.2
+ dev: true
+
+ /@jest/types@29.6.3:
+ resolution:
+ {
+ integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ '@jest/schemas': 29.6.3
+ '@types/istanbul-lib-coverage': 2.0.4
+ '@types/istanbul-reports': 3.0.1
+ '@types/node': 20.5.9
+ '@types/yargs': 17.0.24
+ chalk: 4.1.2
+ dev: true
+
+ /@jridgewell/gen-mapping@0.3.3:
+ resolution:
+ {
+ integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==,
+ }
+ engines: { node: '>=6.0.0' }
+ dependencies:
+ '@jridgewell/set-array': 1.1.2
+ '@jridgewell/sourcemap-codec': 1.4.15
+ '@jridgewell/trace-mapping': 0.3.19
+
+ /@jridgewell/resolve-uri@3.1.1:
+ resolution:
+ {
+ integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==,
+ }
+ engines: { node: '>=6.0.0' }
+
+ /@jridgewell/set-array@1.1.2:
+ resolution:
+ {
+ integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==,
+ }
+ engines: { node: '>=6.0.0' }
+
+ /@jridgewell/source-map@0.3.5:
+ resolution:
+ {
+ integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==,
+ }
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.3
+ '@jridgewell/trace-mapping': 0.3.19
+ dev: true
+
+ /@jridgewell/sourcemap-codec@1.4.15:
+ resolution:
+ {
+ integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==,
+ }
+
+ /@jridgewell/trace-mapping@0.3.19:
+ resolution:
+ {
+ integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==,
+ }
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.1
+ '@jridgewell/sourcemap-codec': 1.4.15
+
+ /@jspm/core@2.0.1:
+ resolution:
+ {
+ integrity: sha512-Lg3PnLp0QXpxwLIAuuJboLeRaIhrgJjeuh797QADg3xz8wGLugQOS5DpsE8A6i6Adgzf+bacllkKZG3J0tGfDw==,
+ }
+ dev: true
+
+ /@kwsites/file-exists@1.1.1:
+ resolution:
+ {
+ integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==,
+ }
+ dependencies:
+ debug: 4.3.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@kwsites/promise-deferred@1.1.1:
+ resolution:
+ {
+ integrity: sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==,
+ }
+ dev: true
+
+ /@mapbox/node-pre-gyp@1.0.11:
+ resolution:
+ {
+ integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==,
+ }
+ hasBin: true
+ dependencies:
+ detect-libc: 2.0.2
+ https-proxy-agent: 5.0.1
+ make-dir: 3.1.0
+ node-fetch: 2.7.0
+ nopt: 5.0.0
+ npmlog: 5.0.1
+ rimraf: 3.0.2
+ semver: 7.5.4
+ tar: 6.2.0
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: true
+
+ /@mdx-js/mdx@2.3.0:
+ resolution:
+ {
+ integrity: sha512-jLuwRlz8DQfQNiUCJR50Y09CGPq3fLtmtUQfVrj79E0JWu3dvsVcxVIcfhR5h0iXu+/z++zDrYeiJqifRynJkA==,
+ }
+ dependencies:
+ '@types/estree-jsx': 1.0.1
+ '@types/mdx': 2.0.8
+ estree-util-build-jsx: 2.2.2
+ estree-util-is-identifier-name: 2.1.0
+ estree-util-to-js: 1.2.0
+ estree-walker: 3.0.3
+ hast-util-to-estree: 2.3.3
+ markdown-extensions: 1.1.1
+ periscopic: 3.1.0
+ remark-mdx: 2.3.0
+ remark-parse: 10.0.2
+ remark-rehype: 10.1.0
+ unified: 10.1.2
+ unist-util-position-from-estree: 1.1.2
+ unist-util-stringify-position: 3.0.3
+ unist-util-visit: 4.1.2
+ vfile: 5.3.7
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@microsoft/tsdoc-config@0.16.2:
+ resolution:
+ {
+ integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==,
+ }
+ dependencies:
+ '@microsoft/tsdoc': 0.14.2
+ ajv: 6.12.6
+ jju: 1.4.0
+ resolve: 1.19.0
+ dev: true
+
+ /@microsoft/tsdoc@0.14.2:
+ resolution:
+ {
+ integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==,
+ }
+ dev: true
+
+ /@neoconfetti/svelte@1.0.0:
+ resolution:
+ {
+ integrity: sha512-SmksyaJAdSlMa9cTidVSIqYo1qti+WTsviNDwgjNVm+KQ3DRP2Df9umDIzC4vCcpEYY+chQe0i2IKnLw03AT8Q==,
+ }
+ dev: true
+
+ /@netlify/functions@2.4.0:
+ resolution:
+ {
+ integrity: sha512-dIqhdj5u4Lu/8qbYwtYpn8NfvIyPHbSTV2lAP4ocL+iwC9As06AXT0wa/xOpO2vRWJa0IMxdZaqCPnkyHlHiyg==,
+ }
+ engines: { node: '>=14.0.0' }
+ dependencies:
+ '@netlify/serverless-functions-api': 1.11.0
+ is-promise: 4.0.0
+ dev: true
+
+ /@netlify/node-cookies@0.1.0:
+ resolution:
+ {
+ integrity: sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g==,
+ }
+ engines: { node: ^14.16.0 || >=16.0.0 }
+ dev: true
+
+ /@netlify/serverless-functions-api@1.11.0:
+ resolution:
+ {
+ integrity: sha512-3splAsr2CekL7VTwgo6yTvzD2+f269/s+TJafYazonqMNNo31yzvFxD5HpLtni4DNE1ppymVKZ4X/rLN3yl0vQ==,
+ }
+ engines: { node: ^14.18.0 || >=16.0.0 }
+ dependencies:
+ '@netlify/node-cookies': 0.1.0
+ urlpattern-polyfill: 8.0.2
+ dev: true
+
+ /@next/env@13.4.19:
+ resolution:
+ {
+ integrity: sha512-FsAT5x0jF2kkhNkKkukhsyYOrRqtSxrEhfliniIq0bwWbuXLgyt3Gv0Ml+b91XwjwArmuP7NxCiGd++GGKdNMQ==,
+ }
+ dev: true
+
+ /@next/env@14.0.3:
+ resolution:
+ {
+ integrity: sha512-7xRqh9nMvP5xrW4/+L0jgRRX+HoNRGnfJpD+5Wq6/13j3dsdzxO3BCXn7D3hMqsDb+vjZnJq+vI7+EtgrYZTeA==,
+ }
+ dev: false
+
+ /@next/swc-darwin-arm64@13.4.19:
+ resolution:
+ {
+ integrity: sha512-vv1qrjXeGbuF2mOkhkdxMDtv9np7W4mcBtaDnHU+yJG+bBwa6rYsYSCI/9Xm5+TuF5SbZbrWO6G1NfTh1TMjvQ==,
+ }
+ engines: { node: '>= 10' }
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@next/swc-darwin-arm64@14.0.3:
+ resolution:
+ {
+ integrity: sha512-64JbSvi3nbbcEtyitNn2LEDS/hcleAFpHdykpcnrstITFlzFgB/bW0ER5/SJJwUPj+ZPY+z3e+1jAfcczRLVGw==,
+ }
+ engines: { node: '>= 10' }
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-darwin-x64@13.4.19:
+ resolution:
+ {
+ integrity: sha512-jyzO6wwYhx6F+7gD8ddZfuqO4TtpJdw3wyOduR4fxTUCm3aLw7YmHGYNjS0xRSYGAkLpBkH1E0RcelyId6lNsw==,
+ }
+ engines: { node: '>= 10' }
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@next/swc-darwin-x64@14.0.3:
+ resolution:
+ {
+ integrity: sha512-RkTf+KbAD0SgYdVn1XzqE/+sIxYGB7NLMZRn9I4Z24afrhUpVJx6L8hsRnIwxz3ERE2NFURNliPjJ2QNfnWicQ==,
+ }
+ engines: { node: '>= 10' }
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-linux-arm64-gnu@13.4.19:
+ resolution:
+ {
+ integrity: sha512-vdlnIlaAEh6H+G6HrKZB9c2zJKnpPVKnA6LBwjwT2BTjxI7e0Hx30+FoWCgi50e+YO49p6oPOtesP9mXDRiiUg==,
+ }
+ engines: { node: '>= 10' }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@next/swc-linux-arm64-gnu@14.0.3:
+ resolution:
+ {
+ integrity: sha512-3tBWGgz7M9RKLO6sPWC6c4pAw4geujSwQ7q7Si4d6bo0l6cLs4tmO+lnSwFp1Tm3lxwfMk0SgkJT7EdwYSJvcg==,
+ }
+ engines: { node: '>= 10' }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-linux-arm64-musl@13.4.19:
+ resolution:
+ {
+ integrity: sha512-aU0HkH2XPgxqrbNRBFb3si9Ahu/CpaR5RPmN2s9GiM9qJCiBBlZtRTiEca+DC+xRPyCThTtWYgxjWHgU7ZkyvA==,
+ }
+ engines: { node: '>= 10' }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@next/swc-linux-arm64-musl@14.0.3:
+ resolution:
+ {
+ integrity: sha512-v0v8Kb8j8T23jvVUWZeA2D8+izWspeyeDGNaT2/mTHWp7+37fiNfL8bmBWiOmeumXkacM/AB0XOUQvEbncSnHA==,
+ }
+ engines: { node: '>= 10' }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-linux-x64-gnu@13.4.19:
+ resolution:
+ {
+ integrity: sha512-htwOEagMa/CXNykFFeAHHvMJeqZfNQEoQvHfsA4wgg5QqGNqD5soeCer4oGlCol6NGUxknrQO6VEustcv+Md+g==,
+ }
+ engines: { node: '>= 10' }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@next/swc-linux-x64-gnu@14.0.3:
+ resolution:
+ {
+ integrity: sha512-VM1aE1tJKLBwMGtyBR21yy+STfl0MapMQnNrXkxeyLs0GFv/kZqXS5Jw/TQ3TSUnbv0QPDf/X8sDXuMtSgG6eg==,
+ }
+ engines: { node: '>= 10' }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-linux-x64-musl@13.4.19:
+ resolution:
+ {
+ integrity: sha512-4Gj4vvtbK1JH8ApWTT214b3GwUh9EKKQjY41hH/t+u55Knxi/0wesMzwQRhppK6Ddalhu0TEttbiJ+wRcoEj5Q==,
+ }
+ engines: { node: '>= 10' }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@next/swc-linux-x64-musl@14.0.3:
+ resolution:
+ {
+ integrity: sha512-64EnmKy18MYFL5CzLaSuUn561hbO1Gk16jM/KHznYP3iCIfF9e3yULtHaMy0D8zbHfxset9LTOv6cuYKJgcOxg==,
+ }
+ engines: { node: '>= 10' }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-win32-arm64-msvc@13.4.19:
+ resolution:
+ {
+ integrity: sha512-bUfDevQK4NsIAHXs3/JNgnvEY+LRyneDN788W2NYiRIIzmILjba7LaQTfihuFawZDhRtkYCv3JDC3B4TwnmRJw==,
+ }
+ engines: { node: '>= 10' }
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@next/swc-win32-arm64-msvc@14.0.3:
+ resolution:
+ {
+ integrity: sha512-WRDp8QrmsL1bbGtsh5GqQ/KWulmrnMBgbnb+59qNTW1kVi1nG/2ndZLkcbs2GX7NpFLlToLRMWSQXmPzQm4tog==,
+ }
+ engines: { node: '>= 10' }
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-win32-ia32-msvc@13.4.19:
+ resolution:
+ {
+ integrity: sha512-Y5kikILFAr81LYIFaw6j/NrOtmiM4Sf3GtOc0pn50ez2GCkr+oejYuKGcwAwq3jiTKuzF6OF4iT2INPoxRycEA==,
+ }
+ engines: { node: '>= 10' }
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@next/swc-win32-ia32-msvc@14.0.3:
+ resolution:
+ {
+ integrity: sha512-EKffQeqCrj+t6qFFhIFTRoqb2QwX1mU7iTOvMyLbYw3QtqTw9sMwjykyiMlZlrfm2a4fA84+/aeW+PMg1MjuTg==,
+ }
+ engines: { node: '>= 10' }
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-win32-x64-msvc@13.4.19:
+ resolution:
+ {
+ integrity: sha512-YzA78jBDXMYiINdPdJJwGgPNT3YqBNNGhsthsDoWHL9p24tEJn9ViQf/ZqTbwSpX/RrkPupLfuuTH2sf73JBAw==,
+ }
+ engines: { node: '>= 10' }
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@next/swc-win32-x64-msvc@14.0.3:
+ resolution:
+ {
+ integrity: sha512-ERhKPSJ1vQrPiwrs15Pjz/rvDHZmkmvbf/BjPN/UCOI++ODftT0GtasDPi0j+y6PPJi5HsXw+dpRaXUaw4vjuQ==,
+ }
+ engines: { node: '>= 10' }
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1:
+ resolution:
+ {
+ integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==,
+ }
+ dependencies:
+ eslint-scope: 5.1.1
+ dev: true
+
+ /@nodelib/fs.scandir@2.1.5:
+ resolution:
+ {
+ integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==,
+ }
+ engines: { node: '>= 8' }
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ run-parallel: 1.2.0
+ dev: true
+
+ /@nodelib/fs.stat@2.0.5:
+ resolution:
+ {
+ integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==,
+ }
+ engines: { node: '>= 8' }
+ dev: true
+
+ /@nodelib/fs.walk@1.2.8:
+ resolution:
+ {
+ integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==,
+ }
+ engines: { node: '>= 8' }
+ dependencies:
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.15.0
+ dev: true
+
+ /@npmcli/agent@2.2.0:
+ resolution:
+ {
+ integrity: sha512-2yThA1Es98orMkpSLVqlDZAMPK3jHJhifP2gnNUdk1754uZ8yI5c+ulCoVG+WlntQA6MzhrURMXjSd9Z7dJ2/Q==,
+ }
+ engines: { node: ^16.14.0 || >=18.0.0 }
+ dependencies:
+ agent-base: 7.1.0
+ http-proxy-agent: 7.0.0
+ https-proxy-agent: 7.0.2
+ lru-cache: 10.1.0
+ socks-proxy-agent: 8.0.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@npmcli/fs@3.1.0:
+ resolution:
+ {
+ integrity: sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==,
+ }
+ engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 }
+ dependencies:
+ semver: 7.5.4
+ dev: true
+
+ /@npmcli/git@4.1.0:
+ resolution:
+ {
+ integrity: sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ==,
+ }
+ engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 }
+ dependencies:
+ '@npmcli/promise-spawn': 6.0.2
+ lru-cache: 7.18.3
+ npm-pick-manifest: 8.0.2
+ proc-log: 3.0.0
+ promise-inflight: 1.0.1
+ promise-retry: 2.0.1
+ semver: 7.5.4
+ which: 3.0.1
+ transitivePeerDependencies:
+ - bluebird
+ dev: true
+
+ /@npmcli/git@5.0.3:
+ resolution:
+ {
+ integrity: sha512-UZp9NwK+AynTrKvHn5k3KviW/hA5eENmFsu3iAPe7sWRt0lFUdsY/wXIYjpDFe7cdSNwOIzbObfwgt6eL5/2zw==,
+ }
+ engines: { node: ^16.14.0 || >=18.0.0 }
+ dependencies:
+ '@npmcli/promise-spawn': 7.0.0
+ lru-cache: 10.1.0
+ npm-pick-manifest: 9.0.0
+ proc-log: 3.0.0
+ promise-inflight: 1.0.1
+ promise-retry: 2.0.1
+ semver: 7.5.4
+ which: 4.0.0
+ transitivePeerDependencies:
+ - bluebird
+ dev: true
+
+ /@npmcli/installed-package-contents@2.0.2:
+ resolution:
+ {
+ integrity: sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==,
+ }
+ engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 }
+ hasBin: true
+ dependencies:
+ npm-bundled: 3.0.0
+ npm-normalize-package-bin: 3.0.1
+ dev: true
+
+ /@npmcli/node-gyp@3.0.0:
+ resolution:
+ {
+ integrity: sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==,
+ }
+ engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 }
+ dev: true
+
+ /@npmcli/package-json@4.0.1:
+ resolution:
+ {
+ integrity: sha512-lRCEGdHZomFsURroh522YvA/2cVb9oPIJrjHanCJZkiasz1BzcnLr3tBJhlV7S86MBJBuAQ33is2D60YitZL2Q==,
+ }
+ engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 }
+ dependencies:
+ '@npmcli/git': 4.1.0
+ glob: 10.3.10
+ hosted-git-info: 6.1.1
+ json-parse-even-better-errors: 3.0.0
+ normalize-package-data: 5.0.0
+ proc-log: 3.0.0
+ semver: 7.5.4
+ transitivePeerDependencies:
+ - bluebird
+ dev: true
+
+ /@npmcli/promise-spawn@6.0.2:
+ resolution:
+ {
+ integrity: sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==,
+ }
+ engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 }
+ dependencies:
+ which: 3.0.1
+ dev: true
+
+ /@npmcli/promise-spawn@7.0.0:
+ resolution:
+ {
+ integrity: sha512-wBqcGsMELZna0jDblGd7UXgOby45TQaMWmbFwWX+SEotk4HV6zG2t6rT9siyLhPk4P6YYqgfL1UO8nMWDBVJXQ==,
+ }
+ engines: { node: ^16.14.0 || >=18.0.0 }
+ dependencies:
+ which: 4.0.0
+ dev: true
+
+ /@npmcli/run-script@7.0.2:
+ resolution:
+ {
+ integrity: sha512-Omu0rpA8WXvcGeY6DDzyRoY1i5DkCBkzyJ+m2u7PD6quzb0TvSqdIPOkTn8ZBOj7LbbcbMfZ3c5skwSu6m8y2w==,
+ }
+ engines: { node: ^16.14.0 || >=18.0.0 }
+ dependencies:
+ '@npmcli/node-gyp': 3.0.0
+ '@npmcli/promise-spawn': 7.0.0
+ node-gyp: 10.0.1
+ read-package-json-fast: 3.0.2
+ which: 4.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@nuxt/devalue@2.0.2:
+ resolution:
+ {
+ integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==,
+ }
+ dev: true
+
+ /@nuxt/devtools-kit@1.0.3(nuxt@3.8.2)(vite@4.5.0):
+ resolution:
+ {
+ integrity: sha512-a/ZAVmrD5yOfUYhRVfC9afMkczzL8J8zdf0h6QHbTd33rJW/jmjwTn++RTdnbSD2gg2fSBRi/h8y17RmqIdb9g==,
+ }
+ peerDependencies:
+ nuxt: ^3.8.1
+ vite: '*'
+ dependencies:
+ '@nuxt/kit': 3.8.2
+ '@nuxt/schema': 3.8.2
+ execa: 7.2.0
+ nuxt: 3.8.2(eslint@8.48.0)(typescript@5.2.2)(vite@4.5.0)
+ vite: 4.5.0(@types/node@20.5.9)
+ transitivePeerDependencies:
+ - rollup
+ - supports-color
+ dev: true
+
+ /@nuxt/devtools-wizard@1.0.3:
+ resolution:
+ {
+ integrity: sha512-iningPOhBVMYov+7hDX5yr1tAVVA6AmJ7EgRkNfmHqPX2rerhD4eIN7Ao4KwkjGmQJ7qdM7k8w+NiL8OQOpdFQ==,
+ }
+ hasBin: true
+ dependencies:
+ consola: 3.2.3
+ diff: 5.1.0
+ execa: 7.2.0
+ global-directory: 4.0.1
+ magicast: 0.3.2
+ pathe: 1.1.1
+ pkg-types: 1.0.3
+ prompts: 2.4.2
+ rc9: 2.1.1
+ semver: 7.5.4
+ dev: true
+
+ /@nuxt/devtools@1.0.3(nuxt@3.8.2)(vite@4.5.0):
+ resolution:
+ {
+ integrity: sha512-2mXvQiS3KTMF0fO80Y9WLx95yubRoIp2wSCarmhhqInPe8/0K9VZ4TUiTGF20ti45h0ky3OAxiVSmLfViwDWjg==,
+ }
+ hasBin: true
+ peerDependencies:
+ nuxt: ^3.8.1
+ vite: '*'
+ dependencies:
+ '@antfu/utils': 0.7.6
+ '@nuxt/devtools-kit': 1.0.3(nuxt@3.8.2)(vite@4.5.0)
+ '@nuxt/devtools-wizard': 1.0.3
+ '@nuxt/kit': 3.8.2
+ birpc: 0.2.14
+ consola: 3.2.3
+ destr: 2.0.2
+ error-stack-parser-es: 0.1.1
+ execa: 7.2.0
+ fast-glob: 3.3.2
+ flatted: 3.2.9
+ get-port-please: 3.1.1
+ h3: 1.9.0
+ hookable: 5.5.3
+ image-meta: 0.2.0
+ is-installed-globally: 1.0.0
+ launch-editor: 2.6.1
+ local-pkg: 0.5.0
+ magicast: 0.3.2
+ nitropack: 2.8.0
+ nuxt: 3.8.2(eslint@8.48.0)(typescript@5.2.2)(vite@4.5.0)
+ nypm: 0.3.3
+ ofetch: 1.3.3
+ ohash: 1.1.3
+ pacote: 17.0.4
+ pathe: 1.1.1
+ perfect-debounce: 1.0.0
+ pkg-types: 1.0.3
+ rc9: 2.1.1
+ scule: 1.1.0
+ semver: 7.5.4
+ simple-git: 3.21.0
+ sirv: 2.0.3
+ unimport: 3.6.0(rollup@4.5.1)
+ vite: 4.5.0(@types/node@20.5.9)
+ vite-plugin-inspect: 0.7.42(@nuxt/kit@3.8.2)(vite@4.5.0)
+ vite-plugin-vue-inspector: 4.0.0(vite@4.5.0)
+ which: 3.0.1
+ ws: 8.14.2
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@upstash/redis'
+ - '@vercel/kv'
+ - bluebird
+ - bufferutil
+ - encoding
+ - idb-keyval
+ - rollup
+ - supports-color
+ - utf-8-validate
+ - xml2js
+ dev: true
+
+ /@nuxt/kit@3.8.2:
+ resolution:
+ {
+ integrity: sha512-LrXCm8hAkw+zpX8teUSD/LqXRarlXjbRiYxDkaqw739JSHFReWzBFgJbojsJqL4h1XIEScDGGOWiEgO4QO1sMg==,
+ }
+ engines: { node: ^14.18.0 || >=16.10.0 }
+ dependencies:
+ '@nuxt/schema': 3.8.2
+ c12: 1.5.1
+ consola: 3.2.3
+ defu: 6.1.3
+ globby: 14.0.0
+ hash-sum: 2.0.0
+ ignore: 5.3.0
+ jiti: 1.21.0
+ knitwork: 1.0.0
+ mlly: 1.4.2
+ pathe: 1.1.1
+ pkg-types: 1.0.3
+ scule: 1.1.0
+ semver: 7.5.4
+ ufo: 1.3.2
+ unctx: 2.3.1
+ unimport: 3.6.0(rollup@4.5.1)
+ untyped: 1.4.0
+ transitivePeerDependencies:
+ - rollup
+ - supports-color
+ dev: true
+
+ /@nuxt/schema@3.8.2:
+ resolution:
+ {
+ integrity: sha512-AMpysQ/wHK2sOujLShqYdC4OSj/S3fFJGjhYXqA2g6dgmz+FNQWJRG/ie5sI9r2EX9Ela1wt0GN1jZR3wYNE8Q==,
+ }
+ engines: { node: ^14.18.0 || >=16.10.0 }
+ dependencies:
+ '@nuxt/ui-templates': 1.3.1
+ consola: 3.2.3
+ defu: 6.1.3
+ hookable: 5.5.3
+ pathe: 1.1.1
+ pkg-types: 1.0.3
+ scule: 1.1.0
+ std-env: 3.5.0
+ ufo: 1.3.2
+ unimport: 3.6.0(rollup@4.5.1)
+ untyped: 1.4.0
+ transitivePeerDependencies:
+ - rollup
+ - supports-color
+ dev: true
+
+ /@nuxt/telemetry@2.5.3:
+ resolution:
+ {
+ integrity: sha512-Ghv2MgWbJcUM9G5Dy3oQP0cJkUwEgaiuQxEF61FXJdn0a69Q4StZEP/hLF0MWPM9m6EvAwI7orxkJHM7MrmtVg==,
+ }
+ hasBin: true
+ dependencies:
+ '@nuxt/kit': 3.8.2
+ ci-info: 4.0.0
+ consola: 3.2.3
+ create-require: 1.1.1
+ defu: 6.1.3
+ destr: 2.0.2
+ dotenv: 16.3.1
+ git-url-parse: 13.1.1
+ is-docker: 3.0.0
+ jiti: 1.21.0
+ mri: 1.2.0
+ nanoid: 4.0.2
+ ofetch: 1.3.3
+ parse-git-config: 3.0.0
+ pathe: 1.1.1
+ rc9: 2.1.1
+ std-env: 3.5.0
+ transitivePeerDependencies:
+ - rollup
+ - supports-color
+ dev: true
+
+ /@nuxt/ui-templates@1.3.1:
+ resolution:
+ {
+ integrity: sha512-5gc02Pu1HycOVUWJ8aYsWeeXcSTPe8iX8+KIrhyEtEoOSkY0eMBuo0ssljB8wALuEmepv31DlYe5gpiRwkjESA==,
+ }
+ dev: true
+
+ /@nuxt/vite-builder@3.8.2(eslint@8.48.0)(typescript@5.2.2)(vue@3.3.8):
+ resolution:
+ {
+ integrity: sha512-l/lzDDTbd3M89BpmWqjhVLgLVRqfkKp0tyYgV5seJQjj3SX+IeqI7k6k8+dMEifdeO34jUajVWptNpITXQryyg==,
+ }
+ engines: { node: ^14.18.0 || >=16.10.0 }
+ peerDependencies:
+ vue: ^3.3.4
+ dependencies:
+ '@nuxt/kit': 3.8.2
+ '@rollup/plugin-replace': 5.0.5(rollup@4.5.1)
+ '@vitejs/plugin-vue': 4.5.0(vite@4.5.0)(vue@3.3.8)
+ '@vitejs/plugin-vue-jsx': 3.1.0(vite@4.5.0)(vue@3.3.8)
+ autoprefixer: 10.4.16(postcss@8.4.31)
+ clear: 0.1.0
+ consola: 3.2.3
+ cssnano: 6.0.1(postcss@8.4.31)
+ defu: 6.1.3
+ esbuild: 0.19.7
+ escape-string-regexp: 5.0.0
+ estree-walker: 3.0.3
+ externality: 1.0.2
+ fs-extra: 11.1.1
+ get-port-please: 3.1.1
+ h3: 1.9.0
+ knitwork: 1.0.0
+ magic-string: 0.30.5
+ mlly: 1.4.2
+ ohash: 1.1.3
+ pathe: 1.1.1
+ perfect-debounce: 1.0.0
+ pkg-types: 1.0.3
+ postcss: 8.4.31
+ rollup-plugin-visualizer: 5.9.2(rollup@4.5.1)
+ std-env: 3.5.0
+ strip-literal: 1.3.0
+ ufo: 1.3.2
+ unplugin: 1.5.1
+ vite: 4.5.0(@types/node@20.5.9)
+ vite-node: 0.33.0
+ vite-plugin-checker: 0.6.2(eslint@8.48.0)(typescript@5.2.2)(vite@4.5.0)
+ vue: 3.3.8(typescript@5.2.2)
+ vue-bundle-renderer: 2.0.0
+ transitivePeerDependencies:
+ - '@types/node'
+ - eslint
+ - less
+ - lightningcss
+ - meow
+ - optionator
+ - rollup
+ - sass
+ - stylelint
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ - typescript
+ - vls
+ - vti
+ - vue-tsc
+ dev: true
+
+ /@parcel/watcher-android-arm64@2.3.0:
+ resolution:
+ {
+ integrity: sha512-f4o9eA3dgk0XRT3XhB0UWpWpLnKgrh1IwNJKJ7UJek7eTYccQ8LR7XUWFKqw6aEq5KUNlCcGvSzKqSX/vtWVVA==,
+ }
+ engines: { node: '>= 10.0.0' }
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@parcel/watcher-darwin-arm64@2.3.0:
+ resolution:
+ {
+ integrity: sha512-mKY+oijI4ahBMc/GygVGvEdOq0L4DxhYgwQqYAz/7yPzuGi79oXrZG52WdpGA1wLBPrYb0T8uBaGFo7I6rvSKw==,
+ }
+ engines: { node: '>= 10.0.0' }
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@parcel/watcher-darwin-x64@2.3.0:
+ resolution:
+ {
+ integrity: sha512-20oBj8LcEOnLE3mgpy6zuOq8AplPu9NcSSSfyVKgfOhNAc4eF4ob3ldj0xWjGGbOF7Dcy1Tvm6ytvgdjlfUeow==,
+ }
+ engines: { node: '>= 10.0.0' }
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@parcel/watcher-freebsd-x64@2.3.0:
+ resolution:
+ {
+ integrity: sha512-7LftKlaHunueAEiojhCn+Ef2CTXWsLgTl4hq0pkhkTBFI3ssj2bJXmH2L67mKpiAD5dz66JYk4zS66qzdnIOgw==,
+ }
+ engines: { node: '>= 10.0.0' }
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@parcel/watcher-linux-arm-glibc@2.3.0:
+ resolution:
+ {
+ integrity: sha512-1apPw5cD2xBv1XIHPUlq0cO6iAaEUQ3BcY0ysSyD9Kuyw4MoWm1DV+W9mneWI+1g6OeP6dhikiFE6BlU+AToTQ==,
+ }
+ engines: { node: '>= 10.0.0' }
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@parcel/watcher-linux-arm64-glibc@2.3.0:
+ resolution:
+ {
+ integrity: sha512-mQ0gBSQEiq1k/MMkgcSB0Ic47UORZBmWoAWlMrTW6nbAGoLZP+h7AtUM7H3oDu34TBFFvjy4JCGP43JlylkTQA==,
+ }
+ engines: { node: '>= 10.0.0' }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@parcel/watcher-linux-arm64-musl@2.3.0:
+ resolution:
+ {
+ integrity: sha512-LXZAExpepJew0Gp8ZkJ+xDZaTQjLHv48h0p0Vw2VMFQ8A+RKrAvpFuPVCVwKJCr5SE+zvaG+Etg56qXvTDIedw==,
+ }
+ engines: { node: '>= 10.0.0' }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@parcel/watcher-linux-x64-glibc@2.3.0:
+ resolution:
+ {
+ integrity: sha512-P7Wo91lKSeSgMTtG7CnBS6WrA5otr1K7shhSjKHNePVmfBHDoAOHYRXgUmhiNfbcGk0uMCHVcdbfxtuiZCHVow==,
+ }
+ engines: { node: '>= 10.0.0' }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@parcel/watcher-linux-x64-musl@2.3.0:
+ resolution:
+ {
+ integrity: sha512-+kiRE1JIq8QdxzwoYY+wzBs9YbJ34guBweTK8nlzLKimn5EQ2b2FSC+tAOpq302BuIMjyuUGvBiUhEcLIGMQ5g==,
+ }
+ engines: { node: '>= 10.0.0' }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@parcel/watcher-wasm@2.3.0:
+ resolution:
+ {
+ integrity: sha512-ejBAX8H0ZGsD8lSICDNyMbSEtPMWgDL0WFCt/0z7hyf5v8Imz4rAM8xY379mBsECkq/Wdqa5WEDLqtjZ+6NxfA==,
+ }
+ engines: { node: '>= 10.0.0' }
+ dependencies:
+ is-glob: 4.0.3
+ micromatch: 4.0.5
+ dev: true
+ bundledDependencies:
+ - napi-wasm
+
+ /@parcel/watcher-win32-arm64@2.3.0:
+ resolution:
+ {
+ integrity: sha512-35gXCnaz1AqIXpG42evcoP2+sNL62gZTMZne3IackM+6QlfMcJLy3DrjuL6Iks7Czpd3j4xRBzez3ADCj1l7Aw==,
+ }
+ engines: { node: '>= 10.0.0' }
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@parcel/watcher-win32-ia32@2.3.0:
+ resolution:
+ {
+ integrity: sha512-FJS/IBQHhRpZ6PiCjFt1UAcPr0YmCLHRbTc00IBTrelEjlmmgIVLeOx4MSXzx2HFEy5Jo5YdhGpxCuqCyDJ5ow==,
+ }
+ engines: { node: '>= 10.0.0' }
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@parcel/watcher-win32-x64@2.3.0:
+ resolution:
+ {
+ integrity: sha512-dLx+0XRdMnVI62kU3wbXvbIRhLck4aE28bIGKbRGS7BJNt54IIj9+c/Dkqb+7DJEbHUZAX1bwaoM8PqVlHJmCA==,
+ }
+ engines: { node: '>= 10.0.0' }
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@parcel/watcher@2.3.0:
+ resolution:
+ {
+ integrity: sha512-pW7QaFiL11O0BphO+bq3MgqeX/INAk9jgBldVDYjlQPO4VddoZnF22TcF9onMhnLVHuNqBJeRf+Fj7eezi/+rQ==,
+ }
+ engines: { node: '>= 10.0.0' }
+ dependencies:
+ detect-libc: 1.0.3
+ is-glob: 4.0.3
+ micromatch: 4.0.5
+ node-addon-api: 7.0.0
+ optionalDependencies:
+ '@parcel/watcher-android-arm64': 2.3.0
+ '@parcel/watcher-darwin-arm64': 2.3.0
+ '@parcel/watcher-darwin-x64': 2.3.0
+ '@parcel/watcher-freebsd-x64': 2.3.0
+ '@parcel/watcher-linux-arm-glibc': 2.3.0
+ '@parcel/watcher-linux-arm64-glibc': 2.3.0
+ '@parcel/watcher-linux-arm64-musl': 2.3.0
+ '@parcel/watcher-linux-x64-glibc': 2.3.0
+ '@parcel/watcher-linux-x64-musl': 2.3.0
+ '@parcel/watcher-win32-arm64': 2.3.0
+ '@parcel/watcher-win32-ia32': 2.3.0
+ '@parcel/watcher-win32-x64': 2.3.0
+ dev: true
+
+ /@pkgjs/parseargs@0.11.0:
+ resolution:
+ {
+ integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==,
+ }
+ engines: { node: '>=14' }
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@pkgr/utils@2.4.2:
+ resolution:
+ {
+ integrity: sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==,
+ }
+ engines: { node: ^12.20.0 || ^14.18.0 || >=16.0.0 }
+ dependencies:
+ cross-spawn: 7.0.3
+ fast-glob: 3.3.2
+ is-glob: 4.0.3
+ open: 9.1.0
+ picocolors: 1.0.0
+ tslib: 2.6.2
+ dev: true
+
+ /@playwright/test@1.37.1:
+ resolution:
+ {
+ integrity: sha512-bq9zTli3vWJo8S3LwB91U0qDNQDpEXnw7knhxLM0nwDvexQAwx9tO8iKDZSqqneVq+URd/WIoz+BALMqUTgdSg==,
+ }
+ engines: { node: '>=16' }
+ hasBin: true
+ dependencies:
+ '@types/node': 20.5.9
+ playwright-core: 1.37.1
+ optionalDependencies:
+ fsevents: 2.3.2
+ dev: true
+
+ /@polka/url@1.0.0-next.23:
+ resolution:
+ {
+ integrity: sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==,
+ }
+ dev: true
+
+ /@remix-run/css-bundle@2.0.1:
+ resolution:
+ {
+ integrity: sha512-PDAak97HvrSa6Pu84iN14o8NNitqLeyO0iH9zqWNhrsO2nFELUOzQ/02H/9QWmmIYgVpbUIQxJlp70ZEAV2dyw==,
+ }
+ engines: { node: '>=18.0.0' }
+ dev: false
+
+ /@remix-run/dev@2.0.1(@remix-run/serve@2.0.1)(typescript@5.2.2):
+ resolution:
+ {
+ integrity: sha512-FxlbgCBXUzKxBSs2OfNoBUadcARr4S7S4JQ28t7MLcIsfJI/uHmGAMXClatsgeZuRvPK/Zx/W3B4uho1FTfQVA==,
+ }
+ engines: { node: '>=18.0.0' }
+ hasBin: true
+ peerDependencies:
+ '@remix-run/serve': ^2.0.1
+ typescript: ^5.1.0
+ peerDependenciesMeta:
+ '@remix-run/serve':
+ optional: true
+ typescript:
+ optional: true
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/generator': 7.22.15
+ '@babel/parser': 7.22.15
+ '@babel/plugin-syntax-decorators': 7.22.10(@babel/core@7.22.15)
+ '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.15)
+ '@babel/preset-typescript': 7.23.0(@babel/core@7.22.15)
+ '@babel/traverse': 7.22.15
+ '@mdx-js/mdx': 2.3.0
+ '@npmcli/package-json': 4.0.1
+ '@remix-run/serve': 2.0.1(typescript@5.2.2)
+ '@remix-run/server-runtime': 2.0.1(typescript@5.2.2)
+ '@types/mdx': 2.0.8
+ '@vanilla-extract/integration': 6.2.2
+ arg: 5.0.2
+ cacache: 17.1.4
+ chalk: 4.1.2
+ chokidar: 3.5.3
+ dotenv: 16.3.1
+ esbuild: 0.17.6
+ esbuild-plugins-node-modules-polyfill: 1.6.1(esbuild@0.17.6)
+ execa: 5.1.1
+ exit-hook: 2.2.1
+ express: 4.18.2
+ fs-extra: 10.1.0
+ get-port: 5.1.1
+ gunzip-maybe: 1.4.2
+ jsesc: 3.0.2
+ json5: 2.2.3
+ lodash: 4.17.21
+ lodash.debounce: 4.0.8
+ minimatch: 9.0.3
+ node-fetch: 2.7.0
+ ora: 5.4.1
+ picocolors: 1.0.0
+ picomatch: 2.3.1
+ pidtree: 0.6.0
+ postcss: 8.4.31
+ postcss-discard-duplicates: 5.1.0(postcss@8.4.31)
+ postcss-load-config: 4.0.1(postcss@8.4.31)
+ postcss-modules: 6.0.0(postcss@8.4.31)
+ prettier: 2.8.8
+ pretty-ms: 7.0.1
+ react-refresh: 0.14.0
+ remark-frontmatter: 4.0.1
+ remark-mdx-frontmatter: 1.1.1
+ semver: 7.5.4
+ tar-fs: 2.1.1
+ tsconfig-paths: 4.2.0
+ typescript: 5.2.2
+ ws: 7.5.9
+ transitivePeerDependencies:
+ - '@types/node'
+ - bluebird
+ - bufferutil
+ - encoding
+ - less
+ - lightningcss
+ - sass
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ - ts-node
+ - utf-8-validate
+ dev: true
+
+ /@remix-run/eslint-config@2.0.1(eslint@8.48.0)(react@18.2.0)(typescript@5.2.2):
+ resolution:
+ {
+ integrity: sha512-XIKnID45O60Vtegsib2qJOVYBCq2VRn+3qaEAX1NtgcQDI1xD7o3k1k3MCdQqaGD9/XmcbJumkmuAIX3Ti6/mA==,
+ }
+ engines: { node: '>=18.0.0' }
+ peerDependencies:
+ eslint: ^8.0.0
+ react: ^18.0.0
+ typescript: ^5.1.0
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/eslint-parser': 7.22.15(@babel/core@7.22.15)(eslint@8.48.0)
+ '@babel/preset-react': 7.22.15(@babel/core@7.22.15)
+ '@rushstack/eslint-patch': 1.3.3
+ '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.48.0)(typescript@5.2.2)
+ '@typescript-eslint/parser': 5.62.0(eslint@8.48.0)(typescript@5.2.2)
+ eslint: 8.48.0
+ eslint-import-resolver-node: 0.3.7
+ eslint-import-resolver-typescript: 3.6.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.28.1)(eslint@8.48.0)
+ eslint-plugin-import: 2.28.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.0)(eslint@8.48.0)
+ eslint-plugin-jest: 26.9.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.48.0)(typescript@5.2.2)
+ eslint-plugin-jest-dom: 4.0.3(eslint@8.48.0)
+ eslint-plugin-jsx-a11y: 6.7.1(eslint@8.48.0)
+ eslint-plugin-node: 11.1.0(eslint@8.48.0)
+ eslint-plugin-react: 7.33.2(eslint@8.48.0)
+ eslint-plugin-react-hooks: 4.6.0(eslint@8.48.0)
+ eslint-plugin-testing-library: 5.11.1(eslint@8.48.0)(typescript@5.2.2)
+ react: 18.2.0
+ typescript: 5.2.2
+ transitivePeerDependencies:
+ - eslint-import-resolver-webpack
+ - jest
+ - supports-color
+ dev: true
+
+ /@remix-run/express@2.0.1(express@4.18.2)(typescript@5.2.2):
+ resolution:
+ {
+ integrity: sha512-YwqWF+Se6EoKL7uJhA/55BwP6kxIgDo//kHoh8miaMvVUKa1KMLru79kqU74d7PleYf9Qj4i2cXygz1mMl032w==,
+ }
+ engines: { node: '>=18.0.0' }
+ peerDependencies:
+ express: ^4.17.1
+ typescript: ^5.1.0
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@remix-run/node': 2.0.1(typescript@5.2.2)
+ express: 4.18.2
+ typescript: 5.2.2
+
+ /@remix-run/node@2.0.1(typescript@5.2.2):
+ resolution:
+ {
+ integrity: sha512-pWsbmkNRb7azYomh1IGSKeW68hkwBBp6L2AWvfKSq2r2MJXHCzqgAJEc0uWkEUx6OtFbVNOg27g/cMCyKvrjIA==,
+ }
+ engines: { node: '>=18.0.0' }
+ peerDependencies:
+ typescript: ^5.1.0
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@remix-run/server-runtime': 2.0.1(typescript@5.2.2)
+ '@remix-run/web-fetch': 4.4.1
+ '@remix-run/web-file': 3.1.0
+ '@remix-run/web-stream': 1.1.0
+ '@web3-storage/multipart-parser': 1.0.0
+ cookie-signature: 1.2.1
+ source-map-support: 0.5.21
+ stream-slice: 0.1.2
+ typescript: 5.2.2
+
+ /@remix-run/react@2.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2):
+ resolution:
+ {
+ integrity: sha512-xZgJcRjzx9gjCzh7dDZGQJcmQPPFisMrDwhUuIzlSHuR2rEQCCGZPBLVCpbD1zhDfbdvOugbf2DLSmP2TEBXNA==,
+ }
+ engines: { node: '>=18.0.0' }
+ peerDependencies:
+ react: ^18.0.0
+ react-dom: ^18.0.0
+ typescript: ^5.1.0
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@remix-run/router': 1.9.0
+ '@remix-run/server-runtime': 2.0.1(typescript@5.2.2)
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ react-router-dom: 6.16.0(react-dom@18.2.0)(react@18.2.0)
+ typescript: 5.2.2
+
+ /@remix-run/router@1.9.0:
+ resolution:
+ {
+ integrity: sha512-bV63itrKBC0zdT27qYm6SDZHlkXwFL1xMBuhkn+X7l0+IIhNaH5wuuvZKp6eKhCD4KFhujhfhCT1YxXW6esUIA==,
+ }
+ engines: { node: '>=14.0.0' }
+
+ /@remix-run/serve@2.0.1(typescript@5.2.2):
+ resolution:
+ {
+ integrity: sha512-3aljUFhzsIwgGN2SuMgrXQH5TqA8e52afrYAnHR5CpHXxVxkwyDB4BNKng7yLRIywsOi5MHOclu/5preKV8qVA==,
+ }
+ engines: { node: '>=18.0.0' }
+ hasBin: true
+ dependencies:
+ '@remix-run/express': 2.0.1(express@4.18.2)(typescript@5.2.2)
+ '@remix-run/node': 2.0.1(typescript@5.2.2)
+ chokidar: 3.5.3
+ compression: 1.7.4
+ express: 4.18.2
+ get-port: 5.1.1
+ morgan: 1.10.0
+ source-map-support: 0.5.21
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+
+ /@remix-run/server-runtime@2.0.1(typescript@5.2.2):
+ resolution:
+ {
+ integrity: sha512-xCW2aw9EILx7F3orEHN2fcpEkNzZTRU8VzP7gS9pmHP45qteFqsY5Qg2/dnF17royWmeeBNhnXaJOgb76W1KEA==,
+ }
+ engines: { node: '>=18.0.0' }
+ peerDependencies:
+ typescript: ^5.1.0
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@remix-run/router': 1.9.0
+ '@types/cookie': 0.4.1
+ '@web3-storage/multipart-parser': 1.0.0
+ cookie: 0.4.2
+ set-cookie-parser: 2.6.0
+ source-map: 0.7.4
+ type-fest: 4.3.3
+ typescript: 5.2.2
+
+ /@remix-run/web-blob@3.1.0:
+ resolution:
+ {
+ integrity: sha512-owGzFLbqPH9PlKb8KvpNJ0NO74HWE2euAn61eEiyCXX/oteoVzTVSN8mpLgDjaxBf2btj5/nUllSUgpyd6IH6g==,
+ }
+ dependencies:
+ '@remix-run/web-stream': 1.1.0
+ web-encoding: 1.1.5
+
+ /@remix-run/web-fetch@4.4.1:
+ resolution:
+ {
+ integrity: sha512-xMceEGn2kvfeWS91nHSOhEQHPGgjFnmDVpWFZrbWPVdiTByMZIn421/tdSF6Kd1RsNsY+5Iwt3JFEKZHAcMQHw==,
+ }
+ engines: { node: ^10.17 || >=12.3 }
+ dependencies:
+ '@remix-run/web-blob': 3.1.0
+ '@remix-run/web-file': 3.1.0
+ '@remix-run/web-form-data': 3.1.0
+ '@remix-run/web-stream': 1.1.0
+ '@web3-storage/multipart-parser': 1.0.0
+ abort-controller: 3.0.0
+ data-uri-to-buffer: 3.0.1
+ mrmime: 1.0.1
+
+ /@remix-run/web-file@3.1.0:
+ resolution:
+ {
+ integrity: sha512-dW2MNGwoiEYhlspOAXFBasmLeYshyAyhIdrlXBi06Duex5tDr3ut2LFKVj7tyHLmn8nnNwFf1BjNbkQpygC2aQ==,
+ }
+ dependencies:
+ '@remix-run/web-blob': 3.1.0
+
+ /@remix-run/web-form-data@3.1.0:
+ resolution:
+ {
+ integrity: sha512-NdeohLMdrb+pHxMQ/Geuzdp0eqPbea+Ieo8M8Jx2lGC6TBHsgHzYcBvr0LyPdPVycNRDEpWpiDdCOdCryo3f9A==,
+ }
+ dependencies:
+ web-encoding: 1.1.5
+
+ /@remix-run/web-stream@1.1.0:
+ resolution:
+ {
+ integrity: sha512-KRJtwrjRV5Bb+pM7zxcTJkhIqWWSy+MYsIxHK+0m5atcznsf15YwUBWHWulZerV2+vvHH1Lp1DD7pw6qKW8SgA==,
+ }
+ dependencies:
+ web-streams-polyfill: 3.2.1
+
+ /@rollup/plugin-alias@5.0.1(rollup@4.5.1):
+ resolution:
+ {
+ integrity: sha512-JObvbWdOHoMy9W7SU0lvGhDtWq9PllP5mjpAy+TUslZG/WzOId9u80Hsqq1vCUn9pFJ0cxpdcnAv+QzU2zFH3Q==,
+ }
+ engines: { node: '>=14.0.0' }
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ rollup: 4.5.1
+ slash: 4.0.0
+ dev: true
+
+ /@rollup/plugin-commonjs@25.0.7(rollup@4.5.1):
+ resolution:
+ {
+ integrity: sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==,
+ }
+ engines: { node: '>=14.0.0' }
+ peerDependencies:
+ rollup: ^2.68.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@rollup/pluginutils': 5.0.5(rollup@4.5.1)
+ commondir: 1.0.1
+ estree-walker: 2.0.2
+ glob: 8.1.0
+ is-reference: 1.2.1
+ magic-string: 0.30.5
+ rollup: 4.5.1
+ dev: true
+
+ /@rollup/plugin-inject@5.0.5(rollup@4.5.1):
+ resolution:
+ {
+ integrity: sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==,
+ }
+ engines: { node: '>=14.0.0' }
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@rollup/pluginutils': 5.0.5(rollup@4.5.1)
+ estree-walker: 2.0.2
+ magic-string: 0.30.5
+ rollup: 4.5.1
+ dev: true
+
+ /@rollup/plugin-json@6.0.1(rollup@4.5.1):
+ resolution:
+ {
+ integrity: sha512-RgVfl5hWMkxN1h/uZj8FVESvPuBJ/uf6ly6GTj0GONnkfoBN5KC0MSz+PN2OLDgYXMhtG0mWpTrkiOjoxAIevw==,
+ }
+ engines: { node: '>=14.0.0' }
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@rollup/pluginutils': 5.0.5(rollup@4.5.1)
+ rollup: 4.5.1
+ dev: true
+
+ /@rollup/plugin-node-resolve@15.2.3(rollup@4.5.1):
+ resolution:
+ {
+ integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==,
+ }
+ engines: { node: '>=14.0.0' }
+ peerDependencies:
+ rollup: ^2.78.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@rollup/pluginutils': 5.0.5(rollup@4.5.1)
+ '@types/resolve': 1.20.2
+ deepmerge: 4.3.1
+ is-builtin-module: 3.2.1
+ is-module: 1.0.0
+ resolve: 1.22.4
+ rollup: 4.5.1
+ dev: true
+
+ /@rollup/plugin-replace@5.0.5(rollup@4.5.1):
+ resolution:
+ {
+ integrity: sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ==,
+ }
+ engines: { node: '>=14.0.0' }
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@rollup/pluginutils': 5.0.5(rollup@4.5.1)
+ magic-string: 0.30.5
+ rollup: 4.5.1
+ dev: true
+
+ /@rollup/plugin-terser@0.4.4(rollup@4.5.1):
+ resolution:
+ {
+ integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==,
+ }
+ engines: { node: '>=14.0.0' }
+ peerDependencies:
+ rollup: ^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ rollup: 4.5.1
+ serialize-javascript: 6.0.1
+ smob: 1.4.1
+ terser: 5.24.0
+ dev: true
+
+ /@rollup/plugin-wasm@6.2.2(rollup@4.5.1):
+ resolution:
+ {
+ integrity: sha512-gpC4R1G9Ni92ZIRTexqbhX7U+9estZrbhP+9SRb0DW9xpB9g7j34r+J2hqrcW/lRI7dJaU84MxZM0Rt82tqYPQ==,
+ }
+ engines: { node: '>=14.0.0' }
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@rollup/pluginutils': 5.0.5(rollup@4.5.1)
+ rollup: 4.5.1
+ dev: true
+
+ /@rollup/pluginutils@4.2.1:
+ resolution:
+ {
+ integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==,
+ }
+ engines: { node: '>= 8.0.0' }
+ dependencies:
+ estree-walker: 2.0.2
+ picomatch: 2.3.1
+ dev: true
+
+ /@rollup/pluginutils@5.0.5(rollup@4.5.1):
+ resolution:
+ {
+ integrity: sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==,
+ }
+ engines: { node: '>=14.0.0' }
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@types/estree': 1.0.2
+ estree-walker: 2.0.2
+ picomatch: 2.3.1
+ rollup: 4.5.1
+ dev: true
+
+ /@rollup/rollup-android-arm-eabi@4.5.1:
+ resolution:
+ {
+ integrity: sha512-YaN43wTyEBaMqLDYeze+gQ4ZrW5RbTEGtT5o1GVDkhpdNcsLTnLRcLccvwy3E9wiDKWg9RIhuoy3JQKDRBfaZA==,
+ }
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-android-arm64@4.5.1:
+ resolution:
+ {
+ integrity: sha512-n1bX+LCGlQVuPlCofO0zOKe1b2XkFozAVRoczT+yxWZPGnkEAKTTYVOGZz8N4sKuBnKMxDbfhUsB1uwYdup/sw==,
+ }
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-darwin-arm64@4.5.1:
+ resolution:
+ {
+ integrity: sha512-QqJBumdvfBqBBmyGHlKxje+iowZwrHna7pokj/Go3dV1PJekSKfmjKrjKQ/e6ESTGhkfPNLq3VXdYLAc+UtAQw==,
+ }
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-darwin-x64@4.5.1:
+ resolution:
+ {
+ integrity: sha512-RrkDNkR/P5AEQSPkxQPmd2ri8WTjSl0RYmuFOiEABkEY/FSg0a4riihWQGKDJ4LnV9gigWZlTMx2DtFGzUrYQw==,
+ }
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-arm-gnueabihf@4.5.1:
+ resolution:
+ {
+ integrity: sha512-ZFPxvUZmE+fkB/8D9y/SWl/XaDzNSaxd1TJUSE27XAKlRpQ2VNce/86bGd9mEUgL3qrvjJ9XTGwoX0BrJkYK/A==,
+ }
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-arm64-gnu@4.5.1:
+ resolution:
+ {
+ integrity: sha512-FEuAjzVIld5WVhu+M2OewLmjmbXWd3q7Zcx+Rwy4QObQCqfblriDMMS7p7+pwgjZoo9BLkP3wa9uglQXzsB9ww==,
+ }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-arm64-musl@4.5.1:
+ resolution:
+ {
+ integrity: sha512-f5Gs8WQixqGRtI0Iq/cMqvFYmgFzMinuJO24KRfnv7Ohi/HQclwrBCYkzQu1XfLEEt3DZyvveq9HWo4bLJf1Lw==,
+ }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-x64-gnu@4.5.1:
+ resolution:
+ {
+ integrity: sha512-CWPkPGrFfN2vj3mw+S7A/4ZaU3rTV7AkXUr08W9lNP+UzOvKLVf34tWCqrKrfwQ0NTk5GFqUr2XGpeR2p6R4gw==,
+ }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-x64-musl@4.5.1:
+ resolution:
+ {
+ integrity: sha512-ZRETMFA0uVukUC9u31Ed1nx++29073goCxZtmZARwk5aF/ltuENaeTtRVsSQzFlzdd4J6L3qUm+EW8cbGt0CKQ==,
+ }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-win32-arm64-msvc@4.5.1:
+ resolution:
+ {
+ integrity: sha512-ihqfNJNb2XtoZMSCPeoo0cYMgU04ksyFIoOw5S0JUVbOhafLot+KD82vpKXOurE2+9o/awrqIxku9MRR9hozHQ==,
+ }
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-win32-ia32-msvc@4.5.1:
+ resolution:
+ {
+ integrity: sha512-zK9MRpC8946lQ9ypFn4gLpdwr5a01aQ/odiIJeL9EbgZDMgbZjjT/XzTqJvDfTmnE1kHdbG20sAeNlpc91/wbg==,
+ }
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-win32-x64-msvc@4.5.1:
+ resolution:
+ {
+ integrity: sha512-5I3Nz4Sb9TYOtkRwlH0ow+BhMH2vnh38tZ4J4mggE48M/YyJyp/0sPSxhw1UeS1+oBgQ8q7maFtSeKpeRJu41Q==,
+ }
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rushstack/eslint-patch@1.3.3:
+ resolution:
+ {
+ integrity: sha512-0xd7qez0AQ+MbHatZTlI1gu5vkG8r7MYRUJAHPAHJBmGLs16zpkrpAVLvjQKQOqaXPDUBwOiJzNc00znHSCVBw==,
+ }
+ dev: true
+
+ /@sigstore/bundle@2.1.0:
+ resolution:
+ {
+ integrity: sha512-89uOo6yh/oxaU8AeOUnVrTdVMcGk9Q1hJa7Hkvalc6G3Z3CupWk4Xe9djSgJm9fMkH69s0P0cVHUoKSOemLdng==,
+ }
+ engines: { node: ^16.14.0 || >=18.0.0 }
+ dependencies:
+ '@sigstore/protobuf-specs': 0.2.1
+ dev: true
+
+ /@sigstore/protobuf-specs@0.2.1:
+ resolution:
+ {
+ integrity: sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A==,
+ }
+ engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 }
+ dev: true
+
+ /@sigstore/sign@2.2.0:
+ resolution:
+ {
+ integrity: sha512-AAbmnEHDQv6CSfrWA5wXslGtzLPtAtHZleKOgxdQYvx/s76Fk6T6ZVt7w2IGV9j1UrFeBocTTQxaXG2oRrDhYA==,
+ }
+ engines: { node: ^16.14.0 || >=18.0.0 }
+ dependencies:
+ '@sigstore/bundle': 2.1.0
+ '@sigstore/protobuf-specs': 0.2.1
+ make-fetch-happen: 13.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@sigstore/tuf@2.2.0:
+ resolution:
+ {
+ integrity: sha512-KKATZ5orWfqd9ZG6MN8PtCIx4eevWSuGRKQvofnWXRpyMyUEpmrzg5M5BrCpjM+NfZ0RbNGOh5tCz/P2uoRqOA==,
+ }
+ engines: { node: ^16.14.0 || >=18.0.0 }
+ dependencies:
+ '@sigstore/protobuf-specs': 0.2.1
+ tuf-js: 2.1.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@sinclair/typebox@0.27.8:
+ resolution:
+ {
+ integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==,
+ }
+ dev: true
+
+ /@sindresorhus/merge-streams@1.0.0:
+ resolution:
+ {
+ integrity: sha512-rUV5WyJrJLoloD4NDN1V1+LDMDWOa4OTsT4yYJwQNpTU6FWxkxHpL7eu4w+DmiH8x/EAM1otkPE1+LaspIbplw==,
+ }
+ engines: { node: '>=18' }
+ dev: true
+
+ /@sinonjs/commons@3.0.0:
+ resolution:
+ {
+ integrity: sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==,
+ }
+ dependencies:
+ type-detect: 4.0.8
+ dev: true
+
+ /@sinonjs/fake-timers@10.3.0:
+ resolution:
+ {
+ integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==,
+ }
+ dependencies:
+ '@sinonjs/commons': 3.0.0
+ dev: true
+
+ /@sveltejs/adapter-auto@2.0.0(@sveltejs/kit@1.20.4):
+ resolution:
+ {
+ integrity: sha512-b+gkHFZgD771kgV3aO4avHFd7y1zhmMYy9i6xOK7m/rwmwaRO8gnF5zBc0Rgca80B2PMU1bKNxyBTHA14OzUAQ==,
+ }
+ peerDependencies:
+ '@sveltejs/kit': ^1.0.0
+ dependencies:
+ '@sveltejs/kit': 1.20.4(svelte@4.0.5)(vite@4.4.9)
+ import-meta-resolve: 2.2.2
+ dev: true
+
+ /@sveltejs/kit@1.20.4(svelte@4.0.5)(vite@4.4.9):
+ resolution:
+ {
+ integrity: sha512-MmAzIuMrP7A+8fqDVbxm6ekGHRHL/+Fk8sQPAzPG4G2TxUDtHdn/WcIxeEqHzARMf0OtGSC+VPyOSFuw2Cy2Mg==,
+ }
+ engines: { node: ^16.14 || >=18 }
+ hasBin: true
+ requiresBuild: true
+ peerDependencies:
+ svelte: ^3.54.0 || ^4.0.0-next.0
+ vite: ^4.0.0
+ dependencies:
+ '@sveltejs/vite-plugin-svelte': 2.4.6(svelte@4.0.5)(vite@4.4.9)
+ '@types/cookie': 0.5.1
+ cookie: 0.5.0
+ devalue: 4.3.2
+ esm-env: 1.0.0
+ kleur: 4.1.5
+ magic-string: 0.30.5
+ mime: 3.0.0
+ sade: 1.8.1
+ set-cookie-parser: 2.6.0
+ sirv: 2.0.3
+ svelte: 4.0.5
+ undici: 5.22.1
+ vite: 4.4.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@sveltejs/kit@1.20.4(svelte@4.0.5)(vite@4.5.0):
+ resolution:
+ {
+ integrity: sha512-MmAzIuMrP7A+8fqDVbxm6ekGHRHL/+Fk8sQPAzPG4G2TxUDtHdn/WcIxeEqHzARMf0OtGSC+VPyOSFuw2Cy2Mg==,
+ }
+ engines: { node: ^16.14 || >=18 }
+ hasBin: true
+ requiresBuild: true
+ peerDependencies:
+ svelte: ^3.54.0 || ^4.0.0-next.0
+ vite: ^4.0.0
+ dependencies:
+ '@sveltejs/vite-plugin-svelte': 2.4.6(svelte@4.0.5)(vite@4.5.0)
+ '@types/cookie': 0.5.1
+ cookie: 0.5.0
+ devalue: 4.3.2
+ esm-env: 1.0.0
+ kleur: 4.1.5
+ magic-string: 0.30.5
+ mime: 3.0.0
+ sade: 1.8.1
+ set-cookie-parser: 2.6.0
+ sirv: 2.0.3
+ svelte: 4.0.5
+ undici: 5.22.1
+ vite: 4.5.0(@types/node@20.5.9)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@sveltejs/vite-plugin-svelte-inspector@1.0.4(@sveltejs/vite-plugin-svelte@2.4.6)(svelte@4.0.5)(vite@4.4.9):
+ resolution:
+ {
+ integrity: sha512-zjiuZ3yydBtwpF3bj0kQNV0YXe+iKE545QGZVTaylW3eAzFr+pJ/cwK8lZEaRp4JtaJXhD5DyWAV4AxLh6DgaQ==,
+ }
+ engines: { node: ^14.18.0 || >= 16 }
+ peerDependencies:
+ '@sveltejs/vite-plugin-svelte': ^2.2.0
+ svelte: ^3.54.0 || ^4.0.0
+ vite: ^4.0.0
+ dependencies:
+ '@sveltejs/vite-plugin-svelte': 2.4.6(svelte@4.0.5)(vite@4.4.9)
+ debug: 4.3.4
+ svelte: 4.0.5
+ vite: 4.4.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@sveltejs/vite-plugin-svelte-inspector@1.0.4(@sveltejs/vite-plugin-svelte@2.4.6)(svelte@4.0.5)(vite@4.5.0):
+ resolution:
+ {
+ integrity: sha512-zjiuZ3yydBtwpF3bj0kQNV0YXe+iKE545QGZVTaylW3eAzFr+pJ/cwK8lZEaRp4JtaJXhD5DyWAV4AxLh6DgaQ==,
+ }
+ engines: { node: ^14.18.0 || >= 16 }
+ peerDependencies:
+ '@sveltejs/vite-plugin-svelte': ^2.2.0
+ svelte: ^3.54.0 || ^4.0.0
+ vite: ^4.0.0
+ dependencies:
+ '@sveltejs/vite-plugin-svelte': 2.4.6(svelte@4.0.5)(vite@4.5.0)
+ debug: 4.3.4
+ svelte: 4.0.5
+ vite: 4.5.0(@types/node@20.5.9)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@sveltejs/vite-plugin-svelte@2.4.6(svelte@4.0.5)(vite@4.4.9):
+ resolution:
+ {
+ integrity: sha512-zO79p0+DZnXPnF0ltIigWDx/ux7Ni+HRaFOw720Qeivc1azFUrJxTl0OryXVibYNx1hCboGia1NRV3x8RNv4cA==,
+ }
+ engines: { node: ^14.18.0 || >= 16 }
+ peerDependencies:
+ svelte: ^3.54.0 || ^4.0.0
+ vite: ^4.0.0
+ dependencies:
+ '@sveltejs/vite-plugin-svelte-inspector': 1.0.4(@sveltejs/vite-plugin-svelte@2.4.6)(svelte@4.0.5)(vite@4.4.9)
+ debug: 4.3.4
+ deepmerge: 4.3.1
+ kleur: 4.1.5
+ magic-string: 0.30.5
+ svelte: 4.0.5
+ svelte-hmr: 0.15.3(svelte@4.0.5)
+ vite: 4.4.9
+ vitefu: 0.2.5(vite@4.4.9)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@sveltejs/vite-plugin-svelte@2.4.6(svelte@4.0.5)(vite@4.5.0):
+ resolution:
+ {
+ integrity: sha512-zO79p0+DZnXPnF0ltIigWDx/ux7Ni+HRaFOw720Qeivc1azFUrJxTl0OryXVibYNx1hCboGia1NRV3x8RNv4cA==,
+ }
+ engines: { node: ^14.18.0 || >= 16 }
+ peerDependencies:
+ svelte: ^3.54.0 || ^4.0.0
+ vite: ^4.0.0
+ dependencies:
+ '@sveltejs/vite-plugin-svelte-inspector': 1.0.4(@sveltejs/vite-plugin-svelte@2.4.6)(svelte@4.0.5)(vite@4.5.0)
+ debug: 4.3.4
+ deepmerge: 4.3.1
+ kleur: 4.1.5
+ magic-string: 0.30.5
+ svelte: 4.0.5
+ svelte-hmr: 0.15.3(svelte@4.0.5)
+ vite: 4.5.0(@types/node@20.5.9)
+ vitefu: 0.2.5(vite@4.5.0)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@swc/core-darwin-arm64@1.3.82:
+ resolution:
+ {
+ integrity: sha512-JfsyDW34gVKD3uE0OUpUqYvAD3yseEaicnFP6pB292THtLJb0IKBBnK50vV/RzEJtc1bR3g1kNfxo2PeurZTrA==,
+ }
+ engines: { node: '>=10' }
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@swc/core-darwin-x64@1.3.82:
+ resolution:
+ {
+ integrity: sha512-ogQWgNMq7qTpITjcP3dnzkFNj7bh6SwMr859GvtOTrE75H7L7jDWxESfH4f8foB/LGxBKiDNmxKhitCuAsZK4A==,
+ }
+ engines: { node: '>=10' }
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@swc/core-linux-arm-gnueabihf@1.3.82:
+ resolution:
+ {
+ integrity: sha512-7TMXG1lXlNhD0kUiEqs+YlGV4irAdBa2quuy+XI3oJf2fBK6dQfEq4xBy65B3khrorzQS3O0oDGQ+cmdpHExHA==,
+ }
+ engines: { node: '>=10' }
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@swc/core-linux-arm64-gnu@1.3.82:
+ resolution:
+ {
+ integrity: sha512-26JkOujbzcItPAmIbD5vHJxQVy5ihcSu3YHTKwope1h28sApZdtE7S3e2G3gsZRTIdsCQkXUtAQeqHxGWWR3pw==,
+ }
+ engines: { node: '>=10' }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@swc/core-linux-arm64-musl@1.3.82:
+ resolution:
+ {
+ integrity: sha512-8Izj9tuuMpoc3cqiPBRtwqpO1BZ/+sfZVsEhLxrbOFlcSb8LnKyMle1g3JMMUwI4EU75RGVIzZMn8A6GOKdJbA==,
+ }
+ engines: { node: '>=10' }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@swc/core-linux-x64-gnu@1.3.82:
+ resolution:
+ {
+ integrity: sha512-0GSrIBScQwTaPv46T2qB7XnDYxndRCpwH4HMjh6FN+I+lfPUhTSJKW8AonqrqT1TbpFIgvzQs7EnTsD7AnSCow==,
+ }
+ engines: { node: '>=10' }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@swc/core-linux-x64-musl@1.3.82:
+ resolution:
+ {
+ integrity: sha512-KJUnaaepDKNzrEbwz4jv0iC3/t9x0NSoe06fnkAlhh2+NFKWKKJhVCOBTrpds8n7eylBDIXUlK34XQafjVMUdg==,
+ }
+ engines: { node: '>=10' }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@swc/core-win32-arm64-msvc@1.3.82:
+ resolution:
+ {
+ integrity: sha512-TR3MHKhDYIyGyFcyl2d/p1ftceXcubAhX5wRSOdtOyr5+K/v3jbyCCqN7bbqO5o43wQVCwwR/drHleYyDZvg8Q==,
+ }
+ engines: { node: '>=10' }
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@swc/core-win32-ia32-msvc@1.3.82:
+ resolution:
+ {
+ integrity: sha512-ZX4HzVVt6hs84YUg70UvyBJnBOIspmQQM0iXSzBvOikk3zRoN7BnDwQH4GScvevCEBuou60+i4I6d5kHLOfh8Q==,
+ }
+ engines: { node: '>=10' }
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@swc/core-win32-x64-msvc@1.3.82:
+ resolution:
+ {
+ integrity: sha512-4mJMnex21kbQoaHeAmHnVwQN9/XAfPszJ6n9HI7SVH+aAHnbBIR0M59/b50/CJMjTj5niUGk7EwQ3nhVNOG32g==,
+ }
+ engines: { node: '>=10' }
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@swc/core@1.3.82:
+ resolution:
+ {
+ integrity: sha512-jpC1a18HMH67018Ij2jh+hT7JBFu7ZKcQVfrZ8K6JuEY+kjXmbea07P9MbQUZbAe0FB+xi3CqEVCP73MebodJQ==,
+ }
+ engines: { node: '>=10' }
+ requiresBuild: true
+ peerDependencies:
+ '@swc/helpers': ^0.5.0
+ peerDependenciesMeta:
+ '@swc/helpers':
+ optional: true
+ dependencies:
+ '@swc/types': 0.1.4
+ optionalDependencies:
+ '@swc/core-darwin-arm64': 1.3.82
+ '@swc/core-darwin-x64': 1.3.82
+ '@swc/core-linux-arm-gnueabihf': 1.3.82
+ '@swc/core-linux-arm64-gnu': 1.3.82
+ '@swc/core-linux-arm64-musl': 1.3.82
+ '@swc/core-linux-x64-gnu': 1.3.82
+ '@swc/core-linux-x64-musl': 1.3.82
+ '@swc/core-win32-arm64-msvc': 1.3.82
+ '@swc/core-win32-ia32-msvc': 1.3.82
+ '@swc/core-win32-x64-msvc': 1.3.82
+ dev: true
+
+ /@swc/helpers@0.5.1:
+ resolution:
+ {
+ integrity: sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==,
+ }
+ dependencies:
+ tslib: 2.6.2
+ dev: true
+
+ /@swc/helpers@0.5.2:
+ resolution:
+ {
+ integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==,
+ }
+ dependencies:
+ tslib: 2.6.2
+ dev: false
+
+ /@swc/jest@0.2.29(@swc/core@1.3.82):
+ resolution:
+ {
+ integrity: sha512-8reh5RvHBsSikDC3WGCd5ZTd2BXKkyOdK7QwynrCH58jk2cQFhhHhFBg/jvnWZehUQe/EoOImLENc9/DwbBFow==,
+ }
+ engines: { npm: '>= 7.0.0' }
+ peerDependencies:
+ '@swc/core': '*'
+ dependencies:
+ '@jest/create-cache-key-function': 27.5.1
+ '@swc/core': 1.3.82
+ jsonc-parser: 3.2.0
+ dev: true
+
+ /@swc/types@0.1.4:
+ resolution:
+ {
+ integrity: sha512-z/G02d+59gyyUb7KYhKi9jOhicek6QD2oMaotUyG+lUkybpXoV49dY9bj7Ah5Q+y7knK2jU67UTX9FyfGzaxQg==,
+ }
+ dev: true
+
+ /@testing-library/dom@8.20.1:
+ resolution:
+ {
+ integrity: sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==,
+ }
+ engines: { node: '>=12' }
+ dependencies:
+ '@babel/code-frame': 7.22.13
+ '@babel/runtime': 7.22.15
+ '@types/aria-query': 5.0.1
+ aria-query: 5.1.3
+ chalk: 4.1.2
+ dom-accessibility-api: 0.5.16
+ lz-string: 1.5.0
+ pretty-format: 27.5.1
+ dev: true
+
+ /@testing-library/dom@9.3.1:
+ resolution:
+ {
+ integrity: sha512-0DGPd9AR3+iDTjGoMpxIkAsUihHZ3Ai6CneU6bRRrffXMgzCdlNk43jTrD2/5LT6CBb3MWTP8v510JzYtahD2w==,
+ }
+ engines: { node: '>=14' }
+ dependencies:
+ '@babel/code-frame': 7.18.6
+ '@babel/runtime': 7.19.4
+ '@types/aria-query': 5.0.1
+ aria-query: 5.1.3
+ chalk: 4.1.2
+ dom-accessibility-api: 0.5.14
+ lz-string: 1.5.0
+ pretty-format: 27.5.1
+ dev: true
+
+ /@testing-library/jest-dom@6.1.2(@types/jest@29.5.4)(jest@29.6.4):
+ resolution:
+ {
+ integrity: sha512-NP9jl1Q2qDDtx+cqogowtQtmgD2OVs37iMSIsTv5eN5ETRkf26Kj6ugVwA93/gZzzFWQAsgkKkcftDe91BJCkQ==,
+ }
+ engines: { node: '>=14', npm: '>=6', yarn: '>=1' }
+ peerDependencies:
+ '@jest/globals': '>= 28'
+ '@types/jest': '>= 28'
+ jest: '>= 28'
+ vitest: '>= 0.32'
+ peerDependenciesMeta:
+ '@jest/globals':
+ optional: true
+ '@types/jest':
+ optional: true
+ jest:
+ optional: true
+ vitest:
+ optional: true
+ dependencies:
+ '@adobe/css-tools': 4.3.1
+ '@babel/runtime': 7.22.15
+ '@types/jest': 29.5.4
+ aria-query: 5.3.0
+ chalk: 3.0.0
+ css.escape: 1.5.1
+ dom-accessibility-api: 0.5.16
+ jest: 29.6.4(@types/node@20.5.9)
+ lodash: 4.17.21
+ redent: 3.0.0
+ dev: true
+
+ /@testing-library/react@14.0.0(react-dom@18.2.0)(react@18.2.0):
+ resolution:
+ {
+ integrity: sha512-S04gSNJbYE30TlIMLTzv6QCTzt9AqIF5y6s6SzVFILNcNvbV/jU96GeiTPillGQo+Ny64M/5PV7klNYYgv5Dfg==,
+ }
+ engines: { node: '>=14' }
+ peerDependencies:
+ react: ^18.0.0
+ react-dom: ^18.0.0
+ dependencies:
+ '@babel/runtime': 7.19.4
+ '@testing-library/dom': 9.3.1
+ '@types/react-dom': 18.2.7
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: true
+
+ /@tootallnate/once@2.0.0:
+ resolution:
+ {
+ integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==,
+ }
+ engines: { node: '>= 10' }
+ dev: true
+
+ /@trysound/sax@0.2.0:
+ resolution:
+ {
+ integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==,
+ }
+ engines: { node: '>=10.13.0' }
+ dev: true
+
+ /@tufjs/canonical-json@2.0.0:
+ resolution:
+ {
+ integrity: sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==,
+ }
+ engines: { node: ^16.14.0 || >=18.0.0 }
+ dev: true
+
+ /@tufjs/models@2.0.0:
+ resolution:
+ {
+ integrity: sha512-c8nj8BaOExmZKO2DXhDfegyhSGcG9E/mPN3U13L+/PsoWm1uaGiHHjxqSHQiasDBQwDA3aHuw9+9spYAP1qvvg==,
+ }
+ engines: { node: ^16.14.0 || >=18.0.0 }
+ dependencies:
+ '@tufjs/canonical-json': 2.0.0
+ minimatch: 9.0.3
+ dev: true
+
+ /@types/acorn@4.0.6:
+ resolution:
+ {
+ integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==,
+ }
+ dependencies:
+ '@types/estree': 1.0.2
+ dev: true
+
+ /@types/aria-query@5.0.1:
+ resolution:
+ {
+ integrity: sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==,
+ }
+ dev: true
+
+ /@types/babel__core@7.20.1:
+ resolution:
+ {
+ integrity: sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==,
+ }
+ dependencies:
+ '@babel/parser': 7.23.4
+ '@babel/types': 7.23.4
+ '@types/babel__generator': 7.6.4
+ '@types/babel__template': 7.4.1
+ '@types/babel__traverse': 7.20.1
+ dev: true
+
+ /@types/babel__generator@7.6.4:
+ resolution:
+ {
+ integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==,
+ }
+ dependencies:
+ '@babel/types': 7.23.4
+ dev: true
+
+ /@types/babel__template@7.4.1:
+ resolution:
+ {
+ integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==,
+ }
+ dependencies:
+ '@babel/parser': 7.23.4
+ '@babel/types': 7.23.4
+ dev: true
+
+ /@types/babel__traverse@7.20.1:
+ resolution:
+ {
+ integrity: sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==,
+ }
+ dependencies:
+ '@babel/types': 7.23.4
+ dev: true
+
+ /@types/cookie@0.4.1:
+ resolution:
+ {
+ integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==,
+ }
+
+ /@types/cookie@0.5.1:
+ resolution:
+ {
+ integrity: sha512-COUnqfB2+ckwXXSFInsFdOAWQzCCx+a5hq2ruyj+Vjund94RJQd4LG2u9hnvJrTgunKAaax7ancBYlDrNYxA0g==,
+ }
+ dev: true
+
+ /@types/debug@4.1.9:
+ resolution:
+ {
+ integrity: sha512-8Hz50m2eoS56ldRlepxSBa6PWEVCtzUo/92HgLc2qTMnotJNIm7xP+UZhyWoYsyOdd5dxZ+NZLb24rsKyFs2ow==,
+ }
+ dependencies:
+ '@types/ms': 0.7.32
+ dev: true
+
+ /@types/estree-jsx@1.0.1:
+ resolution:
+ {
+ integrity: sha512-sHyakZlAezNFxmYRo0fopDZW+XvK6ipeZkkp5EAOLjdPfZp8VjZBJ67vSRI99RSCAoqXVmXOHS4fnWoxpuGQtQ==,
+ }
+ dependencies:
+ '@types/estree': 1.0.2
+ dev: true
+
+ /@types/estree@1.0.2:
+ resolution:
+ {
+ integrity: sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA==,
+ }
+ dev: true
+
+ /@types/graceful-fs@4.1.6:
+ resolution:
+ {
+ integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==,
+ }
+ dependencies:
+ '@types/node': 20.5.9
+ dev: true
+
+ /@types/hast@2.3.6:
+ resolution:
+ {
+ integrity: sha512-47rJE80oqPmFdVDCD7IheXBrVdwuBgsYwoczFvKmwfo2Mzsnt+V9OONsYauFmICb6lQPpCuXYJWejBNs4pDJRg==,
+ }
+ dependencies:
+ '@types/unist': 2.0.8
+ dev: true
+
+ /@types/http-proxy@1.17.14:
+ resolution:
+ {
+ integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==,
+ }
+ dependencies:
+ '@types/node': 20.5.9
+ dev: true
+
+ /@types/istanbul-lib-coverage@2.0.4:
+ resolution:
+ {
+ integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==,
+ }
+ dev: true
+
+ /@types/istanbul-lib-report@3.0.0:
+ resolution:
+ {
+ integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==,
+ }
+ dependencies:
+ '@types/istanbul-lib-coverage': 2.0.4
+ dev: true
+
+ /@types/istanbul-reports@3.0.1:
+ resolution:
+ {
+ integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==,
+ }
+ dependencies:
+ '@types/istanbul-lib-report': 3.0.0
+ dev: true
+
+ /@types/jest@29.5.4:
+ resolution:
+ {
+ integrity: sha512-PhglGmhWeD46FYOVLt3X7TiWjzwuVGW9wG/4qocPevXMjCmrIc5b6db9WjeGE4QYVpUAWMDv3v0IiBwObY289A==,
+ }
+ dependencies:
+ expect: 29.6.4
+ pretty-format: 29.6.3
+ dev: true
+
+ /@types/jsdom@20.0.1:
+ resolution:
+ {
+ integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==,
+ }
+ dependencies:
+ '@types/node': 20.5.9
+ '@types/tough-cookie': 4.0.2
+ parse5: 7.1.2
+ dev: true
+
+ /@types/json-schema@7.0.12:
+ resolution:
+ {
+ integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==,
+ }
+ dev: true
+
+ /@types/json5@0.0.29:
+ resolution:
+ {
+ integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==,
+ }
+ dev: true
+
+ /@types/mdast@3.0.13:
+ resolution:
+ {
+ integrity: sha512-HjiGiWedR0DVFkeNljpa6Lv4/IZU1+30VY5d747K7lBudFc3R0Ibr6yJ9lN3BE28VnZyDfLF/VB1Ql1ZIbKrmg==,
+ }
+ dependencies:
+ '@types/unist': 2.0.8
+ dev: true
+
+ /@types/mdx@2.0.8:
+ resolution:
+ {
+ integrity: sha512-r7/zWe+f9x+zjXqGxf821qz++ld8tp6Z4jUS6qmPZUXH6tfh4riXOhAqb12tWGWAevCFtMt1goLWkQMqIJKpsA==,
+ }
+ dev: true
+
+ /@types/ms@0.7.32:
+ resolution:
+ {
+ integrity: sha512-xPSg0jm4mqgEkNhowKgZFBNtwoEwF6gJ4Dhww+GFpm3IgtNseHQZ5IqdNwnquZEoANxyDAKDRAdVo4Z72VvD/g==,
+ }
+ dev: true
+
+ /@types/node@20.5.9:
+ resolution:
+ {
+ integrity: sha512-PcGNd//40kHAS3sTlzKB9C9XL4K0sTup8nbG5lC14kzEteTNuAFh9u5nA0o5TWnSG2r/JNPRXFVcHJIIeRlmqQ==,
+ }
+ dev: true
+
+ /@types/normalize-package-data@2.4.1:
+ resolution:
+ {
+ integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==,
+ }
+ dev: true
+
+ /@types/prop-types@15.7.5:
+ resolution:
+ {
+ integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==,
+ }
+ dev: true
+
+ /@types/pug@2.0.7:
+ resolution:
+ {
+ integrity: sha512-I469DU0UXNC1aHepwirWhu9YKg5fkxohZD95Ey/5A7lovC+Siu+MCLffva87lnfThaOrw9Vb1DUN5t55oULAAw==,
+ }
+ dev: true
+
+ /@types/react-dom@18.2.7:
+ resolution:
+ {
+ integrity: sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==,
+ }
+ dependencies:
+ '@types/react': 18.2.21
+ dev: true
+
+ /@types/react@18.2.21:
+ resolution:
+ {
+ integrity: sha512-neFKG/sBAwGxHgXiIxnbm3/AAVQ/cMRS93hvBpg8xYRbeQSPVABp9U2bRnPf0iI4+Ucdv3plSxKK+3CW2ENJxA==,
+ }
+ dependencies:
+ '@types/prop-types': 15.7.5
+ '@types/scheduler': 0.16.3
+ csstype: 3.1.2
+ dev: true
+
+ /@types/resolve@1.20.2:
+ resolution:
+ {
+ integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==,
+ }
+ dev: true
+
+ /@types/scheduler@0.16.3:
+ resolution:
+ {
+ integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==,
+ }
+ dev: true
+
+ /@types/semver@7.5.1:
+ resolution:
+ {
+ integrity: sha512-cJRQXpObxfNKkFAZbJl2yjWtJCqELQIdShsogr1d2MilP8dKD9TE/nEKHkJgUNHdGKCQaf9HbIynuV2csLGVLg==,
+ }
+ dev: true
+
+ /@types/stack-utils@2.0.1:
+ resolution:
+ {
+ integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==,
+ }
+ dev: true
+
+ /@types/tough-cookie@4.0.2:
+ resolution:
+ {
+ integrity: sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==,
+ }
+ dev: true
+
+ /@types/unist@2.0.8:
+ resolution:
+ {
+ integrity: sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw==,
+ }
+ dev: true
+
+ /@types/yargs-parser@21.0.0:
+ resolution:
+ {
+ integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==,
+ }
+ dev: true
+
+ /@types/yargs@16.0.5:
+ resolution:
+ {
+ integrity: sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==,
+ }
+ dependencies:
+ '@types/yargs-parser': 21.0.0
+ dev: true
+
+ /@types/yargs@17.0.24:
+ resolution:
+ {
+ integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==,
+ }
+ dependencies:
+ '@types/yargs-parser': 21.0.0
+ dev: true
+
+ /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.48.0)(typescript@5.2.2):
+ resolution:
+ {
+ integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
+ peerDependencies:
+ '@typescript-eslint/parser': ^5.0.0
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@eslint-community/regexpp': 4.8.0
+ '@typescript-eslint/parser': 5.62.0(eslint@8.48.0)(typescript@5.2.2)
+ '@typescript-eslint/scope-manager': 5.62.0
+ '@typescript-eslint/type-utils': 5.62.0(eslint@8.48.0)(typescript@5.2.2)
+ '@typescript-eslint/utils': 5.62.0(eslint@8.48.0)(typescript@5.2.2)
+ debug: 4.3.4
+ eslint: 8.48.0
+ graphemer: 1.4.0
+ ignore: 5.2.4
+ natural-compare-lite: 1.4.0
+ semver: 7.5.4
+ tsutils: 3.21.0(typescript@5.2.2)
+ typescript: 5.2.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/eslint-plugin@6.6.0(@typescript-eslint/parser@6.6.0)(eslint@8.48.0)(typescript@5.2.2):
+ resolution:
+ {
+ integrity: sha512-CW9YDGTQnNYMIo5lMeuiIG08p4E0cXrXTbcZ2saT/ETE7dWUrNxlijsQeU04qAAKkILiLzdQz+cGFxCJjaZUmA==,
+ }
+ engines: { node: ^16.0.0 || >=18.0.0 }
+ peerDependencies:
+ '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha
+ eslint: ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@eslint-community/regexpp': 4.8.0
+ '@typescript-eslint/parser': 6.6.0(eslint@8.48.0)(typescript@5.2.2)
+ '@typescript-eslint/scope-manager': 6.6.0
+ '@typescript-eslint/type-utils': 6.6.0(eslint@8.48.0)(typescript@5.2.2)
+ '@typescript-eslint/utils': 6.6.0(eslint@8.48.0)(typescript@5.2.2)
+ '@typescript-eslint/visitor-keys': 6.6.0
+ debug: 4.3.4
+ eslint: 8.48.0
+ graphemer: 1.4.0
+ ignore: 5.2.4
+ natural-compare: 1.4.0
+ semver: 7.5.4
+ ts-api-utils: 1.0.2(typescript@5.2.2)
+ typescript: 5.2.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/parser@5.62.0(eslint@8.48.0)(typescript@5.2.2):
+ resolution:
+ {
+ integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/scope-manager': 5.62.0
+ '@typescript-eslint/types': 5.62.0
+ '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2)
+ debug: 4.3.4
+ eslint: 8.48.0
+ typescript: 5.2.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/parser@6.6.0(eslint@8.48.0)(typescript@5.2.2):
+ resolution:
+ {
+ integrity: sha512-setq5aJgUwtzGrhW177/i+DMLqBaJbdwGj2CPIVFFLE0NCliy5ujIdLHd2D1ysmlmsjdL2GWW+hR85neEfc12w==,
+ }
+ engines: { node: ^16.0.0 || >=18.0.0 }
+ peerDependencies:
+ eslint: ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/scope-manager': 6.6.0
+ '@typescript-eslint/types': 6.6.0
+ '@typescript-eslint/typescript-estree': 6.6.0(typescript@5.2.2)
+ '@typescript-eslint/visitor-keys': 6.6.0
+ debug: 4.3.4
+ eslint: 8.48.0
+ typescript: 5.2.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/scope-manager@5.62.0:
+ resolution:
+ {
+ integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
+ dependencies:
+ '@typescript-eslint/types': 5.62.0
+ '@typescript-eslint/visitor-keys': 5.62.0
+ dev: true
+
+ /@typescript-eslint/scope-manager@6.6.0:
+ resolution:
+ {
+ integrity: sha512-pT08u5W/GT4KjPUmEtc2kSYvrH8x89cVzkA0Sy2aaOUIw6YxOIjA8ilwLr/1fLjOedX1QAuBpG9XggWqIIfERw==,
+ }
+ engines: { node: ^16.0.0 || >=18.0.0 }
+ dependencies:
+ '@typescript-eslint/types': 6.6.0
+ '@typescript-eslint/visitor-keys': 6.6.0
+ dev: true
+
+ /@typescript-eslint/type-utils@5.62.0(eslint@8.48.0)(typescript@5.2.2):
+ resolution:
+ {
+ integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
+ peerDependencies:
+ eslint: '*'
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2)
+ '@typescript-eslint/utils': 5.62.0(eslint@8.48.0)(typescript@5.2.2)
+ debug: 4.3.4
+ eslint: 8.48.0
+ tsutils: 3.21.0(typescript@5.2.2)
+ typescript: 5.2.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/type-utils@6.6.0(eslint@8.48.0)(typescript@5.2.2):
+ resolution:
+ {
+ integrity: sha512-8m16fwAcEnQc69IpeDyokNO+D5spo0w1jepWWY2Q6y5ZKNuj5EhVQXjtVAeDDqvW6Yg7dhclbsz6rTtOvcwpHg==,
+ }
+ engines: { node: ^16.0.0 || >=18.0.0 }
+ peerDependencies:
+ eslint: ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/typescript-estree': 6.6.0(typescript@5.2.2)
+ '@typescript-eslint/utils': 6.6.0(eslint@8.48.0)(typescript@5.2.2)
+ debug: 4.3.4
+ eslint: 8.48.0
+ ts-api-utils: 1.0.2(typescript@5.2.2)
+ typescript: 5.2.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/types@5.62.0:
+ resolution:
+ {
+ integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
+ dev: true
+
+ /@typescript-eslint/types@6.6.0:
+ resolution:
+ {
+ integrity: sha512-CB6QpJQ6BAHlJXdwUmiaXDBmTqIE2bzGTDLADgvqtHWuhfNP3rAOK7kAgRMAET5rDRr9Utt+qAzRBdu3AhR3sg==,
+ }
+ engines: { node: ^16.0.0 || >=18.0.0 }
+ dev: true
+
+ /@typescript-eslint/typescript-estree@5.62.0(typescript@5.2.2):
+ resolution:
+ {
+ integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/types': 5.62.0
+ '@typescript-eslint/visitor-keys': 5.62.0
+ debug: 4.3.4
+ globby: 11.1.0
+ is-glob: 4.0.3
+ semver: 7.5.4
+ tsutils: 3.21.0(typescript@5.2.2)
+ typescript: 5.2.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/typescript-estree@6.6.0(typescript@5.2.2):
+ resolution:
+ {
+ integrity: sha512-hMcTQ6Al8MP2E6JKBAaSxSVw5bDhdmbCEhGW/V8QXkb9oNsFkA4SBuOMYVPxD3jbtQ4R/vSODBsr76R6fP3tbA==,
+ }
+ engines: { node: ^16.0.0 || >=18.0.0 }
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/types': 6.6.0
+ '@typescript-eslint/visitor-keys': 6.6.0
+ debug: 4.3.4
+ globby: 11.1.0
+ is-glob: 4.0.3
+ semver: 7.5.4
+ ts-api-utils: 1.0.2(typescript@5.2.2)
+ typescript: 5.2.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/utils@5.62.0(eslint@8.48.0)(typescript@5.2.2):
+ resolution:
+ {
+ integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.48.0)
+ '@types/json-schema': 7.0.12
+ '@types/semver': 7.5.1
+ '@typescript-eslint/scope-manager': 5.62.0
+ '@typescript-eslint/types': 5.62.0
+ '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2)
+ eslint: 8.48.0
+ eslint-scope: 5.1.1
+ semver: 7.5.4
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /@typescript-eslint/utils@6.6.0(eslint@8.48.0)(typescript@5.2.2):
+ resolution:
+ {
+ integrity: sha512-mPHFoNa2bPIWWglWYdR0QfY9GN0CfvvXX1Sv6DlSTive3jlMTUy+an67//Gysc+0Me9pjitrq0LJp0nGtLgftw==,
+ }
+ engines: { node: ^16.0.0 || >=18.0.0 }
+ peerDependencies:
+ eslint: ^7.0.0 || ^8.0.0
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.48.0)
+ '@types/json-schema': 7.0.12
+ '@types/semver': 7.5.1
+ '@typescript-eslint/scope-manager': 6.6.0
+ '@typescript-eslint/types': 6.6.0
+ '@typescript-eslint/typescript-estree': 6.6.0(typescript@5.2.2)
+ eslint: 8.48.0
+ semver: 7.5.4
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /@typescript-eslint/visitor-keys@5.62.0:
+ resolution:
+ {
+ integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
+ dependencies:
+ '@typescript-eslint/types': 5.62.0
+ eslint-visitor-keys: 3.4.3
+ dev: true
+
+ /@typescript-eslint/visitor-keys@6.6.0:
+ resolution:
+ {
+ integrity: sha512-L61uJT26cMOfFQ+lMZKoJNbAEckLe539VhTxiGHrWl5XSKQgA0RTBZJW2HFPy5T0ZvPVSD93QsrTKDkfNwJGyQ==,
+ }
+ engines: { node: ^16.0.0 || >=18.0.0 }
+ dependencies:
+ '@typescript-eslint/types': 6.6.0
+ eslint-visitor-keys: 3.4.3
+ dev: true
+
+ /@unhead/dom@1.8.8:
+ resolution:
+ {
+ integrity: sha512-KRtn+tvA83lEtKrtZD85XmqW04fcytVuNKLUpPBzhJvsxB3v7gozw0nu46e3EpbO3TGJjLlLd6brNHQY6WLWfA==,
+ }
+ dependencies:
+ '@unhead/schema': 1.8.8
+ '@unhead/shared': 1.8.8
+ dev: true
+
+ /@unhead/schema@1.8.8:
+ resolution:
+ {
+ integrity: sha512-xuhNW4osVNLW1yQSbdInZ8YGiXVTi1gjF8rK1E4VnODpWLg8XOq0OpoCbdIlCH4X4A0Ee0UQGRyzkuuVZlrSsQ==,
+ }
+ dependencies:
+ hookable: 5.5.3
+ zhead: 2.2.4
+ dev: true
+
+ /@unhead/shared@1.8.8:
+ resolution:
+ {
+ integrity: sha512-LoIJUDgmOzxoRHSIf29w/wc+IzKN2XvGiQC2dZZrYoTjOOzodf75609PEW5bhx2aHio38k9F+6BnD3KDiJ7IIg==,
+ }
+ dependencies:
+ '@unhead/schema': 1.8.8
+ dev: true
+
+ /@unhead/ssr@1.8.8:
+ resolution:
+ {
+ integrity: sha512-+nKFgU2jT/3U0x97pQaVYa5+pH+ngpdfqPjpT6Wti8htJsBnRRUdQ8X3hTyD2vHgFsrUTj0RRr9/6CY/qdpM/A==,
+ }
+ dependencies:
+ '@unhead/schema': 1.8.8
+ '@unhead/shared': 1.8.8
+ dev: true
+
+ /@unhead/vue@1.8.8(vue@3.3.8):
+ resolution:
+ {
+ integrity: sha512-isHpVnSSE5SP+ObsZG/i+Jq9tAQ2u1AbGrktXKmL7P5FRxwPjhATYnJFdGpxXeXfuaFgRFKzGKs29xo4MMVODw==,
+ }
+ peerDependencies:
+ vue: '>=2.7 || >=3'
+ dependencies:
+ '@unhead/schema': 1.8.8
+ '@unhead/shared': 1.8.8
+ hookable: 5.5.3
+ unhead: 1.8.8
+ vue: 3.3.8(typescript@5.2.2)
+ dev: true
+
+ /@vanilla-extract/babel-plugin-debug-ids@1.0.3:
+ resolution:
+ {
+ integrity: sha512-vm4jYu1xhSa6ofQ9AhIpR3DkAp4c+eoR1Rpm8/TQI4DmWbmGbOjYRcqV0aWsfaIlNhN4kFuxFMKBNN9oG6iRzA==,
+ }
+ dependencies:
+ '@babel/core': 7.22.15
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@vanilla-extract/css@1.13.0:
+ resolution:
+ {
+ integrity: sha512-JFFBXhnJrPlGqHBabagXqo5ghXw9mtV270ycIGyLDZG8NAK5eRwAYkMowAxuzK7wZSm67GnETWYB7b0AUmyttg==,
+ }
+ dependencies:
+ '@emotion/hash': 0.9.1
+ '@vanilla-extract/private': 1.0.3
+ ahocorasick: 1.0.2
+ chalk: 4.1.2
+ css-what: 6.1.0
+ cssesc: 3.0.0
+ csstype: 3.1.2
+ deep-object-diff: 1.1.9
+ deepmerge: 4.3.1
+ media-query-parser: 2.0.2
+ outdent: 0.8.0
+ dev: true
+
+ /@vanilla-extract/integration@6.2.2:
+ resolution:
+ {
+ integrity: sha512-gV3qPFjFap1+IrPeuFy+tEZOq7l7ifJf1ik/kluDWhPr1ffsFG9puq1/jjJ4rod1BIC79Q5ZWPNvBInHyxfCew==,
+ }
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.15)
+ '@vanilla-extract/babel-plugin-debug-ids': 1.0.3
+ '@vanilla-extract/css': 1.13.0
+ esbuild: 0.17.6
+ eval: 0.1.8
+ find-up: 5.0.0
+ javascript-stringify: 2.1.0
+ lodash: 4.17.21
+ mlly: 1.4.2
+ outdent: 0.8.0
+ vite: 4.4.11
+ vite-node: 0.28.5
+ transitivePeerDependencies:
+ - '@types/node'
+ - less
+ - lightningcss
+ - sass
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ dev: true
+
+ /@vanilla-extract/private@1.0.3:
+ resolution:
+ {
+ integrity: sha512-17kVyLq3ePTKOkveHxXuIJZtGYs+cSoev7BlP+Lf4916qfDhk/HBjvlYDe8egrea7LNPHKwSZJK/bzZC+Q6AwQ==,
+ }
+ dev: true
+
+ /@vercel/nft@0.24.3:
+ resolution:
+ {
+ integrity: sha512-IyBdIxmFAeGZnEfMgt4QrGK7XX4lWazlQj34HEi9dw04/WeDBJ7r1yaOIO5tTf9pbfvwUFodj9b0H+NDGGoOMg==,
+ }
+ engines: { node: '>=16' }
+ hasBin: true
+ dependencies:
+ '@mapbox/node-pre-gyp': 1.0.11
+ '@rollup/pluginutils': 4.2.1
+ acorn: 8.11.2
+ async-sema: 3.1.1
+ bindings: 1.5.0
+ estree-walker: 2.0.2
+ glob: 7.2.3
+ graceful-fs: 4.2.11
+ micromatch: 4.0.5
+ node-gyp-build: 4.7.0
+ resolve-from: 5.0.0
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: true
+
+ /@vercel/style-guide@5.0.1(eslint@8.48.0)(prettier@3.0.3)(typescript@5.2.2):
+ resolution:
+ {
+ integrity: sha512-3J/5xpwJ2Wk+cKB3EGY2KCdVQycaThLKhjBmgXPfIKb+E74lPpXVIDfaQE0D2JoAyIzGsqdH7Lbmr+DojwofxQ==,
+ }
+ engines: { node: '>=16' }
+ peerDependencies:
+ '@next/eslint-plugin-next': '>=12.3.0 <14'
+ eslint: '>=8.48.0 <9'
+ prettier: '>=3.0.0 <4'
+ typescript: '>=4.8.0 <6'
+ peerDependenciesMeta:
+ '@next/eslint-plugin-next':
+ optional: true
+ eslint:
+ optional: true
+ prettier:
+ optional: true
+ typescript:
+ optional: true
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/eslint-parser': 7.22.15(@babel/core@7.22.15)(eslint@8.48.0)
+ '@rushstack/eslint-patch': 1.3.3
+ '@typescript-eslint/eslint-plugin': 6.6.0(@typescript-eslint/parser@6.6.0)(eslint@8.48.0)(typescript@5.2.2)
+ '@typescript-eslint/parser': 6.6.0(eslint@8.48.0)(typescript@5.2.2)
+ eslint: 8.48.0
+ eslint-config-prettier: 9.0.0(eslint@8.48.0)
+ eslint-import-resolver-alias: 1.1.2(eslint-plugin-import@2.28.1)
+ eslint-import-resolver-typescript: 3.6.0(@typescript-eslint/parser@6.6.0)(eslint-plugin-import@2.28.1)(eslint@8.48.0)
+ eslint-plugin-eslint-comments: 3.2.0(eslint@8.48.0)
+ eslint-plugin-import: 2.28.1(@typescript-eslint/parser@6.6.0)(eslint-import-resolver-typescript@3.6.0)(eslint@8.48.0)
+ eslint-plugin-jest: 27.2.3(@typescript-eslint/eslint-plugin@6.6.0)(eslint@8.48.0)(typescript@5.2.2)
+ eslint-plugin-jsx-a11y: 6.7.1(eslint@8.48.0)
+ eslint-plugin-playwright: 0.16.0(eslint-plugin-jest@27.2.3)(eslint@8.48.0)
+ eslint-plugin-react: 7.33.2(eslint@8.48.0)
+ eslint-plugin-react-hooks: 4.6.0(eslint@8.48.0)
+ eslint-plugin-testing-library: 6.0.1(eslint@8.48.0)(typescript@5.2.2)
+ eslint-plugin-tsdoc: 0.2.17
+ eslint-plugin-unicorn: 48.0.1(eslint@8.48.0)
+ prettier: 3.0.3
+ prettier-plugin-packagejson: 2.4.5(prettier@3.0.3)
+ typescript: 5.2.2
+ transitivePeerDependencies:
+ - eslint-import-resolver-node
+ - eslint-import-resolver-webpack
+ - jest
+ - supports-color
+ dev: true
+
+ /@vitejs/plugin-vue-jsx@3.1.0(vite@4.5.0)(vue@3.3.8):
+ resolution:
+ {
+ integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==,
+ }
+ engines: { node: ^14.18.0 || >=16.0.0 }
+ peerDependencies:
+ vite: ^4.0.0 || ^5.0.0
+ vue: ^3.0.0
+ dependencies:
+ '@babel/core': 7.23.3
+ '@babel/plugin-transform-typescript': 7.23.4(@babel/core@7.23.3)
+ '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.3)
+ vite: 4.5.0(@types/node@20.5.9)
+ vue: 3.3.8(typescript@5.2.2)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@vitejs/plugin-vue@4.4.0(vite@4.4.11)(vue@3.3.8):
+ resolution:
+ {
+ integrity: sha512-xdguqb+VUwiRpSg+nsc2HtbAUSGak25DXYvpQQi4RVU1Xq1uworyoH/md9Rfd8zMmPR/pSghr309QNcftUVseg==,
+ }
+ engines: { node: ^14.18.0 || >=16.0.0 }
+ peerDependencies:
+ vite: ^4.0.0
+ vue: ^3.2.25
+ dependencies:
+ vite: 4.4.11
+ vue: 3.3.8(typescript@5.2.2)
+ dev: true
+
+ /@vitejs/plugin-vue@4.5.0(vite@4.5.0)(vue@3.3.8):
+ resolution:
+ {
+ integrity: sha512-a2WSpP8X8HTEww/U00bU4mX1QpLINNuz/2KMNpLsdu3BzOpak3AGI1CJYBTXcc4SPhaD0eNRUp7IyQK405L5dQ==,
+ }
+ engines: { node: ^14.18.0 || >=16.0.0 }
+ peerDependencies:
+ vite: ^4.0.0 || ^5.0.0
+ vue: ^3.2.25
+ dependencies:
+ vite: 4.5.0(@types/node@20.5.9)
+ vue: 3.3.8(typescript@5.2.2)
+ dev: true
+
+ /@vue-macros/common@1.9.0(vue@3.3.8):
+ resolution:
+ {
+ integrity: sha512-LbfRHDkceuokkLlVuQW9Wq3ZLmRs6KIDPzCjUvvL14HB4GslWdtvBB1suFfNs6VMvh9Zj30cEKF/EAP7QBCZ6Q==,
+ }
+ engines: { node: '>=16.14.0' }
+ peerDependencies:
+ vue: ^2.7.0 || ^3.2.25
+ peerDependenciesMeta:
+ vue:
+ optional: true
+ dependencies:
+ '@babel/types': 7.23.4
+ '@rollup/pluginutils': 5.0.5(rollup@4.5.1)
+ '@vue/compiler-sfc': 3.3.8
+ ast-kit: 0.11.2
+ local-pkg: 0.5.0
+ magic-string-ast: 0.3.0
+ vue: 3.3.8(typescript@5.2.2)
+ transitivePeerDependencies:
+ - rollup
+ dev: true
+
+ /@vue/babel-helper-vue-transform-on@1.1.5:
+ resolution:
+ {
+ integrity: sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w==,
+ }
+ dev: true
+
+ /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.23.3):
+ resolution:
+ {
+ integrity: sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==,
+ }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.3
+ '@babel/helper-module-imports': 7.22.15
+ '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.3)
+ '@babel/template': 7.22.15
+ '@babel/traverse': 7.23.4
+ '@babel/types': 7.23.4
+ '@vue/babel-helper-vue-transform-on': 1.1.5
+ camelcase: 6.3.0
+ html-tags: 3.3.1
+ svg-tags: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@vue/compiler-core@3.3.8:
+ resolution:
+ {
+ integrity: sha512-hN/NNBUECw8SusQvDSqqcVv6gWq8L6iAktUR0UF3vGu2OhzRqcOiAno0FmBJWwxhYEXRlQJT5XnoKsVq1WZx4g==,
+ }
+ dependencies:
+ '@babel/parser': 7.23.4
+ '@vue/shared': 3.3.8
+ estree-walker: 2.0.2
+ source-map-js: 1.0.2
+
+ /@vue/compiler-dom@3.3.8:
+ resolution:
+ {
+ integrity: sha512-+PPtv+p/nWDd0AvJu3w8HS0RIm/C6VGBIRe24b9hSyNWOAPEUosFZ5diwawwP8ip5sJ8n0Pe87TNNNHnvjs0FQ==,
+ }
+ dependencies:
+ '@vue/compiler-core': 3.3.8
+ '@vue/shared': 3.3.8
+
+ /@vue/compiler-sfc@3.3.8:
+ resolution:
+ {
+ integrity: sha512-WMzbUrlTjfYF8joyT84HfwwXo+8WPALuPxhy+BZ6R4Aafls+jDBnSz8PDz60uFhuqFbl3HxRfxvDzrUf3THwpA==,
+ }
+ dependencies:
+ '@babel/parser': 7.23.4
+ '@vue/compiler-core': 3.3.8
+ '@vue/compiler-dom': 3.3.8
+ '@vue/compiler-ssr': 3.3.8
+ '@vue/reactivity-transform': 3.3.8
+ '@vue/shared': 3.3.8
+ estree-walker: 2.0.2
+ magic-string: 0.30.5
+ postcss: 8.4.31
+ source-map-js: 1.0.2
+
+ /@vue/compiler-ssr@3.3.8:
+ resolution:
+ {
+ integrity: sha512-hXCqQL/15kMVDBuoBYpUnSYT8doDNwsjvm3jTefnXr+ytn294ySnT8NlsFHmTgKNjwpuFy7XVV8yTeLtNl/P6w==,
+ }
+ dependencies:
+ '@vue/compiler-dom': 3.3.8
+ '@vue/shared': 3.3.8
+
+ /@vue/devtools-api@6.5.1:
+ resolution:
+ {
+ integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==,
+ }
+ dev: true
+
+ /@vue/reactivity-transform@3.3.8:
+ resolution:
+ {
+ integrity: sha512-49CvBzmZNtcHua0XJ7GdGifM8GOXoUMOX4dD40Y5DxI3R8OUhMlvf2nvgUAcPxaXiV5MQQ1Nwy09ADpnLQUqRw==,
+ }
+ dependencies:
+ '@babel/parser': 7.23.4
+ '@vue/compiler-core': 3.3.8
+ '@vue/shared': 3.3.8
+ estree-walker: 2.0.2
+ magic-string: 0.30.5
+
+ /@vue/reactivity@3.3.8:
+ resolution:
+ {
+ integrity: sha512-ctLWitmFBu6mtddPyOKpHg8+5ahouoTCRtmAHZAXmolDtuZXfjL2T3OJ6DL6ezBPQB1SmMnpzjiWjCiMYmpIuw==,
+ }
+ dependencies:
+ '@vue/shared': 3.3.8
+
+ /@vue/runtime-core@3.3.8:
+ resolution:
+ {
+ integrity: sha512-qurzOlb6q26KWQ/8IShHkMDOuJkQnQcTIp1sdP4I9MbCf9FJeGVRXJFr2mF+6bXh/3Zjr9TDgURXrsCr9bfjUw==,
+ }
+ dependencies:
+ '@vue/reactivity': 3.3.8
+ '@vue/shared': 3.3.8
+
+ /@vue/runtime-dom@3.3.8:
+ resolution:
+ {
+ integrity: sha512-Noy5yM5UIf9UeFoowBVgghyGGPIDPy1Qlqt0yVsUdAVbqI8eeMSsTqBtauaEoT2UFXUk5S64aWVNJN4MJ2vRdA==,
+ }
+ dependencies:
+ '@vue/runtime-core': 3.3.8
+ '@vue/shared': 3.3.8
+ csstype: 3.1.2
+
+ /@vue/server-renderer@3.3.8(vue@3.3.8):
+ resolution:
+ {
+ integrity: sha512-zVCUw7RFskvPuNlPn/8xISbrf0zTWsTSdYTsUTN1ERGGZGVnRxM2QZ3x1OR32+vwkkCm0IW6HmJ49IsPm7ilLg==,
+ }
+ peerDependencies:
+ vue: 3.3.8
+ dependencies:
+ '@vue/compiler-ssr': 3.3.8
+ '@vue/shared': 3.3.8
+ vue: 3.3.8(typescript@5.2.2)
+
+ /@vue/shared@3.3.8:
+ resolution:
+ {
+ integrity: sha512-8PGwybFwM4x8pcfgqEQFy70NaQxASvOC5DJwLQfpArw1UDfUXrJkdxD3BhVTMS+0Lef/TU7YO0Jvr0jJY8T+mw==,
+ }
+
+ /@web3-storage/multipart-parser@1.0.0:
+ resolution:
+ {
+ integrity: sha512-BEO6al7BYqcnfX15W2cnGR+Q566ACXAT9UQykORCWW80lmkpWsnEob6zJS1ZVBKsSJC8+7vJkHwlp+lXG1UCdw==,
+ }
+
+ /@zxing/text-encoding@0.9.0:
+ resolution:
+ {
+ integrity: sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==,
+ }
+ requiresBuild: true
+ optional: true
+
+ /abab@2.0.6:
+ resolution:
+ {
+ integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==,
+ }
+ dev: true
+
+ /abbrev@1.1.1:
+ resolution:
+ {
+ integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==,
+ }
+ dev: true
+
+ /abbrev@2.0.0:
+ resolution:
+ {
+ integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==,
+ }
+ engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 }
+ dev: true
+
+ /abort-controller@3.0.0:
+ resolution:
+ {
+ integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==,
+ }
+ engines: { node: '>=6.5' }
+ dependencies:
+ event-target-shim: 5.0.1
+
+ /accepts@1.3.8:
+ resolution:
+ {
+ integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==,
+ }
+ engines: { node: '>= 0.6' }
+ dependencies:
+ mime-types: 2.1.35
+ negotiator: 0.6.3
+
+ /acorn-globals@7.0.1:
+ resolution:
+ {
+ integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==,
+ }
+ dependencies:
+ acorn: 8.10.0
+ acorn-walk: 8.2.0
+ dev: true
+
+ /acorn-jsx@5.3.2(acorn@8.10.0):
+ resolution:
+ {
+ integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==,
+ }
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ dependencies:
+ acorn: 8.10.0
+ dev: true
+
+ /acorn-walk@8.2.0:
+ resolution:
+ {
+ integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==,
+ }
+ engines: { node: '>=0.4.0' }
+ dev: true
+
+ /acorn@8.10.0:
+ resolution:
+ {
+ integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==,
+ }
+ engines: { node: '>=0.4.0' }
+ hasBin: true
+ dev: true
+
+ /acorn@8.11.2:
+ resolution:
+ {
+ integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==,
+ }
+ engines: { node: '>=0.4.0' }
+ hasBin: true
+ dev: true
+
+ /agent-base@6.0.2:
+ resolution:
+ {
+ integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==,
+ }
+ engines: { node: '>= 6.0.0' }
+ dependencies:
+ debug: 4.3.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /agent-base@7.1.0:
+ resolution:
+ {
+ integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==,
+ }
+ engines: { node: '>= 14' }
+ dependencies:
+ debug: 4.3.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /aggregate-error@3.1.0:
+ resolution:
+ {
+ integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ clean-stack: 2.2.0
+ indent-string: 4.0.0
+ dev: true
+
+ /ahocorasick@1.0.2:
+ resolution:
+ {
+ integrity: sha512-hCOfMzbFx5IDutmWLAt6MZwOUjIfSM9G9FyVxytmE4Rs/5YDPWQrD/+IR1w+FweD9H2oOZEnv36TmkjhNURBVA==,
+ }
+ dev: true
+
+ /ajv@6.12.6:
+ resolution:
+ {
+ integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==,
+ }
+ dependencies:
+ fast-deep-equal: 3.1.3
+ fast-json-stable-stringify: 2.1.0
+ json-schema-traverse: 0.4.1
+ uri-js: 4.4.1
+ dev: true
+
+ /ansi-colors@4.1.3:
+ resolution:
+ {
+ integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==,
+ }
+ engines: { node: '>=6' }
+ dev: true
+
+ /ansi-escapes@4.3.2:
+ resolution:
+ {
+ integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ type-fest: 0.21.3
+ dev: true
+
+ /ansi-escapes@5.0.0:
+ resolution:
+ {
+ integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==,
+ }
+ engines: { node: '>=12' }
+ dependencies:
+ type-fest: 1.4.0
+ dev: false
+
+ /ansi-regex@5.0.1:
+ resolution:
+ {
+ integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /ansi-regex@6.0.1:
+ resolution:
+ {
+ integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==,
+ }
+ engines: { node: '>=12' }
+
+ /ansi-styles@3.2.1:
+ resolution:
+ {
+ integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==,
+ }
+ engines: { node: '>=4' }
+ dependencies:
+ color-convert: 1.9.3
+
+ /ansi-styles@4.3.0:
+ resolution:
+ {
+ integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ color-convert: 2.0.1
+ dev: true
+
+ /ansi-styles@5.2.0:
+ resolution:
+ {
+ integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==,
+ }
+ engines: { node: '>=10' }
+ dev: true
+
+ /ansi-styles@6.2.1:
+ resolution:
+ {
+ integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==,
+ }
+ engines: { node: '>=12' }
+
+ /any-promise@1.3.0:
+ resolution:
+ {
+ integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==,
+ }
+ dev: true
+
+ /anymatch@3.1.3:
+ resolution:
+ {
+ integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==,
+ }
+ engines: { node: '>= 8' }
+ dependencies:
+ normalize-path: 3.0.0
+ picomatch: 2.3.1
+
+ /aproba@2.0.0:
+ resolution:
+ {
+ integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==,
+ }
+ dev: true
+
+ /arch@2.2.0:
+ resolution:
+ {
+ integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==,
+ }
+ dev: true
+
+ /archiver-utils@4.0.1:
+ resolution:
+ {
+ integrity: sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg==,
+ }
+ engines: { node: '>= 12.0.0' }
+ dependencies:
+ glob: 8.1.0
+ graceful-fs: 4.2.11
+ lazystream: 1.0.1
+ lodash: 4.17.21
+ normalize-path: 3.0.0
+ readable-stream: 3.6.2
+ dev: true
+
+ /archiver@6.0.1:
+ resolution:
+ {
+ integrity: sha512-CXGy4poOLBKptiZH//VlWdFuUC1RESbdZjGjILwBuZ73P7WkAUN0htfSfBq/7k6FRFlpu7bg4JOkj1vU9G6jcQ==,
+ }
+ engines: { node: '>= 12.0.0' }
+ dependencies:
+ archiver-utils: 4.0.1
+ async: 3.2.5
+ buffer-crc32: 0.2.13
+ readable-stream: 3.6.2
+ readdir-glob: 1.1.3
+ tar-stream: 3.1.6
+ zip-stream: 5.0.1
+ dev: true
+
+ /are-we-there-yet@2.0.0:
+ resolution:
+ {
+ integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==,
+ }
+ engines: { node: '>=10' }
+ dependencies:
+ delegates: 1.0.0
+ readable-stream: 3.6.2
+ dev: true
+
+ /arg@5.0.2:
+ resolution:
+ {
+ integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==,
+ }
+ dev: true
+
+ /argparse@1.0.10:
+ resolution:
+ {
+ integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==,
+ }
+ dependencies:
+ sprintf-js: 1.0.3
+ dev: true
+
+ /argparse@2.0.1:
+ resolution:
+ {
+ integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==,
+ }
+ dev: true
+
+ /aria-query@5.1.3:
+ resolution:
+ {
+ integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==,
+ }
+ dependencies:
+ deep-equal: 2.1.0
+ dev: true
+
+ /aria-query@5.3.0:
+ resolution:
+ {
+ integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==,
+ }
+ dependencies:
+ dequal: 2.0.3
+ dev: true
+
+ /array-buffer-byte-length@1.0.0:
+ resolution:
+ {
+ integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==,
+ }
+ dependencies:
+ call-bind: 1.0.2
+ is-array-buffer: 3.0.2
+ dev: true
+
+ /array-flatten@1.1.1:
+ resolution:
+ {
+ integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==,
+ }
+
+ /array-includes@3.1.7:
+ resolution:
+ {
+ integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ es-abstract: 1.22.1
+ get-intrinsic: 1.2.1
+ is-string: 1.0.7
+ dev: true
+
+ /array-union@2.1.0:
+ resolution:
+ {
+ integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /array.prototype.findlastindex@1.2.3:
+ resolution:
+ {
+ integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ es-abstract: 1.22.1
+ es-shim-unscopables: 1.0.0
+ get-intrinsic: 1.2.1
+ dev: true
+
+ /array.prototype.flat@1.3.1:
+ resolution:
+ {
+ integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ es-abstract: 1.22.1
+ es-shim-unscopables: 1.0.0
+ dev: true
+
+ /array.prototype.flatmap@1.3.1:
+ resolution:
+ {
+ integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ es-abstract: 1.22.1
+ es-shim-unscopables: 1.0.0
+ dev: true
+
+ /array.prototype.tosorted@1.1.1:
+ resolution:
+ {
+ integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==,
+ }
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ es-abstract: 1.22.1
+ es-shim-unscopables: 1.0.0
+ get-intrinsic: 1.2.1
+ dev: true
+
+ /arraybuffer.prototype.slice@1.0.1:
+ resolution:
+ {
+ integrity: sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ array-buffer-byte-length: 1.0.0
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ get-intrinsic: 1.2.1
+ is-array-buffer: 3.0.2
+ is-shared-array-buffer: 1.0.2
+ dev: true
+
+ /ast-kit@0.11.2:
+ resolution:
+ {
+ integrity: sha512-Q0DjXK4ApbVoIf9GLyCo252tUH44iTnD/hiJ2TQaJeydYWSpKk0sI34+WMel8S9Wt5pbLgG02oJ+gkgX5DV3sQ==,
+ }
+ engines: { node: '>=16.14.0' }
+ dependencies:
+ '@babel/parser': 7.23.4
+ '@rollup/pluginutils': 5.0.5(rollup@4.5.1)
+ pathe: 1.1.1
+ transitivePeerDependencies:
+ - rollup
+ dev: true
+
+ /ast-kit@0.9.5:
+ resolution:
+ {
+ integrity: sha512-kbL7ERlqjXubdDd+szuwdlQ1xUxEz9mCz1+m07ftNVStgwRb2RWw+U6oKo08PAvOishMxiqz1mlJyLl8yQx2Qg==,
+ }
+ engines: { node: '>=16.14.0' }
+ dependencies:
+ '@babel/parser': 7.23.4
+ '@rollup/pluginutils': 5.0.5(rollup@4.5.1)
+ pathe: 1.1.1
+ transitivePeerDependencies:
+ - rollup
+ dev: true
+
+ /ast-types-flow@0.0.7:
+ resolution:
+ {
+ integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==,
+ }
+ dev: true
+
+ /ast-walker-scope@0.5.0:
+ resolution:
+ {
+ integrity: sha512-NsyHMxBh4dmdEHjBo1/TBZvCKxffmZxRYhmclfu0PP6Aftre47jOHYaYaNqJcV0bxihxFXhDkzLHUwHc0ocd0Q==,
+ }
+ engines: { node: '>=16.14.0' }
+ dependencies:
+ '@babel/parser': 7.23.4
+ ast-kit: 0.9.5
+ transitivePeerDependencies:
+ - rollup
+ dev: true
+
+ /astring@1.8.6:
+ resolution:
+ {
+ integrity: sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==,
+ }
+ hasBin: true
+ dev: true
+
+ /async-sema@3.1.1:
+ resolution:
+ {
+ integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==,
+ }
+ dev: true
+
+ /async@3.2.5:
+ resolution:
+ {
+ integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==,
+ }
+ dev: true
+
+ /asynciterator.prototype@1.0.0:
+ resolution:
+ {
+ integrity: sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==,
+ }
+ dependencies:
+ has-symbols: 1.0.3
+ dev: true
+
+ /asynckit@0.4.0:
+ resolution:
+ {
+ integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==,
+ }
+ dev: true
+
+ /autoprefixer@10.4.16(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==,
+ }
+ engines: { node: ^10 || ^12 || >=14 }
+ hasBin: true
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ browserslist: 4.21.10
+ caniuse-lite: 1.0.30001564
+ fraction.js: 4.3.7
+ normalize-range: 0.1.2
+ picocolors: 1.0.0
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /available-typed-arrays@1.0.5:
+ resolution:
+ {
+ integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==,
+ }
+ engines: { node: '>= 0.4' }
+
+ /axe-core@4.7.2:
+ resolution:
+ {
+ integrity: sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==,
+ }
+ engines: { node: '>=4' }
+ dev: true
+
+ /axobject-query@3.2.1:
+ resolution:
+ {
+ integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==,
+ }
+ dependencies:
+ dequal: 2.0.3
+ dev: true
+
+ /b4a@1.6.4:
+ resolution:
+ {
+ integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==,
+ }
+ dev: true
+
+ /babel-jest@29.6.4(@babel/core@7.22.15):
+ resolution:
+ {
+ integrity: sha512-meLj23UlSLddj6PC+YTOFRgDAtjnZom8w/ACsrx0gtPtv5cJZk0A5Unk5bV4wixD7XaPCN1fQvpww8czkZURmw==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ peerDependencies:
+ '@babel/core': ^7.8.0
+ dependencies:
+ '@babel/core': 7.22.15
+ '@jest/transform': 29.6.4
+ '@types/babel__core': 7.20.1
+ babel-plugin-istanbul: 6.1.1
+ babel-preset-jest: 29.6.3(@babel/core@7.22.15)
+ chalk: 4.1.2
+ graceful-fs: 4.2.11
+ slash: 3.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /babel-plugin-istanbul@6.1.1:
+ resolution:
+ {
+ integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ '@babel/helper-plugin-utils': 7.22.5
+ '@istanbuljs/load-nyc-config': 1.1.0
+ '@istanbuljs/schema': 0.1.3
+ istanbul-lib-instrument: 5.2.1
+ test-exclude: 6.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /babel-plugin-jest-hoist@29.6.3:
+ resolution:
+ {
+ integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ '@babel/template': 7.22.15
+ '@babel/types': 7.23.4
+ '@types/babel__core': 7.20.1
+ '@types/babel__traverse': 7.20.1
+ dev: true
+
+ /babel-preset-current-node-syntax@1.0.1(@babel/core@7.22.15):
+ resolution:
+ {
+ integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==,
+ }
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.15)
+ '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.22.15)
+ '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.15)
+ '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.15)
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.15)
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.15)
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.15)
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.15)
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.15)
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.15)
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.15)
+ '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.15)
+ dev: true
+
+ /babel-preset-jest@29.6.3(@babel/core@7.22.15):
+ resolution:
+ {
+ integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.22.15
+ babel-plugin-jest-hoist: 29.6.3
+ babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.15)
+ dev: true
+
+ /bail@2.0.2:
+ resolution:
+ {
+ integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==,
+ }
+ dev: true
+
+ /balanced-match@1.0.2:
+ resolution:
+ {
+ integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==,
+ }
+ dev: true
+
+ /base64-js@1.5.1:
+ resolution:
+ {
+ integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==,
+ }
+ dev: true
+
+ /basic-auth@2.0.1:
+ resolution:
+ {
+ integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==,
+ }
+ engines: { node: '>= 0.8' }
+ dependencies:
+ safe-buffer: 5.1.2
+
+ /big-integer@1.6.51:
+ resolution:
+ {
+ integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==,
+ }
+ engines: { node: '>=0.6' }
+ dev: true
+
+ /binary-extensions@2.2.0:
+ resolution:
+ {
+ integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==,
+ }
+ engines: { node: '>=8' }
+
+ /bindings@1.5.0:
+ resolution:
+ {
+ integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==,
+ }
+ dependencies:
+ file-uri-to-path: 1.0.0
+ dev: true
+
+ /birpc@0.2.14:
+ resolution:
+ {
+ integrity: sha512-37FHE8rqsYM5JEKCnXFyHpBCzvgHEExwVVTq+nUmloInU7l8ezD1TpOhKpS8oe1DTYFqEK27rFZVKG43oTqXRA==,
+ }
+ dev: true
+
+ /bl@4.1.0:
+ resolution:
+ {
+ integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==,
+ }
+ dependencies:
+ buffer: 5.7.1
+ inherits: 2.0.4
+ readable-stream: 3.6.2
+ dev: true
+
+ /body-parser@1.20.1:
+ resolution:
+ {
+ integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==,
+ }
+ engines: { node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16 }
+ dependencies:
+ bytes: 3.1.2
+ content-type: 1.0.5
+ debug: 2.6.9
+ depd: 2.0.0
+ destroy: 1.2.0
+ http-errors: 2.0.0
+ iconv-lite: 0.4.24
+ on-finished: 2.4.1
+ qs: 6.11.0
+ raw-body: 2.5.1
+ type-is: 1.6.18
+ unpipe: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ /boolbase@1.0.0:
+ resolution:
+ {
+ integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==,
+ }
+ dev: true
+
+ /bplist-parser@0.2.0:
+ resolution:
+ {
+ integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==,
+ }
+ engines: { node: '>= 5.10.0' }
+ dependencies:
+ big-integer: 1.6.51
+ dev: true
+
+ /brace-expansion@1.1.11:
+ resolution:
+ {
+ integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==,
+ }
+ dependencies:
+ balanced-match: 1.0.2
+ concat-map: 0.0.1
+ dev: true
+
+ /brace-expansion@2.0.1:
+ resolution:
+ {
+ integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==,
+ }
+ dependencies:
+ balanced-match: 1.0.2
+ dev: true
+
+ /braces@3.0.2:
+ resolution:
+ {
+ integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ fill-range: 7.0.1
+
+ /browserify-zlib@0.1.4:
+ resolution:
+ {
+ integrity: sha512-19OEpq7vWgsH6WkvkBJQDFvJS1uPcbFOQ4v9CU839dO+ZZXUZO6XpE6hNCqvlIIj+4fZvRiJ6DsAQ382GwiyTQ==,
+ }
+ dependencies:
+ pako: 0.2.9
+ dev: true
+
+ /browserslist@4.21.10:
+ resolution:
+ {
+ integrity: sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==,
+ }
+ engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 }
+ hasBin: true
+ dependencies:
+ caniuse-lite: 1.0.30001564
+ electron-to-chromium: 1.4.508
+ node-releases: 2.0.13
+ update-browserslist-db: 1.0.11(browserslist@4.21.10)
+
+ /bser@2.1.1:
+ resolution:
+ {
+ integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==,
+ }
+ dependencies:
+ node-int64: 0.4.0
+ dev: true
+
+ /buffer-crc32@0.2.13:
+ resolution:
+ {
+ integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==,
+ }
+ dev: true
+
+ /buffer-from@1.1.2:
+ resolution:
+ {
+ integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==,
+ }
+
+ /buffer@5.7.1:
+ resolution:
+ {
+ integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==,
+ }
+ dependencies:
+ base64-js: 1.5.1
+ ieee754: 1.2.1
+ dev: true
+
+ /builtin-modules@3.3.0:
+ resolution:
+ {
+ integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==,
+ }
+ engines: { node: '>=6' }
+ dev: true
+
+ /builtins@5.0.1:
+ resolution:
+ {
+ integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==,
+ }
+ dependencies:
+ semver: 7.5.4
+ dev: true
+
+ /bundle-name@3.0.0:
+ resolution:
+ {
+ integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==,
+ }
+ engines: { node: '>=12' }
+ dependencies:
+ run-applescript: 5.0.0
+ dev: true
+
+ /bundle-require@4.0.1(esbuild@0.18.20):
+ resolution:
+ {
+ integrity: sha512-9NQkRHlNdNpDBGmLpngF3EFDcwodhMUuLz9PaWYciVcQF9SE4LFjM2DB/xV1Li5JiuDMv7ZUWuC3rGbqR0MAXQ==,
+ }
+ engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
+ peerDependencies:
+ esbuild: '>=0.17'
+ dependencies:
+ esbuild: 0.18.20
+ load-tsconfig: 0.2.5
+ dev: true
+
+ /busboy@1.6.0:
+ resolution:
+ {
+ integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==,
+ }
+ engines: { node: '>=10.16.0' }
+ dependencies:
+ streamsearch: 1.1.0
+
+ /bytes@3.0.0:
+ resolution:
+ {
+ integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==,
+ }
+ engines: { node: '>= 0.8' }
+
+ /bytes@3.1.2:
+ resolution:
+ {
+ integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==,
+ }
+ engines: { node: '>= 0.8' }
+
+ /c12@1.5.1:
+ resolution:
+ {
+ integrity: sha512-BWZRJgDEveT8uI+cliCwvYSSSSvb4xKoiiu5S0jaDbKBopQLQF7E+bq9xKk1pTcG+mUa3yXuFO7bD9d8Lr9Xxg==,
+ }
+ dependencies:
+ chokidar: 3.5.3
+ defu: 6.1.3
+ dotenv: 16.3.1
+ giget: 1.1.3
+ jiti: 1.21.0
+ mlly: 1.4.2
+ ohash: 1.1.3
+ pathe: 1.1.1
+ perfect-debounce: 1.0.0
+ pkg-types: 1.0.3
+ rc9: 2.1.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /cac@6.7.14:
+ resolution:
+ {
+ integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /cacache@17.1.4:
+ resolution:
+ {
+ integrity: sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==,
+ }
+ engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 }
+ dependencies:
+ '@npmcli/fs': 3.1.0
+ fs-minipass: 3.0.3
+ glob: 10.3.10
+ lru-cache: 7.18.3
+ minipass: 7.0.4
+ minipass-collect: 1.0.2
+ minipass-flush: 1.0.5
+ minipass-pipeline: 1.2.4
+ p-map: 4.0.0
+ ssri: 10.0.5
+ tar: 6.2.0
+ unique-filename: 3.0.0
+ dev: true
+
+ /cacache@18.0.0:
+ resolution:
+ {
+ integrity: sha512-I7mVOPl3PUCeRub1U8YoGz2Lqv9WOBpobZ8RyWFXmReuILz+3OAyTa5oH3QPdtKZD7N0Yk00aLfzn0qvp8dZ1w==,
+ }
+ engines: { node: ^16.14.0 || >=18.0.0 }
+ dependencies:
+ '@npmcli/fs': 3.1.0
+ fs-minipass: 3.0.3
+ glob: 10.3.10
+ lru-cache: 10.1.0
+ minipass: 7.0.4
+ minipass-collect: 1.0.2
+ minipass-flush: 1.0.5
+ minipass-pipeline: 1.2.4
+ p-map: 4.0.0
+ ssri: 10.0.5
+ tar: 6.2.0
+ unique-filename: 3.0.0
+ dev: true
+
+ /call-bind@1.0.2:
+ resolution:
+ {
+ integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==,
+ }
+ dependencies:
+ function-bind: 1.1.1
+ get-intrinsic: 1.1.3
+
+ /callsites@3.1.0:
+ resolution:
+ {
+ integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==,
+ }
+ engines: { node: '>=6' }
+ dev: true
+
+ /camelcase@5.3.1:
+ resolution:
+ {
+ integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==,
+ }
+ engines: { node: '>=6' }
+ dev: true
+
+ /camelcase@6.3.0:
+ resolution:
+ {
+ integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==,
+ }
+ engines: { node: '>=10' }
+ dev: true
+
+ /caniuse-api@3.0.0:
+ resolution:
+ {
+ integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==,
+ }
+ dependencies:
+ browserslist: 4.21.10
+ caniuse-lite: 1.0.30001564
+ lodash.memoize: 4.1.2
+ lodash.uniq: 4.5.0
+ dev: true
+
+ /caniuse-lite@1.0.30001527:
+ resolution:
+ {
+ integrity: sha512-YkJi7RwPgWtXVSgK4lG9AHH57nSzvvOp9MesgXmw4Q7n0C3H04L0foHqfxcmSAm5AcWb8dW9AYj2tR7/5GnddQ==,
+ }
+ dev: true
+
+ /caniuse-lite@1.0.30001564:
+ resolution:
+ {
+ integrity: sha512-DqAOf+rhof+6GVx1y+xzbFPeOumfQnhYzVnZD6LAXijR77yPtm9mfOcqOnT3mpnJiZVT+kwLAFnRlZcIz+c6bg==,
+ }
+
+ /ccount@2.0.1:
+ resolution:
+ {
+ integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==,
+ }
+ dev: true
+
+ /chalk@2.4.2:
+ resolution:
+ {
+ integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==,
+ }
+ engines: { node: '>=4' }
+ dependencies:
+ ansi-styles: 3.2.1
+ escape-string-regexp: 1.0.5
+ supports-color: 5.5.0
+
+ /chalk@3.0.0:
+ resolution:
+ {
+ integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
+ dev: true
+
+ /chalk@4.1.2:
+ resolution:
+ {
+ integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==,
+ }
+ engines: { node: '>=10' }
+ dependencies:
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
+ dev: true
+
+ /chalk@5.3.0:
+ resolution:
+ {
+ integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==,
+ }
+ engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 }
+
+ /char-regex@1.0.2:
+ resolution:
+ {
+ integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==,
+ }
+ engines: { node: '>=10' }
+ dev: true
+
+ /character-entities-html4@2.1.0:
+ resolution:
+ {
+ integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==,
+ }
+ dev: true
+
+ /character-entities-legacy@3.0.0:
+ resolution:
+ {
+ integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==,
+ }
+ dev: true
+
+ /character-entities@2.0.2:
+ resolution:
+ {
+ integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==,
+ }
+ dev: true
+
+ /character-reference-invalid@2.0.1:
+ resolution:
+ {
+ integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==,
+ }
+ dev: true
+
+ /chokidar@3.5.3:
+ resolution:
+ {
+ integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==,
+ }
+ engines: { node: '>= 8.10.0' }
+ dependencies:
+ anymatch: 3.1.3
+ braces: 3.0.2
+ glob-parent: 5.1.2
+ is-binary-path: 2.1.0
+ is-glob: 4.0.3
+ normalize-path: 3.0.0
+ readdirp: 3.6.0
+ optionalDependencies:
+ fsevents: 2.3.3
+
+ /chownr@1.1.4:
+ resolution:
+ {
+ integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==,
+ }
+ dev: true
+
+ /chownr@2.0.0:
+ resolution:
+ {
+ integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==,
+ }
+ engines: { node: '>=10' }
+ dev: true
+
+ /ci-info@3.8.0:
+ resolution:
+ {
+ integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /ci-info@4.0.0:
+ resolution:
+ {
+ integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /citty@0.1.5:
+ resolution:
+ {
+ integrity: sha512-AS7n5NSc0OQVMV9v6wt3ByujNIrne0/cTjiC2MYqhvao57VNfiuVksTSr2p17nVOhEr2KtqiAkGwHcgMC/qUuQ==,
+ }
+ dependencies:
+ consola: 3.2.3
+ dev: true
+
+ /cjs-module-lexer@1.2.3:
+ resolution:
+ {
+ integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==,
+ }
+ dev: true
+
+ /clean-regexp@1.0.0:
+ resolution:
+ {
+ integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==,
+ }
+ engines: { node: '>=4' }
+ dependencies:
+ escape-string-regexp: 1.0.5
+ dev: true
+
+ /clean-stack@2.2.0:
+ resolution:
+ {
+ integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==,
+ }
+ engines: { node: '>=6' }
+ dev: true
+
+ /clear@0.1.0:
+ resolution:
+ {
+ integrity: sha512-qMjRnoL+JDPJHeLePZJuao6+8orzHMGP04A8CdwCNsKhRbOnKRjefxONR7bwILT3MHecxKBjHkKL/tkZ8r4Uzw==,
+ }
+ dev: true
+
+ /cli-cursor@3.1.0:
+ resolution:
+ {
+ integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ restore-cursor: 3.1.0
+ dev: true
+
+ /cli-cursor@4.0.0:
+ resolution:
+ {
+ integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==,
+ }
+ engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
+ dependencies:
+ restore-cursor: 4.0.0
+ dev: false
+
+ /cli-spinners@2.9.1:
+ resolution:
+ {
+ integrity: sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==,
+ }
+ engines: { node: '>=6' }
+ dev: true
+
+ /cli-truncate@3.1.0:
+ resolution:
+ {
+ integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==,
+ }
+ engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
+ dependencies:
+ slice-ansi: 5.0.0
+ string-width: 5.1.2
+ dev: false
+
+ /client-only@0.0.1:
+ resolution:
+ {
+ integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==,
+ }
+
+ /clipboardy@3.0.0:
+ resolution:
+ {
+ integrity: sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==,
+ }
+ engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
+ dependencies:
+ arch: 2.2.0
+ execa: 5.1.1
+ is-wsl: 2.2.0
+ dev: true
+
+ /cliui@7.0.4:
+ resolution:
+ {
+ integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==,
+ }
+ dependencies:
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wrap-ansi: 7.0.0
+ dev: true
+
+ /cliui@8.0.1:
+ resolution:
+ {
+ integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==,
+ }
+ engines: { node: '>=12' }
+ dependencies:
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wrap-ansi: 7.0.0
+ dev: true
+
+ /clone@1.0.4:
+ resolution:
+ {
+ integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==,
+ }
+ engines: { node: '>=0.8' }
+ dev: true
+
+ /cluster-key-slot@1.1.2:
+ resolution:
+ {
+ integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==,
+ }
+ engines: { node: '>=0.10.0' }
+ dev: true
+
+ /co@4.6.0:
+ resolution:
+ {
+ integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==,
+ }
+ engines: { iojs: '>= 1.0.0', node: '>= 0.12.0' }
+ dev: true
+
+ /code-red@1.0.4:
+ resolution:
+ {
+ integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==,
+ }
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.4.15
+ '@types/estree': 1.0.2
+ acorn: 8.10.0
+ estree-walker: 3.0.3
+ periscopic: 3.1.0
+ dev: true
+
+ /collect-v8-coverage@1.0.2:
+ resolution:
+ {
+ integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==,
+ }
+ dev: true
+
+ /color-convert@1.9.3:
+ resolution:
+ {
+ integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==,
+ }
+ dependencies:
+ color-name: 1.1.3
+
+ /color-convert@2.0.1:
+ resolution:
+ {
+ integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==,
+ }
+ engines: { node: '>=7.0.0' }
+ dependencies:
+ color-name: 1.1.4
+ dev: true
+
+ /color-name@1.1.3:
+ resolution:
+ {
+ integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==,
+ }
+
+ /color-name@1.1.4:
+ resolution:
+ {
+ integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==,
+ }
+ dev: true
+
+ /color-support@1.1.3:
+ resolution:
+ {
+ integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==,
+ }
+ hasBin: true
+ dev: true
+
+ /colord@2.9.3:
+ resolution:
+ {
+ integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==,
+ }
+ dev: true
+
+ /colorette@2.0.20:
+ resolution:
+ {
+ integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==,
+ }
+
+ /combined-stream@1.0.8:
+ resolution:
+ {
+ integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==,
+ }
+ engines: { node: '>= 0.8' }
+ dependencies:
+ delayed-stream: 1.0.0
+ dev: true
+
+ /comma-separated-tokens@2.0.3:
+ resolution:
+ {
+ integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==,
+ }
+ dev: true
+
+ /commander@11.0.0:
+ resolution:
+ {
+ integrity: sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==,
+ }
+ engines: { node: '>=16' }
+ dev: false
+
+ /commander@2.20.3:
+ resolution:
+ {
+ integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==,
+ }
+ dev: true
+
+ /commander@4.1.1:
+ resolution:
+ {
+ integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==,
+ }
+ engines: { node: '>= 6' }
+ dev: true
+
+ /commander@7.2.0:
+ resolution:
+ {
+ integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==,
+ }
+ engines: { node: '>= 10' }
+ dev: true
+
+ /commander@8.3.0:
+ resolution:
+ {
+ integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==,
+ }
+ engines: { node: '>= 12' }
+ dev: true
+
+ /commondir@1.0.1:
+ resolution:
+ {
+ integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==,
+ }
+ dev: true
+
+ /compress-commons@5.0.1:
+ resolution:
+ {
+ integrity: sha512-MPh//1cERdLtqwO3pOFLeXtpuai0Y2WCd5AhtKxznqM7WtaMYaOEMSgn45d9D10sIHSfIKE603HlOp8OPGrvag==,
+ }
+ engines: { node: '>= 12.0.0' }
+ dependencies:
+ crc-32: 1.2.2
+ crc32-stream: 5.0.0
+ normalize-path: 3.0.0
+ readable-stream: 3.6.2
+ dev: true
+
+ /compressible@2.0.18:
+ resolution:
+ {
+ integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==,
+ }
+ engines: { node: '>= 0.6' }
+ dependencies:
+ mime-db: 1.52.0
+
+ /compression@1.7.4:
+ resolution:
+ {
+ integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==,
+ }
+ engines: { node: '>= 0.8.0' }
+ dependencies:
+ accepts: 1.3.8
+ bytes: 3.0.0
+ compressible: 2.0.18
+ debug: 2.6.9
+ on-headers: 1.0.2
+ safe-buffer: 5.1.2
+ vary: 1.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ /concat-map@0.0.1:
+ resolution:
+ {
+ integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==,
+ }
+ dev: true
+
+ /consola@3.2.3:
+ resolution:
+ {
+ integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==,
+ }
+ engines: { node: ^14.18.0 || >=16.10.0 }
+ dev: true
+
+ /console-control-strings@1.1.0:
+ resolution:
+ {
+ integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==,
+ }
+ dev: true
+
+ /content-disposition@0.5.4:
+ resolution:
+ {
+ integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==,
+ }
+ engines: { node: '>= 0.6' }
+ dependencies:
+ safe-buffer: 5.2.1
+
+ /content-type@1.0.5:
+ resolution:
+ {
+ integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==,
+ }
+ engines: { node: '>= 0.6' }
+
+ /convert-source-map@1.9.0:
+ resolution:
+ {
+ integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==,
+ }
+
+ /convert-source-map@2.0.0:
+ resolution:
+ {
+ integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==,
+ }
+ dev: true
+
+ /cookie-es@1.0.0:
+ resolution:
+ {
+ integrity: sha512-mWYvfOLrfEc996hlKcdABeIiPHUPC6DM2QYZdGGOvhOTbA3tjm2eBwqlJpoFdjC89NI4Qt6h0Pu06Mp+1Pj5OQ==,
+ }
+ dev: true
+
+ /cookie-signature@1.0.6:
+ resolution:
+ {
+ integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==,
+ }
+
+ /cookie-signature@1.2.1:
+ resolution:
+ {
+ integrity: sha512-78KWk9T26NhzXtuL26cIJ8/qNHANyJ/ZYrmEXFzUmhZdjpBv+DlWlOANRTGBt48YcyslsLrj0bMLFTmXvLRCOw==,
+ }
+ engines: { node: '>=6.6.0' }
+
+ /cookie@0.4.2:
+ resolution:
+ {
+ integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==,
+ }
+ engines: { node: '>= 0.6' }
+
+ /cookie@0.5.0:
+ resolution:
+ {
+ integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==,
+ }
+ engines: { node: '>= 0.6' }
+
+ /copyfiles@2.4.1:
+ resolution:
+ {
+ integrity: sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg==,
+ }
+ hasBin: true
+ dependencies:
+ glob: 7.2.3
+ minimatch: 3.1.2
+ mkdirp: 1.0.4
+ noms: 0.0.0
+ through2: 2.0.5
+ untildify: 4.0.0
+ yargs: 16.2.0
+ dev: true
+
+ /core-util-is@1.0.3:
+ resolution:
+ {
+ integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==,
+ }
+ dev: true
+
+ /crc-32@1.2.2:
+ resolution:
+ {
+ integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==,
+ }
+ engines: { node: '>=0.8' }
+ hasBin: true
+ dev: true
+
+ /crc32-stream@5.0.0:
+ resolution:
+ {
+ integrity: sha512-B0EPa1UK+qnpBZpG+7FgPCu0J2ETLpXq09o9BkLkEAhdB6Z61Qo4pJ3JYu0c+Qi+/SAL7QThqnzS06pmSSyZaw==,
+ }
+ engines: { node: '>= 12.0.0' }
+ dependencies:
+ crc-32: 1.2.2
+ readable-stream: 3.6.2
+ dev: true
+
+ /create-require@1.1.1:
+ resolution:
+ {
+ integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==,
+ }
+ dev: true
+
+ /cross-spawn@7.0.3:
+ resolution:
+ {
+ integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==,
+ }
+ engines: { node: '>= 8' }
+ dependencies:
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
+
+ /css-declaration-sorter@6.4.1(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==,
+ }
+ engines: { node: ^10 || ^12 || >=14 }
+ peerDependencies:
+ postcss: ^8.0.9
+ dependencies:
+ postcss: 8.4.31
+ dev: true
+
+ /css-select@5.1.0:
+ resolution:
+ {
+ integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==,
+ }
+ dependencies:
+ boolbase: 1.0.0
+ css-what: 6.1.0
+ domhandler: 5.0.3
+ domutils: 3.1.0
+ nth-check: 2.1.1
+ dev: true
+
+ /css-tree@2.2.1:
+ resolution:
+ {
+ integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==,
+ }
+ engines: { node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0' }
+ dependencies:
+ mdn-data: 2.0.28
+ source-map-js: 1.0.2
+ dev: true
+
+ /css-tree@2.3.1:
+ resolution:
+ {
+ integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==,
+ }
+ engines: { node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0 }
+ dependencies:
+ mdn-data: 2.0.30
+ source-map-js: 1.0.2
+ dev: true
+
+ /css-what@6.1.0:
+ resolution:
+ {
+ integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==,
+ }
+ engines: { node: '>= 6' }
+ dev: true
+
+ /css.escape@1.5.1:
+ resolution:
+ {
+ integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==,
+ }
+ dev: true
+
+ /cssesc@3.0.0:
+ resolution:
+ {
+ integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==,
+ }
+ engines: { node: '>=4' }
+ hasBin: true
+ dev: true
+
+ /cssnano-preset-default@6.0.1(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-7VzyFZ5zEB1+l1nToKyrRkuaJIx0zi/1npjvZfbBwbtNTzhLtlvYraK/7/uqmX2Wb2aQtd983uuGw79jAjLSuQ==,
+ }
+ engines: { node: ^14 || ^16 || >=18.0 }
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ css-declaration-sorter: 6.4.1(postcss@8.4.31)
+ cssnano-utils: 4.0.0(postcss@8.4.31)
+ postcss: 8.4.31
+ postcss-calc: 9.0.1(postcss@8.4.31)
+ postcss-colormin: 6.0.0(postcss@8.4.31)
+ postcss-convert-values: 6.0.0(postcss@8.4.31)
+ postcss-discard-comments: 6.0.0(postcss@8.4.31)
+ postcss-discard-duplicates: 6.0.0(postcss@8.4.31)
+ postcss-discard-empty: 6.0.0(postcss@8.4.31)
+ postcss-discard-overridden: 6.0.0(postcss@8.4.31)
+ postcss-merge-longhand: 6.0.0(postcss@8.4.31)
+ postcss-merge-rules: 6.0.1(postcss@8.4.31)
+ postcss-minify-font-values: 6.0.0(postcss@8.4.31)
+ postcss-minify-gradients: 6.0.0(postcss@8.4.31)
+ postcss-minify-params: 6.0.0(postcss@8.4.31)
+ postcss-minify-selectors: 6.0.0(postcss@8.4.31)
+ postcss-normalize-charset: 6.0.0(postcss@8.4.31)
+ postcss-normalize-display-values: 6.0.0(postcss@8.4.31)
+ postcss-normalize-positions: 6.0.0(postcss@8.4.31)
+ postcss-normalize-repeat-style: 6.0.0(postcss@8.4.31)
+ postcss-normalize-string: 6.0.0(postcss@8.4.31)
+ postcss-normalize-timing-functions: 6.0.0(postcss@8.4.31)
+ postcss-normalize-unicode: 6.0.0(postcss@8.4.31)
+ postcss-normalize-url: 6.0.0(postcss@8.4.31)
+ postcss-normalize-whitespace: 6.0.0(postcss@8.4.31)
+ postcss-ordered-values: 6.0.0(postcss@8.4.31)
+ postcss-reduce-initial: 6.0.0(postcss@8.4.31)
+ postcss-reduce-transforms: 6.0.0(postcss@8.4.31)
+ postcss-svgo: 6.0.0(postcss@8.4.31)
+ postcss-unique-selectors: 6.0.0(postcss@8.4.31)
+ dev: true
+
+ /cssnano-utils@4.0.0(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-Z39TLP+1E0KUcd7LGyF4qMfu8ZufI0rDzhdyAMsa/8UyNUU8wpS0fhdBxbQbv32r64ea00h4878gommRVg2BHw==,
+ }
+ engines: { node: ^14 || ^16 || >=18.0 }
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ dev: true
+
+ /cssnano@6.0.1(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-fVO1JdJ0LSdIGJq68eIxOqFpIJrZqXUsBt8fkrBcztCQqAjQD51OhZp7tc0ImcbwXD4k7ny84QTV90nZhmqbkg==,
+ }
+ engines: { node: ^14 || ^16 || >=18.0 }
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ cssnano-preset-default: 6.0.1(postcss@8.4.31)
+ lilconfig: 2.1.0
+ postcss: 8.4.31
+ dev: true
+
+ /csso@5.0.5:
+ resolution:
+ {
+ integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==,
+ }
+ engines: { node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0' }
+ dependencies:
+ css-tree: 2.2.1
+ dev: true
+
+ /cssom@0.3.8:
+ resolution:
+ {
+ integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==,
+ }
+ dev: true
+
+ /cssom@0.5.0:
+ resolution:
+ {
+ integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==,
+ }
+ dev: true
+
+ /cssstyle@2.3.0:
+ resolution:
+ {
+ integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ cssom: 0.3.8
+ dev: true
+
+ /csstype@3.1.2:
+ resolution:
+ {
+ integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==,
+ }
+
+ /damerau-levenshtein@1.0.8:
+ resolution:
+ {
+ integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==,
+ }
+ dev: true
+
+ /data-uri-to-buffer@3.0.1:
+ resolution:
+ {
+ integrity: sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==,
+ }
+ engines: { node: '>= 6' }
+
+ /data-urls@3.0.2:
+ resolution:
+ {
+ integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==,
+ }
+ engines: { node: '>=12' }
+ dependencies:
+ abab: 2.0.6
+ whatwg-mimetype: 3.0.0
+ whatwg-url: 11.0.0
+ dev: true
+
+ /debug@2.6.9:
+ resolution:
+ {
+ integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==,
+ }
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.0.0
+
+ /debug@3.2.7:
+ resolution:
+ {
+ integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==,
+ }
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.1.3
+ dev: true
+
+ /debug@4.3.4:
+ resolution:
+ {
+ integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==,
+ }
+ engines: { node: '>=6.0' }
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.1.2
+
+ /decimal.js@10.4.3:
+ resolution:
+ {
+ integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==,
+ }
+ dev: true
+
+ /decode-named-character-reference@1.0.2:
+ resolution:
+ {
+ integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==,
+ }
+ dependencies:
+ character-entities: 2.0.2
+ dev: true
+
+ /dedent@1.5.1:
+ resolution:
+ {
+ integrity: sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==,
+ }
+ peerDependencies:
+ babel-plugin-macros: ^3.1.0
+ peerDependenciesMeta:
+ babel-plugin-macros:
+ optional: true
+ dev: true
+
+ /deep-equal@2.1.0:
+ resolution:
+ {
+ integrity: sha512-2pxgvWu3Alv1PoWEyVg7HS8YhGlUFUV7N5oOvfL6d+7xAmLSemMwv/c8Zv/i9KFzxV5Kt5CAvQc70fLwVuf4UA==,
+ }
+ dependencies:
+ call-bind: 1.0.2
+ es-get-iterator: 1.1.2
+ get-intrinsic: 1.1.3
+ is-arguments: 1.1.1
+ is-date-object: 1.0.5
+ is-regex: 1.1.4
+ isarray: 2.0.5
+ object-is: 1.1.5
+ object-keys: 1.1.1
+ object.assign: 4.1.4
+ regexp.prototype.flags: 1.4.3
+ side-channel: 1.0.4
+ which-boxed-primitive: 1.0.2
+ which-collection: 1.0.1
+ which-typed-array: 1.1.9
+ dev: true
+
+ /deep-is@0.1.4:
+ resolution:
+ {
+ integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==,
+ }
+ dev: true
+
+ /deep-object-diff@1.1.9:
+ resolution:
+ {
+ integrity: sha512-Rn+RuwkmkDwCi2/oXOFS9Gsr5lJZu/yTGpK7wAaAIE75CC+LCGEZHpY6VQJa/RoJcrmaA/docWJZvYohlNkWPA==,
+ }
+ dev: true
+
+ /deepmerge@4.3.1:
+ resolution:
+ {
+ integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==,
+ }
+ engines: { node: '>=0.10.0' }
+ dev: true
+
+ /default-browser-id@3.0.0:
+ resolution:
+ {
+ integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==,
+ }
+ engines: { node: '>=12' }
+ dependencies:
+ bplist-parser: 0.2.0
+ untildify: 4.0.0
+ dev: true
+
+ /default-browser@4.0.0:
+ resolution:
+ {
+ integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==,
+ }
+ engines: { node: '>=14.16' }
+ dependencies:
+ bundle-name: 3.0.0
+ default-browser-id: 3.0.0
+ execa: 7.2.0
+ titleize: 3.0.0
+ dev: true
+
+ /defaults@1.0.4:
+ resolution:
+ {
+ integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==,
+ }
+ dependencies:
+ clone: 1.0.4
+ dev: true
+
+ /define-lazy-prop@2.0.0:
+ resolution:
+ {
+ integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /define-lazy-prop@3.0.0:
+ resolution:
+ {
+ integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==,
+ }
+ engines: { node: '>=12' }
+ dev: true
+
+ /define-properties@1.1.4:
+ resolution:
+ {
+ integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ has-property-descriptors: 1.0.0
+ object-keys: 1.1.1
+ dev: true
+
+ /define-properties@1.2.0:
+ resolution:
+ {
+ integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ has-property-descriptors: 1.0.0
+ object-keys: 1.1.1
+ dev: true
+
+ /defu@6.1.3:
+ resolution:
+ {
+ integrity: sha512-Vy2wmG3NTkmHNg/kzpuvHhkqeIx3ODWqasgCRbKtbXEN0G+HpEEv9BtJLp7ZG1CZloFaC41Ah3ZFbq7aqCqMeQ==,
+ }
+ dev: true
+
+ /delayed-stream@1.0.0:
+ resolution:
+ {
+ integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==,
+ }
+ engines: { node: '>=0.4.0' }
+ dev: true
+
+ /delegates@1.0.0:
+ resolution:
+ {
+ integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==,
+ }
+ dev: true
+
+ /denque@2.1.0:
+ resolution:
+ {
+ integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==,
+ }
+ engines: { node: '>=0.10' }
+ dev: true
+
+ /depd@2.0.0:
+ resolution:
+ {
+ integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==,
+ }
+ engines: { node: '>= 0.8' }
+
+ /dequal@2.0.3:
+ resolution:
+ {
+ integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==,
+ }
+ engines: { node: '>=6' }
+ dev: true
+
+ /destr@2.0.2:
+ resolution:
+ {
+ integrity: sha512-65AlobnZMiCET00KaFFjUefxDX0khFA/E4myqZ7a6Sq1yZtR8+FVIvilVX66vF2uobSumxooYZChiRPCKNqhmg==,
+ }
+ dev: true
+
+ /destroy@1.2.0:
+ resolution:
+ {
+ integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==,
+ }
+ engines: { node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16 }
+
+ /detect-indent@6.1.0:
+ resolution:
+ {
+ integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /detect-indent@7.0.1:
+ resolution:
+ {
+ integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==,
+ }
+ engines: { node: '>=12.20' }
+ dev: true
+
+ /detect-libc@1.0.3:
+ resolution:
+ {
+ integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==,
+ }
+ engines: { node: '>=0.10' }
+ hasBin: true
+ dev: true
+
+ /detect-libc@2.0.2:
+ resolution:
+ {
+ integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /detect-newline@3.1.0:
+ resolution:
+ {
+ integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /detect-newline@4.0.0:
+ resolution:
+ {
+ integrity: sha512-1aXUEPdfGdzVPFpzGJJNgq9o81bGg1s09uxTWsqBlo9PI332uyJRQq13+LK/UN4JfxJbFdCXonUFQ9R/p7yCtw==,
+ }
+ engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
+ dev: true
+
+ /devalue@4.3.2:
+ resolution:
+ {
+ integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==,
+ }
+ dev: true
+
+ /diff-sequences@29.6.3:
+ resolution:
+ {
+ integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dev: true
+
+ /diff@5.1.0:
+ resolution:
+ {
+ integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==,
+ }
+ engines: { node: '>=0.3.1' }
+ dev: true
+
+ /dir-glob@3.0.1:
+ resolution:
+ {
+ integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ path-type: 4.0.0
+ dev: true
+
+ /doctrine@2.1.0:
+ resolution:
+ {
+ integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==,
+ }
+ engines: { node: '>=0.10.0' }
+ dependencies:
+ esutils: 2.0.3
+ dev: true
+
+ /doctrine@3.0.0:
+ resolution:
+ {
+ integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==,
+ }
+ engines: { node: '>=6.0.0' }
+ dependencies:
+ esutils: 2.0.3
+ dev: true
+
+ /dom-accessibility-api@0.5.14:
+ resolution:
+ {
+ integrity: sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg==,
+ }
+ dev: true
+
+ /dom-accessibility-api@0.5.16:
+ resolution:
+ {
+ integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==,
+ }
+ dev: true
+
+ /dom-serializer@2.0.0:
+ resolution:
+ {
+ integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==,
+ }
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+ entities: 4.5.0
+ dev: true
+
+ /domelementtype@2.3.0:
+ resolution:
+ {
+ integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==,
+ }
+ dev: true
+
+ /domexception@4.0.0:
+ resolution:
+ {
+ integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==,
+ }
+ engines: { node: '>=12' }
+ dependencies:
+ webidl-conversions: 7.0.0
+ dev: true
+
+ /domhandler@5.0.3:
+ resolution:
+ {
+ integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==,
+ }
+ engines: { node: '>= 4' }
+ dependencies:
+ domelementtype: 2.3.0
+ dev: true
+
+ /domutils@3.1.0:
+ resolution:
+ {
+ integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==,
+ }
+ dependencies:
+ dom-serializer: 2.0.0
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+ dev: true
+
+ /dot-prop@8.0.2:
+ resolution:
+ {
+ integrity: sha512-xaBe6ZT4DHPkg0k4Ytbvn5xoxgpG0jOS1dYxSOwAHPuNLjP3/OzN0gH55SrLqpx8cBfSaVt91lXYkApjb+nYdQ==,
+ }
+ engines: { node: '>=16' }
+ dependencies:
+ type-fest: 3.13.1
+ dev: true
+
+ /dotenv@16.3.1:
+ resolution:
+ {
+ integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==,
+ }
+ engines: { node: '>=12' }
+ dev: true
+
+ /duplexer@0.1.2:
+ resolution:
+ {
+ integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==,
+ }
+ dev: true
+
+ /duplexify@3.7.1:
+ resolution:
+ {
+ integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==,
+ }
+ dependencies:
+ end-of-stream: 1.4.4
+ inherits: 2.0.4
+ readable-stream: 2.3.8
+ stream-shift: 1.0.1
+ dev: true
+
+ /eastasianwidth@0.2.0:
+ resolution:
+ {
+ integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==,
+ }
+
+ /ee-first@1.1.1:
+ resolution:
+ {
+ integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==,
+ }
+
+ /electron-to-chromium@1.4.508:
+ resolution:
+ {
+ integrity: sha512-FFa8QKjQK/A5QuFr2167myhMesGrhlOBD+3cYNxO9/S4XzHEXesyTD/1/xF644gC8buFPz3ca6G1LOQD0tZrrg==,
+ }
+
+ /emittery@0.13.1:
+ resolution:
+ {
+ integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==,
+ }
+ engines: { node: '>=12' }
+ dev: true
+
+ /emoji-regex@8.0.0:
+ resolution:
+ {
+ integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==,
+ }
+ dev: true
+
+ /emoji-regex@9.2.2:
+ resolution:
+ {
+ integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==,
+ }
+
+ /encodeurl@1.0.2:
+ resolution:
+ {
+ integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==,
+ }
+ engines: { node: '>= 0.8' }
+
+ /encoding@0.1.13:
+ resolution:
+ {
+ integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==,
+ }
+ requiresBuild: true
+ dependencies:
+ iconv-lite: 0.6.3
+ dev: true
+ optional: true
+
+ /end-of-stream@1.4.4:
+ resolution:
+ {
+ integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==,
+ }
+ dependencies:
+ once: 1.4.0
+ dev: true
+
+ /enhanced-resolve@5.15.0:
+ resolution:
+ {
+ integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==,
+ }
+ engines: { node: '>=10.13.0' }
+ dependencies:
+ graceful-fs: 4.2.11
+ tapable: 2.2.1
+ dev: true
+
+ /entities@4.5.0:
+ resolution:
+ {
+ integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==,
+ }
+ engines: { node: '>=0.12' }
+ dev: true
+
+ /env-paths@2.2.1:
+ resolution:
+ {
+ integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==,
+ }
+ engines: { node: '>=6' }
+ dev: true
+
+ /err-code@2.0.3:
+ resolution:
+ {
+ integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==,
+ }
+ dev: true
+
+ /error-ex@1.3.2:
+ resolution:
+ {
+ integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==,
+ }
+ dependencies:
+ is-arrayish: 0.2.1
+ dev: true
+
+ /error-stack-parser-es@0.1.1:
+ resolution:
+ {
+ integrity: sha512-g/9rfnvnagiNf+DRMHEVGuGuIBlCIMDFoTA616HaP2l9PlCjGjVhD98PNbVSJvmK4TttqT5mV5tInMhoFgi+aA==,
+ }
+ dev: true
+
+ /es-abstract@1.22.1:
+ resolution:
+ {
+ integrity: sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ array-buffer-byte-length: 1.0.0
+ arraybuffer.prototype.slice: 1.0.1
+ available-typed-arrays: 1.0.5
+ call-bind: 1.0.2
+ es-set-tostringtag: 2.0.1
+ es-to-primitive: 1.2.1
+ function.prototype.name: 1.1.6
+ get-intrinsic: 1.2.1
+ get-symbol-description: 1.0.0
+ globalthis: 1.0.3
+ gopd: 1.0.1
+ has: 1.0.3
+ has-property-descriptors: 1.0.0
+ has-proto: 1.0.1
+ has-symbols: 1.0.3
+ internal-slot: 1.0.5
+ is-array-buffer: 3.0.2
+ is-callable: 1.2.7
+ is-negative-zero: 2.0.2
+ is-regex: 1.1.4
+ is-shared-array-buffer: 1.0.2
+ is-string: 1.0.7
+ is-typed-array: 1.1.12
+ is-weakref: 1.0.2
+ object-inspect: 1.12.3
+ object-keys: 1.1.1
+ object.assign: 4.1.4
+ regexp.prototype.flags: 1.5.0
+ safe-array-concat: 1.0.0
+ safe-regex-test: 1.0.0
+ string.prototype.trim: 1.2.7
+ string.prototype.trimend: 1.0.6
+ string.prototype.trimstart: 1.0.7
+ typed-array-buffer: 1.0.0
+ typed-array-byte-length: 1.0.0
+ typed-array-byte-offset: 1.0.0
+ typed-array-length: 1.0.4
+ unbox-primitive: 1.0.2
+ which-typed-array: 1.1.11
+ dev: true
+
+ /es-get-iterator@1.1.2:
+ resolution:
+ {
+ integrity: sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==,
+ }
+ dependencies:
+ call-bind: 1.0.2
+ get-intrinsic: 1.1.3
+ has-symbols: 1.0.3
+ is-arguments: 1.1.1
+ is-map: 2.0.2
+ is-set: 2.0.2
+ is-string: 1.0.7
+ isarray: 2.0.5
+ dev: true
+
+ /es-iterator-helpers@1.0.14:
+ resolution:
+ {
+ integrity: sha512-JgtVnwiuoRuzLvqelrvN3Xu7H9bu2ap/kQ2CrM62iidP8SKuD99rWU3CJy++s7IVL2qb/AjXPGR/E7i9ngd/Cw==,
+ }
+ dependencies:
+ asynciterator.prototype: 1.0.0
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ es-abstract: 1.22.1
+ es-set-tostringtag: 2.0.1
+ function-bind: 1.1.1
+ get-intrinsic: 1.2.1
+ globalthis: 1.0.3
+ has-property-descriptors: 1.0.0
+ has-proto: 1.0.1
+ has-symbols: 1.0.3
+ internal-slot: 1.0.5
+ iterator.prototype: 1.1.1
+ safe-array-concat: 1.0.0
+ dev: true
+
+ /es-set-tostringtag@2.0.1:
+ resolution:
+ {
+ integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ get-intrinsic: 1.2.1
+ has: 1.0.3
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /es-shim-unscopables@1.0.0:
+ resolution:
+ {
+ integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==,
+ }
+ dependencies:
+ has: 1.0.3
+ dev: true
+
+ /es-to-primitive@1.2.1:
+ resolution:
+ {
+ integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ is-callable: 1.2.7
+ is-date-object: 1.0.5
+ is-symbol: 1.0.4
+ dev: true
+
+ /es6-promise@3.3.1:
+ resolution:
+ {
+ integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==,
+ }
+ dev: true
+
+ /esbuild-plugins-node-modules-polyfill@1.6.1(esbuild@0.17.6):
+ resolution:
+ {
+ integrity: sha512-6sAwI24PV8W0zxeO+i4BS5zoQypS3SzEGwIdxpzpy65riRuK8apMw8PN0aKVLCTnLr0FgNIxUMRd9BsreBrtog==,
+ }
+ engines: { node: '>=14.0.0' }
+ peerDependencies:
+ esbuild: ^0.14.0 || ^0.15.0 || ^0.16.0 || ^0.17.0 || ^0.18.0 || ^0.19.0
+ dependencies:
+ '@jspm/core': 2.0.1
+ esbuild: 0.17.6
+ local-pkg: 0.4.3
+ resolve.exports: 2.0.2
+ dev: true
+
+ /esbuild@0.17.6:
+ resolution:
+ {
+ integrity: sha512-TKFRp9TxrJDdRWfSsSERKEovm6v30iHnrjlcGhLBOtReE28Yp1VSBRfO3GTaOFMoxsNerx4TjrhzSuma9ha83Q==,
+ }
+ engines: { node: '>=12' }
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ '@esbuild/android-arm': 0.17.6
+ '@esbuild/android-arm64': 0.17.6
+ '@esbuild/android-x64': 0.17.6
+ '@esbuild/darwin-arm64': 0.17.6
+ '@esbuild/darwin-x64': 0.17.6
+ '@esbuild/freebsd-arm64': 0.17.6
+ '@esbuild/freebsd-x64': 0.17.6
+ '@esbuild/linux-arm': 0.17.6
+ '@esbuild/linux-arm64': 0.17.6
+ '@esbuild/linux-ia32': 0.17.6
+ '@esbuild/linux-loong64': 0.17.6
+ '@esbuild/linux-mips64el': 0.17.6
+ '@esbuild/linux-ppc64': 0.17.6
+ '@esbuild/linux-riscv64': 0.17.6
+ '@esbuild/linux-s390x': 0.17.6
+ '@esbuild/linux-x64': 0.17.6
+ '@esbuild/netbsd-x64': 0.17.6
+ '@esbuild/openbsd-x64': 0.17.6
+ '@esbuild/sunos-x64': 0.17.6
+ '@esbuild/win32-arm64': 0.17.6
+ '@esbuild/win32-ia32': 0.17.6
+ '@esbuild/win32-x64': 0.17.6
+ dev: true
+
+ /esbuild@0.18.20:
+ resolution:
+ {
+ integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==,
+ }
+ engines: { node: '>=12' }
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ '@esbuild/android-arm': 0.18.20
+ '@esbuild/android-arm64': 0.18.20
+ '@esbuild/android-x64': 0.18.20
+ '@esbuild/darwin-arm64': 0.18.20
+ '@esbuild/darwin-x64': 0.18.20
+ '@esbuild/freebsd-arm64': 0.18.20
+ '@esbuild/freebsd-x64': 0.18.20
+ '@esbuild/linux-arm': 0.18.20
+ '@esbuild/linux-arm64': 0.18.20
+ '@esbuild/linux-ia32': 0.18.20
+ '@esbuild/linux-loong64': 0.18.20
+ '@esbuild/linux-mips64el': 0.18.20
+ '@esbuild/linux-ppc64': 0.18.20
+ '@esbuild/linux-riscv64': 0.18.20
+ '@esbuild/linux-s390x': 0.18.20
+ '@esbuild/linux-x64': 0.18.20
+ '@esbuild/netbsd-x64': 0.18.20
+ '@esbuild/openbsd-x64': 0.18.20
+ '@esbuild/sunos-x64': 0.18.20
+ '@esbuild/win32-arm64': 0.18.20
+ '@esbuild/win32-ia32': 0.18.20
+ '@esbuild/win32-x64': 0.18.20
+ dev: true
+
+ /esbuild@0.19.7:
+ resolution:
+ {
+ integrity: sha512-6brbTZVqxhqgbpqBR5MzErImcpA0SQdoKOkcWK/U30HtQxnokIpG3TX2r0IJqbFUzqLjhU/zC1S5ndgakObVCQ==,
+ }
+ engines: { node: '>=12' }
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ '@esbuild/android-arm': 0.19.7
+ '@esbuild/android-arm64': 0.19.7
+ '@esbuild/android-x64': 0.19.7
+ '@esbuild/darwin-arm64': 0.19.7
+ '@esbuild/darwin-x64': 0.19.7
+ '@esbuild/freebsd-arm64': 0.19.7
+ '@esbuild/freebsd-x64': 0.19.7
+ '@esbuild/linux-arm': 0.19.7
+ '@esbuild/linux-arm64': 0.19.7
+ '@esbuild/linux-ia32': 0.19.7
+ '@esbuild/linux-loong64': 0.19.7
+ '@esbuild/linux-mips64el': 0.19.7
+ '@esbuild/linux-ppc64': 0.19.7
+ '@esbuild/linux-riscv64': 0.19.7
+ '@esbuild/linux-s390x': 0.19.7
+ '@esbuild/linux-x64': 0.19.7
+ '@esbuild/netbsd-x64': 0.19.7
+ '@esbuild/openbsd-x64': 0.19.7
+ '@esbuild/sunos-x64': 0.19.7
+ '@esbuild/win32-arm64': 0.19.7
+ '@esbuild/win32-ia32': 0.19.7
+ '@esbuild/win32-x64': 0.19.7
+ dev: true
+
+ /escalade@3.1.1:
+ resolution:
+ {
+ integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==,
+ }
+ engines: { node: '>=6' }
+
+ /escape-html@1.0.3:
+ resolution:
+ {
+ integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==,
+ }
+
+ /escape-string-regexp@1.0.5:
+ resolution:
+ {
+ integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==,
+ }
+ engines: { node: '>=0.8.0' }
+
+ /escape-string-regexp@2.0.0:
+ resolution:
+ {
+ integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /escape-string-regexp@4.0.0:
+ resolution:
+ {
+ integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==,
+ }
+ engines: { node: '>=10' }
+ dev: true
+
+ /escape-string-regexp@5.0.0:
+ resolution:
+ {
+ integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==,
+ }
+ engines: { node: '>=12' }
+ dev: true
+
+ /escodegen@2.1.0:
+ resolution:
+ {
+ integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==,
+ }
+ engines: { node: '>=6.0' }
+ hasBin: true
+ dependencies:
+ esprima: 4.0.1
+ estraverse: 5.3.0
+ esutils: 2.0.3
+ optionalDependencies:
+ source-map: 0.6.1
+ dev: true
+
+ /eslint-config-prettier@9.0.0(eslint@8.48.0):
+ resolution:
+ {
+ integrity: sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==,
+ }
+ hasBin: true
+ peerDependencies:
+ eslint: '>=7.0.0'
+ dependencies:
+ eslint: 8.48.0
+ dev: true
+
+ /eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.28.1):
+ resolution:
+ {
+ integrity: sha512-WdviM1Eu834zsfjHtcGHtGfcu+F30Od3V7I9Fi57uhBEwPkjDcii7/yW8jAT+gOhn4P/vOxxNAXbFAKsrrc15w==,
+ }
+ engines: { node: '>= 4' }
+ peerDependencies:
+ eslint-plugin-import: '>=1.4.0'
+ dependencies:
+ eslint-plugin-import: 2.28.1(@typescript-eslint/parser@6.6.0)(eslint-import-resolver-typescript@3.6.0)(eslint@8.48.0)
+ dev: true
+
+ /eslint-import-resolver-node@0.3.7:
+ resolution:
+ {
+ integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==,
+ }
+ dependencies:
+ debug: 3.2.7
+ is-core-module: 2.13.0
+ resolve: 1.22.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /eslint-import-resolver-node@0.3.9:
+ resolution:
+ {
+ integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==,
+ }
+ dependencies:
+ debug: 3.2.7
+ is-core-module: 2.13.0
+ resolve: 1.22.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /eslint-import-resolver-typescript@3.6.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.28.1)(eslint@8.48.0):
+ resolution:
+ {
+ integrity: sha512-QTHR9ddNnn35RTxlaEnx2gCxqFlF2SEN0SE2d17SqwyM7YOSI2GHWRYp5BiRkObTUNYPupC/3Fq2a0PpT+EKpg==,
+ }
+ engines: { node: ^14.18.0 || >=16.0.0 }
+ peerDependencies:
+ eslint: '*'
+ eslint-plugin-import: '*'
+ dependencies:
+ debug: 4.3.4
+ enhanced-resolve: 5.15.0
+ eslint: 8.48.0
+ eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.6.0)(eslint@8.48.0)
+ eslint-plugin-import: 2.28.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.0)(eslint@8.48.0)
+ fast-glob: 3.3.1
+ get-tsconfig: 4.7.0
+ is-core-module: 2.13.0
+ is-glob: 4.0.3
+ transitivePeerDependencies:
+ - '@typescript-eslint/parser'
+ - eslint-import-resolver-node
+ - eslint-import-resolver-webpack
+ - supports-color
+ dev: true
+
+ /eslint-import-resolver-typescript@3.6.0(@typescript-eslint/parser@6.6.0)(eslint-plugin-import@2.28.1)(eslint@8.48.0):
+ resolution:
+ {
+ integrity: sha512-QTHR9ddNnn35RTxlaEnx2gCxqFlF2SEN0SE2d17SqwyM7YOSI2GHWRYp5BiRkObTUNYPupC/3Fq2a0PpT+EKpg==,
+ }
+ engines: { node: ^14.18.0 || >=16.0.0 }
+ peerDependencies:
+ eslint: '*'
+ eslint-plugin-import: '*'
+ dependencies:
+ debug: 4.3.4
+ enhanced-resolve: 5.15.0
+ eslint: 8.48.0
+ eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.6.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.0)(eslint@8.48.0)
+ eslint-plugin-import: 2.28.1(@typescript-eslint/parser@6.6.0)(eslint-import-resolver-typescript@3.6.0)(eslint@8.48.0)
+ fast-glob: 3.3.1
+ get-tsconfig: 4.7.0
+ is-core-module: 2.13.0
+ is-glob: 4.0.3
+ transitivePeerDependencies:
+ - '@typescript-eslint/parser'
+ - eslint-import-resolver-node
+ - eslint-import-resolver-webpack
+ - supports-color
+ dev: true
+
+ /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.6.0)(eslint@8.48.0):
+ resolution:
+ {
+ integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==,
+ }
+ engines: { node: '>=4' }
+ peerDependencies:
+ '@typescript-eslint/parser': '*'
+ eslint: '*'
+ eslint-import-resolver-node: '*'
+ eslint-import-resolver-typescript: '*'
+ eslint-import-resolver-webpack: '*'
+ peerDependenciesMeta:
+ '@typescript-eslint/parser':
+ optional: true
+ eslint:
+ optional: true
+ eslint-import-resolver-node:
+ optional: true
+ eslint-import-resolver-typescript:
+ optional: true
+ eslint-import-resolver-webpack:
+ optional: true
+ dependencies:
+ '@typescript-eslint/parser': 5.62.0(eslint@8.48.0)(typescript@5.2.2)
+ debug: 3.2.7
+ eslint: 8.48.0
+ eslint-import-resolver-node: 0.3.7
+ eslint-import-resolver-typescript: 3.6.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.28.1)(eslint@8.48.0)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.0)(eslint@8.48.0):
+ resolution:
+ {
+ integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==,
+ }
+ engines: { node: '>=4' }
+ peerDependencies:
+ '@typescript-eslint/parser': '*'
+ eslint: '*'
+ eslint-import-resolver-node: '*'
+ eslint-import-resolver-typescript: '*'
+ eslint-import-resolver-webpack: '*'
+ peerDependenciesMeta:
+ '@typescript-eslint/parser':
+ optional: true
+ eslint:
+ optional: true
+ eslint-import-resolver-node:
+ optional: true
+ eslint-import-resolver-typescript:
+ optional: true
+ eslint-import-resolver-webpack:
+ optional: true
+ dependencies:
+ '@typescript-eslint/parser': 5.62.0(eslint@8.48.0)(typescript@5.2.2)
+ debug: 3.2.7
+ eslint: 8.48.0
+ eslint-import-resolver-node: 0.3.9
+ eslint-import-resolver-typescript: 3.6.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.28.1)(eslint@8.48.0)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.6.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.0)(eslint@8.48.0):
+ resolution:
+ {
+ integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==,
+ }
+ engines: { node: '>=4' }
+ peerDependencies:
+ '@typescript-eslint/parser': '*'
+ eslint: '*'
+ eslint-import-resolver-node: '*'
+ eslint-import-resolver-typescript: '*'
+ eslint-import-resolver-webpack: '*'
+ peerDependenciesMeta:
+ '@typescript-eslint/parser':
+ optional: true
+ eslint:
+ optional: true
+ eslint-import-resolver-node:
+ optional: true
+ eslint-import-resolver-typescript:
+ optional: true
+ eslint-import-resolver-webpack:
+ optional: true
+ dependencies:
+ '@typescript-eslint/parser': 6.6.0(eslint@8.48.0)(typescript@5.2.2)
+ debug: 3.2.7
+ eslint: 8.48.0
+ eslint-import-resolver-node: 0.3.9
+ eslint-import-resolver-typescript: 3.6.0(@typescript-eslint/parser@6.6.0)(eslint-plugin-import@2.28.1)(eslint@8.48.0)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /eslint-plugin-es@3.0.1(eslint@8.48.0):
+ resolution:
+ {
+ integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==,
+ }
+ engines: { node: '>=8.10.0' }
+ peerDependencies:
+ eslint: '>=4.19.1'
+ dependencies:
+ eslint: 8.48.0
+ eslint-utils: 2.1.0
+ regexpp: 3.2.0
+ dev: true
+
+ /eslint-plugin-eslint-comments@3.2.0(eslint@8.48.0):
+ resolution:
+ {
+ integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==,
+ }
+ engines: { node: '>=6.5.0' }
+ peerDependencies:
+ eslint: '>=4.19.1'
+ dependencies:
+ escape-string-regexp: 1.0.5
+ eslint: 8.48.0
+ ignore: 5.2.4
+ dev: true
+
+ /eslint-plugin-import@2.28.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.0)(eslint@8.48.0):
+ resolution:
+ {
+ integrity: sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==,
+ }
+ engines: { node: '>=4' }
+ peerDependencies:
+ '@typescript-eslint/parser': '*'
+ eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
+ peerDependenciesMeta:
+ '@typescript-eslint/parser':
+ optional: true
+ dependencies:
+ '@typescript-eslint/parser': 5.62.0(eslint@8.48.0)(typescript@5.2.2)
+ array-includes: 3.1.7
+ array.prototype.findlastindex: 1.2.3
+ array.prototype.flat: 1.3.1
+ array.prototype.flatmap: 1.3.1
+ debug: 3.2.7
+ doctrine: 2.1.0
+ eslint: 8.48.0
+ eslint-import-resolver-node: 0.3.9
+ eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.0)(eslint@8.48.0)
+ has: 1.0.3
+ is-core-module: 2.13.0
+ is-glob: 4.0.3
+ minimatch: 3.1.2
+ object.fromentries: 2.0.7
+ object.groupby: 1.0.1
+ object.values: 1.1.7
+ semver: 6.3.1
+ tsconfig-paths: 3.14.2
+ transitivePeerDependencies:
+ - eslint-import-resolver-typescript
+ - eslint-import-resolver-webpack
+ - supports-color
+ dev: true
+
+ /eslint-plugin-import@2.28.1(@typescript-eslint/parser@6.6.0)(eslint-import-resolver-typescript@3.6.0)(eslint@8.48.0):
+ resolution:
+ {
+ integrity: sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==,
+ }
+ engines: { node: '>=4' }
+ peerDependencies:
+ '@typescript-eslint/parser': '*'
+ eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
+ peerDependenciesMeta:
+ '@typescript-eslint/parser':
+ optional: true
+ dependencies:
+ '@typescript-eslint/parser': 6.6.0(eslint@8.48.0)(typescript@5.2.2)
+ array-includes: 3.1.7
+ array.prototype.findlastindex: 1.2.3
+ array.prototype.flat: 1.3.1
+ array.prototype.flatmap: 1.3.1
+ debug: 3.2.7
+ doctrine: 2.1.0
+ eslint: 8.48.0
+ eslint-import-resolver-node: 0.3.9
+ eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.6.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.0)(eslint@8.48.0)
+ has: 1.0.3
+ is-core-module: 2.13.0
+ is-glob: 4.0.3
+ minimatch: 3.1.2
+ object.fromentries: 2.0.7
+ object.groupby: 1.0.1
+ object.values: 1.1.7
+ semver: 6.3.1
+ tsconfig-paths: 3.14.2
+ transitivePeerDependencies:
+ - eslint-import-resolver-typescript
+ - eslint-import-resolver-webpack
+ - supports-color
+ dev: true
+
+ /eslint-plugin-jest-dom@4.0.3(eslint@8.48.0):
+ resolution:
+ {
+ integrity: sha512-9j+n8uj0+V0tmsoS7bYC7fLhQmIvjRqRYEcbDSi+TKPsTThLLXCyj5swMSSf/hTleeMktACnn+HFqXBr5gbcbA==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6', yarn: '>=1' }
+ peerDependencies:
+ eslint: ^6.8.0 || ^7.0.0 || ^8.0.0
+ dependencies:
+ '@babel/runtime': 7.22.15
+ '@testing-library/dom': 8.20.1
+ eslint: 8.48.0
+ requireindex: 1.2.0
+ dev: true
+
+ /eslint-plugin-jest@26.9.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.48.0)(typescript@5.2.2):
+ resolution:
+ {
+ integrity: sha512-TWJxWGp1J628gxh2KhaH1H1paEdgE2J61BBF1I59c6xWeL5+D1BzMxGDN/nXAfX+aSkR5u80K+XhskK6Gwq9ng==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
+ peerDependencies:
+ '@typescript-eslint/eslint-plugin': ^5.0.0
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ jest: '*'
+ peerDependenciesMeta:
+ '@typescript-eslint/eslint-plugin':
+ optional: true
+ jest:
+ optional: true
+ dependencies:
+ '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.48.0)(typescript@5.2.2)
+ '@typescript-eslint/utils': 5.62.0(eslint@8.48.0)(typescript@5.2.2)
+ eslint: 8.48.0
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /eslint-plugin-jest@27.2.3(@typescript-eslint/eslint-plugin@6.6.0)(eslint@8.48.0)(typescript@5.2.2):
+ resolution:
+ {
+ integrity: sha512-sRLlSCpICzWuje66Gl9zvdF6mwD5X86I4u55hJyFBsxYOsBCmT5+kSUjf+fkFWVMMgpzNEupjW8WzUqi83hJAQ==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ peerDependencies:
+ '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0
+ eslint: ^7.0.0 || ^8.0.0
+ jest: '*'
+ peerDependenciesMeta:
+ '@typescript-eslint/eslint-plugin':
+ optional: true
+ jest:
+ optional: true
+ dependencies:
+ '@typescript-eslint/eslint-plugin': 6.6.0(@typescript-eslint/parser@6.6.0)(eslint@8.48.0)(typescript@5.2.2)
+ '@typescript-eslint/utils': 5.62.0(eslint@8.48.0)(typescript@5.2.2)
+ eslint: 8.48.0
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /eslint-plugin-jsx-a11y@6.7.1(eslint@8.48.0):
+ resolution:
+ {
+ integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==,
+ }
+ engines: { node: '>=4.0' }
+ peerDependencies:
+ eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
+ dependencies:
+ '@babel/runtime': 7.22.15
+ aria-query: 5.3.0
+ array-includes: 3.1.7
+ array.prototype.flatmap: 1.3.1
+ ast-types-flow: 0.0.7
+ axe-core: 4.7.2
+ axobject-query: 3.2.1
+ damerau-levenshtein: 1.0.8
+ emoji-regex: 9.2.2
+ eslint: 8.48.0
+ has: 1.0.3
+ jsx-ast-utils: 3.3.5
+ language-tags: 1.0.5
+ minimatch: 3.1.2
+ object.entries: 1.1.7
+ object.fromentries: 2.0.7
+ semver: 6.3.1
+ dev: true
+
+ /eslint-plugin-node@11.1.0(eslint@8.48.0):
+ resolution:
+ {
+ integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==,
+ }
+ engines: { node: '>=8.10.0' }
+ peerDependencies:
+ eslint: '>=5.16.0'
+ dependencies:
+ eslint: 8.48.0
+ eslint-plugin-es: 3.0.1(eslint@8.48.0)
+ eslint-utils: 2.1.0
+ ignore: 5.2.4
+ minimatch: 3.1.2
+ resolve: 1.22.4
+ semver: 6.3.1
+ dev: true
+
+ /eslint-plugin-playwright@0.16.0(eslint-plugin-jest@27.2.3)(eslint@8.48.0):
+ resolution:
+ {
+ integrity: sha512-DcHpF0SLbNeh9MT4pMzUGuUSnJ7q5MWbP8sSEFIMS6j7Ggnduq8ghNlfhURgty4c1YFny7Ge9xYTO1FSAoV2Vw==,
+ }
+ peerDependencies:
+ eslint: '>=7'
+ eslint-plugin-jest: '>=25'
+ peerDependenciesMeta:
+ eslint-plugin-jest:
+ optional: true
+ dependencies:
+ eslint: 8.48.0
+ eslint-plugin-jest: 27.2.3(@typescript-eslint/eslint-plugin@6.6.0)(eslint@8.48.0)(typescript@5.2.2)
+ dev: true
+
+ /eslint-plugin-react-hooks@4.6.0(eslint@8.48.0):
+ resolution:
+ {
+ integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==,
+ }
+ engines: { node: '>=10' }
+ peerDependencies:
+ eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
+ dependencies:
+ eslint: 8.48.0
+ dev: true
+
+ /eslint-plugin-react@7.33.2(eslint@8.48.0):
+ resolution:
+ {
+ integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==,
+ }
+ engines: { node: '>=4' }
+ peerDependencies:
+ eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
+ dependencies:
+ array-includes: 3.1.7
+ array.prototype.flatmap: 1.3.1
+ array.prototype.tosorted: 1.1.1
+ doctrine: 2.1.0
+ es-iterator-helpers: 1.0.14
+ eslint: 8.48.0
+ estraverse: 5.3.0
+ jsx-ast-utils: 3.3.5
+ minimatch: 3.1.2
+ object.entries: 1.1.7
+ object.fromentries: 2.0.7
+ object.hasown: 1.1.3
+ object.values: 1.1.7
+ prop-types: 15.8.1
+ resolve: 2.0.0-next.4
+ semver: 6.3.1
+ string.prototype.matchall: 4.0.9
+ dev: true
+
+ /eslint-plugin-testing-library@5.11.1(eslint@8.48.0)(typescript@5.2.2):
+ resolution:
+ {
+ integrity: sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6' }
+ peerDependencies:
+ eslint: ^7.5.0 || ^8.0.0
+ dependencies:
+ '@typescript-eslint/utils': 5.62.0(eslint@8.48.0)(typescript@5.2.2)
+ eslint: 8.48.0
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /eslint-plugin-testing-library@6.0.1(eslint@8.48.0)(typescript@5.2.2):
+ resolution:
+ {
+ integrity: sha512-CEYtjpcF3hAaQtYsTZqciR7s5z+T0LCMTwJeW+pz6kBnGtc866wAKmhaiK2Gsjc2jWNP7Gt6zhNr2DE1ZW4e+g==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6' }
+ peerDependencies:
+ eslint: ^7.5.0 || ^8.0.0
+ dependencies:
+ '@typescript-eslint/utils': 5.62.0(eslint@8.48.0)(typescript@5.2.2)
+ eslint: 8.48.0
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /eslint-plugin-tsdoc@0.2.17:
+ resolution:
+ {
+ integrity: sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==,
+ }
+ dependencies:
+ '@microsoft/tsdoc': 0.14.2
+ '@microsoft/tsdoc-config': 0.16.2
+ dev: true
+
+ /eslint-plugin-unicorn@48.0.1(eslint@8.48.0):
+ resolution:
+ {
+ integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==,
+ }
+ engines: { node: '>=16' }
+ peerDependencies:
+ eslint: '>=8.44.0'
+ dependencies:
+ '@babel/helper-validator-identifier': 7.22.15
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.48.0)
+ ci-info: 3.8.0
+ clean-regexp: 1.0.0
+ eslint: 8.48.0
+ esquery: 1.5.0
+ indent-string: 4.0.0
+ is-builtin-module: 3.2.1
+ jsesc: 3.0.2
+ lodash: 4.17.21
+ pluralize: 8.0.0
+ read-pkg-up: 7.0.1
+ regexp-tree: 0.1.27
+ regjsparser: 0.10.0
+ semver: 7.5.4
+ strip-indent: 3.0.0
+ dev: true
+
+ /eslint-scope@5.1.1:
+ resolution:
+ {
+ integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==,
+ }
+ engines: { node: '>=8.0.0' }
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 4.3.0
+ dev: true
+
+ /eslint-scope@7.2.2:
+ resolution:
+ {
+ integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 5.3.0
+ dev: true
+
+ /eslint-utils@2.1.0:
+ resolution:
+ {
+ integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==,
+ }
+ engines: { node: '>=6' }
+ dependencies:
+ eslint-visitor-keys: 1.3.0
+ dev: true
+
+ /eslint-visitor-keys@1.3.0:
+ resolution:
+ {
+ integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==,
+ }
+ engines: { node: '>=4' }
+ dev: true
+
+ /eslint-visitor-keys@2.1.0:
+ resolution:
+ {
+ integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==,
+ }
+ engines: { node: '>=10' }
+ dev: true
+
+ /eslint-visitor-keys@3.4.3:
+ resolution:
+ {
+ integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
+ dev: true
+
+ /eslint@8.48.0:
+ resolution:
+ {
+ integrity: sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
+ hasBin: true
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.48.0)
+ '@eslint-community/regexpp': 4.8.0
+ '@eslint/eslintrc': 2.1.2
+ '@eslint/js': 8.48.0
+ '@humanwhocodes/config-array': 0.11.11
+ '@humanwhocodes/module-importer': 1.0.1
+ '@nodelib/fs.walk': 1.2.8
+ ajv: 6.12.6
+ chalk: 4.1.2
+ cross-spawn: 7.0.3
+ debug: 4.3.4
+ doctrine: 3.0.0
+ escape-string-regexp: 4.0.0
+ eslint-scope: 7.2.2
+ eslint-visitor-keys: 3.4.3
+ espree: 9.6.1
+ esquery: 1.5.0
+ esutils: 2.0.3
+ fast-deep-equal: 3.1.3
+ file-entry-cache: 6.0.1
+ find-up: 5.0.0
+ glob-parent: 6.0.2
+ globals: 13.21.0
+ graphemer: 1.4.0
+ ignore: 5.2.4
+ imurmurhash: 0.1.4
+ is-glob: 4.0.3
+ is-path-inside: 3.0.3
+ js-yaml: 4.1.0
+ json-stable-stringify-without-jsonify: 1.0.1
+ levn: 0.4.1
+ lodash.merge: 4.6.2
+ minimatch: 3.1.2
+ natural-compare: 1.4.0
+ optionator: 0.9.3
+ strip-ansi: 6.0.1
+ text-table: 0.2.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /esm-env@1.0.0:
+ resolution:
+ {
+ integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==,
+ }
+ dev: true
+
+ /espree@9.6.1:
+ resolution:
+ {
+ integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
+ dependencies:
+ acorn: 8.10.0
+ acorn-jsx: 5.3.2(acorn@8.10.0)
+ eslint-visitor-keys: 3.4.3
+ dev: true
+
+ /esprima@4.0.1:
+ resolution:
+ {
+ integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==,
+ }
+ engines: { node: '>=4' }
+ hasBin: true
+ dev: true
+
+ /esquery@1.5.0:
+ resolution:
+ {
+ integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==,
+ }
+ engines: { node: '>=0.10' }
+ dependencies:
+ estraverse: 5.3.0
+ dev: true
+
+ /esrecurse@4.3.0:
+ resolution:
+ {
+ integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==,
+ }
+ engines: { node: '>=4.0' }
+ dependencies:
+ estraverse: 5.3.0
+ dev: true
+
+ /estraverse@4.3.0:
+ resolution:
+ {
+ integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==,
+ }
+ engines: { node: '>=4.0' }
+ dev: true
+
+ /estraverse@5.3.0:
+ resolution:
+ {
+ integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==,
+ }
+ engines: { node: '>=4.0' }
+ dev: true
+
+ /estree-util-attach-comments@2.1.1:
+ resolution:
+ {
+ integrity: sha512-+5Ba/xGGS6mnwFbXIuQiDPTbuTxuMCooq3arVv7gPZtYpjp+VXH/NkHAP35OOefPhNG/UGqU3vt/LTABwcHX0w==,
+ }
+ dependencies:
+ '@types/estree': 1.0.2
+ dev: true
+
+ /estree-util-build-jsx@2.2.2:
+ resolution:
+ {
+ integrity: sha512-m56vOXcOBuaF+Igpb9OPAy7f9w9OIkb5yhjsZuaPm7HoGi4oTOQi0h2+yZ+AtKklYFZ+rPC4n0wYCJCEU1ONqg==,
+ }
+ dependencies:
+ '@types/estree-jsx': 1.0.1
+ estree-util-is-identifier-name: 2.1.0
+ estree-walker: 3.0.3
+ dev: true
+
+ /estree-util-is-identifier-name@1.1.0:
+ resolution:
+ {
+ integrity: sha512-OVJZ3fGGt9By77Ix9NhaRbzfbDV/2rx9EP7YIDJTmsZSEc5kYn2vWcNccYyahJL2uAQZK2a5Or2i0wtIKTPoRQ==,
+ }
+ dev: true
+
+ /estree-util-is-identifier-name@2.1.0:
+ resolution:
+ {
+ integrity: sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ==,
+ }
+ dev: true
+
+ /estree-util-to-js@1.2.0:
+ resolution:
+ {
+ integrity: sha512-IzU74r1PK5IMMGZXUVZbmiu4A1uhiPgW5hm1GjcOfr4ZzHaMPpLNJjR7HjXiIOzi25nZDrgFTobHTkV5Q6ITjA==,
+ }
+ dependencies:
+ '@types/estree-jsx': 1.0.1
+ astring: 1.8.6
+ source-map: 0.7.4
+ dev: true
+
+ /estree-util-value-to-estree@1.3.0:
+ resolution:
+ {
+ integrity: sha512-Y+ughcF9jSUJvncXwqRageavjrNPAI+1M/L3BI3PyLp1nmgYTGUXU6t5z1Y7OWuThoDdhPME07bQU+d5LxdJqw==,
+ }
+ engines: { node: '>=12.0.0' }
+ dependencies:
+ is-plain-obj: 3.0.0
+ dev: true
+
+ /estree-util-visit@1.2.1:
+ resolution:
+ {
+ integrity: sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw==,
+ }
+ dependencies:
+ '@types/estree-jsx': 1.0.1
+ '@types/unist': 2.0.8
+ dev: true
+
+ /estree-walker@2.0.2:
+ resolution:
+ {
+ integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==,
+ }
+
+ /estree-walker@3.0.3:
+ resolution:
+ {
+ integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==,
+ }
+ dependencies:
+ '@types/estree': 1.0.2
+ dev: true
+
+ /esutils@2.0.3:
+ resolution:
+ {
+ integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==,
+ }
+ engines: { node: '>=0.10.0' }
+ dev: true
+
+ /etag@1.8.1:
+ resolution:
+ {
+ integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==,
+ }
+ engines: { node: '>= 0.6' }
+
+ /eval@0.1.8:
+ resolution:
+ {
+ integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==,
+ }
+ engines: { node: '>= 0.8' }
+ dependencies:
+ '@types/node': 20.5.9
+ require-like: 0.1.2
+ dev: true
+
+ /event-target-shim@5.0.1:
+ resolution:
+ {
+ integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==,
+ }
+ engines: { node: '>=6' }
+
+ /eventemitter3@5.0.1:
+ resolution:
+ {
+ integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==,
+ }
+ dev: false
+
+ /execa@5.1.1:
+ resolution:
+ {
+ integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==,
+ }
+ engines: { node: '>=10' }
+ dependencies:
+ cross-spawn: 7.0.3
+ get-stream: 6.0.1
+ human-signals: 2.1.0
+ is-stream: 2.0.1
+ merge-stream: 2.0.0
+ npm-run-path: 4.0.1
+ onetime: 5.1.2
+ signal-exit: 3.0.7
+ strip-final-newline: 2.0.0
+ dev: true
+
+ /execa@7.2.0:
+ resolution:
+ {
+ integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==,
+ }
+ engines: { node: ^14.18.0 || ^16.14.0 || >=18.0.0 }
+ dependencies:
+ cross-spawn: 7.0.3
+ get-stream: 6.0.1
+ human-signals: 4.3.1
+ is-stream: 3.0.0
+ merge-stream: 2.0.0
+ npm-run-path: 5.1.0
+ onetime: 6.0.0
+ signal-exit: 3.0.7
+ strip-final-newline: 3.0.0
+
+ /execa@8.0.1:
+ resolution:
+ {
+ integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==,
+ }
+ engines: { node: '>=16.17' }
+ dependencies:
+ cross-spawn: 7.0.3
+ get-stream: 8.0.1
+ human-signals: 5.0.0
+ is-stream: 3.0.0
+ merge-stream: 2.0.0
+ npm-run-path: 5.1.0
+ onetime: 6.0.0
+ signal-exit: 4.1.0
+ strip-final-newline: 3.0.0
+ dev: true
+
+ /exit-hook@2.2.1:
+ resolution:
+ {
+ integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==,
+ }
+ engines: { node: '>=6' }
+ dev: true
+
+ /exit@0.1.2:
+ resolution:
+ {
+ integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==,
+ }
+ engines: { node: '>= 0.8.0' }
+ dev: true
+
+ /expect@29.6.4:
+ resolution:
+ {
+ integrity: sha512-F2W2UyQ8XYyftHT57dtfg8Ue3X5qLgm2sSug0ivvLRH/VKNRL/pDxg/TH7zVzbQB0tu80clNFy6LU7OS/VSEKA==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ '@jest/expect-utils': 29.6.4
+ jest-get-type: 29.6.3
+ jest-matcher-utils: 29.6.4
+ jest-message-util: 29.6.3
+ jest-util: 29.6.3
+ dev: true
+
+ /exponential-backoff@3.1.1:
+ resolution:
+ {
+ integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==,
+ }
+ dev: true
+
+ /express@4.18.2:
+ resolution:
+ {
+ integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==,
+ }
+ engines: { node: '>= 0.10.0' }
+ dependencies:
+ accepts: 1.3.8
+ array-flatten: 1.1.1
+ body-parser: 1.20.1
+ content-disposition: 0.5.4
+ content-type: 1.0.5
+ cookie: 0.5.0
+ cookie-signature: 1.0.6
+ debug: 2.6.9
+ depd: 2.0.0
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ etag: 1.8.1
+ finalhandler: 1.2.0
+ fresh: 0.5.2
+ http-errors: 2.0.0
+ merge-descriptors: 1.0.1
+ methods: 1.1.2
+ on-finished: 2.4.1
+ parseurl: 1.3.3
+ path-to-regexp: 0.1.7
+ proxy-addr: 2.0.7
+ qs: 6.11.0
+ range-parser: 1.2.1
+ safe-buffer: 5.2.1
+ send: 0.18.0
+ serve-static: 1.15.0
+ setprototypeof: 1.2.0
+ statuses: 2.0.1
+ type-is: 1.6.18
+ utils-merge: 1.0.1
+ vary: 1.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ /extend@3.0.2:
+ resolution:
+ {
+ integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==,
+ }
+ dev: true
+
+ /externality@1.0.2:
+ resolution:
+ {
+ integrity: sha512-LyExtJWKxtgVzmgtEHyQtLFpw1KFhQphF9nTG8TpAIVkiI/xQ3FJh75tRFLYl4hkn7BNIIdLJInuDAavX35pMw==,
+ }
+ dependencies:
+ enhanced-resolve: 5.15.0
+ mlly: 1.4.2
+ pathe: 1.1.1
+ ufo: 1.3.2
+ dev: true
+
+ /fast-deep-equal@3.1.3:
+ resolution:
+ {
+ integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==,
+ }
+ dev: true
+
+ /fast-fifo@1.3.2:
+ resolution:
+ {
+ integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==,
+ }
+ dev: true
+
+ /fast-glob@3.3.1:
+ resolution:
+ {
+ integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==,
+ }
+ engines: { node: '>=8.6.0' }
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ '@nodelib/fs.walk': 1.2.8
+ glob-parent: 5.1.2
+ merge2: 1.4.1
+ micromatch: 4.0.5
+ dev: true
+
+ /fast-glob@3.3.2:
+ resolution:
+ {
+ integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==,
+ }
+ engines: { node: '>=8.6.0' }
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ '@nodelib/fs.walk': 1.2.8
+ glob-parent: 5.1.2
+ merge2: 1.4.1
+ micromatch: 4.0.5
+ dev: true
+
+ /fast-json-stable-stringify@2.1.0:
+ resolution:
+ {
+ integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==,
+ }
+ dev: true
+
+ /fast-levenshtein@2.0.6:
+ resolution:
+ {
+ integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==,
+ }
+ dev: true
+
+ /fastq@1.15.0:
+ resolution:
+ {
+ integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==,
+ }
+ dependencies:
+ reusify: 1.0.4
+ dev: true
+
+ /fault@2.0.1:
+ resolution:
+ {
+ integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==,
+ }
+ dependencies:
+ format: 0.2.2
+ dev: true
+
+ /fb-watchman@2.0.2:
+ resolution:
+ {
+ integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==,
+ }
+ dependencies:
+ bser: 2.1.1
+ dev: true
+
+ /file-entry-cache@6.0.1:
+ resolution:
+ {
+ integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==,
+ }
+ engines: { node: ^10.12.0 || >=12.0.0 }
+ dependencies:
+ flat-cache: 3.1.0
+ dev: true
+
+ /file-uri-to-path@1.0.0:
+ resolution:
+ {
+ integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==,
+ }
+ dev: true
+
+ /fill-range@7.0.1:
+ resolution:
+ {
+ integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ to-regex-range: 5.0.1
+
+ /finalhandler@1.2.0:
+ resolution:
+ {
+ integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==,
+ }
+ engines: { node: '>= 0.8' }
+ dependencies:
+ debug: 2.6.9
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ on-finished: 2.4.1
+ parseurl: 1.3.3
+ statuses: 2.0.1
+ unpipe: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ /find-up@4.1.0:
+ resolution:
+ {
+ integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ locate-path: 5.0.0
+ path-exists: 4.0.0
+ dev: true
+
+ /find-up@5.0.0:
+ resolution:
+ {
+ integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==,
+ }
+ engines: { node: '>=10' }
+ dependencies:
+ locate-path: 6.0.0
+ path-exists: 4.0.0
+ dev: true
+
+ /flat-cache@3.1.0:
+ resolution:
+ {
+ integrity: sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==,
+ }
+ engines: { node: '>=12.0.0' }
+ dependencies:
+ flatted: 3.2.9
+ keyv: 4.5.3
+ rimraf: 3.0.2
+ dev: true
+
+ /flat@5.0.2:
+ resolution:
+ {
+ integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==,
+ }
+ hasBin: true
+ dev: true
+
+ /flatted@3.2.9:
+ resolution:
+ {
+ integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==,
+ }
+ dev: true
+
+ /for-each@0.3.3:
+ resolution:
+ {
+ integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==,
+ }
+ dependencies:
+ is-callable: 1.2.7
+
+ /foreground-child@3.1.1:
+ resolution:
+ {
+ integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==,
+ }
+ engines: { node: '>=14' }
+ dependencies:
+ cross-spawn: 7.0.3
+ signal-exit: 4.1.0
+ dev: true
+
+ /form-data@4.0.0:
+ resolution:
+ {
+ integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==,
+ }
+ engines: { node: '>= 6' }
+ dependencies:
+ asynckit: 0.4.0
+ combined-stream: 1.0.8
+ mime-types: 2.1.35
+ dev: true
+
+ /format@0.2.2:
+ resolution:
+ {
+ integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==,
+ }
+ engines: { node: '>=0.4.x' }
+ dev: true
+
+ /forwarded@0.2.0:
+ resolution:
+ {
+ integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==,
+ }
+ engines: { node: '>= 0.6' }
+
+ /fraction.js@4.3.7:
+ resolution:
+ {
+ integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==,
+ }
+ dev: true
+
+ /fresh@0.5.2:
+ resolution:
+ {
+ integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==,
+ }
+ engines: { node: '>= 0.6' }
+
+ /fs-constants@1.0.0:
+ resolution:
+ {
+ integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==,
+ }
+ dev: true
+
+ /fs-extra@10.1.0:
+ resolution:
+ {
+ integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==,
+ }
+ engines: { node: '>=12' }
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 6.1.0
+ universalify: 2.0.0
+ dev: true
+
+ /fs-extra@11.1.1:
+ resolution:
+ {
+ integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==,
+ }
+ engines: { node: '>=14.14' }
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 6.1.0
+ universalify: 2.0.0
+ dev: true
+
+ /fs-minipass@2.1.0:
+ resolution:
+ {
+ integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==,
+ }
+ engines: { node: '>= 8' }
+ dependencies:
+ minipass: 3.3.6
+ dev: true
+
+ /fs-minipass@3.0.3:
+ resolution:
+ {
+ integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==,
+ }
+ engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 }
+ dependencies:
+ minipass: 7.0.4
+ dev: true
+
+ /fs.realpath@1.0.0:
+ resolution:
+ {
+ integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==,
+ }
+ dev: true
+
+ /fsevents@2.3.2:
+ resolution:
+ {
+ integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==,
+ }
+ engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 }
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /fsevents@2.3.3:
+ resolution:
+ {
+ integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==,
+ }
+ engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 }
+ os: [darwin]
+ requiresBuild: true
+ optional: true
+
+ /function-bind@1.1.1:
+ resolution:
+ {
+ integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==,
+ }
+
+ /function.prototype.name@1.1.6:
+ resolution:
+ {
+ integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ es-abstract: 1.22.1
+ functions-have-names: 1.2.3
+ dev: true
+
+ /functions-have-names@1.2.3:
+ resolution:
+ {
+ integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==,
+ }
+ dev: true
+
+ /gauge@3.0.2:
+ resolution:
+ {
+ integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==,
+ }
+ engines: { node: '>=10' }
+ dependencies:
+ aproba: 2.0.0
+ color-support: 1.1.3
+ console-control-strings: 1.1.0
+ has-unicode: 2.0.1
+ object-assign: 4.1.1
+ signal-exit: 3.0.7
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wide-align: 1.1.5
+ dev: true
+
+ /generic-names@4.0.0:
+ resolution:
+ {
+ integrity: sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==,
+ }
+ dependencies:
+ loader-utils: 3.2.1
+ dev: true
+
+ /gensync@1.0.0-beta.2:
+ resolution:
+ {
+ integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==,
+ }
+ engines: { node: '>=6.9.0' }
+
+ /get-caller-file@2.0.5:
+ resolution:
+ {
+ integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==,
+ }
+ engines: { node: 6.* || 8.* || >= 10.* }
+ dev: true
+
+ /get-intrinsic@1.1.3:
+ resolution:
+ {
+ integrity: sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==,
+ }
+ dependencies:
+ function-bind: 1.1.1
+ has: 1.0.3
+ has-symbols: 1.0.3
+
+ /get-intrinsic@1.2.1:
+ resolution:
+ {
+ integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==,
+ }
+ dependencies:
+ function-bind: 1.1.1
+ has: 1.0.3
+ has-proto: 1.0.1
+ has-symbols: 1.0.3
+ dev: true
+
+ /get-package-type@0.1.0:
+ resolution:
+ {
+ integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==,
+ }
+ engines: { node: '>=8.0.0' }
+ dev: true
+
+ /get-port-please@3.1.1:
+ resolution:
+ {
+ integrity: sha512-3UBAyM3u4ZBVYDsxOQfJDxEa6XTbpBDrOjp4mf7ExFRt5BKs/QywQQiJsh2B+hxcZLSapWqCRvElUe8DnKcFHA==,
+ }
+ dev: true
+
+ /get-port@5.1.1:
+ resolution:
+ {
+ integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==,
+ }
+ engines: { node: '>=8' }
+
+ /get-stdin@9.0.0:
+ resolution:
+ {
+ integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==,
+ }
+ engines: { node: '>=12' }
+ dev: true
+
+ /get-stream@6.0.1:
+ resolution:
+ {
+ integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==,
+ }
+ engines: { node: '>=10' }
+
+ /get-stream@8.0.1:
+ resolution:
+ {
+ integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==,
+ }
+ engines: { node: '>=16' }
+ dev: true
+
+ /get-symbol-description@1.0.0:
+ resolution:
+ {
+ integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ call-bind: 1.0.2
+ get-intrinsic: 1.2.1
+ dev: true
+
+ /get-tsconfig@4.7.0:
+ resolution:
+ {
+ integrity: sha512-pmjiZ7xtB8URYm74PlGJozDNyhvsVLUcpBa8DZBG3bWHwaHa9bPiRpiSfovw+fjhwONSCWKRyk+JQHEGZmMrzw==,
+ }
+ dependencies:
+ resolve-pkg-maps: 1.0.0
+ dev: true
+
+ /giget@1.1.3:
+ resolution:
+ {
+ integrity: sha512-zHuCeqtfgqgDwvXlR84UNgnJDuUHQcNI5OqWqFxxuk2BshuKbYhJWdxBsEo4PvKqoGh23lUAIvBNpChMLv7/9Q==,
+ }
+ hasBin: true
+ dependencies:
+ colorette: 2.0.20
+ defu: 6.1.3
+ https-proxy-agent: 7.0.2
+ mri: 1.2.0
+ node-fetch-native: 1.4.1
+ pathe: 1.1.1
+ tar: 6.2.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /git-config-path@2.0.0:
+ resolution:
+ {
+ integrity: sha512-qc8h1KIQbJpp+241id3GuAtkdyJ+IK+LIVtkiFTRKRrmddDzs3SI9CvP1QYmWBFvm1I/PWRwj//of8bgAc0ltA==,
+ }
+ engines: { node: '>=4' }
+ dev: true
+
+ /git-hooks-list@3.1.0:
+ resolution:
+ {
+ integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==,
+ }
+ dev: true
+
+ /git-up@7.0.0:
+ resolution:
+ {
+ integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==,
+ }
+ dependencies:
+ is-ssh: 1.4.0
+ parse-url: 8.1.0
+ dev: true
+
+ /git-url-parse@13.1.1:
+ resolution:
+ {
+ integrity: sha512-PCFJyeSSdtnbfhSNRw9Wk96dDCNx+sogTe4YNXeXSJxt7xz5hvXekuRn9JX7m+Mf4OscCu8h+mtAl3+h5Fo8lQ==,
+ }
+ dependencies:
+ git-up: 7.0.0
+ dev: true
+
+ /glob-parent@5.1.2:
+ resolution:
+ {
+ integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==,
+ }
+ engines: { node: '>= 6' }
+ dependencies:
+ is-glob: 4.0.3
+
+ /glob-parent@6.0.2:
+ resolution:
+ {
+ integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==,
+ }
+ engines: { node: '>=10.13.0' }
+ dependencies:
+ is-glob: 4.0.3
+ dev: true
+
+ /glob-to-regexp@0.4.1:
+ resolution:
+ {
+ integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==,
+ }
+
+ /glob@10.3.10:
+ resolution:
+ {
+ integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==,
+ }
+ engines: { node: '>=16 || 14 >=14.17' }
+ hasBin: true
+ dependencies:
+ foreground-child: 3.1.1
+ jackspeak: 2.3.6
+ minimatch: 9.0.3
+ minipass: 7.0.4
+ path-scurry: 1.10.1
+ dev: true
+
+ /glob@7.1.6:
+ resolution:
+ {
+ integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==,
+ }
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.1.2
+ once: 1.4.0
+ path-is-absolute: 1.0.1
+ dev: true
+
+ /glob@7.2.3:
+ resolution:
+ {
+ integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==,
+ }
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.1.2
+ once: 1.4.0
+ path-is-absolute: 1.0.1
+ dev: true
+
+ /glob@8.1.0:
+ resolution:
+ {
+ integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==,
+ }
+ engines: { node: '>=12' }
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 5.1.6
+ once: 1.4.0
+ dev: true
+
+ /global-directory@4.0.1:
+ resolution:
+ {
+ integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==,
+ }
+ engines: { node: '>=18' }
+ dependencies:
+ ini: 4.1.1
+ dev: true
+
+ /globals@11.12.0:
+ resolution:
+ {
+ integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==,
+ }
+ engines: { node: '>=4' }
+
+ /globals@13.21.0:
+ resolution:
+ {
+ integrity: sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ type-fest: 0.20.2
+ dev: true
+
+ /globalthis@1.0.3:
+ resolution:
+ {
+ integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ define-properties: 1.2.0
+ dev: true
+
+ /globby@11.1.0:
+ resolution:
+ {
+ integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==,
+ }
+ engines: { node: '>=10' }
+ dependencies:
+ array-union: 2.1.0
+ dir-glob: 3.0.1
+ fast-glob: 3.3.2
+ ignore: 5.2.4
+ merge2: 1.4.1
+ slash: 3.0.0
+ dev: true
+
+ /globby@13.2.2:
+ resolution:
+ {
+ integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==,
+ }
+ engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
+ dependencies:
+ dir-glob: 3.0.1
+ fast-glob: 3.3.2
+ ignore: 5.3.0
+ merge2: 1.4.1
+ slash: 4.0.0
+ dev: true
+
+ /globby@14.0.0:
+ resolution:
+ {
+ integrity: sha512-/1WM/LNHRAOH9lZta77uGbq0dAEQM+XjNesWwhlERDVenqothRbnzTrL3/LrIoEPPjeUHC3vrS6TwoyxeHs7MQ==,
+ }
+ engines: { node: '>=18' }
+ dependencies:
+ '@sindresorhus/merge-streams': 1.0.0
+ fast-glob: 3.3.2
+ ignore: 5.3.0
+ path-type: 5.0.0
+ slash: 5.1.0
+ unicorn-magic: 0.1.0
+ dev: true
+
+ /gopd@1.0.1:
+ resolution:
+ {
+ integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==,
+ }
+ dependencies:
+ get-intrinsic: 1.1.3
+
+ /graceful-fs@4.2.11:
+ resolution:
+ {
+ integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==,
+ }
+
+ /graphemer@1.4.0:
+ resolution:
+ {
+ integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==,
+ }
+ dev: true
+
+ /gunzip-maybe@1.4.2:
+ resolution:
+ {
+ integrity: sha512-4haO1M4mLO91PW57BMsDFf75UmwoRX0GkdD+Faw+Lr+r/OZrOCS0pIBwOL1xCKQqnQzbNFGgK2V2CpBUPeFNTw==,
+ }
+ hasBin: true
+ dependencies:
+ browserify-zlib: 0.1.4
+ is-deflate: 1.0.0
+ is-gzip: 1.0.0
+ peek-stream: 1.1.3
+ pumpify: 1.5.1
+ through2: 2.0.5
+ dev: true
+
+ /gzip-size@7.0.0:
+ resolution:
+ {
+ integrity: sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA==,
+ }
+ engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
+ dependencies:
+ duplexer: 0.1.2
+ dev: true
+
+ /h3@1.9.0:
+ resolution:
+ {
+ integrity: sha512-+F3ZqrNV/CFXXfZ2lXBINHi+rM4Xw3CDC5z2CDK3NMPocjonKipGLLDSkrqY9DOrioZNPTIdDMWfQKm//3X2DA==,
+ }
+ dependencies:
+ cookie-es: 1.0.0
+ defu: 6.1.3
+ destr: 2.0.2
+ iron-webcrypto: 1.0.0
+ radix3: 1.1.0
+ ufo: 1.3.2
+ uncrypto: 0.1.3
+ unenv: 1.8.0
+ dev: true
+
+ /has-bigints@1.0.2:
+ resolution:
+ {
+ integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==,
+ }
+ dev: true
+
+ /has-flag@3.0.0:
+ resolution:
+ {
+ integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==,
+ }
+ engines: { node: '>=4' }
+
+ /has-flag@4.0.0:
+ resolution:
+ {
+ integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /has-property-descriptors@1.0.0:
+ resolution:
+ {
+ integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==,
+ }
+ dependencies:
+ get-intrinsic: 1.1.3
+ dev: true
+
+ /has-proto@1.0.1:
+ resolution:
+ {
+ integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==,
+ }
+ engines: { node: '>= 0.4' }
+ dev: true
+
+ /has-symbols@1.0.3:
+ resolution:
+ {
+ integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==,
+ }
+ engines: { node: '>= 0.4' }
+
+ /has-tostringtag@1.0.0:
+ resolution:
+ {
+ integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ has-symbols: 1.0.3
+
+ /has-unicode@2.0.1:
+ resolution:
+ {
+ integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==,
+ }
+ dev: true
+
+ /has@1.0.3:
+ resolution:
+ {
+ integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==,
+ }
+ engines: { node: '>= 0.4.0' }
+ dependencies:
+ function-bind: 1.1.1
+
+ /hash-sum@2.0.0:
+ resolution:
+ {
+ integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==,
+ }
+ dev: true
+
+ /hast-util-to-estree@2.3.3:
+ resolution:
+ {
+ integrity: sha512-ihhPIUPxN0v0w6M5+IiAZZrn0LH2uZomeWwhn7uP7avZC6TE7lIiEh2yBMPr5+zi1aUCXq6VoYRgs2Bw9xmycQ==,
+ }
+ dependencies:
+ '@types/estree': 1.0.2
+ '@types/estree-jsx': 1.0.1
+ '@types/hast': 2.3.6
+ '@types/unist': 2.0.8
+ comma-separated-tokens: 2.0.3
+ estree-util-attach-comments: 2.1.1
+ estree-util-is-identifier-name: 2.1.0
+ hast-util-whitespace: 2.0.1
+ mdast-util-mdx-expression: 1.3.2
+ mdast-util-mdxjs-esm: 1.3.1
+ property-information: 6.3.0
+ space-separated-tokens: 2.0.2
+ style-to-object: 0.4.2
+ unist-util-position: 4.0.4
+ zwitch: 2.0.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /hast-util-whitespace@2.0.1:
+ resolution:
+ {
+ integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==,
+ }
+ dev: true
+
+ /hookable@5.5.3:
+ resolution:
+ {
+ integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==,
+ }
+ dev: true
+
+ /hosted-git-info@2.8.9:
+ resolution:
+ {
+ integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==,
+ }
+ dev: true
+
+ /hosted-git-info@6.1.1:
+ resolution:
+ {
+ integrity: sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==,
+ }
+ engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 }
+ dependencies:
+ lru-cache: 7.18.3
+ dev: true
+
+ /hosted-git-info@7.0.1:
+ resolution:
+ {
+ integrity: sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==,
+ }
+ engines: { node: ^16.14.0 || >=18.0.0 }
+ dependencies:
+ lru-cache: 10.1.0
+ dev: true
+
+ /html-encoding-sniffer@3.0.0:
+ resolution:
+ {
+ integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==,
+ }
+ engines: { node: '>=12' }
+ dependencies:
+ whatwg-encoding: 2.0.0
+ dev: true
+
+ /html-escaper@2.0.2:
+ resolution:
+ {
+ integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==,
+ }
+ dev: true
+
+ /html-tags@3.3.1:
+ resolution:
+ {
+ integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /http-cache-semantics@4.1.1:
+ resolution:
+ {
+ integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==,
+ }
+ dev: true
+
+ /http-errors@2.0.0:
+ resolution:
+ {
+ integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==,
+ }
+ engines: { node: '>= 0.8' }
+ dependencies:
+ depd: 2.0.0
+ inherits: 2.0.4
+ setprototypeof: 1.2.0
+ statuses: 2.0.1
+ toidentifier: 1.0.1
+
+ /http-proxy-agent@5.0.0:
+ resolution:
+ {
+ integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==,
+ }
+ engines: { node: '>= 6' }
+ dependencies:
+ '@tootallnate/once': 2.0.0
+ agent-base: 6.0.2
+ debug: 4.3.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /http-proxy-agent@7.0.0:
+ resolution:
+ {
+ integrity: sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==,
+ }
+ engines: { node: '>= 14' }
+ dependencies:
+ agent-base: 7.1.0
+ debug: 4.3.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /http-shutdown@1.2.2:
+ resolution:
+ {
+ integrity: sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==,
+ }
+ engines: { iojs: '>= 1.0.0', node: '>= 0.12.0' }
+ dev: true
+
+ /https-proxy-agent@5.0.1:
+ resolution:
+ {
+ integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==,
+ }
+ engines: { node: '>= 6' }
+ dependencies:
+ agent-base: 6.0.2
+ debug: 4.3.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /https-proxy-agent@7.0.2:
+ resolution:
+ {
+ integrity: sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==,
+ }
+ engines: { node: '>= 14' }
+ dependencies:
+ agent-base: 7.1.0
+ debug: 4.3.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /httpxy@0.1.5:
+ resolution:
+ {
+ integrity: sha512-hqLDO+rfststuyEUTWObQK6zHEEmZ/kaIP2/zclGGZn6X8h/ESTWg+WKecQ/e5k4nPswjzZD+q2VqZIbr15CoQ==,
+ }
+ dev: true
+
+ /human-signals@2.1.0:
+ resolution:
+ {
+ integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==,
+ }
+ engines: { node: '>=10.17.0' }
+ dev: true
+
+ /human-signals@4.3.1:
+ resolution:
+ {
+ integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==,
+ }
+ engines: { node: '>=14.18.0' }
+
+ /human-signals@5.0.0:
+ resolution:
+ {
+ integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==,
+ }
+ engines: { node: '>=16.17.0' }
+ dev: true
+
+ /husky@8.0.3:
+ resolution:
+ {
+ integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==,
+ }
+ engines: { node: '>=14' }
+ hasBin: true
+ dev: true
+
+ /iconv-lite@0.4.24:
+ resolution:
+ {
+ integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==,
+ }
+ engines: { node: '>=0.10.0' }
+ dependencies:
+ safer-buffer: 2.1.2
+
+ /iconv-lite@0.6.3:
+ resolution:
+ {
+ integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==,
+ }
+ engines: { node: '>=0.10.0' }
+ dependencies:
+ safer-buffer: 2.1.2
+ dev: true
+
+ /icss-utils@5.1.0(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==,
+ }
+ engines: { node: ^10 || ^12 || >= 14 }
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ postcss: 8.4.31
+ dev: true
+
+ /ieee754@1.2.1:
+ resolution:
+ {
+ integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==,
+ }
+ dev: true
+
+ /ignore-walk@6.0.3:
+ resolution:
+ {
+ integrity: sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==,
+ }
+ engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 }
+ dependencies:
+ minimatch: 9.0.3
+ dev: true
+
+ /ignore@5.2.4:
+ resolution:
+ {
+ integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==,
+ }
+ engines: { node: '>= 4' }
+ dev: true
+
+ /ignore@5.3.0:
+ resolution:
+ {
+ integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==,
+ }
+ engines: { node: '>= 4' }
+ dev: true
+
+ /image-meta@0.2.0:
+ resolution:
+ {
+ integrity: sha512-ZBGjl0ZMEMeOC3Ns0wUF/5UdUmr3qQhBSCniT0LxOgGGIRHiNFOkMtIHB7EOznRU47V2AxPgiVP+s+0/UCU0Hg==,
+ }
+ dev: true
+
+ /import-fresh@3.3.0:
+ resolution:
+ {
+ integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==,
+ }
+ engines: { node: '>=6' }
+ dependencies:
+ parent-module: 1.0.1
+ resolve-from: 4.0.0
+ dev: true
+
+ /import-local@3.1.0:
+ resolution:
+ {
+ integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==,
+ }
+ engines: { node: '>=8' }
+ hasBin: true
+ dependencies:
+ pkg-dir: 4.2.0
+ resolve-cwd: 3.0.0
+ dev: true
+
+ /import-meta-resolve@2.2.2:
+ resolution:
+ {
+ integrity: sha512-f8KcQ1D80V7RnqVm+/lirO9zkOxjGxhaTC1IPrBGd3MEfNgmNG67tSUO9gTi2F3Blr2Az6g1vocaxzkVnWl9MA==,
+ }
+ dev: true
+
+ /imurmurhash@0.1.4:
+ resolution:
+ {
+ integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==,
+ }
+ engines: { node: '>=0.8.19' }
+ dev: true
+
+ /indent-string@4.0.0:
+ resolution:
+ {
+ integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /inflight@1.0.6:
+ resolution:
+ {
+ integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==,
+ }
+ dependencies:
+ once: 1.4.0
+ wrappy: 1.0.2
+ dev: true
+
+ /inherits@2.0.4:
+ resolution:
+ {
+ integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==,
+ }
+
+ /ini@1.3.8:
+ resolution:
+ {
+ integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==,
+ }
+ dev: true
+
+ /ini@4.1.1:
+ resolution:
+ {
+ integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==,
+ }
+ engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 }
+ dev: true
+
+ /inline-style-parser@0.1.1:
+ resolution:
+ {
+ integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==,
+ }
+ dev: true
+
+ /internal-slot@1.0.5:
+ resolution:
+ {
+ integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ get-intrinsic: 1.2.1
+ has: 1.0.3
+ side-channel: 1.0.4
+ dev: true
+
+ /ioredis@5.3.2:
+ resolution:
+ {
+ integrity: sha512-1DKMMzlIHM02eBBVOFQ1+AolGjs6+xEcM4PDL7NqOS6szq7H9jSaEkIUH6/a5Hl241LzW6JLSiAbNvTQjUupUA==,
+ }
+ engines: { node: '>=12.22.0' }
+ dependencies:
+ '@ioredis/commands': 1.2.0
+ cluster-key-slot: 1.1.2
+ debug: 4.3.4
+ denque: 2.1.0
+ lodash.defaults: 4.2.0
+ lodash.isarguments: 3.1.0
+ redis-errors: 1.2.0
+ redis-parser: 3.0.0
+ standard-as-callback: 2.1.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /ip@2.0.0:
+ resolution:
+ {
+ integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==,
+ }
+ dev: true
+
+ /ipaddr.js@1.9.1:
+ resolution:
+ {
+ integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==,
+ }
+ engines: { node: '>= 0.10' }
+
+ /iron-webcrypto@1.0.0:
+ resolution:
+ {
+ integrity: sha512-anOK1Mktt8U1Xi7fCM3RELTuYbnFikQY5VtrDj7kPgpejV7d43tWKhzgioO0zpkazLEL/j/iayRqnJhrGfqUsg==,
+ }
+ dev: true
+
+ /is-alphabetical@2.0.1:
+ resolution:
+ {
+ integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==,
+ }
+ dev: true
+
+ /is-alphanumerical@2.0.1:
+ resolution:
+ {
+ integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==,
+ }
+ dependencies:
+ is-alphabetical: 2.0.1
+ is-decimal: 2.0.1
+ dev: true
+
+ /is-arguments@1.1.1:
+ resolution:
+ {
+ integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ call-bind: 1.0.2
+ has-tostringtag: 1.0.0
+
+ /is-array-buffer@3.0.2:
+ resolution:
+ {
+ integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==,
+ }
+ dependencies:
+ call-bind: 1.0.2
+ get-intrinsic: 1.2.1
+ is-typed-array: 1.1.12
+ dev: true
+
+ /is-arrayish@0.2.1:
+ resolution:
+ {
+ integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==,
+ }
+ dev: true
+
+ /is-async-function@2.0.0:
+ resolution:
+ {
+ integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /is-bigint@1.0.4:
+ resolution:
+ {
+ integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==,
+ }
+ dependencies:
+ has-bigints: 1.0.2
+ dev: true
+
+ /is-binary-path@2.1.0:
+ resolution:
+ {
+ integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ binary-extensions: 2.2.0
+
+ /is-boolean-object@1.1.2:
+ resolution:
+ {
+ integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ call-bind: 1.0.2
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /is-buffer@2.0.5:
+ resolution:
+ {
+ integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==,
+ }
+ engines: { node: '>=4' }
+ dev: true
+
+ /is-builtin-module@3.2.1:
+ resolution:
+ {
+ integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==,
+ }
+ engines: { node: '>=6' }
+ dependencies:
+ builtin-modules: 3.3.0
+ dev: true
+
+ /is-callable@1.2.7:
+ resolution:
+ {
+ integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==,
+ }
+ engines: { node: '>= 0.4' }
+
+ /is-core-module@2.13.0:
+ resolution:
+ {
+ integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==,
+ }
+ dependencies:
+ has: 1.0.3
+ dev: true
+
+ /is-date-object@1.0.5:
+ resolution:
+ {
+ integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /is-decimal@2.0.1:
+ resolution:
+ {
+ integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==,
+ }
+ dev: true
+
+ /is-deflate@1.0.0:
+ resolution:
+ {
+ integrity: sha512-YDoFpuZWu1VRXlsnlYMzKyVRITXj7Ej/V9gXQ2/pAe7X1J7M/RNOqaIYi6qUn+B7nGyB9pDXrv02dsB58d2ZAQ==,
+ }
+ dev: true
+
+ /is-docker@2.2.1:
+ resolution:
+ {
+ integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==,
+ }
+ engines: { node: '>=8' }
+ hasBin: true
+ dev: true
+
+ /is-docker@3.0.0:
+ resolution:
+ {
+ integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==,
+ }
+ engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
+ hasBin: true
+ dev: true
+
+ /is-extglob@2.1.1:
+ resolution:
+ {
+ integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==,
+ }
+ engines: { node: '>=0.10.0' }
+
+ /is-finalizationregistry@1.0.2:
+ resolution:
+ {
+ integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==,
+ }
+ dependencies:
+ call-bind: 1.0.2
+ dev: true
+
+ /is-fullwidth-code-point@3.0.0:
+ resolution:
+ {
+ integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /is-fullwidth-code-point@4.0.0:
+ resolution:
+ {
+ integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==,
+ }
+ engines: { node: '>=12' }
+ dev: false
+
+ /is-generator-fn@2.1.0:
+ resolution:
+ {
+ integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==,
+ }
+ engines: { node: '>=6' }
+ dev: true
+
+ /is-generator-function@1.0.10:
+ resolution:
+ {
+ integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ has-tostringtag: 1.0.0
+
+ /is-glob@4.0.3:
+ resolution:
+ {
+ integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==,
+ }
+ engines: { node: '>=0.10.0' }
+ dependencies:
+ is-extglob: 2.1.1
+
+ /is-gzip@1.0.0:
+ resolution:
+ {
+ integrity: sha512-rcfALRIb1YewtnksfRIHGcIY93QnK8BIQ/2c9yDYcG/Y6+vRoJuTWBmmSEbyLLYtXm7q35pHOHbZFQBaLrhlWQ==,
+ }
+ engines: { node: '>=0.10.0' }
+ dev: true
+
+ /is-hexadecimal@2.0.1:
+ resolution:
+ {
+ integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==,
+ }
+ dev: true
+
+ /is-inside-container@1.0.0:
+ resolution:
+ {
+ integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==,
+ }
+ engines: { node: '>=14.16' }
+ hasBin: true
+ dependencies:
+ is-docker: 3.0.0
+ dev: true
+
+ /is-installed-globally@1.0.0:
+ resolution:
+ {
+ integrity: sha512-K55T22lfpQ63N4KEN57jZUAaAYqYHEe8veb/TycJRk9DdSCLLcovXz/mL6mOnhQaZsQGwPhuFopdQIlqGSEjiQ==,
+ }
+ engines: { node: '>=18' }
+ dependencies:
+ global-directory: 4.0.1
+ is-path-inside: 4.0.0
+ dev: true
+
+ /is-interactive@1.0.0:
+ resolution:
+ {
+ integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /is-lambda@1.0.1:
+ resolution:
+ {
+ integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==,
+ }
+ dev: true
+
+ /is-map@2.0.2:
+ resolution:
+ {
+ integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==,
+ }
+ dev: true
+
+ /is-module@1.0.0:
+ resolution:
+ {
+ integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==,
+ }
+ dev: true
+
+ /is-negative-zero@2.0.2:
+ resolution:
+ {
+ integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==,
+ }
+ engines: { node: '>= 0.4' }
+ dev: true
+
+ /is-number-object@1.0.7:
+ resolution:
+ {
+ integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /is-number@7.0.0:
+ resolution:
+ {
+ integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==,
+ }
+ engines: { node: '>=0.12.0' }
+
+ /is-path-inside@3.0.3:
+ resolution:
+ {
+ integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /is-path-inside@4.0.0:
+ resolution:
+ {
+ integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==,
+ }
+ engines: { node: '>=12' }
+ dev: true
+
+ /is-plain-obj@3.0.0:
+ resolution:
+ {
+ integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==,
+ }
+ engines: { node: '>=10' }
+ dev: true
+
+ /is-plain-obj@4.1.0:
+ resolution:
+ {
+ integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==,
+ }
+ engines: { node: '>=12' }
+ dev: true
+
+ /is-potential-custom-element-name@1.0.1:
+ resolution:
+ {
+ integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==,
+ }
+ dev: true
+
+ /is-primitive@3.0.1:
+ resolution:
+ {
+ integrity: sha512-GljRxhWvlCNRfZyORiH77FwdFwGcMO620o37EOYC0ORWdq+WYNVqW0w2Juzew4M+L81l6/QS3t5gkkihyRqv9w==,
+ }
+ engines: { node: '>=0.10.0' }
+ dev: true
+
+ /is-promise@4.0.0:
+ resolution:
+ {
+ integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==,
+ }
+ dev: true
+
+ /is-reference@1.2.1:
+ resolution:
+ {
+ integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==,
+ }
+ dependencies:
+ '@types/estree': 1.0.2
+ dev: true
+
+ /is-reference@3.0.2:
+ resolution:
+ {
+ integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==,
+ }
+ dependencies:
+ '@types/estree': 1.0.2
+ dev: true
+
+ /is-regex@1.1.4:
+ resolution:
+ {
+ integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ call-bind: 1.0.2
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /is-set@2.0.2:
+ resolution:
+ {
+ integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==,
+ }
+ dev: true
+
+ /is-shared-array-buffer@1.0.2:
+ resolution:
+ {
+ integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==,
+ }
+ dependencies:
+ call-bind: 1.0.2
+ dev: true
+
+ /is-ssh@1.4.0:
+ resolution:
+ {
+ integrity: sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==,
+ }
+ dependencies:
+ protocols: 2.0.1
+ dev: true
+
+ /is-stream@2.0.1:
+ resolution:
+ {
+ integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /is-stream@3.0.0:
+ resolution:
+ {
+ integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==,
+ }
+ engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
+
+ /is-string@1.0.7:
+ resolution:
+ {
+ integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /is-symbol@1.0.4:
+ resolution:
+ {
+ integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ has-symbols: 1.0.3
+ dev: true
+
+ /is-typed-array@1.1.10:
+ resolution:
+ {
+ integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ available-typed-arrays: 1.0.5
+ call-bind: 1.0.2
+ for-each: 0.3.3
+ gopd: 1.0.1
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /is-typed-array@1.1.12:
+ resolution:
+ {
+ integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ which-typed-array: 1.1.11
+
+ /is-unicode-supported@0.1.0:
+ resolution:
+ {
+ integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==,
+ }
+ engines: { node: '>=10' }
+ dev: true
+
+ /is-weakmap@2.0.1:
+ resolution:
+ {
+ integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==,
+ }
+ dev: true
+
+ /is-weakref@1.0.2:
+ resolution:
+ {
+ integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==,
+ }
+ dependencies:
+ call-bind: 1.0.2
+ dev: true
+
+ /is-weakset@2.0.2:
+ resolution:
+ {
+ integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==,
+ }
+ dependencies:
+ call-bind: 1.0.2
+ get-intrinsic: 1.1.3
+ dev: true
+
+ /is-wsl@2.2.0:
+ resolution:
+ {
+ integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ is-docker: 2.2.1
+ dev: true
+
+ /isarray@0.0.1:
+ resolution:
+ {
+ integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==,
+ }
+ dev: true
+
+ /isarray@1.0.0:
+ resolution:
+ {
+ integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==,
+ }
+ dev: true
+
+ /isarray@2.0.5:
+ resolution:
+ {
+ integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==,
+ }
+ dev: true
+
+ /isbot@3.6.8:
+ resolution:
+ {
+ integrity: sha512-V8XUXN0/UYxfgrui4o38pmOve2eO/1KjluxR1G8Qnu5gqlUiNrvtX06t1W5n8vFtrtKfHj96iFYuPL39jXUe8g==,
+ }
+ engines: { node: '>=12' }
+ dev: false
+
+ /isexe@2.0.0:
+ resolution:
+ {
+ integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==,
+ }
+
+ /isexe@3.1.1:
+ resolution:
+ {
+ integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==,
+ }
+ engines: { node: '>=16' }
+ dev: true
+
+ /istanbul-lib-coverage@3.2.0:
+ resolution:
+ {
+ integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /istanbul-lib-instrument@5.2.1:
+ resolution:
+ {
+ integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/parser': 7.23.4
+ '@istanbuljs/schema': 0.1.3
+ istanbul-lib-coverage: 3.2.0
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /istanbul-lib-instrument@6.0.0:
+ resolution:
+ {
+ integrity: sha512-x58orMzEVfzPUKqlbLd1hXCnySCxKdDKa6Rjg97CwuLLRI4g3FHTdnExu1OqffVFay6zeMW+T6/DowFLndWnIw==,
+ }
+ engines: { node: '>=10' }
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/parser': 7.23.4
+ '@istanbuljs/schema': 0.1.3
+ istanbul-lib-coverage: 3.2.0
+ semver: 7.5.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /istanbul-lib-report@3.0.1:
+ resolution:
+ {
+ integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==,
+ }
+ engines: { node: '>=10' }
+ dependencies:
+ istanbul-lib-coverage: 3.2.0
+ make-dir: 4.0.0
+ supports-color: 7.2.0
+ dev: true
+
+ /istanbul-lib-source-maps@4.0.1:
+ resolution:
+ {
+ integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==,
+ }
+ engines: { node: '>=10' }
+ dependencies:
+ debug: 4.3.4
+ istanbul-lib-coverage: 3.2.0
+ source-map: 0.6.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /istanbul-reports@3.1.6:
+ resolution:
+ {
+ integrity: sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ html-escaper: 2.0.2
+ istanbul-lib-report: 3.0.1
+ dev: true
+
+ /iterator.prototype@1.1.1:
+ resolution:
+ {
+ integrity: sha512-9E+nePc8C9cnQldmNl6bgpTY6zI4OPRZd97fhJ/iVZ1GifIUDVV5F6x1nEDqpe8KaMEZGT4xgrwKQDxXnjOIZQ==,
+ }
+ dependencies:
+ define-properties: 1.2.0
+ get-intrinsic: 1.2.1
+ has-symbols: 1.0.3
+ reflect.getprototypeof: 1.0.4
+ dev: true
+
+ /jackspeak@2.3.6:
+ resolution:
+ {
+ integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==,
+ }
+ engines: { node: '>=14' }
+ dependencies:
+ '@isaacs/cliui': 8.0.2
+ optionalDependencies:
+ '@pkgjs/parseargs': 0.11.0
+ dev: true
+
+ /javascript-stringify@2.1.0:
+ resolution:
+ {
+ integrity: sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==,
+ }
+ dev: true
+
+ /jest-changed-files@29.6.3:
+ resolution:
+ {
+ integrity: sha512-G5wDnElqLa4/c66ma5PG9eRjE342lIbF6SUnTJi26C3J28Fv2TVY2rOyKB9YGbSA5ogwevgmxc4j4aVjrEK6Yg==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ execa: 5.1.1
+ jest-util: 29.6.3
+ p-limit: 3.1.0
+ dev: true
+
+ /jest-circus@29.6.4:
+ resolution:
+ {
+ integrity: sha512-YXNrRyntVUgDfZbjXWBMPslX1mQ8MrSG0oM/Y06j9EYubODIyHWP8hMUbjbZ19M3M+zamqEur7O80HODwACoJw==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ '@jest/environment': 29.6.4
+ '@jest/expect': 29.6.4
+ '@jest/test-result': 29.6.4
+ '@jest/types': 29.6.3
+ '@types/node': 20.5.9
+ chalk: 4.1.2
+ co: 4.6.0
+ dedent: 1.5.1
+ is-generator-fn: 2.1.0
+ jest-each: 29.6.3
+ jest-matcher-utils: 29.6.4
+ jest-message-util: 29.6.3
+ jest-runtime: 29.6.4
+ jest-snapshot: 29.6.4
+ jest-util: 29.6.3
+ p-limit: 3.1.0
+ pretty-format: 29.6.3
+ pure-rand: 6.0.3
+ slash: 3.0.0
+ stack-utils: 2.0.6
+ transitivePeerDependencies:
+ - babel-plugin-macros
+ - supports-color
+ dev: true
+
+ /jest-cli@29.6.4(@types/node@20.5.9):
+ resolution:
+ {
+ integrity: sha512-+uMCQ7oizMmh8ZwRfZzKIEszFY9ksjjEQnTEMTaL7fYiL3Kw4XhqT9bYh+A4DQKUb67hZn2KbtEnDuHvcgK4pQ==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ hasBin: true
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+ dependencies:
+ '@jest/core': 29.6.4
+ '@jest/test-result': 29.6.4
+ '@jest/types': 29.6.3
+ chalk: 4.1.2
+ exit: 0.1.2
+ graceful-fs: 4.2.11
+ import-local: 3.1.0
+ jest-config: 29.6.4(@types/node@20.5.9)
+ jest-util: 29.6.3
+ jest-validate: 29.6.3
+ prompts: 2.4.2
+ yargs: 17.7.2
+ transitivePeerDependencies:
+ - '@types/node'
+ - babel-plugin-macros
+ - supports-color
+ - ts-node
+ dev: true
+
+ /jest-config@29.6.4(@types/node@20.5.9):
+ resolution:
+ {
+ integrity: sha512-JWohr3i9m2cVpBumQFv2akMEnFEPVOh+9L2xIBJhJ0zOaci2ZXuKJj0tgMKQCBZAKA09H049IR4HVS/43Qb19A==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ peerDependencies:
+ '@types/node': '*'
+ ts-node: '>=9.0.0'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ ts-node:
+ optional: true
+ dependencies:
+ '@babel/core': 7.22.15
+ '@jest/test-sequencer': 29.6.4
+ '@jest/types': 29.6.3
+ '@types/node': 20.5.9
+ babel-jest: 29.6.4(@babel/core@7.22.15)
+ chalk: 4.1.2
+ ci-info: 3.8.0
+ deepmerge: 4.3.1
+ glob: 7.2.3
+ graceful-fs: 4.2.11
+ jest-circus: 29.6.4
+ jest-environment-node: 29.6.4
+ jest-get-type: 29.6.3
+ jest-regex-util: 29.6.3
+ jest-resolve: 29.6.4
+ jest-runner: 29.6.4
+ jest-util: 29.6.3
+ jest-validate: 29.6.3
+ micromatch: 4.0.5
+ parse-json: 5.2.0
+ pretty-format: 29.6.3
+ slash: 3.0.0
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - babel-plugin-macros
+ - supports-color
+ dev: true
+
+ /jest-diff@29.6.4:
+ resolution:
+ {
+ integrity: sha512-9F48UxR9e4XOEZvoUXEHSWY4qC4zERJaOfrbBg9JpbJOO43R1vN76REt/aMGZoY6GD5g84nnJiBIVlscegefpw==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ chalk: 4.1.2
+ diff-sequences: 29.6.3
+ jest-get-type: 29.6.3
+ pretty-format: 29.6.3
+ dev: true
+
+ /jest-docblock@29.6.3:
+ resolution:
+ {
+ integrity: sha512-2+H+GOTQBEm2+qFSQ7Ma+BvyV+waiIFxmZF5LdpBsAEjWX8QYjSCa4FrkIYtbfXUJJJnFCYrOtt6TZ+IAiTjBQ==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ detect-newline: 3.1.0
+ dev: true
+
+ /jest-each@29.6.3:
+ resolution:
+ {
+ integrity: sha512-KoXfJ42k8cqbkfshW7sSHcdfnv5agDdHCPA87ZBdmHP+zJstTJc0ttQaJ/x7zK6noAL76hOuTIJ6ZkQRS5dcyg==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ '@jest/types': 29.6.3
+ chalk: 4.1.2
+ jest-get-type: 29.6.3
+ jest-util: 29.6.3
+ pretty-format: 29.6.3
+ dev: true
+
+ /jest-environment-jsdom@29.6.4:
+ resolution:
+ {
+ integrity: sha512-K6wfgUJ16DoMs02JYFid9lOsqfpoVtyJxpRlnTxUHzvZWBnnh2VNGRB9EC1Cro96TQdq5TtSjb3qUjNaJP9IyA==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ peerDependencies:
+ canvas: ^2.5.0
+ peerDependenciesMeta:
+ canvas:
+ optional: true
+ dependencies:
+ '@jest/environment': 29.6.4
+ '@jest/fake-timers': 29.6.4
+ '@jest/types': 29.6.3
+ '@types/jsdom': 20.0.1
+ '@types/node': 20.5.9
+ jest-mock: 29.6.3
+ jest-util: 29.6.3
+ jsdom: 20.0.3
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+ dev: true
+
+ /jest-environment-node@29.6.4:
+ resolution:
+ {
+ integrity: sha512-i7SbpH2dEIFGNmxGCpSc2w9cA4qVD+wfvg2ZnfQ7XVrKL0NA5uDVBIiGH8SR4F0dKEv/0qI5r+aDomDf04DpEQ==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ '@jest/environment': 29.6.4
+ '@jest/fake-timers': 29.6.4
+ '@jest/types': 29.6.3
+ '@types/node': 20.5.9
+ jest-mock: 29.6.3
+ jest-util: 29.6.3
+ dev: true
+
+ /jest-get-type@29.6.3:
+ resolution:
+ {
+ integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dev: true
+
+ /jest-haste-map@29.6.4:
+ resolution:
+ {
+ integrity: sha512-12Ad+VNTDHxKf7k+M65sviyynRoZYuL1/GTuhEVb8RYsNSNln71nANRb/faSyWvx0j+gHcivChXHIoMJrGYjog==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ '@jest/types': 29.6.3
+ '@types/graceful-fs': 4.1.6
+ '@types/node': 20.5.9
+ anymatch: 3.1.3
+ fb-watchman: 2.0.2
+ graceful-fs: 4.2.11
+ jest-regex-util: 29.6.3
+ jest-util: 29.6.3
+ jest-worker: 29.6.4
+ micromatch: 4.0.5
+ walker: 1.0.8
+ optionalDependencies:
+ fsevents: 2.3.3
+ dev: true
+
+ /jest-leak-detector@29.6.3:
+ resolution:
+ {
+ integrity: sha512-0kfbESIHXYdhAdpLsW7xdwmYhLf1BRu4AA118/OxFm0Ho1b2RcTmO4oF6aAMaxpxdxnJ3zve2rgwzNBD4Zbm7Q==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ jest-get-type: 29.6.3
+ pretty-format: 29.6.3
+ dev: true
+
+ /jest-matcher-utils@29.6.4:
+ resolution:
+ {
+ integrity: sha512-KSzwyzGvK4HcfnserYqJHYi7sZVqdREJ9DMPAKVbS98JsIAvumihaNUbjrWw0St7p9IY7A9UskCW5MYlGmBQFQ==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ chalk: 4.1.2
+ jest-diff: 29.6.4
+ jest-get-type: 29.6.3
+ pretty-format: 29.6.3
+ dev: true
+
+ /jest-message-util@29.6.3:
+ resolution:
+ {
+ integrity: sha512-FtzaEEHzjDpQp51HX4UMkPZjy46ati4T5pEMyM6Ik48ztu4T9LQplZ6OsimHx7EuM9dfEh5HJa6D3trEftu3dA==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ '@babel/code-frame': 7.22.13
+ '@jest/types': 29.6.3
+ '@types/stack-utils': 2.0.1
+ chalk: 4.1.2
+ graceful-fs: 4.2.11
+ micromatch: 4.0.5
+ pretty-format: 29.6.3
+ slash: 3.0.0
+ stack-utils: 2.0.6
+ dev: true
+
+ /jest-mock@29.6.3:
+ resolution:
+ {
+ integrity: sha512-Z7Gs/mOyTSR4yPsaZ72a/MtuK6RnC3JYqWONe48oLaoEcYwEDxqvbXz85G4SJrm2Z5Ar9zp6MiHF4AlFlRM4Pg==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ '@jest/types': 29.6.3
+ '@types/node': 20.5.9
+ jest-util: 29.6.3
+ dev: true
+
+ /jest-pnp-resolver@1.2.3(jest-resolve@29.6.4):
+ resolution:
+ {
+ integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==,
+ }
+ engines: { node: '>=6' }
+ peerDependencies:
+ jest-resolve: '*'
+ peerDependenciesMeta:
+ jest-resolve:
+ optional: true
+ dependencies:
+ jest-resolve: 29.6.4
+ dev: true
+
+ /jest-regex-util@29.6.3:
+ resolution:
+ {
+ integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dev: true
+
+ /jest-resolve-dependencies@29.6.4:
+ resolution:
+ {
+ integrity: sha512-7+6eAmr1ZBF3vOAJVsfLj1QdqeXG+WYhidfLHBRZqGN24MFRIiKG20ItpLw2qRAsW/D2ZUUmCNf6irUr/v6KHA==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ jest-regex-util: 29.6.3
+ jest-snapshot: 29.6.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /jest-resolve@29.6.4:
+ resolution:
+ {
+ integrity: sha512-fPRq+0vcxsuGlG0O3gyoqGTAxasagOxEuyoxHeyxaZbc9QNek0AmJWSkhjlMG+mTsj+8knc/mWb3fXlRNVih7Q==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ chalk: 4.1.2
+ graceful-fs: 4.2.11
+ jest-haste-map: 29.6.4
+ jest-pnp-resolver: 1.2.3(jest-resolve@29.6.4)
+ jest-util: 29.6.3
+ jest-validate: 29.6.3
+ resolve: 1.22.4
+ resolve.exports: 2.0.2
+ slash: 3.0.0
+ dev: true
+
+ /jest-runner@29.6.4:
+ resolution:
+ {
+ integrity: sha512-SDaLrMmtVlQYDuG0iSPYLycG8P9jLI+fRm8AF/xPKhYDB2g6xDWjXBrR5M8gEWsK6KVFlebpZ4QsrxdyIX1Jaw==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ '@jest/console': 29.6.4
+ '@jest/environment': 29.6.4
+ '@jest/test-result': 29.6.4
+ '@jest/transform': 29.6.4
+ '@jest/types': 29.6.3
+ '@types/node': 20.5.9
+ chalk: 4.1.2
+ emittery: 0.13.1
+ graceful-fs: 4.2.11
+ jest-docblock: 29.6.3
+ jest-environment-node: 29.6.4
+ jest-haste-map: 29.6.4
+ jest-leak-detector: 29.6.3
+ jest-message-util: 29.6.3
+ jest-resolve: 29.6.4
+ jest-runtime: 29.6.4
+ jest-util: 29.6.3
+ jest-watcher: 29.6.4
+ jest-worker: 29.6.4
+ p-limit: 3.1.0
+ source-map-support: 0.5.13
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /jest-runtime@29.6.4:
+ resolution:
+ {
+ integrity: sha512-s/QxMBLvmwLdchKEjcLfwzP7h+jsHvNEtxGP5P+Fl1FMaJX2jMiIqe4rJw4tFprzCwuSvVUo9bn0uj4gNRXsbA==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ '@jest/environment': 29.6.4
+ '@jest/fake-timers': 29.6.4
+ '@jest/globals': 29.6.4
+ '@jest/source-map': 29.6.3
+ '@jest/test-result': 29.6.4
+ '@jest/transform': 29.6.4
+ '@jest/types': 29.6.3
+ '@types/node': 20.5.9
+ chalk: 4.1.2
+ cjs-module-lexer: 1.2.3
+ collect-v8-coverage: 1.0.2
+ glob: 7.2.3
+ graceful-fs: 4.2.11
+ jest-haste-map: 29.6.4
+ jest-message-util: 29.6.3
+ jest-mock: 29.6.3
+ jest-regex-util: 29.6.3
+ jest-resolve: 29.6.4
+ jest-snapshot: 29.6.4
+ jest-util: 29.6.3
+ slash: 3.0.0
+ strip-bom: 4.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /jest-snapshot@29.6.4:
+ resolution:
+ {
+ integrity: sha512-VC1N8ED7+4uboUKGIDsbvNAZb6LakgIPgAF4RSpF13dN6YaMokfRqO+BaqK4zIh6X3JffgwbzuGqDEjHm/MrvA==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ '@babel/core': 7.22.15
+ '@babel/generator': 7.22.15
+ '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.15)
+ '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.15)
+ '@babel/types': 7.23.4
+ '@jest/expect-utils': 29.6.4
+ '@jest/transform': 29.6.4
+ '@jest/types': 29.6.3
+ babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.15)
+ chalk: 4.1.2
+ expect: 29.6.4
+ graceful-fs: 4.2.11
+ jest-diff: 29.6.4
+ jest-get-type: 29.6.3
+ jest-matcher-utils: 29.6.4
+ jest-message-util: 29.6.3
+ jest-util: 29.6.3
+ natural-compare: 1.4.0
+ pretty-format: 29.6.3
+ semver: 7.5.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /jest-util@29.6.3:
+ resolution:
+ {
+ integrity: sha512-QUjna/xSy4B32fzcKTSz1w7YYzgiHrjjJjevdRf61HYk998R5vVMMNmrHESYZVDS5DSWs+1srPLPKxXPkeSDOA==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ '@jest/types': 29.6.3
+ '@types/node': 20.5.9
+ chalk: 4.1.2
+ ci-info: 3.8.0
+ graceful-fs: 4.2.11
+ picomatch: 2.3.1
+ dev: true
+
+ /jest-validate@29.6.3:
+ resolution:
+ {
+ integrity: sha512-e7KWZcAIX+2W1o3cHfnqpGajdCs1jSM3DkXjGeLSNmCazv1EeI1ggTeK5wdZhF+7N+g44JI2Od3veojoaumlfg==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ '@jest/types': 29.6.3
+ camelcase: 6.3.0
+ chalk: 4.1.2
+ jest-get-type: 29.6.3
+ leven: 3.1.0
+ pretty-format: 29.6.3
+ dev: true
+
+ /jest-watcher@29.6.4:
+ resolution:
+ {
+ integrity: sha512-oqUWvx6+On04ShsT00Ir9T4/FvBeEh2M9PTubgITPxDa739p4hoQweWPRGyYeaojgT0xTpZKF0Y/rSY1UgMxvQ==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ '@jest/test-result': 29.6.4
+ '@jest/types': 29.6.3
+ '@types/node': 20.5.9
+ ansi-escapes: 4.3.2
+ chalk: 4.1.2
+ emittery: 0.13.1
+ jest-util: 29.6.3
+ string-length: 4.0.2
+ dev: true
+
+ /jest-worker@29.6.4:
+ resolution:
+ {
+ integrity: sha512-6dpvFV4WjcWbDVGgHTWo/aupl8/LbBx2NSKfiwqf79xC/yeJjKHT1+StcKy/2KTmW16hE68ccKVOtXf+WZGz7Q==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ '@types/node': 20.5.9
+ jest-util: 29.6.3
+ merge-stream: 2.0.0
+ supports-color: 8.1.1
+ dev: true
+
+ /jest@29.6.4(@types/node@20.5.9):
+ resolution:
+ {
+ integrity: sha512-tEFhVQFF/bzoYV1YuGyzLPZ6vlPrdfvDmmAxudA1dLEuiztqg2Rkx20vkKY32xiDROcD2KXlgZ7Cu8RPeEHRKw==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ hasBin: true
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+ dependencies:
+ '@jest/core': 29.6.4
+ '@jest/types': 29.6.3
+ import-local: 3.1.0
+ jest-cli: 29.6.4(@types/node@20.5.9)
+ transitivePeerDependencies:
+ - '@types/node'
+ - babel-plugin-macros
+ - supports-color
+ - ts-node
+ dev: true
+
+ /jiti@1.21.0:
+ resolution:
+ {
+ integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==,
+ }
+ hasBin: true
+ dev: true
+
+ /jju@1.4.0:
+ resolution:
+ {
+ integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==,
+ }
+ dev: true
+
+ /joycon@3.1.1:
+ resolution:
+ {
+ integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==,
+ }
+ engines: { node: '>=10' }
+ dev: true
+
+ /js-tokens@4.0.0:
+ resolution:
+ {
+ integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==,
+ }
+
+ /js-yaml@3.14.1:
+ resolution:
+ {
+ integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==,
+ }
+ hasBin: true
+ dependencies:
+ argparse: 1.0.10
+ esprima: 4.0.1
+ dev: true
+
+ /js-yaml@4.1.0:
+ resolution:
+ {
+ integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==,
+ }
+ hasBin: true
+ dependencies:
+ argparse: 2.0.1
+ dev: true
+
+ /jsdom@20.0.3:
+ resolution:
+ {
+ integrity: sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==,
+ }
+ engines: { node: '>=14' }
+ peerDependencies:
+ canvas: ^2.5.0
+ peerDependenciesMeta:
+ canvas:
+ optional: true
+ dependencies:
+ abab: 2.0.6
+ acorn: 8.10.0
+ acorn-globals: 7.0.1
+ cssom: 0.5.0
+ cssstyle: 2.3.0
+ data-urls: 3.0.2
+ decimal.js: 10.4.3
+ domexception: 4.0.0
+ escodegen: 2.1.0
+ form-data: 4.0.0
+ html-encoding-sniffer: 3.0.0
+ http-proxy-agent: 5.0.0
+ https-proxy-agent: 5.0.1
+ is-potential-custom-element-name: 1.0.1
+ nwsapi: 2.2.7
+ parse5: 7.1.2
+ saxes: 6.0.0
+ symbol-tree: 3.2.4
+ tough-cookie: 4.1.3
+ w3c-xmlserializer: 4.0.0
+ webidl-conversions: 7.0.0
+ whatwg-encoding: 2.0.0
+ whatwg-mimetype: 3.0.0
+ whatwg-url: 11.0.0
+ ws: 8.13.0
+ xml-name-validator: 4.0.0
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+ dev: true
+
+ /jsesc@0.5.0:
+ resolution:
+ {
+ integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==,
+ }
+ hasBin: true
+ dev: true
+
+ /jsesc@2.5.2:
+ resolution:
+ {
+ integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==,
+ }
+ engines: { node: '>=4' }
+ hasBin: true
+
+ /jsesc@3.0.2:
+ resolution:
+ {
+ integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==,
+ }
+ engines: { node: '>=6' }
+ hasBin: true
+ dev: true
+
+ /json-buffer@3.0.1:
+ resolution:
+ {
+ integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==,
+ }
+ dev: true
+
+ /json-parse-even-better-errors@2.3.1:
+ resolution:
+ {
+ integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==,
+ }
+ dev: true
+
+ /json-parse-even-better-errors@3.0.0:
+ resolution:
+ {
+ integrity: sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==,
+ }
+ engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 }
+ dev: true
+
+ /json-schema-traverse@0.4.1:
+ resolution:
+ {
+ integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==,
+ }
+ dev: true
+
+ /json-stable-stringify-without-jsonify@1.0.1:
+ resolution:
+ {
+ integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==,
+ }
+ dev: true
+
+ /json5@1.0.2:
+ resolution:
+ {
+ integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==,
+ }
+ hasBin: true
+ dependencies:
+ minimist: 1.2.8
+ dev: true
+
+ /json5@2.2.3:
+ resolution:
+ {
+ integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==,
+ }
+ engines: { node: '>=6' }
+ hasBin: true
+
+ /jsonc-parser@3.2.0:
+ resolution:
+ {
+ integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==,
+ }
+ dev: true
+
+ /jsonfile@6.1.0:
+ resolution:
+ {
+ integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==,
+ }
+ dependencies:
+ universalify: 2.0.0
+ optionalDependencies:
+ graceful-fs: 4.2.11
+ dev: true
+
+ /jsonparse@1.3.1:
+ resolution:
+ {
+ integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==,
+ }
+ engines: { '0': node >= 0.2.0 }
+ dev: true
+
+ /jsx-ast-utils@3.3.5:
+ resolution:
+ {
+ integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==,
+ }
+ engines: { node: '>=4.0' }
+ dependencies:
+ array-includes: 3.1.7
+ array.prototype.flat: 1.3.1
+ object.assign: 4.1.4
+ object.values: 1.1.7
+ dev: true
+
+ /keyv@4.5.3:
+ resolution:
+ {
+ integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==,
+ }
+ dependencies:
+ json-buffer: 3.0.1
+ dev: true
+
+ /kleur@3.0.3:
+ resolution:
+ {
+ integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==,
+ }
+ engines: { node: '>=6' }
+ dev: true
+
+ /kleur@4.1.5:
+ resolution:
+ {
+ integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==,
+ }
+ engines: { node: '>=6' }
+ dev: true
+
+ /klona@2.0.6:
+ resolution:
+ {
+ integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==,
+ }
+ engines: { node: '>= 8' }
+ dev: true
+
+ /knitwork@1.0.0:
+ resolution:
+ {
+ integrity: sha512-dWl0Dbjm6Xm+kDxhPQJsCBTxrJzuGl0aP9rhr+TG8D3l+GL90N8O8lYUi7dTSAN2uuDqCtNgb6aEuQH5wsiV8Q==,
+ }
+ dev: true
+
+ /kolorist@1.8.0:
+ resolution:
+ {
+ integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==,
+ }
+ dev: true
+
+ /language-subtag-registry@0.3.22:
+ resolution:
+ {
+ integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==,
+ }
+ dev: true
+
+ /language-tags@1.0.5:
+ resolution:
+ {
+ integrity: sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==,
+ }
+ dependencies:
+ language-subtag-registry: 0.3.22
+ dev: true
+
+ /launch-editor@2.6.1:
+ resolution:
+ {
+ integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==,
+ }
+ dependencies:
+ picocolors: 1.0.0
+ shell-quote: 1.8.1
+ dev: true
+
+ /lazystream@1.0.1:
+ resolution:
+ {
+ integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==,
+ }
+ engines: { node: '>= 0.6.3' }
+ dependencies:
+ readable-stream: 2.3.8
+ dev: true
+
+ /leven@3.1.0:
+ resolution:
+ {
+ integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==,
+ }
+ engines: { node: '>=6' }
+ dev: true
+
+ /levn@0.4.1:
+ resolution:
+ {
+ integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==,
+ }
+ engines: { node: '>= 0.8.0' }
+ dependencies:
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
+ dev: true
+
+ /lilconfig@2.1.0:
+ resolution:
+ {
+ integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==,
+ }
+ engines: { node: '>=10' }
+
+ /lines-and-columns@1.2.4:
+ resolution:
+ {
+ integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==,
+ }
+ dev: true
+
+ /lint-staged@14.0.1:
+ resolution:
+ {
+ integrity: sha512-Mw0cL6HXnHN1ag0mN/Dg4g6sr8uf8sn98w2Oc1ECtFto9tvRF7nkXGJRbx8gPlHyoR0pLyBr2lQHbWwmUHe1Sw==,
+ }
+ engines: { node: ^16.14.0 || >=18.0.0 }
+ hasBin: true
+ dependencies:
+ chalk: 5.3.0
+ commander: 11.0.0
+ debug: 4.3.4
+ execa: 7.2.0
+ lilconfig: 2.1.0
+ listr2: 6.6.1
+ micromatch: 4.0.5
+ pidtree: 0.6.0
+ string-argv: 0.3.2
+ yaml: 2.3.1
+ transitivePeerDependencies:
+ - enquirer
+ - supports-color
+ dev: false
+
+ /listhen@1.5.5:
+ resolution:
+ {
+ integrity: sha512-LXe8Xlyh3gnxdv4tSjTjscD1vpr/2PRpzq8YIaMJgyKzRG8wdISlWVWnGThJfHnlJ6hmLt2wq1yeeix0TEbuoA==,
+ }
+ hasBin: true
+ dependencies:
+ '@parcel/watcher': 2.3.0
+ '@parcel/watcher-wasm': 2.3.0
+ citty: 0.1.5
+ clipboardy: 3.0.0
+ consola: 3.2.3
+ defu: 6.1.3
+ get-port-please: 3.1.1
+ h3: 1.9.0
+ http-shutdown: 1.2.2
+ jiti: 1.21.0
+ mlly: 1.4.2
+ node-forge: 1.3.1
+ pathe: 1.1.1
+ std-env: 3.5.0
+ ufo: 1.3.2
+ untun: 0.1.2
+ uqr: 0.1.2
+ dev: true
+
+ /listr2@6.6.1:
+ resolution:
+ {
+ integrity: sha512-+rAXGHh0fkEWdXBmX+L6mmfmXmXvDGEKzkjxO+8mP3+nI/r/CWznVBvsibXdxda9Zz0OW2e2ikphN3OwCT/jSg==,
+ }
+ engines: { node: '>=16.0.0' }
+ peerDependencies:
+ enquirer: '>= 2.3.0 < 3'
+ peerDependenciesMeta:
+ enquirer:
+ optional: true
+ dependencies:
+ cli-truncate: 3.1.0
+ colorette: 2.0.20
+ eventemitter3: 5.0.1
+ log-update: 5.0.1
+ rfdc: 1.3.0
+ wrap-ansi: 8.1.0
+ dev: false
+
+ /load-tsconfig@0.2.5:
+ resolution:
+ {
+ integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==,
+ }
+ engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
+ dev: true
+
+ /loader-utils@3.2.1:
+ resolution:
+ {
+ integrity: sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==,
+ }
+ engines: { node: '>= 12.13.0' }
+ dev: true
+
+ /local-pkg@0.4.3:
+ resolution:
+ {
+ integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==,
+ }
+ engines: { node: '>=14' }
+ dev: true
+
+ /local-pkg@0.5.0:
+ resolution:
+ {
+ integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==,
+ }
+ engines: { node: '>=14' }
+ dependencies:
+ mlly: 1.4.2
+ pkg-types: 1.0.3
+ dev: true
+
+ /locate-character@3.0.0:
+ resolution:
+ {
+ integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==,
+ }
+ dev: true
+
+ /locate-path@5.0.0:
+ resolution:
+ {
+ integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ p-locate: 4.1.0
+ dev: true
+
+ /locate-path@6.0.0:
+ resolution:
+ {
+ integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==,
+ }
+ engines: { node: '>=10' }
+ dependencies:
+ p-locate: 5.0.0
+ dev: true
+
+ /lodash.camelcase@4.3.0:
+ resolution:
+ {
+ integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==,
+ }
+ dev: true
+
+ /lodash.debounce@4.0.8:
+ resolution:
+ {
+ integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==,
+ }
+ dev: true
+
+ /lodash.defaults@4.2.0:
+ resolution:
+ {
+ integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==,
+ }
+ dev: true
+
+ /lodash.isarguments@3.1.0:
+ resolution:
+ {
+ integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==,
+ }
+ dev: true
+
+ /lodash.memoize@4.1.2:
+ resolution:
+ {
+ integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==,
+ }
+ dev: true
+
+ /lodash.merge@4.6.2:
+ resolution:
+ {
+ integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==,
+ }
+ dev: true
+
+ /lodash.pick@4.4.0:
+ resolution:
+ {
+ integrity: sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==,
+ }
+ dev: true
+
+ /lodash.sortby@4.7.0:
+ resolution:
+ {
+ integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==,
+ }
+ dev: true
+
+ /lodash.uniq@4.5.0:
+ resolution:
+ {
+ integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==,
+ }
+ dev: true
+
+ /lodash@4.17.21:
+ resolution:
+ {
+ integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==,
+ }
+ dev: true
+
+ /log-symbols@4.1.0:
+ resolution:
+ {
+ integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==,
+ }
+ engines: { node: '>=10' }
+ dependencies:
+ chalk: 4.1.2
+ is-unicode-supported: 0.1.0
+ dev: true
+
+ /log-update@5.0.1:
+ resolution:
+ {
+ integrity: sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==,
+ }
+ engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
+ dependencies:
+ ansi-escapes: 5.0.0
+ cli-cursor: 4.0.0
+ slice-ansi: 5.0.0
+ strip-ansi: 7.1.0
+ wrap-ansi: 8.1.0
+ dev: false
+
+ /longest-streak@3.1.0:
+ resolution:
+ {
+ integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==,
+ }
+ dev: true
+
+ /loose-envify@1.4.0:
+ resolution:
+ {
+ integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==,
+ }
+ hasBin: true
+ dependencies:
+ js-tokens: 4.0.0
+
+ /lru-cache@10.1.0:
+ resolution:
+ {
+ integrity: sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==,
+ }
+ engines: { node: 14 || >=16.14 }
+ dev: true
+
+ /lru-cache@5.1.1:
+ resolution:
+ {
+ integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==,
+ }
+ dependencies:
+ yallist: 3.1.1
+
+ /lru-cache@6.0.0:
+ resolution:
+ {
+ integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==,
+ }
+ engines: { node: '>=10' }
+ dependencies:
+ yallist: 4.0.0
+ dev: true
+
+ /lru-cache@7.18.3:
+ resolution:
+ {
+ integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==,
+ }
+ engines: { node: '>=12' }
+ dev: true
+
+ /lz-string@1.5.0:
+ resolution:
+ {
+ integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==,
+ }
+ hasBin: true
+ dev: true
+
+ /magic-string-ast@0.3.0:
+ resolution:
+ {
+ integrity: sha512-0shqecEPgdFpnI3AP90epXyxZy9g6CRZ+SZ7BcqFwYmtFEnZ1jpevcV5HoyVnlDS9gCnc1UIg3Rsvp3Ci7r8OA==,
+ }
+ engines: { node: '>=16.14.0' }
+ dependencies:
+ magic-string: 0.30.5
+ dev: true
+
+ /magic-string@0.27.0:
+ resolution:
+ {
+ integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==,
+ }
+ engines: { node: '>=12' }
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.4.15
+ dev: true
+
+ /magic-string@0.30.5:
+ resolution:
+ {
+ integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==,
+ }
+ engines: { node: '>=12' }
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.4.15
+
+ /magicast@0.3.2:
+ resolution:
+ {
+ integrity: sha512-Fjwkl6a0syt9TFN0JSYpOybxiMCkYNEeOTnOTNRbjphirLakznZXAqrXgj/7GG3D1dvETONNwrBfinvAbpunDg==,
+ }
+ dependencies:
+ '@babel/parser': 7.23.4
+ '@babel/types': 7.23.4
+ source-map-js: 1.0.2
+ dev: true
+
+ /make-dir@3.1.0:
+ resolution:
+ {
+ integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ semver: 6.3.1
+ dev: true
+
+ /make-dir@4.0.0:
+ resolution:
+ {
+ integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==,
+ }
+ engines: { node: '>=10' }
+ dependencies:
+ semver: 7.5.4
+ dev: true
+
+ /make-fetch-happen@13.0.0:
+ resolution:
+ {
+ integrity: sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==,
+ }
+ engines: { node: ^16.14.0 || >=18.0.0 }
+ dependencies:
+ '@npmcli/agent': 2.2.0
+ cacache: 18.0.0
+ http-cache-semantics: 4.1.1
+ is-lambda: 1.0.1
+ minipass: 7.0.4
+ minipass-fetch: 3.0.4
+ minipass-flush: 1.0.5
+ minipass-pipeline: 1.2.4
+ negotiator: 0.6.3
+ promise-retry: 2.0.1
+ ssri: 10.0.5
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /makeerror@1.0.12:
+ resolution:
+ {
+ integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==,
+ }
+ dependencies:
+ tmpl: 1.0.5
+ dev: true
+
+ /markdown-extensions@1.1.1:
+ resolution:
+ {
+ integrity: sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==,
+ }
+ engines: { node: '>=0.10.0' }
+ dev: true
+
+ /mdast-util-definitions@5.1.2:
+ resolution:
+ {
+ integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==,
+ }
+ dependencies:
+ '@types/mdast': 3.0.13
+ '@types/unist': 2.0.8
+ unist-util-visit: 4.1.2
+ dev: true
+
+ /mdast-util-from-markdown@1.3.1:
+ resolution:
+ {
+ integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==,
+ }
+ dependencies:
+ '@types/mdast': 3.0.13
+ '@types/unist': 2.0.8
+ decode-named-character-reference: 1.0.2
+ mdast-util-to-string: 3.2.0
+ micromark: 3.2.0
+ micromark-util-decode-numeric-character-reference: 1.1.0
+ micromark-util-decode-string: 1.1.0
+ micromark-util-normalize-identifier: 1.1.0
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ unist-util-stringify-position: 3.0.3
+ uvu: 0.5.6
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /mdast-util-frontmatter@1.0.1:
+ resolution:
+ {
+ integrity: sha512-JjA2OjxRqAa8wEG8hloD0uTU0kdn8kbtOWpPP94NBkfAlbxn4S8gCGf/9DwFtEeGPXrDcNXdiDjVaRdUFqYokw==,
+ }
+ dependencies:
+ '@types/mdast': 3.0.13
+ mdast-util-to-markdown: 1.5.0
+ micromark-extension-frontmatter: 1.1.1
+ dev: true
+
+ /mdast-util-mdx-expression@1.3.2:
+ resolution:
+ {
+ integrity: sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA==,
+ }
+ dependencies:
+ '@types/estree-jsx': 1.0.1
+ '@types/hast': 2.3.6
+ '@types/mdast': 3.0.13
+ mdast-util-from-markdown: 1.3.1
+ mdast-util-to-markdown: 1.5.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /mdast-util-mdx-jsx@2.1.4:
+ resolution:
+ {
+ integrity: sha512-DtMn9CmVhVzZx3f+optVDF8yFgQVt7FghCRNdlIaS3X5Bnym3hZwPbg/XW86vdpKjlc1PVj26SpnLGeJBXD3JA==,
+ }
+ dependencies:
+ '@types/estree-jsx': 1.0.1
+ '@types/hast': 2.3.6
+ '@types/mdast': 3.0.13
+ '@types/unist': 2.0.8
+ ccount: 2.0.1
+ mdast-util-from-markdown: 1.3.1
+ mdast-util-to-markdown: 1.5.0
+ parse-entities: 4.0.1
+ stringify-entities: 4.0.3
+ unist-util-remove-position: 4.0.2
+ unist-util-stringify-position: 3.0.3
+ vfile-message: 3.1.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /mdast-util-mdx@2.0.1:
+ resolution:
+ {
+ integrity: sha512-38w5y+r8nyKlGvNjSEqWrhG0w5PmnRA+wnBvm+ulYCct7nsGYhFVb0lljS9bQav4psDAS1eGkP2LMVcZBi/aqw==,
+ }
+ dependencies:
+ mdast-util-from-markdown: 1.3.1
+ mdast-util-mdx-expression: 1.3.2
+ mdast-util-mdx-jsx: 2.1.4
+ mdast-util-mdxjs-esm: 1.3.1
+ mdast-util-to-markdown: 1.5.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /mdast-util-mdxjs-esm@1.3.1:
+ resolution:
+ {
+ integrity: sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w==,
+ }
+ dependencies:
+ '@types/estree-jsx': 1.0.1
+ '@types/hast': 2.3.6
+ '@types/mdast': 3.0.13
+ mdast-util-from-markdown: 1.3.1
+ mdast-util-to-markdown: 1.5.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /mdast-util-phrasing@3.0.1:
+ resolution:
+ {
+ integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==,
+ }
+ dependencies:
+ '@types/mdast': 3.0.13
+ unist-util-is: 5.2.1
+ dev: true
+
+ /mdast-util-to-hast@12.3.0:
+ resolution:
+ {
+ integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==,
+ }
+ dependencies:
+ '@types/hast': 2.3.6
+ '@types/mdast': 3.0.13
+ mdast-util-definitions: 5.1.2
+ micromark-util-sanitize-uri: 1.2.0
+ trim-lines: 3.0.1
+ unist-util-generated: 2.0.1
+ unist-util-position: 4.0.4
+ unist-util-visit: 4.1.2
+ dev: true
+
+ /mdast-util-to-markdown@1.5.0:
+ resolution:
+ {
+ integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==,
+ }
+ dependencies:
+ '@types/mdast': 3.0.13
+ '@types/unist': 2.0.8
+ longest-streak: 3.1.0
+ mdast-util-phrasing: 3.0.1
+ mdast-util-to-string: 3.2.0
+ micromark-util-decode-string: 1.1.0
+ unist-util-visit: 4.1.2
+ zwitch: 2.0.4
+ dev: true
+
+ /mdast-util-to-string@3.2.0:
+ resolution:
+ {
+ integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==,
+ }
+ dependencies:
+ '@types/mdast': 3.0.13
+ dev: true
+
+ /mdn-data@2.0.28:
+ resolution:
+ {
+ integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==,
+ }
+ dev: true
+
+ /mdn-data@2.0.30:
+ resolution:
+ {
+ integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==,
+ }
+ dev: true
+
+ /media-query-parser@2.0.2:
+ resolution:
+ {
+ integrity: sha512-1N4qp+jE0pL5Xv4uEcwVUhIkwdUO3S/9gML90nqKA7v7FcOS5vUtatfzok9S9U1EJU8dHWlcv95WLnKmmxZI9w==,
+ }
+ dependencies:
+ '@babel/runtime': 7.22.15
+ dev: true
+
+ /media-typer@0.3.0:
+ resolution:
+ {
+ integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==,
+ }
+ engines: { node: '>= 0.6' }
+
+ /merge-descriptors@1.0.1:
+ resolution:
+ {
+ integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==,
+ }
+
+ /merge-stream@2.0.0:
+ resolution:
+ {
+ integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==,
+ }
+
+ /merge2@1.4.1:
+ resolution:
+ {
+ integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==,
+ }
+ engines: { node: '>= 8' }
+ dev: true
+
+ /methods@1.1.2:
+ resolution:
+ {
+ integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==,
+ }
+ engines: { node: '>= 0.6' }
+
+ /micromark-core-commonmark@1.1.0:
+ resolution:
+ {
+ integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==,
+ }
+ dependencies:
+ decode-named-character-reference: 1.0.2
+ micromark-factory-destination: 1.1.0
+ micromark-factory-label: 1.1.0
+ micromark-factory-space: 1.1.0
+ micromark-factory-title: 1.1.0
+ micromark-factory-whitespace: 1.1.0
+ micromark-util-character: 1.2.0
+ micromark-util-chunked: 1.1.0
+ micromark-util-classify-character: 1.1.0
+ micromark-util-html-tag-name: 1.2.0
+ micromark-util-normalize-identifier: 1.1.0
+ micromark-util-resolve-all: 1.1.0
+ micromark-util-subtokenize: 1.1.0
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ uvu: 0.5.6
+ dev: true
+
+ /micromark-extension-frontmatter@1.1.1:
+ resolution:
+ {
+ integrity: sha512-m2UH9a7n3W8VAH9JO9y01APpPKmNNNs71P0RbknEmYSaZU5Ghogv38BYO94AI5Xw6OYfxZRdHZZ2nYjs/Z+SZQ==,
+ }
+ dependencies:
+ fault: 2.0.1
+ micromark-util-character: 1.2.0
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ dev: true
+
+ /micromark-extension-mdx-expression@1.0.8:
+ resolution:
+ {
+ integrity: sha512-zZpeQtc5wfWKdzDsHRBY003H2Smg+PUi2REhqgIhdzAa5xonhP03FcXxqFSerFiNUr5AWmHpaNPQTBVOS4lrXw==,
+ }
+ dependencies:
+ '@types/estree': 1.0.2
+ micromark-factory-mdx-expression: 1.0.9
+ micromark-factory-space: 1.1.0
+ micromark-util-character: 1.2.0
+ micromark-util-events-to-acorn: 1.2.3
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ uvu: 0.5.6
+ dev: true
+
+ /micromark-extension-mdx-jsx@1.0.5:
+ resolution:
+ {
+ integrity: sha512-gPH+9ZdmDflbu19Xkb8+gheqEDqkSpdCEubQyxuz/Hn8DOXiXvrXeikOoBA71+e8Pfi0/UYmU3wW3H58kr7akA==,
+ }
+ dependencies:
+ '@types/acorn': 4.0.6
+ '@types/estree': 1.0.2
+ estree-util-is-identifier-name: 2.1.0
+ micromark-factory-mdx-expression: 1.0.9
+ micromark-factory-space: 1.1.0
+ micromark-util-character: 1.2.0
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ uvu: 0.5.6
+ vfile-message: 3.1.4
+ dev: true
+
+ /micromark-extension-mdx-md@1.0.1:
+ resolution:
+ {
+ integrity: sha512-7MSuj2S7xjOQXAjjkbjBsHkMtb+mDGVW6uI2dBL9snOBCbZmoNgDAeZ0nSn9j3T42UE/g2xVNMn18PJxZvkBEA==,
+ }
+ dependencies:
+ micromark-util-types: 1.1.0
+ dev: true
+
+ /micromark-extension-mdxjs-esm@1.0.5:
+ resolution:
+ {
+ integrity: sha512-xNRBw4aoURcyz/S69B19WnZAkWJMxHMT5hE36GtDAyhoyn/8TuAeqjFJQlwk+MKQsUD7b3l7kFX+vlfVWgcX1w==,
+ }
+ dependencies:
+ '@types/estree': 1.0.2
+ micromark-core-commonmark: 1.1.0
+ micromark-util-character: 1.2.0
+ micromark-util-events-to-acorn: 1.2.3
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ unist-util-position-from-estree: 1.1.2
+ uvu: 0.5.6
+ vfile-message: 3.1.4
+ dev: true
+
+ /micromark-extension-mdxjs@1.0.1:
+ resolution:
+ {
+ integrity: sha512-7YA7hF6i5eKOfFUzZ+0z6avRG52GpWR8DL+kN47y3f2KhxbBZMhmxe7auOeaTBrW2DenbbZTf1ea9tA2hDpC2Q==,
+ }
+ dependencies:
+ acorn: 8.10.0
+ acorn-jsx: 5.3.2(acorn@8.10.0)
+ micromark-extension-mdx-expression: 1.0.8
+ micromark-extension-mdx-jsx: 1.0.5
+ micromark-extension-mdx-md: 1.0.1
+ micromark-extension-mdxjs-esm: 1.0.5
+ micromark-util-combine-extensions: 1.1.0
+ micromark-util-types: 1.1.0
+ dev: true
+
+ /micromark-factory-destination@1.1.0:
+ resolution:
+ {
+ integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==,
+ }
+ dependencies:
+ micromark-util-character: 1.2.0
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ dev: true
+
+ /micromark-factory-label@1.1.0:
+ resolution:
+ {
+ integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==,
+ }
+ dependencies:
+ micromark-util-character: 1.2.0
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ uvu: 0.5.6
+ dev: true
+
+ /micromark-factory-mdx-expression@1.0.9:
+ resolution:
+ {
+ integrity: sha512-jGIWzSmNfdnkJq05c7b0+Wv0Kfz3NJ3N4cBjnbO4zjXIlxJr+f8lk+5ZmwFvqdAbUy2q6B5rCY//g0QAAaXDWA==,
+ }
+ dependencies:
+ '@types/estree': 1.0.2
+ micromark-util-character: 1.2.0
+ micromark-util-events-to-acorn: 1.2.3
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ unist-util-position-from-estree: 1.1.2
+ uvu: 0.5.6
+ vfile-message: 3.1.4
+ dev: true
+
+ /micromark-factory-space@1.1.0:
+ resolution:
+ {
+ integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==,
+ }
+ dependencies:
+ micromark-util-character: 1.2.0
+ micromark-util-types: 1.1.0
+ dev: true
+
+ /micromark-factory-title@1.1.0:
+ resolution:
+ {
+ integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==,
+ }
+ dependencies:
+ micromark-factory-space: 1.1.0
+ micromark-util-character: 1.2.0
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ dev: true
+
+ /micromark-factory-whitespace@1.1.0:
+ resolution:
+ {
+ integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==,
+ }
+ dependencies:
+ micromark-factory-space: 1.1.0
+ micromark-util-character: 1.2.0
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ dev: true
+
+ /micromark-util-character@1.2.0:
+ resolution:
+ {
+ integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==,
+ }
+ dependencies:
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ dev: true
+
+ /micromark-util-chunked@1.1.0:
+ resolution:
+ {
+ integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==,
+ }
+ dependencies:
+ micromark-util-symbol: 1.1.0
+ dev: true
+
+ /micromark-util-classify-character@1.1.0:
+ resolution:
+ {
+ integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==,
+ }
+ dependencies:
+ micromark-util-character: 1.2.0
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ dev: true
+
+ /micromark-util-combine-extensions@1.1.0:
+ resolution:
+ {
+ integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==,
+ }
+ dependencies:
+ micromark-util-chunked: 1.1.0
+ micromark-util-types: 1.1.0
+ dev: true
+
+ /micromark-util-decode-numeric-character-reference@1.1.0:
+ resolution:
+ {
+ integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==,
+ }
+ dependencies:
+ micromark-util-symbol: 1.1.0
+ dev: true
+
+ /micromark-util-decode-string@1.1.0:
+ resolution:
+ {
+ integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==,
+ }
+ dependencies:
+ decode-named-character-reference: 1.0.2
+ micromark-util-character: 1.2.0
+ micromark-util-decode-numeric-character-reference: 1.1.0
+ micromark-util-symbol: 1.1.0
+ dev: true
+
+ /micromark-util-encode@1.1.0:
+ resolution:
+ {
+ integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==,
+ }
+ dev: true
+
+ /micromark-util-events-to-acorn@1.2.3:
+ resolution:
+ {
+ integrity: sha512-ij4X7Wuc4fED6UoLWkmo0xJQhsktfNh1J0m8g4PbIMPlx+ek/4YdW5mvbye8z/aZvAPUoxgXHrwVlXAPKMRp1w==,
+ }
+ dependencies:
+ '@types/acorn': 4.0.6
+ '@types/estree': 1.0.2
+ '@types/unist': 2.0.8
+ estree-util-visit: 1.2.1
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ uvu: 0.5.6
+ vfile-message: 3.1.4
+ dev: true
+
+ /micromark-util-html-tag-name@1.2.0:
+ resolution:
+ {
+ integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==,
+ }
+ dev: true
+
+ /micromark-util-normalize-identifier@1.1.0:
+ resolution:
+ {
+ integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==,
+ }
+ dependencies:
+ micromark-util-symbol: 1.1.0
+ dev: true
+
+ /micromark-util-resolve-all@1.1.0:
+ resolution:
+ {
+ integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==,
+ }
+ dependencies:
+ micromark-util-types: 1.1.0
+ dev: true
+
+ /micromark-util-sanitize-uri@1.2.0:
+ resolution:
+ {
+ integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==,
+ }
+ dependencies:
+ micromark-util-character: 1.2.0
+ micromark-util-encode: 1.1.0
+ micromark-util-symbol: 1.1.0
+ dev: true
+
+ /micromark-util-subtokenize@1.1.0:
+ resolution:
+ {
+ integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==,
+ }
+ dependencies:
+ micromark-util-chunked: 1.1.0
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ uvu: 0.5.6
+ dev: true
+
+ /micromark-util-symbol@1.1.0:
+ resolution:
+ {
+ integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==,
+ }
+ dev: true
+
+ /micromark-util-types@1.1.0:
+ resolution:
+ {
+ integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==,
+ }
+ dev: true
+
+ /micromark@3.2.0:
+ resolution:
+ {
+ integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==,
+ }
+ dependencies:
+ '@types/debug': 4.1.9
+ debug: 4.3.4
+ decode-named-character-reference: 1.0.2
+ micromark-core-commonmark: 1.1.0
+ micromark-factory-space: 1.1.0
+ micromark-util-character: 1.2.0
+ micromark-util-chunked: 1.1.0
+ micromark-util-combine-extensions: 1.1.0
+ micromark-util-decode-numeric-character-reference: 1.1.0
+ micromark-util-encode: 1.1.0
+ micromark-util-normalize-identifier: 1.1.0
+ micromark-util-resolve-all: 1.1.0
+ micromark-util-sanitize-uri: 1.2.0
+ micromark-util-subtokenize: 1.1.0
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ uvu: 0.5.6
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /micromatch@4.0.5:
+ resolution:
+ {
+ integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==,
+ }
+ engines: { node: '>=8.6' }
+ dependencies:
+ braces: 3.0.2
+ picomatch: 2.3.1
+
+ /mime-db@1.52.0:
+ resolution:
+ {
+ integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==,
+ }
+ engines: { node: '>= 0.6' }
+
+ /mime-types@2.1.35:
+ resolution:
+ {
+ integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==,
+ }
+ engines: { node: '>= 0.6' }
+ dependencies:
+ mime-db: 1.52.0
+
+ /mime@1.6.0:
+ resolution:
+ {
+ integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==,
+ }
+ engines: { node: '>=4' }
+ hasBin: true
+
+ /mime@3.0.0:
+ resolution:
+ {
+ integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==,
+ }
+ engines: { node: '>=10.0.0' }
+ hasBin: true
+ dev: true
+
+ /mimic-fn@2.1.0:
+ resolution:
+ {
+ integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==,
+ }
+ engines: { node: '>=6' }
+
+ /mimic-fn@4.0.0:
+ resolution:
+ {
+ integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==,
+ }
+ engines: { node: '>=12' }
+
+ /min-indent@1.0.1:
+ resolution:
+ {
+ integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==,
+ }
+ engines: { node: '>=4' }
+ dev: true
+
+ /minimatch@3.1.2:
+ resolution:
+ {
+ integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==,
+ }
+ dependencies:
+ brace-expansion: 1.1.11
+ dev: true
+
+ /minimatch@5.1.6:
+ resolution:
+ {
+ integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==,
+ }
+ engines: { node: '>=10' }
+ dependencies:
+ brace-expansion: 2.0.1
+ dev: true
+
+ /minimatch@9.0.3:
+ resolution:
+ {
+ integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==,
+ }
+ engines: { node: '>=16 || 14 >=14.17' }
+ dependencies:
+ brace-expansion: 2.0.1
+ dev: true
+
+ /minimist@1.2.8:
+ resolution:
+ {
+ integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==,
+ }
+ dev: true
+
+ /minipass-collect@1.0.2:
+ resolution:
+ {
+ integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==,
+ }
+ engines: { node: '>= 8' }
+ dependencies:
+ minipass: 3.3.6
+ dev: true
+
+ /minipass-fetch@3.0.4:
+ resolution:
+ {
+ integrity: sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==,
+ }
+ engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 }
+ dependencies:
+ minipass: 7.0.4
+ minipass-sized: 1.0.3
+ minizlib: 2.1.2
+ optionalDependencies:
+ encoding: 0.1.13
+ dev: true
+
+ /minipass-flush@1.0.5:
+ resolution:
+ {
+ integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==,
+ }
+ engines: { node: '>= 8' }
+ dependencies:
+ minipass: 3.3.6
+ dev: true
+
+ /minipass-json-stream@1.0.1:
+ resolution:
+ {
+ integrity: sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==,
+ }
+ dependencies:
+ jsonparse: 1.3.1
+ minipass: 3.3.6
+ dev: true
+
+ /minipass-pipeline@1.2.4:
+ resolution:
+ {
+ integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ minipass: 3.3.6
+ dev: true
+
+ /minipass-sized@1.0.3:
+ resolution:
+ {
+ integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ minipass: 3.3.6
+ dev: true
+
+ /minipass@3.3.6:
+ resolution:
+ {
+ integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ yallist: 4.0.0
+ dev: true
+
+ /minipass@5.0.0:
+ resolution:
+ {
+ integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /minipass@7.0.4:
+ resolution:
+ {
+ integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==,
+ }
+ engines: { node: '>=16 || 14 >=14.17' }
+ dev: true
+
+ /minizlib@2.1.2:
+ resolution:
+ {
+ integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==,
+ }
+ engines: { node: '>= 8' }
+ dependencies:
+ minipass: 3.3.6
+ yallist: 4.0.0
+ dev: true
+
+ /mkdirp-classic@0.5.3:
+ resolution:
+ {
+ integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==,
+ }
+ dev: true
+
+ /mkdirp@0.5.6:
+ resolution:
+ {
+ integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==,
+ }
+ hasBin: true
+ dependencies:
+ minimist: 1.2.8
+ dev: true
+
+ /mkdirp@1.0.4:
+ resolution:
+ {
+ integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==,
+ }
+ engines: { node: '>=10' }
+ hasBin: true
+ dev: true
+
+ /mlly@1.4.2:
+ resolution:
+ {
+ integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==,
+ }
+ dependencies:
+ acorn: 8.11.2
+ pathe: 1.1.1
+ pkg-types: 1.0.3
+ ufo: 1.3.2
+ dev: true
+
+ /morgan@1.10.0:
+ resolution:
+ {
+ integrity: sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==,
+ }
+ engines: { node: '>= 0.8.0' }
+ dependencies:
+ basic-auth: 2.0.1
+ debug: 2.6.9
+ depd: 2.0.0
+ on-finished: 2.3.0
+ on-headers: 1.0.2
+ transitivePeerDependencies:
+ - supports-color
+
+ /mri@1.2.0:
+ resolution:
+ {
+ integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==,
+ }
+ engines: { node: '>=4' }
+ dev: true
+
+ /mrmime@1.0.1:
+ resolution:
+ {
+ integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==,
+ }
+ engines: { node: '>=10' }
+
+ /ms@2.0.0:
+ resolution:
+ {
+ integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==,
+ }
+
+ /ms@2.1.2:
+ resolution:
+ {
+ integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==,
+ }
+
+ /ms@2.1.3:
+ resolution:
+ {
+ integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==,
+ }
+
+ /mz@2.7.0:
+ resolution:
+ {
+ integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==,
+ }
+ dependencies:
+ any-promise: 1.3.0
+ object-assign: 4.1.1
+ thenify-all: 1.6.0
+ dev: true
+
+ /nanoid@3.3.6:
+ resolution:
+ {
+ integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==,
+ }
+ engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 }
+ hasBin: true
+
+ /nanoid@4.0.2:
+ resolution:
+ {
+ integrity: sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==,
+ }
+ engines: { node: ^14 || ^16 || >=18 }
+ hasBin: true
+ dev: true
+
+ /natural-compare-lite@1.4.0:
+ resolution:
+ {
+ integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==,
+ }
+ dev: true
+
+ /natural-compare@1.4.0:
+ resolution:
+ {
+ integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==,
+ }
+ dev: true
+
+ /negotiator@0.6.3:
+ resolution:
+ {
+ integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==,
+ }
+ engines: { node: '>= 0.6' }
+
+ /next@13.4.19(@babel/core@7.23.3)(react-dom@18.2.0)(react@18.2.0):
+ resolution:
+ {
+ integrity: sha512-HuPSzzAbJ1T4BD8e0bs6B9C1kWQ6gv8ykZoRWs5AQoiIuqbGHHdQO7Ljuvg05Q0Z24E2ABozHe6FxDvI6HfyAw==,
+ }
+ engines: { node: '>=16.8.0' }
+ hasBin: true
+ peerDependencies:
+ '@opentelemetry/api': ^1.1.0
+ react: ^18.2.0
+ react-dom: ^18.2.0
+ sass: ^1.3.0
+ peerDependenciesMeta:
+ '@opentelemetry/api':
+ optional: true
+ sass:
+ optional: true
+ dependencies:
+ '@next/env': 13.4.19
+ '@swc/helpers': 0.5.1
+ busboy: 1.6.0
+ caniuse-lite: 1.0.30001527
+ postcss: 8.4.14
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ styled-jsx: 5.1.1(@babel/core@7.23.3)(react@18.2.0)
+ watchpack: 2.4.0
+ zod: 3.21.4
+ optionalDependencies:
+ '@next/swc-darwin-arm64': 13.4.19
+ '@next/swc-darwin-x64': 13.4.19
+ '@next/swc-linux-arm64-gnu': 13.4.19
+ '@next/swc-linux-arm64-musl': 13.4.19
+ '@next/swc-linux-x64-gnu': 13.4.19
+ '@next/swc-linux-x64-musl': 13.4.19
+ '@next/swc-win32-arm64-msvc': 13.4.19
+ '@next/swc-win32-ia32-msvc': 13.4.19
+ '@next/swc-win32-x64-msvc': 13.4.19
+ transitivePeerDependencies:
+ - '@babel/core'
+ - babel-plugin-macros
+ dev: true
+
+ /next@14.0.3(@babel/core@7.22.15)(react-dom@18.2.0)(react@18.2.0):
+ resolution:
+ {
+ integrity: sha512-AbYdRNfImBr3XGtvnwOxq8ekVCwbFTv/UJoLwmaX89nk9i051AEY4/HAWzU0YpaTDw8IofUpmuIlvzWF13jxIw==,
+ }
+ engines: { node: '>=18.17.0' }
+ hasBin: true
+ peerDependencies:
+ '@opentelemetry/api': ^1.1.0
+ react: ^18.2.0
+ react-dom: ^18.2.0
+ sass: ^1.3.0
+ peerDependenciesMeta:
+ '@opentelemetry/api':
+ optional: true
+ sass:
+ optional: true
+ dependencies:
+ '@next/env': 14.0.3
+ '@swc/helpers': 0.5.2
+ busboy: 1.6.0
+ caniuse-lite: 1.0.30001564
+ postcss: 8.4.31
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ styled-jsx: 5.1.1(@babel/core@7.22.15)(react@18.2.0)
+ watchpack: 2.4.0
+ optionalDependencies:
+ '@next/swc-darwin-arm64': 14.0.3
+ '@next/swc-darwin-x64': 14.0.3
+ '@next/swc-linux-arm64-gnu': 14.0.3
+ '@next/swc-linux-arm64-musl': 14.0.3
+ '@next/swc-linux-x64-gnu': 14.0.3
+ '@next/swc-linux-x64-musl': 14.0.3
+ '@next/swc-win32-arm64-msvc': 14.0.3
+ '@next/swc-win32-ia32-msvc': 14.0.3
+ '@next/swc-win32-x64-msvc': 14.0.3
+ transitivePeerDependencies:
+ - '@babel/core'
+ - babel-plugin-macros
+ dev: false
+
+ /nitropack@2.8.0:
+ resolution:
+ {
+ integrity: sha512-dkCILTSpM1Sd3oaagV21ifPxPOSCvFZjfdDMOa6SrxpcntitHkD1QgvjdbqEfnwGNPGbp7Z42qNhzNljDVeKMQ==,
+ }
+ engines: { node: ^16.11.0 || >=17.0.0 }
+ hasBin: true
+ peerDependencies:
+ xml2js: ^0.6.2
+ peerDependenciesMeta:
+ xml2js:
+ optional: true
+ dependencies:
+ '@cloudflare/kv-asset-handler': 0.3.0
+ '@netlify/functions': 2.4.0
+ '@rollup/plugin-alias': 5.0.1(rollup@4.5.1)
+ '@rollup/plugin-commonjs': 25.0.7(rollup@4.5.1)
+ '@rollup/plugin-inject': 5.0.5(rollup@4.5.1)
+ '@rollup/plugin-json': 6.0.1(rollup@4.5.1)
+ '@rollup/plugin-node-resolve': 15.2.3(rollup@4.5.1)
+ '@rollup/plugin-replace': 5.0.5(rollup@4.5.1)
+ '@rollup/plugin-terser': 0.4.4(rollup@4.5.1)
+ '@rollup/plugin-wasm': 6.2.2(rollup@4.5.1)
+ '@rollup/pluginutils': 5.0.5(rollup@4.5.1)
+ '@types/http-proxy': 1.17.14
+ '@vercel/nft': 0.24.3
+ archiver: 6.0.1
+ c12: 1.5.1
+ chalk: 5.3.0
+ chokidar: 3.5.3
+ citty: 0.1.5
+ consola: 3.2.3
+ cookie-es: 1.0.0
+ defu: 6.1.3
+ destr: 2.0.2
+ dot-prop: 8.0.2
+ esbuild: 0.19.7
+ escape-string-regexp: 5.0.0
+ etag: 1.8.1
+ fs-extra: 11.1.1
+ globby: 14.0.0
+ gzip-size: 7.0.0
+ h3: 1.9.0
+ hookable: 5.5.3
+ httpxy: 0.1.5
+ is-primitive: 3.0.1
+ jiti: 1.21.0
+ klona: 2.0.6
+ knitwork: 1.0.0
+ listhen: 1.5.5
+ magic-string: 0.30.5
+ mime: 3.0.0
+ mlly: 1.4.2
+ mri: 1.2.0
+ node-fetch-native: 1.4.1
+ ofetch: 1.3.3
+ ohash: 1.1.3
+ openapi-typescript: 6.7.1
+ pathe: 1.1.1
+ perfect-debounce: 1.0.0
+ pkg-types: 1.0.3
+ pretty-bytes: 6.1.1
+ radix3: 1.1.0
+ rollup: 4.5.1
+ rollup-plugin-visualizer: 5.9.2(rollup@4.5.1)
+ scule: 1.1.0
+ semver: 7.5.4
+ serve-placeholder: 2.0.1
+ serve-static: 1.15.0
+ std-env: 3.5.0
+ ufo: 1.3.2
+ uncrypto: 0.1.3
+ unctx: 2.3.1
+ unenv: 1.8.0
+ unimport: 3.6.0(rollup@4.5.1)
+ unstorage: 1.10.1
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@upstash/redis'
+ - '@vercel/kv'
+ - encoding
+ - idb-keyval
+ - supports-color
+ dev: true
+
+ /node-addon-api@7.0.0:
+ resolution:
+ {
+ integrity: sha512-vgbBJTS4m5/KkE16t5Ly0WW9hz46swAstv0hYYwMtbG7AznRhNyfLRe8HZAiWIpcHzoO7HxhLuBQj9rJ/Ho0ZA==,
+ }
+ dev: true
+
+ /node-fetch-native@1.4.1:
+ resolution:
+ {
+ integrity: sha512-NsXBU0UgBxo2rQLOeWNZqS3fvflWePMECr8CoSWoSTqCqGbVVsvl9vZu1HfQicYN0g5piV9Gh8RTEvo/uP752w==,
+ }
+ dev: true
+
+ /node-fetch@2.7.0:
+ resolution:
+ {
+ integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==,
+ }
+ engines: { node: 4.x || >=6.0.0 }
+ peerDependencies:
+ encoding: ^0.1.0
+ peerDependenciesMeta:
+ encoding:
+ optional: true
+ dependencies:
+ whatwg-url: 5.0.0
+ dev: true
+
+ /node-forge@1.3.1:
+ resolution:
+ {
+ integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==,
+ }
+ engines: { node: '>= 6.13.0' }
+ dev: true
+
+ /node-gyp-build@4.7.0:
+ resolution:
+ {
+ integrity: sha512-PbZERfeFdrHQOOXiAKOY0VPbykZy90ndPKk0d+CFDegTKmWp1VgOTz2xACVbr1BjCWxrQp68CXtvNsveFhqDJg==,
+ }
+ hasBin: true
+ dev: true
+
+ /node-gyp@10.0.1:
+ resolution:
+ {
+ integrity: sha512-gg3/bHehQfZivQVfqIyy8wTdSymF9yTyP4CJifK73imyNMU8AIGQE2pUa7dNWfmMeG9cDVF2eehiRMv0LC1iAg==,
+ }
+ engines: { node: ^16.14.0 || >=18.0.0 }
+ hasBin: true
+ dependencies:
+ env-paths: 2.2.1
+ exponential-backoff: 3.1.1
+ glob: 10.3.10
+ graceful-fs: 4.2.11
+ make-fetch-happen: 13.0.0
+ nopt: 7.2.0
+ proc-log: 3.0.0
+ semver: 7.5.4
+ tar: 6.2.0
+ which: 4.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /node-int64@0.4.0:
+ resolution:
+ {
+ integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==,
+ }
+ dev: true
+
+ /node-releases@2.0.13:
+ resolution:
+ {
+ integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==,
+ }
+
+ /noms@0.0.0:
+ resolution:
+ {
+ integrity: sha512-lNDU9VJaOPxUmXcLb+HQFeUgQQPtMI24Gt6hgfuMHRJgMRHMF/qZ4HJD3GDru4sSw9IQl2jPjAYnQrdIeLbwow==,
+ }
+ dependencies:
+ inherits: 2.0.4
+ readable-stream: 1.0.34
+ dev: true
+
+ /nopt@5.0.0:
+ resolution:
+ {
+ integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==,
+ }
+ engines: { node: '>=6' }
+ hasBin: true
+ dependencies:
+ abbrev: 1.1.1
+ dev: true
+
+ /nopt@7.2.0:
+ resolution:
+ {
+ integrity: sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==,
+ }
+ engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 }
+ hasBin: true
+ dependencies:
+ abbrev: 2.0.0
+ dev: true
+
+ /normalize-package-data@2.5.0:
+ resolution:
+ {
+ integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==,
+ }
+ dependencies:
+ hosted-git-info: 2.8.9
+ resolve: 1.22.4
+ semver: 5.7.2
+ validate-npm-package-license: 3.0.4
+ dev: true
+
+ /normalize-package-data@5.0.0:
+ resolution:
+ {
+ integrity: sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==,
+ }
+ engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 }
+ dependencies:
+ hosted-git-info: 6.1.1
+ is-core-module: 2.13.0
+ semver: 7.5.4
+ validate-npm-package-license: 3.0.4
+ dev: true
+
+ /normalize-package-data@6.0.0:
+ resolution:
+ {
+ integrity: sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==,
+ }
+ engines: { node: ^16.14.0 || >=18.0.0 }
+ dependencies:
+ hosted-git-info: 7.0.1
+ is-core-module: 2.13.0
+ semver: 7.5.4
+ validate-npm-package-license: 3.0.4
+ dev: true
+
+ /normalize-path@3.0.0:
+ resolution:
+ {
+ integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==,
+ }
+ engines: { node: '>=0.10.0' }
+
+ /normalize-range@0.1.2:
+ resolution:
+ {
+ integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==,
+ }
+ engines: { node: '>=0.10.0' }
+ dev: true
+
+ /npm-bundled@3.0.0:
+ resolution:
+ {
+ integrity: sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==,
+ }
+ engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 }
+ dependencies:
+ npm-normalize-package-bin: 3.0.1
+ dev: true
+
+ /npm-install-checks@6.2.0:
+ resolution:
+ {
+ integrity: sha512-744wat5wAAHsxa4590mWO0tJ8PKxR8ORZsH9wGpQc3nWTzozMAgBN/XyqYw7mg3yqLM8dLwEnwSfKMmXAjF69g==,
+ }
+ engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 }
+ dependencies:
+ semver: 7.5.4
+ dev: true
+
+ /npm-normalize-package-bin@3.0.1:
+ resolution:
+ {
+ integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==,
+ }
+ engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 }
+ dev: true
+
+ /npm-package-arg@10.1.0:
+ resolution:
+ {
+ integrity: sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==,
+ }
+ engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 }
+ dependencies:
+ hosted-git-info: 6.1.1
+ proc-log: 3.0.0
+ semver: 7.5.4
+ validate-npm-package-name: 5.0.0
+ dev: true
+
+ /npm-package-arg@11.0.1:
+ resolution:
+ {
+ integrity: sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==,
+ }
+ engines: { node: ^16.14.0 || >=18.0.0 }
+ dependencies:
+ hosted-git-info: 7.0.1
+ proc-log: 3.0.0
+ semver: 7.5.4
+ validate-npm-package-name: 5.0.0
+ dev: true
+
+ /npm-packlist@8.0.0:
+ resolution:
+ {
+ integrity: sha512-ErAGFB5kJUciPy1mmx/C2YFbvxoJ0QJ9uwkCZOeR6CqLLISPZBOiFModAbSXnjjlwW5lOhuhXva+fURsSGJqyw==,
+ }
+ engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 }
+ dependencies:
+ ignore-walk: 6.0.3
+ dev: true
+
+ /npm-pick-manifest@8.0.2:
+ resolution:
+ {
+ integrity: sha512-1dKY+86/AIiq1tkKVD3l0WI+Gd3vkknVGAggsFeBkTvbhMQ1OND/LKkYv4JtXPKUJ8bOTCyLiqEg2P6QNdK+Gg==,
+ }
+ engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 }
+ dependencies:
+ npm-install-checks: 6.2.0
+ npm-normalize-package-bin: 3.0.1
+ npm-package-arg: 10.1.0
+ semver: 7.5.4
+ dev: true
+
+ /npm-pick-manifest@9.0.0:
+ resolution:
+ {
+ integrity: sha512-VfvRSs/b6n9ol4Qb+bDwNGUXutpy76x6MARw/XssevE0TnctIKcmklJZM5Z7nqs5z5aW+0S63pgCNbpkUNNXBg==,
+ }
+ engines: { node: ^16.14.0 || >=18.0.0 }
+ dependencies:
+ npm-install-checks: 6.2.0
+ npm-normalize-package-bin: 3.0.1
+ npm-package-arg: 11.0.1
+ semver: 7.5.4
+ dev: true
+
+ /npm-registry-fetch@16.1.0:
+ resolution:
+ {
+ integrity: sha512-PQCELXKt8Azvxnt5Y85GseQDJJlglTFM9L9U9gkv2y4e9s0k3GVDdOx3YoB6gm2Do0hlkzC39iCGXby+Wve1Bw==,
+ }
+ engines: { node: ^16.14.0 || >=18.0.0 }
+ dependencies:
+ make-fetch-happen: 13.0.0
+ minipass: 7.0.4
+ minipass-fetch: 3.0.4
+ minipass-json-stream: 1.0.1
+ minizlib: 2.1.2
+ npm-package-arg: 11.0.1
+ proc-log: 3.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /npm-run-path@4.0.1:
+ resolution:
+ {
+ integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ path-key: 3.1.1
+ dev: true
+
+ /npm-run-path@5.1.0:
+ resolution:
+ {
+ integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==,
+ }
+ engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
+ dependencies:
+ path-key: 4.0.0
+
+ /npmlog@5.0.1:
+ resolution:
+ {
+ integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==,
+ }
+ dependencies:
+ are-we-there-yet: 2.0.0
+ console-control-strings: 1.1.0
+ gauge: 3.0.2
+ set-blocking: 2.0.0
+ dev: true
+
+ /nth-check@2.1.1:
+ resolution:
+ {
+ integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==,
+ }
+ dependencies:
+ boolbase: 1.0.0
+ dev: true
+
+ /nuxi@3.10.0:
+ resolution:
+ {
+ integrity: sha512-veZXw2NuaQ1PrpvHrnQ1dPgkAjv0WqPlvFReg5Iubum0QVGWdJJvGuNsltDQyPcZ7X7mhMXq9SLIpokK4kpvKA==,
+ }
+ engines: { node: ^14.18.0 || >=16.10.0 }
+ hasBin: true
+ optionalDependencies:
+ fsevents: 2.3.3
+ dev: true
+
+ /nuxt@3.8.2(eslint@8.48.0)(typescript@5.2.2)(vite@4.5.0):
+ resolution:
+ {
+ integrity: sha512-HUAyifmqTs2zcQBGvcby3KNs2pBAk+l7ZbLjD1oCNqQQ+wBuZ1qgLC4Ebu++y4g3o3Y8WAWSvpafbKRLQZziPw==,
+ }
+ engines: { node: ^14.18.0 || >=16.10.0 }
+ hasBin: true
+ peerDependencies:
+ '@parcel/watcher': ^2.1.0
+ '@types/node': ^14.18.0 || >=16.10.0
+ peerDependenciesMeta:
+ '@parcel/watcher':
+ optional: true
+ '@types/node':
+ optional: true
+ dependencies:
+ '@nuxt/devalue': 2.0.2
+ '@nuxt/devtools': 1.0.3(nuxt@3.8.2)(vite@4.5.0)
+ '@nuxt/kit': 3.8.2
+ '@nuxt/schema': 3.8.2
+ '@nuxt/telemetry': 2.5.3
+ '@nuxt/ui-templates': 1.3.1
+ '@nuxt/vite-builder': 3.8.2(eslint@8.48.0)(typescript@5.2.2)(vue@3.3.8)
+ '@unhead/dom': 1.8.8
+ '@unhead/ssr': 1.8.8
+ '@unhead/vue': 1.8.8(vue@3.3.8)
+ '@vue/shared': 3.3.8
+ acorn: 8.11.2
+ c12: 1.5.1
+ chokidar: 3.5.3
+ cookie-es: 1.0.0
+ defu: 6.1.3
+ destr: 2.0.2
+ devalue: 4.3.2
+ esbuild: 0.19.7
+ escape-string-regexp: 5.0.0
+ estree-walker: 3.0.3
+ fs-extra: 11.1.1
+ globby: 14.0.0
+ h3: 1.9.0
+ hookable: 5.5.3
+ jiti: 1.21.0
+ klona: 2.0.6
+ knitwork: 1.0.0
+ magic-string: 0.30.5
+ mlly: 1.4.2
+ nitropack: 2.8.0
+ nuxi: 3.10.0
+ nypm: 0.3.3
+ ofetch: 1.3.3
+ ohash: 1.1.3
+ pathe: 1.1.1
+ perfect-debounce: 1.0.0
+ pkg-types: 1.0.3
+ radix3: 1.1.0
+ scule: 1.1.0
+ std-env: 3.5.0
+ strip-literal: 1.3.0
+ ufo: 1.3.2
+ ultrahtml: 1.5.2
+ uncrypto: 0.1.3
+ unctx: 2.3.1
+ unenv: 1.8.0
+ unimport: 3.6.0(rollup@4.5.1)
+ unplugin: 1.5.1
+ unplugin-vue-router: 0.7.0(vue-router@4.2.5)(vue@3.3.8)
+ untyped: 1.4.0
+ vue: 3.3.8(typescript@5.2.2)
+ vue-bundle-renderer: 2.0.0
+ vue-devtools-stub: 0.1.0
+ vue-router: 4.2.5(vue@3.3.8)
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@upstash/redis'
+ - '@vercel/kv'
+ - bluebird
+ - bufferutil
+ - encoding
+ - eslint
+ - idb-keyval
+ - less
+ - lightningcss
+ - meow
+ - optionator
+ - rollup
+ - sass
+ - stylelint
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ - typescript
+ - utf-8-validate
+ - vite
+ - vls
+ - vti
+ - vue-tsc
+ - xml2js
+ dev: true
+
+ /nwsapi@2.2.7:
+ resolution:
+ {
+ integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==,
+ }
+ dev: true
+
+ /nypm@0.3.3:
+ resolution:
+ {
+ integrity: sha512-FHoxtTscAE723e80d2M9cJRb4YVjL82Ra+ZV+YqC6rfNZUWahi+ZhPF+krnR+bdMvibsfHCtgKXnZf5R6kmEPA==,
+ }
+ engines: { node: ^14.16.0 || >=16.10.0 }
+ hasBin: true
+ dependencies:
+ citty: 0.1.5
+ execa: 8.0.1
+ pathe: 1.1.1
+ ufo: 1.3.2
+ dev: true
+
+ /object-assign@4.1.1:
+ resolution:
+ {
+ integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==,
+ }
+ engines: { node: '>=0.10.0' }
+ dev: true
+
+ /object-inspect@1.12.2:
+ resolution:
+ {
+ integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==,
+ }
+
+ /object-inspect@1.12.3:
+ resolution:
+ {
+ integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==,
+ }
+ dev: true
+
+ /object-is@1.1.5:
+ resolution:
+ {
+ integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.1.4
+ dev: true
+
+ /object-keys@1.1.1:
+ resolution:
+ {
+ integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==,
+ }
+ engines: { node: '>= 0.4' }
+ dev: true
+
+ /object.assign@4.1.4:
+ resolution:
+ {
+ integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.1.4
+ has-symbols: 1.0.3
+ object-keys: 1.1.1
+ dev: true
+
+ /object.entries@1.1.7:
+ resolution:
+ {
+ integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ es-abstract: 1.22.1
+ dev: true
+
+ /object.fromentries@2.0.7:
+ resolution:
+ {
+ integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ es-abstract: 1.22.1
+ dev: true
+
+ /object.groupby@1.0.1:
+ resolution:
+ {
+ integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==,
+ }
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ es-abstract: 1.22.1
+ get-intrinsic: 1.2.1
+ dev: true
+
+ /object.hasown@1.1.3:
+ resolution:
+ {
+ integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==,
+ }
+ dependencies:
+ define-properties: 1.2.0
+ es-abstract: 1.22.1
+ dev: true
+
+ /object.values@1.1.7:
+ resolution:
+ {
+ integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ es-abstract: 1.22.1
+ dev: true
+
+ /ofetch@1.3.3:
+ resolution:
+ {
+ integrity: sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==,
+ }
+ dependencies:
+ destr: 2.0.2
+ node-fetch-native: 1.4.1
+ ufo: 1.3.2
+ dev: true
+
+ /ohash@1.1.3:
+ resolution:
+ {
+ integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==,
+ }
+ dev: true
+
+ /on-finished@2.3.0:
+ resolution:
+ {
+ integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==,
+ }
+ engines: { node: '>= 0.8' }
+ dependencies:
+ ee-first: 1.1.1
+
+ /on-finished@2.4.1:
+ resolution:
+ {
+ integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==,
+ }
+ engines: { node: '>= 0.8' }
+ dependencies:
+ ee-first: 1.1.1
+
+ /on-headers@1.0.2:
+ resolution:
+ {
+ integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==,
+ }
+ engines: { node: '>= 0.8' }
+
+ /once@1.4.0:
+ resolution:
+ {
+ integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==,
+ }
+ dependencies:
+ wrappy: 1.0.2
+ dev: true
+
+ /onetime@5.1.2:
+ resolution:
+ {
+ integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==,
+ }
+ engines: { node: '>=6' }
+ dependencies:
+ mimic-fn: 2.1.0
+
+ /onetime@6.0.0:
+ resolution:
+ {
+ integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==,
+ }
+ engines: { node: '>=12' }
+ dependencies:
+ mimic-fn: 4.0.0
+
+ /open@8.4.2:
+ resolution:
+ {
+ integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==,
+ }
+ engines: { node: '>=12' }
+ dependencies:
+ define-lazy-prop: 2.0.0
+ is-docker: 2.2.1
+ is-wsl: 2.2.0
+ dev: true
+
+ /open@9.1.0:
+ resolution:
+ {
+ integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==,
+ }
+ engines: { node: '>=14.16' }
+ dependencies:
+ default-browser: 4.0.0
+ define-lazy-prop: 3.0.0
+ is-inside-container: 1.0.0
+ is-wsl: 2.2.0
+ dev: true
+
+ /openapi-typescript@6.7.1:
+ resolution:
+ {
+ integrity: sha512-Q3Ltt0KUm2smcPrsaR8qKmSwQ1KM4yGDJVoQdpYa0yvKPeN8huDx5utMT7DvwvJastHHzUxajjivK3WN2+fobg==,
+ }
+ hasBin: true
+ dependencies:
+ ansi-colors: 4.1.3
+ fast-glob: 3.3.2
+ js-yaml: 4.1.0
+ supports-color: 9.4.0
+ undici: 5.27.2
+ yargs-parser: 21.1.1
+ dev: true
+
+ /optionator@0.9.3:
+ resolution:
+ {
+ integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==,
+ }
+ engines: { node: '>= 0.8.0' }
+ dependencies:
+ '@aashutoshrathi/word-wrap': 1.2.6
+ deep-is: 0.1.4
+ fast-levenshtein: 2.0.6
+ levn: 0.4.1
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
+ dev: true
+
+ /ora@5.4.1:
+ resolution:
+ {
+ integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==,
+ }
+ engines: { node: '>=10' }
+ dependencies:
+ bl: 4.1.0
+ chalk: 4.1.2
+ cli-cursor: 3.1.0
+ cli-spinners: 2.9.1
+ is-interactive: 1.0.0
+ is-unicode-supported: 0.1.0
+ log-symbols: 4.1.0
+ strip-ansi: 6.0.1
+ wcwidth: 1.0.1
+ dev: true
+
+ /outdent@0.8.0:
+ resolution:
+ {
+ integrity: sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A==,
+ }
+ dev: true
+
+ /p-limit@2.3.0:
+ resolution:
+ {
+ integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==,
+ }
+ engines: { node: '>=6' }
+ dependencies:
+ p-try: 2.2.0
+ dev: true
+
+ /p-limit@3.1.0:
+ resolution:
+ {
+ integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==,
+ }
+ engines: { node: '>=10' }
+ dependencies:
+ yocto-queue: 0.1.0
+ dev: true
+
+ /p-locate@4.1.0:
+ resolution:
+ {
+ integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ p-limit: 2.3.0
+ dev: true
+
+ /p-locate@5.0.0:
+ resolution:
+ {
+ integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==,
+ }
+ engines: { node: '>=10' }
+ dependencies:
+ p-limit: 3.1.0
+ dev: true
+
+ /p-map@4.0.0:
+ resolution:
+ {
+ integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==,
+ }
+ engines: { node: '>=10' }
+ dependencies:
+ aggregate-error: 3.1.0
+ dev: true
+
+ /p-try@2.2.0:
+ resolution:
+ {
+ integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==,
+ }
+ engines: { node: '>=6' }
+ dev: true
+
+ /pacote@17.0.4:
+ resolution:
+ {
+ integrity: sha512-eGdLHrV/g5b5MtD5cTPyss+JxOlaOloSMG3UwPMAvL8ywaLJ6beONPF40K4KKl/UI6q5hTKCJq5rCu8tkF+7Dg==,
+ }
+ engines: { node: ^16.14.0 || >=18.0.0 }
+ hasBin: true
+ dependencies:
+ '@npmcli/git': 5.0.3
+ '@npmcli/installed-package-contents': 2.0.2
+ '@npmcli/promise-spawn': 7.0.0
+ '@npmcli/run-script': 7.0.2
+ cacache: 18.0.0
+ fs-minipass: 3.0.3
+ minipass: 7.0.4
+ npm-package-arg: 11.0.1
+ npm-packlist: 8.0.0
+ npm-pick-manifest: 9.0.0
+ npm-registry-fetch: 16.1.0
+ proc-log: 3.0.0
+ promise-retry: 2.0.1
+ read-package-json: 7.0.0
+ read-package-json-fast: 3.0.2
+ sigstore: 2.1.0
+ ssri: 10.0.5
+ tar: 6.2.0
+ transitivePeerDependencies:
+ - bluebird
+ - supports-color
+ dev: true
+
+ /pako@0.2.9:
+ resolution:
+ {
+ integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==,
+ }
+ dev: true
+
+ /parent-module@1.0.1:
+ resolution:
+ {
+ integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==,
+ }
+ engines: { node: '>=6' }
+ dependencies:
+ callsites: 3.1.0
+ dev: true
+
+ /parse-entities@4.0.1:
+ resolution:
+ {
+ integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==,
+ }
+ dependencies:
+ '@types/unist': 2.0.8
+ character-entities: 2.0.2
+ character-entities-legacy: 3.0.0
+ character-reference-invalid: 2.0.1
+ decode-named-character-reference: 1.0.2
+ is-alphanumerical: 2.0.1
+ is-decimal: 2.0.1
+ is-hexadecimal: 2.0.1
+ dev: true
+
+ /parse-git-config@3.0.0:
+ resolution:
+ {
+ integrity: sha512-wXoQGL1D+2COYWCD35/xbiKma1Z15xvZL8cI25wvxzled58V51SJM04Urt/uznS900iQor7QO04SgdfT/XlbuA==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ git-config-path: 2.0.0
+ ini: 1.3.8
+ dev: true
+
+ /parse-json@5.2.0:
+ resolution:
+ {
+ integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ '@babel/code-frame': 7.22.13
+ error-ex: 1.3.2
+ json-parse-even-better-errors: 2.3.1
+ lines-and-columns: 1.2.4
+ dev: true
+
+ /parse-ms@2.1.0:
+ resolution:
+ {
+ integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==,
+ }
+ engines: { node: '>=6' }
+ dev: true
+
+ /parse-path@7.0.0:
+ resolution:
+ {
+ integrity: sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==,
+ }
+ dependencies:
+ protocols: 2.0.1
+ dev: true
+
+ /parse-url@8.1.0:
+ resolution:
+ {
+ integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==,
+ }
+ dependencies:
+ parse-path: 7.0.0
+ dev: true
+
+ /parse5@7.1.2:
+ resolution:
+ {
+ integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==,
+ }
+ dependencies:
+ entities: 4.5.0
+ dev: true
+
+ /parseurl@1.3.3:
+ resolution:
+ {
+ integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==,
+ }
+ engines: { node: '>= 0.8' }
+
+ /path-exists@4.0.0:
+ resolution:
+ {
+ integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /path-is-absolute@1.0.1:
+ resolution:
+ {
+ integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==,
+ }
+ engines: { node: '>=0.10.0' }
+ dev: true
+
+ /path-key@3.1.1:
+ resolution:
+ {
+ integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==,
+ }
+ engines: { node: '>=8' }
+
+ /path-key@4.0.0:
+ resolution:
+ {
+ integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==,
+ }
+ engines: { node: '>=12' }
+
+ /path-parse@1.0.7:
+ resolution:
+ {
+ integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==,
+ }
+ dev: true
+
+ /path-scurry@1.10.1:
+ resolution:
+ {
+ integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==,
+ }
+ engines: { node: '>=16 || 14 >=14.17' }
+ dependencies:
+ lru-cache: 10.1.0
+ minipass: 7.0.4
+ dev: true
+
+ /path-to-regexp@0.1.7:
+ resolution:
+ {
+ integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==,
+ }
+
+ /path-type@4.0.0:
+ resolution:
+ {
+ integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /path-type@5.0.0:
+ resolution:
+ {
+ integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==,
+ }
+ engines: { node: '>=12' }
+ dev: true
+
+ /pathe@1.1.1:
+ resolution:
+ {
+ integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==,
+ }
+ dev: true
+
+ /peek-stream@1.1.3:
+ resolution:
+ {
+ integrity: sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA==,
+ }
+ dependencies:
+ buffer-from: 1.1.2
+ duplexify: 3.7.1
+ through2: 2.0.5
+ dev: true
+
+ /perfect-debounce@1.0.0:
+ resolution:
+ {
+ integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==,
+ }
+ dev: true
+
+ /periscopic@3.1.0:
+ resolution:
+ {
+ integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==,
+ }
+ dependencies:
+ '@types/estree': 1.0.2
+ estree-walker: 3.0.3
+ is-reference: 3.0.2
+ dev: true
+
+ /picocolors@1.0.0:
+ resolution:
+ {
+ integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==,
+ }
+
+ /picomatch@2.3.1:
+ resolution:
+ {
+ integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==,
+ }
+ engines: { node: '>=8.6' }
+
+ /pidtree@0.6.0:
+ resolution:
+ {
+ integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==,
+ }
+ engines: { node: '>=0.10' }
+ hasBin: true
+
+ /pirates@4.0.6:
+ resolution:
+ {
+ integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==,
+ }
+ engines: { node: '>= 6' }
+ dev: true
+
+ /pkg-dir@4.2.0:
+ resolution:
+ {
+ integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ find-up: 4.1.0
+ dev: true
+
+ /pkg-types@1.0.3:
+ resolution:
+ {
+ integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==,
+ }
+ dependencies:
+ jsonc-parser: 3.2.0
+ mlly: 1.4.2
+ pathe: 1.1.1
+ dev: true
+
+ /playwright-core@1.37.1:
+ resolution:
+ {
+ integrity: sha512-17EuQxlSIYCmEMwzMqusJ2ztDgJePjrbttaefgdsiqeLWidjYz9BxXaTaZWxH1J95SHGk6tjE+dwgWILJoUZfA==,
+ }
+ engines: { node: '>=16' }
+ hasBin: true
+ dev: true
+
+ /pluralize@8.0.0:
+ resolution:
+ {
+ integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==,
+ }
+ engines: { node: '>=4' }
+ dev: true
+
+ /postcss-calc@9.0.1(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==,
+ }
+ engines: { node: ^14 || ^16 || >=18.0 }
+ peerDependencies:
+ postcss: ^8.2.2
+ dependencies:
+ postcss: 8.4.31
+ postcss-selector-parser: 6.0.13
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-colormin@6.0.0(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-EuO+bAUmutWoZYgHn2T1dG1pPqHU6L4TjzPlu4t1wZGXQ/fxV16xg2EJmYi0z+6r+MGV1yvpx1BHkUaRrPa2bw==,
+ }
+ engines: { node: ^14 || ^16 || >=18.0 }
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ browserslist: 4.21.10
+ caniuse-api: 3.0.0
+ colord: 2.9.3
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-convert-values@6.0.0(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-U5D8QhVwqT++ecmy8rnTb+RL9n/B806UVaS3m60lqle4YDFcpbS3ae5bTQIh3wOGUSDHSEtMYLs/38dNG7EYFw==,
+ }
+ engines: { node: ^14 || ^16 || >=18.0 }
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ browserslist: 4.21.10
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-discard-comments@6.0.0(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-p2skSGqzPMZkEQvJsgnkBhCn8gI7NzRH2683EEjrIkoMiwRELx68yoUJ3q3DGSGuQ8Ug9Gsn+OuDr46yfO+eFw==,
+ }
+ engines: { node: ^14 || ^16 || >=18.0 }
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ dev: true
+
+ /postcss-discard-duplicates@5.1.0(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==,
+ }
+ engines: { node: ^10 || ^12 || >=14.0 }
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ dev: true
+
+ /postcss-discard-duplicates@6.0.0(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-bU1SXIizMLtDW4oSsi5C/xHKbhLlhek/0/yCnoMQany9k3nPBq+Ctsv/9oMmyqbR96HYHxZcHyK2HR5P/mqoGA==,
+ }
+ engines: { node: ^14 || ^16 || >=18.0 }
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ dev: true
+
+ /postcss-discard-empty@6.0.0(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-b+h1S1VT6dNhpcg+LpyiUrdnEZfICF0my7HAKgJixJLW7BnNmpRH34+uw/etf5AhOlIhIAuXApSzzDzMI9K/gQ==,
+ }
+ engines: { node: ^14 || ^16 || >=18.0 }
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ dev: true
+
+ /postcss-discard-overridden@6.0.0(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-4VELwssYXDFigPYAZ8vL4yX4mUepF/oCBeeIT4OXsJPYOtvJumyz9WflmJWTfDwCUcpDR+z0zvCWBXgTx35SVw==,
+ }
+ engines: { node: ^14 || ^16 || >=18.0 }
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ dev: true
+
+ /postcss-load-config@4.0.1(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==,
+ }
+ engines: { node: '>= 14' }
+ peerDependencies:
+ postcss: '>=8.0.9'
+ ts-node: '>=9.0.0'
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ ts-node:
+ optional: true
+ dependencies:
+ lilconfig: 2.1.0
+ postcss: 8.4.31
+ yaml: 2.3.2
+ dev: true
+
+ /postcss-merge-longhand@6.0.0(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-4VSfd1lvGkLTLYcxFuISDtWUfFS4zXe0FpF149AyziftPFQIWxjvFSKhA4MIxMe4XM3yTDgQMbSNgzIVxChbIg==,
+ }
+ engines: { node: ^14 || ^16 || >=18.0 }
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ stylehacks: 6.0.0(postcss@8.4.31)
+ dev: true
+
+ /postcss-merge-rules@6.0.1(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-a4tlmJIQo9SCjcfiCcCMg/ZCEe0XTkl/xK0XHBs955GWg9xDX3NwP9pwZ78QUOWB8/0XCjZeJn98Dae0zg6AAw==,
+ }
+ engines: { node: ^14 || ^16 || >=18.0 }
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ browserslist: 4.21.10
+ caniuse-api: 3.0.0
+ cssnano-utils: 4.0.0(postcss@8.4.31)
+ postcss: 8.4.31
+ postcss-selector-parser: 6.0.13
+ dev: true
+
+ /postcss-minify-font-values@6.0.0(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-zNRAVtyh5E8ndZEYXA4WS8ZYsAp798HiIQ1V2UF/C/munLp2r1UGHwf1+6JFu7hdEhJFN+W1WJQKBrtjhFgEnA==,
+ }
+ engines: { node: ^14 || ^16 || >=18.0 }
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-minify-gradients@6.0.0(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-wO0F6YfVAR+K1xVxF53ueZJza3L+R3E6cp0VwuXJQejnNUH0DjcAFe3JEBeTY1dLwGa0NlDWueCA1VlEfiKgAA==,
+ }
+ engines: { node: ^14 || ^16 || >=18.0 }
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ colord: 2.9.3
+ cssnano-utils: 4.0.0(postcss@8.4.31)
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-minify-params@6.0.0(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-Fz/wMQDveiS0n5JPcvsMeyNXOIMrwF88n7196puSuQSWSa+/Ofc1gDOSY2xi8+A4PqB5dlYCKk/WfqKqsI+ReQ==,
+ }
+ engines: { node: ^14 || ^16 || >=18.0 }
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ browserslist: 4.21.10
+ cssnano-utils: 4.0.0(postcss@8.4.31)
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-minify-selectors@6.0.0(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-ec/q9JNCOC2CRDNnypipGfOhbYPuUkewGwLnbv6omue/PSASbHSU7s6uSQ0tcFRVv731oMIx8k0SP4ZX6be/0g==,
+ }
+ engines: { node: ^14 || ^16 || >=18.0 }
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ postcss-selector-parser: 6.0.13
+ dev: true
+
+ /postcss-modules-extract-imports@3.0.0(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==,
+ }
+ engines: { node: ^10 || ^12 || >= 14 }
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ postcss: 8.4.31
+ dev: true
+
+ /postcss-modules-local-by-default@4.0.3(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==,
+ }
+ engines: { node: ^10 || ^12 || >= 14 }
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ icss-utils: 5.1.0(postcss@8.4.31)
+ postcss: 8.4.31
+ postcss-selector-parser: 6.0.13
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-modules-scope@3.0.0(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==,
+ }
+ engines: { node: ^10 || ^12 || >= 14 }
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ postcss: 8.4.31
+ postcss-selector-parser: 6.0.13
+ dev: true
+
+ /postcss-modules-values@4.0.0(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==,
+ }
+ engines: { node: ^10 || ^12 || >= 14 }
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ icss-utils: 5.1.0(postcss@8.4.31)
+ postcss: 8.4.31
+ dev: true
+
+ /postcss-modules@6.0.0(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-7DGfnlyi/ju82BRzTIjWS5C4Tafmzl3R79YP/PASiocj+aa6yYphHhhKUOEoXQToId5rgyFgJ88+ccOUydjBXQ==,
+ }
+ peerDependencies:
+ postcss: ^8.0.0
+ dependencies:
+ generic-names: 4.0.0
+ icss-utils: 5.1.0(postcss@8.4.31)
+ lodash.camelcase: 4.3.0
+ postcss: 8.4.31
+ postcss-modules-extract-imports: 3.0.0(postcss@8.4.31)
+ postcss-modules-local-by-default: 4.0.3(postcss@8.4.31)
+ postcss-modules-scope: 3.0.0(postcss@8.4.31)
+ postcss-modules-values: 4.0.0(postcss@8.4.31)
+ string-hash: 1.1.3
+ dev: true
+
+ /postcss-normalize-charset@6.0.0(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-cqundwChbu8yO/gSWkuFDmKrCZ2vJzDAocheT2JTd0sFNA4HMGoKMfbk2B+J0OmO0t5GUkiAkSM5yF2rSLUjgQ==,
+ }
+ engines: { node: ^14 || ^16 || >=18.0 }
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ dev: true
+
+ /postcss-normalize-display-values@6.0.0(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-Qyt5kMrvy7dJRO3OjF7zkotGfuYALETZE+4lk66sziWSPzlBEt7FrUshV6VLECkI4EN8Z863O6Nci4NXQGNzYw==,
+ }
+ engines: { node: ^14 || ^16 || >=18.0 }
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-normalize-positions@6.0.0(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-mPCzhSV8+30FZyWhxi6UoVRYd3ZBJgTRly4hOkaSifo0H+pjDYcii/aVT4YE6QpOil15a5uiv6ftnY3rm0igPg==,
+ }
+ engines: { node: ^14 || ^16 || >=18.0 }
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-normalize-repeat-style@6.0.0(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-50W5JWEBiOOAez2AKBh4kRFm2uhrT3O1Uwdxz7k24aKtbD83vqmcVG7zoIwo6xI2FZ/HDlbrCopXhLeTpQib1A==,
+ }
+ engines: { node: ^14 || ^16 || >=18.0 }
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-normalize-string@6.0.0(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-KWkIB7TrPOiqb8ZZz6homet2KWKJwIlysF5ICPZrXAylGe2hzX/HSf4NTX2rRPJMAtlRsj/yfkrWGavFuB+c0w==,
+ }
+ engines: { node: ^14 || ^16 || >=18.0 }
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-normalize-timing-functions@6.0.0(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-tpIXWciXBp5CiFs8sem90IWlw76FV4oi6QEWfQwyeREVwUy39VSeSqjAT7X0Qw650yAimYW5gkl2Gd871N5SQg==,
+ }
+ engines: { node: ^14 || ^16 || >=18.0 }
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-normalize-unicode@6.0.0(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-ui5crYkb5ubEUDugDc786L/Me+DXp2dLg3fVJbqyAl0VPkAeALyAijF2zOsnZyaS1HyfPuMH0DwyY18VMFVNkg==,
+ }
+ engines: { node: ^14 || ^16 || >=18.0 }
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ browserslist: 4.21.10
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-normalize-url@6.0.0(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-98mvh2QzIPbb02YDIrYvAg4OUzGH7s1ZgHlD3fIdTHLgPLRpv1ZTKJDnSAKr4Rt21ZQFzwhGMXxpXlfrUBKFHw==,
+ }
+ engines: { node: ^14 || ^16 || >=18.0 }
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-normalize-whitespace@6.0.0(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-7cfE1AyLiK0+ZBG6FmLziJzqQCpTQY+8XjMhMAz8WSBSCsCNNUKujgIgjCAmDT3cJ+3zjTXFkoD15ZPsckArVw==,
+ }
+ engines: { node: ^14 || ^16 || >=18.0 }
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-ordered-values@6.0.0(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-K36XzUDpvfG/nWkjs6d1hRBydeIxGpKS2+n+ywlKPzx1nMYDYpoGbcjhj5AwVYJK1qV2/SDoDEnHzlPD6s3nMg==,
+ }
+ engines: { node: ^14 || ^16 || >=18.0 }
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ cssnano-utils: 4.0.0(postcss@8.4.31)
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-reduce-initial@6.0.0(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-s2UOnidpVuXu6JiiI5U+fV2jamAw5YNA9Fdi/GRK0zLDLCfXmSGqQtzpUPtfN66RtCbb9fFHoyZdQaxOB3WxVA==,
+ }
+ engines: { node: ^14 || ^16 || >=18.0 }
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ browserslist: 4.21.10
+ caniuse-api: 3.0.0
+ postcss: 8.4.31
+ dev: true
+
+ /postcss-reduce-transforms@6.0.0(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-FQ9f6xM1homnuy1wLe9lP1wujzxnwt1EwiigtWwuyf8FsqqXUDUp2Ulxf9A5yjlUOTdCJO6lonYjg1mgqIIi2w==,
+ }
+ engines: { node: ^14 || ^16 || >=18.0 }
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-selector-parser@6.0.13:
+ resolution:
+ {
+ integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==,
+ }
+ engines: { node: '>=4' }
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+ dev: true
+
+ /postcss-svgo@6.0.0(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-r9zvj/wGAoAIodn84dR/kFqwhINp5YsJkLoujybWG59grR/IHx+uQ2Zo+IcOwM0jskfYX3R0mo+1Kip1VSNcvw==,
+ }
+ engines: { node: ^14 || ^16 || >= 18 }
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ svgo: 3.0.4
+ dev: true
+
+ /postcss-unique-selectors@6.0.0(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-EPQzpZNxOxP7777t73RQpZE5e9TrnCrkvp7AH7a0l89JmZiPnS82y216JowHXwpBCQitfyxrof9TK3rYbi7/Yw==,
+ }
+ engines: { node: ^14 || ^16 || >=18.0 }
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ postcss-selector-parser: 6.0.13
+ dev: true
+
+ /postcss-value-parser@4.2.0:
+ resolution:
+ {
+ integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==,
+ }
+ dev: true
+
+ /postcss@8.4.14:
+ resolution:
+ {
+ integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==,
+ }
+ engines: { node: ^10 || ^12 || >=14 }
+ dependencies:
+ nanoid: 3.3.6
+ picocolors: 1.0.0
+ source-map-js: 1.0.2
+ dev: true
+
+ /postcss@8.4.31:
+ resolution:
+ {
+ integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==,
+ }
+ engines: { node: ^10 || ^12 || >=14 }
+ dependencies:
+ nanoid: 3.3.6
+ picocolors: 1.0.0
+ source-map-js: 1.0.2
+
+ /prelude-ls@1.2.1:
+ resolution:
+ {
+ integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==,
+ }
+ engines: { node: '>= 0.8.0' }
+ dev: true
+
+ /prettier-plugin-packagejson@2.4.5(prettier@3.0.3):
+ resolution:
+ {
+ integrity: sha512-glG71jE1gO3y5+JNAhC8X+4yrlN28rub6Aj461SKbaPie9RgMiHKcInH2Moi2VGOfkTXaEHBhg4uVMBqa+kBUA==,
+ }
+ peerDependencies:
+ prettier: '>= 1.16.0'
+ peerDependenciesMeta:
+ prettier:
+ optional: true
+ dependencies:
+ prettier: 3.0.3
+ sort-package-json: 2.5.1
+ synckit: 0.8.5
+ dev: true
+
+ /prettier@2.8.8:
+ resolution:
+ {
+ integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==,
+ }
+ engines: { node: '>=10.13.0' }
+ hasBin: true
+ dev: true
+
+ /prettier@3.0.3:
+ resolution:
+ {
+ integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==,
+ }
+ engines: { node: '>=14' }
+ hasBin: true
+ dev: true
+
+ /pretty-bytes@6.1.1:
+ resolution:
+ {
+ integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==,
+ }
+ engines: { node: ^14.13.1 || >=16.0.0 }
+ dev: true
+
+ /pretty-format@27.5.1:
+ resolution:
+ {
+ integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==,
+ }
+ engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 }
+ dependencies:
+ ansi-regex: 5.0.1
+ ansi-styles: 5.2.0
+ react-is: 17.0.2
+ dev: true
+
+ /pretty-format@29.6.3:
+ resolution:
+ {
+ integrity: sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==,
+ }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ '@jest/schemas': 29.6.3
+ ansi-styles: 5.2.0
+ react-is: 18.2.0
+ dev: true
+
+ /pretty-ms@7.0.1:
+ resolution:
+ {
+ integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==,
+ }
+ engines: { node: '>=10' }
+ dependencies:
+ parse-ms: 2.1.0
+ dev: true
+
+ /proc-log@3.0.0:
+ resolution:
+ {
+ integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==,
+ }
+ engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 }
+ dev: true
+
+ /process-nextick-args@2.0.1:
+ resolution:
+ {
+ integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==,
+ }
+ dev: true
+
+ /promise-inflight@1.0.1:
+ resolution:
+ {
+ integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==,
+ }
+ peerDependencies:
+ bluebird: '*'
+ peerDependenciesMeta:
+ bluebird:
+ optional: true
+ dev: true
+
+ /promise-retry@2.0.1:
+ resolution:
+ {
+ integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==,
+ }
+ engines: { node: '>=10' }
+ dependencies:
+ err-code: 2.0.3
+ retry: 0.12.0
+ dev: true
+
+ /prompts@2.4.2:
+ resolution:
+ {
+ integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==,
+ }
+ engines: { node: '>= 6' }
+ dependencies:
+ kleur: 3.0.3
+ sisteransi: 1.0.5
+ dev: true
+
+ /prop-types@15.8.1:
+ resolution:
+ {
+ integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==,
+ }
+ dependencies:
+ loose-envify: 1.4.0
+ object-assign: 4.1.1
+ react-is: 16.13.1
+ dev: true
+
+ /property-information@6.3.0:
+ resolution:
+ {
+ integrity: sha512-gVNZ74nqhRMiIUYWGQdosYetaKc83x8oT41a0LlV3AAFCAZwCpg4vmGkq8t34+cUhp3cnM4XDiU/7xlgK7HGrg==,
+ }
+ dev: true
+
+ /protocols@2.0.1:
+ resolution:
+ {
+ integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==,
+ }
+ dev: true
+
+ /proxy-addr@2.0.7:
+ resolution:
+ {
+ integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==,
+ }
+ engines: { node: '>= 0.10' }
+ dependencies:
+ forwarded: 0.2.0
+ ipaddr.js: 1.9.1
+
+ /psl@1.9.0:
+ resolution:
+ {
+ integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==,
+ }
+ dev: true
+
+ /pump@2.0.1:
+ resolution:
+ {
+ integrity: sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==,
+ }
+ dependencies:
+ end-of-stream: 1.4.4
+ once: 1.4.0
+ dev: true
+
+ /pump@3.0.0:
+ resolution:
+ {
+ integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==,
+ }
+ dependencies:
+ end-of-stream: 1.4.4
+ once: 1.4.0
+ dev: true
+
+ /pumpify@1.5.1:
+ resolution:
+ {
+ integrity: sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==,
+ }
+ dependencies:
+ duplexify: 3.7.1
+ inherits: 2.0.4
+ pump: 2.0.1
+ dev: true
+
+ /punycode@2.3.0:
+ resolution:
+ {
+ integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==,
+ }
+ engines: { node: '>=6' }
+ dev: true
+
+ /pure-rand@6.0.3:
+ resolution:
+ {
+ integrity: sha512-KddyFewCsO0j3+np81IQ+SweXLDnDQTs5s67BOnrYmYe/yNmUhttQyGsYzy8yUnoljGAQ9sl38YB4vH8ur7Y+w==,
+ }
+ dev: true
+
+ /qs@6.11.0:
+ resolution:
+ {
+ integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==,
+ }
+ engines: { node: '>=0.6' }
+ dependencies:
+ side-channel: 1.0.4
+
+ /querystringify@2.2.0:
+ resolution:
+ {
+ integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==,
+ }
+ dev: true
+
+ /queue-microtask@1.2.3:
+ resolution:
+ {
+ integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==,
+ }
+ dev: true
+
+ /queue-tick@1.0.1:
+ resolution:
+ {
+ integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==,
+ }
+ dev: true
+
+ /radix3@1.1.0:
+ resolution:
+ {
+ integrity: sha512-pNsHDxbGORSvuSScqNJ+3Km6QAVqk8CfsCBIEoDgpqLrkD2f3QM4I7d1ozJJ172OmIcoUcerZaNWqtLkRXTV3A==,
+ }
+ dev: true
+
+ /randombytes@2.1.0:
+ resolution:
+ {
+ integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==,
+ }
+ dependencies:
+ safe-buffer: 5.2.1
+ dev: true
+
+ /range-parser@1.2.1:
+ resolution:
+ {
+ integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==,
+ }
+ engines: { node: '>= 0.6' }
+
+ /raw-body@2.5.1:
+ resolution:
+ {
+ integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==,
+ }
+ engines: { node: '>= 0.8' }
+ dependencies:
+ bytes: 3.1.2
+ http-errors: 2.0.0
+ iconv-lite: 0.4.24
+ unpipe: 1.0.0
+
+ /rc9@2.1.1:
+ resolution:
+ {
+ integrity: sha512-lNeOl38Ws0eNxpO3+wD1I9rkHGQyj1NU1jlzv4go2CtEnEQEUfqnIvZG7W+bC/aXdJ27n5x/yUjb6RoT9tko+Q==,
+ }
+ dependencies:
+ defu: 6.1.3
+ destr: 2.0.2
+ flat: 5.0.2
+ dev: true
+
+ /react-dom@18.2.0(react@18.2.0):
+ resolution:
+ {
+ integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==,
+ }
+ peerDependencies:
+ react: ^18.2.0
+ dependencies:
+ loose-envify: 1.4.0
+ react: 18.2.0
+ scheduler: 0.23.0
+
+ /react-is@16.13.1:
+ resolution:
+ {
+ integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==,
+ }
+ dev: true
+
+ /react-is@17.0.2:
+ resolution:
+ {
+ integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==,
+ }
+ dev: true
+
+ /react-is@18.2.0:
+ resolution:
+ {
+ integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==,
+ }
+ dev: true
+
+ /react-refresh@0.14.0:
+ resolution:
+ {
+ integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==,
+ }
+ engines: { node: '>=0.10.0' }
+ dev: true
+
+ /react-router-dom@6.16.0(react-dom@18.2.0)(react@18.2.0):
+ resolution:
+ {
+ integrity: sha512-aTfBLv3mk/gaKLxgRDUPbPw+s4Y/O+ma3rEN1u8EgEpLpPe6gNjIsWt9rxushMHHMb7mSwxRGdGlGdvmFsyPIg==,
+ }
+ engines: { node: '>=14.0.0' }
+ peerDependencies:
+ react: '>=16.8'
+ react-dom: '>=16.8'
+ dependencies:
+ '@remix-run/router': 1.9.0
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ react-router: 6.16.0(react@18.2.0)
+
+ /react-router@6.16.0(react@18.2.0):
+ resolution:
+ {
+ integrity: sha512-VT4Mmc4jj5YyjpOi5jOf0I+TYzGpvzERy4ckNSvSh2RArv8LLoCxlsZ2D+tc7zgjxcY34oTz2hZaeX5RVprKqA==,
+ }
+ engines: { node: '>=14.0.0' }
+ peerDependencies:
+ react: '>=16.8'
+ dependencies:
+ '@remix-run/router': 1.9.0
+ react: 18.2.0
+
+ /react@18.2.0:
+ resolution:
+ {
+ integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==,
+ }
+ engines: { node: '>=0.10.0' }
+ dependencies:
+ loose-envify: 1.4.0
+
+ /read-package-json-fast@3.0.2:
+ resolution:
+ {
+ integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==,
+ }
+ engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 }
+ dependencies:
+ json-parse-even-better-errors: 3.0.0
+ npm-normalize-package-bin: 3.0.1
+ dev: true
+
+ /read-package-json@7.0.0:
+ resolution:
+ {
+ integrity: sha512-uL4Z10OKV4p6vbdvIXB+OzhInYtIozl/VxUBPgNkBuUi2DeRonnuspmaVAMcrkmfjKGNmRndyQAbE7/AmzGwFg==,
+ }
+ engines: { node: ^16.14.0 || >=18.0.0 }
+ dependencies:
+ glob: 10.3.10
+ json-parse-even-better-errors: 3.0.0
+ normalize-package-data: 6.0.0
+ npm-normalize-package-bin: 3.0.1
+ dev: true
+
+ /read-pkg-up@7.0.1:
+ resolution:
+ {
+ integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ find-up: 4.1.0
+ read-pkg: 5.2.0
+ type-fest: 0.8.1
+ dev: true
+
+ /read-pkg@5.2.0:
+ resolution:
+ {
+ integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ '@types/normalize-package-data': 2.4.1
+ normalize-package-data: 2.5.0
+ parse-json: 5.2.0
+ type-fest: 0.6.0
+ dev: true
+
+ /readable-stream@1.0.34:
+ resolution:
+ {
+ integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==,
+ }
+ dependencies:
+ core-util-is: 1.0.3
+ inherits: 2.0.4
+ isarray: 0.0.1
+ string_decoder: 0.10.31
+ dev: true
+
+ /readable-stream@2.3.8:
+ resolution:
+ {
+ integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==,
+ }
+ dependencies:
+ core-util-is: 1.0.3
+ inherits: 2.0.4
+ isarray: 1.0.0
+ process-nextick-args: 2.0.1
+ safe-buffer: 5.1.2
+ string_decoder: 1.1.1
+ util-deprecate: 1.0.2
+ dev: true
+
+ /readable-stream@3.6.2:
+ resolution:
+ {
+ integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==,
+ }
+ engines: { node: '>= 6' }
+ dependencies:
+ inherits: 2.0.4
+ string_decoder: 1.3.0
+ util-deprecate: 1.0.2
+ dev: true
+
+ /readdir-glob@1.1.3:
+ resolution:
+ {
+ integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==,
+ }
+ dependencies:
+ minimatch: 5.1.6
+ dev: true
+
+ /readdirp@3.6.0:
+ resolution:
+ {
+ integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==,
+ }
+ engines: { node: '>=8.10.0' }
+ dependencies:
+ picomatch: 2.3.1
+
+ /redent@3.0.0:
+ resolution:
+ {
+ integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ indent-string: 4.0.0
+ strip-indent: 3.0.0
+ dev: true
+
+ /redis-errors@1.2.0:
+ resolution:
+ {
+ integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==,
+ }
+ engines: { node: '>=4' }
+ dev: true
+
+ /redis-parser@3.0.0:
+ resolution:
+ {
+ integrity: sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==,
+ }
+ engines: { node: '>=4' }
+ dependencies:
+ redis-errors: 1.2.0
+ dev: true
+
+ /reflect.getprototypeof@1.0.4:
+ resolution:
+ {
+ integrity: sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ es-abstract: 1.22.1
+ get-intrinsic: 1.2.1
+ globalthis: 1.0.3
+ which-builtin-type: 1.1.3
+ dev: true
+
+ /regenerator-runtime@0.13.10:
+ resolution:
+ {
+ integrity: sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==,
+ }
+ dev: true
+
+ /regenerator-runtime@0.14.0:
+ resolution:
+ {
+ integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==,
+ }
+ dev: true
+
+ /regexp-tree@0.1.27:
+ resolution:
+ {
+ integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==,
+ }
+ hasBin: true
+ dev: true
+
+ /regexp.prototype.flags@1.4.3:
+ resolution:
+ {
+ integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.1.4
+ functions-have-names: 1.2.3
+ dev: true
+
+ /regexp.prototype.flags@1.5.0:
+ resolution:
+ {
+ integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ functions-have-names: 1.2.3
+ dev: true
+
+ /regexpp@3.2.0:
+ resolution:
+ {
+ integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /regjsparser@0.10.0:
+ resolution:
+ {
+ integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==,
+ }
+ hasBin: true
+ dependencies:
+ jsesc: 0.5.0
+ dev: true
+
+ /remark-frontmatter@4.0.1:
+ resolution:
+ {
+ integrity: sha512-38fJrB0KnmD3E33a5jZC/5+gGAC2WKNiPw1/fdXJvijBlhA7RCsvJklrYJakS0HedninvaCYW8lQGf9C918GfA==,
+ }
+ dependencies:
+ '@types/mdast': 3.0.13
+ mdast-util-frontmatter: 1.0.1
+ micromark-extension-frontmatter: 1.1.1
+ unified: 10.1.2
+ dev: true
+
+ /remark-mdx-frontmatter@1.1.1:
+ resolution:
+ {
+ integrity: sha512-7teX9DW4tI2WZkXS4DBxneYSY7NHiXl4AKdWDO9LXVweULlCT8OPWsOjLEnMIXViN1j+QcY8mfbq3k0EK6x3uA==,
+ }
+ engines: { node: '>=12.2.0' }
+ dependencies:
+ estree-util-is-identifier-name: 1.1.0
+ estree-util-value-to-estree: 1.3.0
+ js-yaml: 4.1.0
+ toml: 3.0.0
+ dev: true
+
+ /remark-mdx@2.3.0:
+ resolution:
+ {
+ integrity: sha512-g53hMkpM0I98MU266IzDFMrTD980gNF3BJnkyFcmN+dD873mQeD5rdMO3Y2X+x8umQfbSE0PcoEDl7ledSA+2g==,
+ }
+ dependencies:
+ mdast-util-mdx: 2.0.1
+ micromark-extension-mdxjs: 1.0.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /remark-parse@10.0.2:
+ resolution:
+ {
+ integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==,
+ }
+ dependencies:
+ '@types/mdast': 3.0.13
+ mdast-util-from-markdown: 1.3.1
+ unified: 10.1.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /remark-rehype@10.1.0:
+ resolution:
+ {
+ integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==,
+ }
+ dependencies:
+ '@types/hast': 2.3.6
+ '@types/mdast': 3.0.13
+ mdast-util-to-hast: 12.3.0
+ unified: 10.1.2
+ dev: true
+
+ /require-directory@2.1.1:
+ resolution:
+ {
+ integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==,
+ }
+ engines: { node: '>=0.10.0' }
+ dev: true
+
+ /require-like@0.1.2:
+ resolution:
+ {
+ integrity: sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==,
+ }
+ dev: true
+
+ /requireindex@1.2.0:
+ resolution:
+ {
+ integrity: sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==,
+ }
+ engines: { node: '>=0.10.5' }
+ dev: true
+
+ /requires-port@1.0.0:
+ resolution:
+ {
+ integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==,
+ }
+ dev: true
+
+ /resolve-cwd@3.0.0:
+ resolution:
+ {
+ integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ resolve-from: 5.0.0
+ dev: true
+
+ /resolve-from@4.0.0:
+ resolution:
+ {
+ integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==,
+ }
+ engines: { node: '>=4' }
+ dev: true
+
+ /resolve-from@5.0.0:
+ resolution:
+ {
+ integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /resolve-pkg-maps@1.0.0:
+ resolution:
+ {
+ integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==,
+ }
+ dev: true
+
+ /resolve.exports@2.0.2:
+ resolution:
+ {
+ integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==,
+ }
+ engines: { node: '>=10' }
+ dev: true
+
+ /resolve@1.19.0:
+ resolution:
+ {
+ integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==,
+ }
+ dependencies:
+ is-core-module: 2.13.0
+ path-parse: 1.0.7
+ dev: true
+
+ /resolve@1.22.4:
+ resolution:
+ {
+ integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==,
+ }
+ hasBin: true
+ dependencies:
+ is-core-module: 2.13.0
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+ dev: true
+
+ /resolve@2.0.0-next.4:
+ resolution:
+ {
+ integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==,
+ }
+ hasBin: true
+ dependencies:
+ is-core-module: 2.13.0
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+ dev: true
+
+ /restore-cursor@3.1.0:
+ resolution:
+ {
+ integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ onetime: 5.1.2
+ signal-exit: 3.0.7
+ dev: true
+
+ /restore-cursor@4.0.0:
+ resolution:
+ {
+ integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==,
+ }
+ engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
+ dependencies:
+ onetime: 5.1.2
+ signal-exit: 3.0.7
+ dev: false
+
+ /retry@0.12.0:
+ resolution:
+ {
+ integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==,
+ }
+ engines: { node: '>= 4' }
+ dev: true
+
+ /reusify@1.0.4:
+ resolution:
+ {
+ integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==,
+ }
+ engines: { iojs: '>=1.0.0', node: '>=0.10.0' }
+ dev: true
+
+ /rfdc@1.3.0:
+ resolution:
+ {
+ integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==,
+ }
+ dev: false
+
+ /rimraf@2.7.1:
+ resolution:
+ {
+ integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==,
+ }
+ hasBin: true
+ dependencies:
+ glob: 7.2.3
+ dev: true
+
+ /rimraf@3.0.2:
+ resolution:
+ {
+ integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==,
+ }
+ hasBin: true
+ dependencies:
+ glob: 7.2.3
+ dev: true
+
+ /rollup-plugin-visualizer@5.9.2(rollup@4.5.1):
+ resolution:
+ {
+ integrity: sha512-waHktD5mlWrYFrhOLbti4YgQCn1uR24nYsNuXxg7LkPH8KdTXVWR9DNY1WU0QqokyMixVXJS4J04HNrVTMP01A==,
+ }
+ engines: { node: '>=14' }
+ hasBin: true
+ peerDependencies:
+ rollup: 2.x || 3.x
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ open: 8.4.2
+ picomatch: 2.3.1
+ rollup: 4.5.1
+ source-map: 0.7.4
+ yargs: 17.7.2
+ dev: true
+
+ /rollup@3.28.1:
+ resolution:
+ {
+ integrity: sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw==,
+ }
+ engines: { node: '>=14.18.0', npm: '>=8.0.0' }
+ hasBin: true
+ optionalDependencies:
+ fsevents: 2.3.3
+ dev: true
+
+ /rollup@4.5.1:
+ resolution:
+ {
+ integrity: sha512-0EQribZoPKpb5z1NW/QYm3XSR//Xr8BeEXU49Lc/mQmpmVVG5jPUVrpc2iptup/0WMrY9mzas0fxH+TjYvG2CA==,
+ }
+ engines: { node: '>=18.0.0', npm: '>=8.0.0' }
+ hasBin: true
+ optionalDependencies:
+ '@rollup/rollup-android-arm-eabi': 4.5.1
+ '@rollup/rollup-android-arm64': 4.5.1
+ '@rollup/rollup-darwin-arm64': 4.5.1
+ '@rollup/rollup-darwin-x64': 4.5.1
+ '@rollup/rollup-linux-arm-gnueabihf': 4.5.1
+ '@rollup/rollup-linux-arm64-gnu': 4.5.1
+ '@rollup/rollup-linux-arm64-musl': 4.5.1
+ '@rollup/rollup-linux-x64-gnu': 4.5.1
+ '@rollup/rollup-linux-x64-musl': 4.5.1
+ '@rollup/rollup-win32-arm64-msvc': 4.5.1
+ '@rollup/rollup-win32-ia32-msvc': 4.5.1
+ '@rollup/rollup-win32-x64-msvc': 4.5.1
+ fsevents: 2.3.3
+ dev: true
+
+ /run-applescript@5.0.0:
+ resolution:
+ {
+ integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==,
+ }
+ engines: { node: '>=12' }
+ dependencies:
+ execa: 5.1.1
+ dev: true
+
+ /run-parallel@1.2.0:
+ resolution:
+ {
+ integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==,
+ }
+ dependencies:
+ queue-microtask: 1.2.3
+ dev: true
+
+ /sade@1.8.1:
+ resolution:
+ {
+ integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==,
+ }
+ engines: { node: '>=6' }
+ dependencies:
+ mri: 1.2.0
+ dev: true
+
+ /safe-array-concat@1.0.0:
+ resolution:
+ {
+ integrity: sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==,
+ }
+ engines: { node: '>=0.4' }
+ dependencies:
+ call-bind: 1.0.2
+ get-intrinsic: 1.2.1
+ has-symbols: 1.0.3
+ isarray: 2.0.5
+ dev: true
+
+ /safe-buffer@5.1.2:
+ resolution:
+ {
+ integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==,
+ }
+
+ /safe-buffer@5.2.1:
+ resolution:
+ {
+ integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==,
+ }
+
+ /safe-regex-test@1.0.0:
+ resolution:
+ {
+ integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==,
+ }
+ dependencies:
+ call-bind: 1.0.2
+ get-intrinsic: 1.2.1
+ is-regex: 1.1.4
+ dev: true
+
+ /safer-buffer@2.1.2:
+ resolution:
+ {
+ integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==,
+ }
+
+ /sander@0.5.1:
+ resolution:
+ {
+ integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==,
+ }
+ dependencies:
+ es6-promise: 3.3.1
+ graceful-fs: 4.2.11
+ mkdirp: 0.5.6
+ rimraf: 2.7.1
+ dev: true
+
+ /saxes@6.0.0:
+ resolution:
+ {
+ integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==,
+ }
+ engines: { node: '>=v12.22.7' }
+ dependencies:
+ xmlchars: 2.2.0
+ dev: true
+
+ /scheduler@0.23.0:
+ resolution:
+ {
+ integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==,
+ }
+ dependencies:
+ loose-envify: 1.4.0
+
+ /scule@1.1.0:
+ resolution:
+ {
+ integrity: sha512-vRUjqhyM/YWYzT+jsMk6tnl3NkY4A4soJ8uyh3O6Um+JXEQL9ozUCe7pqrxn3CSKokw0hw3nFStfskzpgYwR0g==,
+ }
+ dev: true
+
+ /semver@5.7.2:
+ resolution:
+ {
+ integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==,
+ }
+ hasBin: true
+ dev: true
+
+ /semver@6.3.1:
+ resolution:
+ {
+ integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==,
+ }
+ hasBin: true
+
+ /semver@7.5.4:
+ resolution:
+ {
+ integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==,
+ }
+ engines: { node: '>=10' }
+ hasBin: true
+ dependencies:
+ lru-cache: 6.0.0
+ dev: true
+
+ /send@0.18.0:
+ resolution:
+ {
+ integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==,
+ }
+ engines: { node: '>= 0.8.0' }
+ dependencies:
+ debug: 2.6.9
+ depd: 2.0.0
+ destroy: 1.2.0
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ etag: 1.8.1
+ fresh: 0.5.2
+ http-errors: 2.0.0
+ mime: 1.6.0
+ ms: 2.1.3
+ on-finished: 2.4.1
+ range-parser: 1.2.1
+ statuses: 2.0.1
+ transitivePeerDependencies:
+ - supports-color
+
+ /serialize-javascript@6.0.1:
+ resolution:
+ {
+ integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==,
+ }
+ dependencies:
+ randombytes: 2.1.0
+ dev: true
+
+ /serve-placeholder@2.0.1:
+ resolution:
+ {
+ integrity: sha512-rUzLlXk4uPFnbEaIz3SW8VISTxMuONas88nYWjAWaM2W9VDbt9tyFOr3lq8RhVOFrT3XISoBw8vni5una8qMnQ==,
+ }
+ dependencies:
+ defu: 6.1.3
+ dev: true
+
+ /serve-static@1.15.0:
+ resolution:
+ {
+ integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==,
+ }
+ engines: { node: '>= 0.8.0' }
+ dependencies:
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ parseurl: 1.3.3
+ send: 0.18.0
+ transitivePeerDependencies:
+ - supports-color
+
+ /set-blocking@2.0.0:
+ resolution:
+ {
+ integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==,
+ }
+ dev: true
+
+ /set-cookie-parser@2.6.0:
+ resolution:
+ {
+ integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==,
+ }
+
+ /setprototypeof@1.2.0:
+ resolution:
+ {
+ integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==,
+ }
+
+ /shebang-command@2.0.0:
+ resolution:
+ {
+ integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ shebang-regex: 3.0.0
+
+ /shebang-regex@3.0.0:
+ resolution:
+ {
+ integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==,
+ }
+ engines: { node: '>=8' }
+
+ /shell-quote@1.8.1:
+ resolution:
+ {
+ integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==,
+ }
+ dev: true
+
+ /side-channel@1.0.4:
+ resolution:
+ {
+ integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==,
+ }
+ dependencies:
+ call-bind: 1.0.2
+ get-intrinsic: 1.1.3
+ object-inspect: 1.12.2
+
+ /signal-exit@3.0.7:
+ resolution:
+ {
+ integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==,
+ }
+
+ /signal-exit@4.1.0:
+ resolution:
+ {
+ integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==,
+ }
+ engines: { node: '>=14' }
+ dev: true
+
+ /sigstore@2.1.0:
+ resolution:
+ {
+ integrity: sha512-kPIj+ZLkyI3QaM0qX8V/nSsweYND3W448pwkDgS6CQ74MfhEkIR8ToK5Iyx46KJYRjseVcD3Rp9zAmUAj6ZjPw==,
+ }
+ engines: { node: ^16.14.0 || >=18.0.0 }
+ dependencies:
+ '@sigstore/bundle': 2.1.0
+ '@sigstore/protobuf-specs': 0.2.1
+ '@sigstore/sign': 2.2.0
+ '@sigstore/tuf': 2.2.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /simple-git@3.21.0:
+ resolution:
+ {
+ integrity: sha512-oTzw9248AF5bDTMk9MrxsRzEzivMlY+DWH0yWS4VYpMhNLhDWnN06pCtaUyPnqv/FpsdeNmRqmZugMABHRPdDA==,
+ }
+ dependencies:
+ '@kwsites/file-exists': 1.1.1
+ '@kwsites/promise-deferred': 1.1.1
+ debug: 4.3.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /sirv@2.0.3:
+ resolution:
+ {
+ integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==,
+ }
+ engines: { node: '>= 10' }
+ dependencies:
+ '@polka/url': 1.0.0-next.23
+ mrmime: 1.0.1
+ totalist: 3.0.1
+ dev: true
+
+ /sisteransi@1.0.5:
+ resolution:
+ {
+ integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==,
+ }
+ dev: true
+
+ /slash@3.0.0:
+ resolution:
+ {
+ integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /slash@4.0.0:
+ resolution:
+ {
+ integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==,
+ }
+ engines: { node: '>=12' }
+ dev: true
+
+ /slash@5.1.0:
+ resolution:
+ {
+ integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==,
+ }
+ engines: { node: '>=14.16' }
+ dev: true
+
+ /slice-ansi@5.0.0:
+ resolution:
+ {
+ integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==,
+ }
+ engines: { node: '>=12' }
+ dependencies:
+ ansi-styles: 6.2.1
+ is-fullwidth-code-point: 4.0.0
+ dev: false
+
+ /smart-buffer@4.2.0:
+ resolution:
+ {
+ integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==,
+ }
+ engines: { node: '>= 6.0.0', npm: '>= 3.0.0' }
+ dev: true
+
+ /smob@1.4.1:
+ resolution:
+ {
+ integrity: sha512-9LK+E7Hv5R9u4g4C3p+jjLstaLe11MDsL21UpYaCNmapvMkYhqCV4A/f/3gyH8QjMyh6l68q9xC85vihY9ahMQ==,
+ }
+ dev: true
+
+ /socks-proxy-agent@8.0.2:
+ resolution:
+ {
+ integrity: sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==,
+ }
+ engines: { node: '>= 14' }
+ dependencies:
+ agent-base: 7.1.0
+ debug: 4.3.4
+ socks: 2.7.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /socks@2.7.1:
+ resolution:
+ {
+ integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==,
+ }
+ engines: { node: '>= 10.13.0', npm: '>= 3.0.0' }
+ dependencies:
+ ip: 2.0.0
+ smart-buffer: 4.2.0
+ dev: true
+
+ /sorcery@0.11.0:
+ resolution:
+ {
+ integrity: sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==,
+ }
+ hasBin: true
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.4.15
+ buffer-crc32: 0.2.13
+ minimist: 1.2.8
+ sander: 0.5.1
+ dev: true
+
+ /sort-object-keys@1.1.3:
+ resolution:
+ {
+ integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==,
+ }
+ dev: true
+
+ /sort-package-json@2.5.1:
+ resolution:
+ {
+ integrity: sha512-vx/KoZxm8YNMUqdlw7SGTfqR5pqZ/sUfgOuRtDILiOy/3AvzhAibyUe2cY3OpLs3oRSow9up4yLVtQaM24rbDQ==,
+ }
+ hasBin: true
+ dependencies:
+ detect-indent: 7.0.1
+ detect-newline: 4.0.0
+ get-stdin: 9.0.0
+ git-hooks-list: 3.1.0
+ globby: 13.2.2
+ is-plain-obj: 4.1.0
+ sort-object-keys: 1.1.3
+ dev: true
+
+ /source-map-js@1.0.2:
+ resolution:
+ {
+ integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==,
+ }
+ engines: { node: '>=0.10.0' }
+
+ /source-map-support@0.5.13:
+ resolution:
+ {
+ integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==,
+ }
+ dependencies:
+ buffer-from: 1.1.2
+ source-map: 0.6.1
+ dev: true
+
+ /source-map-support@0.5.21:
+ resolution:
+ {
+ integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==,
+ }
+ dependencies:
+ buffer-from: 1.1.2
+ source-map: 0.6.1
+
+ /source-map@0.6.1:
+ resolution:
+ {
+ integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==,
+ }
+ engines: { node: '>=0.10.0' }
+
+ /source-map@0.7.4:
+ resolution:
+ {
+ integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==,
+ }
+ engines: { node: '>= 8' }
+
+ /source-map@0.8.0-beta.0:
+ resolution:
+ {
+ integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==,
+ }
+ engines: { node: '>= 8' }
+ dependencies:
+ whatwg-url: 7.1.0
+ dev: true
+
+ /space-separated-tokens@2.0.2:
+ resolution:
+ {
+ integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==,
+ }
+ dev: true
+
+ /spdx-correct@3.2.0:
+ resolution:
+ {
+ integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==,
+ }
+ dependencies:
+ spdx-expression-parse: 3.0.1
+ spdx-license-ids: 3.0.13
+ dev: true
+
+ /spdx-exceptions@2.3.0:
+ resolution:
+ {
+ integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==,
+ }
+ dev: true
+
+ /spdx-expression-parse@3.0.1:
+ resolution:
+ {
+ integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==,
+ }
+ dependencies:
+ spdx-exceptions: 2.3.0
+ spdx-license-ids: 3.0.13
+ dev: true
+
+ /spdx-license-ids@3.0.13:
+ resolution:
+ {
+ integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==,
+ }
+ dev: true
+
+ /sprintf-js@1.0.3:
+ resolution:
+ {
+ integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==,
+ }
+ dev: true
+
+ /ssri@10.0.5:
+ resolution:
+ {
+ integrity: sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==,
+ }
+ engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 }
+ dependencies:
+ minipass: 7.0.4
+ dev: true
+
+ /stack-utils@2.0.6:
+ resolution:
+ {
+ integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==,
+ }
+ engines: { node: '>=10' }
+ dependencies:
+ escape-string-regexp: 2.0.0
+ dev: true
+
+ /standard-as-callback@2.1.0:
+ resolution:
+ {
+ integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==,
+ }
+ dev: true
+
+ /statuses@2.0.1:
+ resolution:
+ {
+ integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==,
+ }
+ engines: { node: '>= 0.8' }
+
+ /std-env@3.5.0:
+ resolution:
+ {
+ integrity: sha512-JGUEaALvL0Mf6JCfYnJOTcobY+Nc7sG/TemDRBqCA0wEr4DER7zDchaaixTlmOxAjG1uRJmX82EQcxwTQTkqVA==,
+ }
+ dev: true
+
+ /stream-shift@1.0.1:
+ resolution:
+ {
+ integrity: sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==,
+ }
+ dev: true
+
+ /stream-slice@0.1.2:
+ resolution:
+ {
+ integrity: sha512-QzQxpoacatkreL6jsxnVb7X5R/pGw9OUv2qWTYWnmLpg4NdN31snPy/f3TdQE1ZUXaThRvj1Zw4/OGg0ZkaLMA==,
+ }
+
+ /streamsearch@1.1.0:
+ resolution:
+ {
+ integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==,
+ }
+ engines: { node: '>=10.0.0' }
+
+ /streamx@2.15.5:
+ resolution:
+ {
+ integrity: sha512-9thPGMkKC2GctCzyCUjME3yR03x2xNo0GPKGkRw2UMYN+gqWa9uqpyNWhmsNCutU5zHmkUum0LsCRQTXUgUCAg==,
+ }
+ dependencies:
+ fast-fifo: 1.3.2
+ queue-tick: 1.0.1
+ dev: true
+
+ /string-argv@0.3.2:
+ resolution:
+ {
+ integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==,
+ }
+ engines: { node: '>=0.6.19' }
+ dev: false
+
+ /string-hash@1.1.3:
+ resolution:
+ {
+ integrity: sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==,
+ }
+ dev: true
+
+ /string-length@4.0.2:
+ resolution:
+ {
+ integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==,
+ }
+ engines: { node: '>=10' }
+ dependencies:
+ char-regex: 1.0.2
+ strip-ansi: 6.0.1
+ dev: true
+
+ /string-width@4.2.3:
+ resolution:
+ {
+ integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ emoji-regex: 8.0.0
+ is-fullwidth-code-point: 3.0.0
+ strip-ansi: 6.0.1
+ dev: true
+
+ /string-width@5.1.2:
+ resolution:
+ {
+ integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==,
+ }
+ engines: { node: '>=12' }
+ dependencies:
+ eastasianwidth: 0.2.0
+ emoji-regex: 9.2.2
+ strip-ansi: 7.1.0
+
+ /string.prototype.matchall@4.0.9:
+ resolution:
+ {
+ integrity: sha512-6i5hL3MqG/K2G43mWXWgP+qizFW/QH/7kCNN13JrJS5q48FN5IKksLDscexKP3dnmB6cdm9jlNgAsWNLpSykmA==,
+ }
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ es-abstract: 1.22.1
+ get-intrinsic: 1.2.1
+ has-symbols: 1.0.3
+ internal-slot: 1.0.5
+ regexp.prototype.flags: 1.5.0
+ side-channel: 1.0.4
+ dev: true
+
+ /string.prototype.trim@1.2.7:
+ resolution:
+ {
+ integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ es-abstract: 1.22.1
+ dev: true
+
+ /string.prototype.trimend@1.0.6:
+ resolution:
+ {
+ integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==,
+ }
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ es-abstract: 1.22.1
+ dev: true
+
+ /string.prototype.trimstart@1.0.7:
+ resolution:
+ {
+ integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==,
+ }
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ es-abstract: 1.22.1
+ dev: true
+
+ /string_decoder@0.10.31:
+ resolution:
+ {
+ integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==,
+ }
+ dev: true
+
+ /string_decoder@1.1.1:
+ resolution:
+ {
+ integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==,
+ }
+ dependencies:
+ safe-buffer: 5.1.2
+ dev: true
+
+ /string_decoder@1.3.0:
+ resolution:
+ {
+ integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==,
+ }
+ dependencies:
+ safe-buffer: 5.2.1
+ dev: true
+
+ /stringify-entities@4.0.3:
+ resolution:
+ {
+ integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==,
+ }
+ dependencies:
+ character-entities-html4: 2.1.0
+ character-entities-legacy: 3.0.0
+ dev: true
+
+ /strip-ansi@6.0.1:
+ resolution:
+ {
+ integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ ansi-regex: 5.0.1
+ dev: true
+
+ /strip-ansi@7.1.0:
+ resolution:
+ {
+ integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==,
+ }
+ engines: { node: '>=12' }
+ dependencies:
+ ansi-regex: 6.0.1
+
+ /strip-bom@3.0.0:
+ resolution:
+ {
+ integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==,
+ }
+ engines: { node: '>=4' }
+ dev: true
+
+ /strip-bom@4.0.0:
+ resolution:
+ {
+ integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /strip-final-newline@2.0.0:
+ resolution:
+ {
+ integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==,
+ }
+ engines: { node: '>=6' }
+ dev: true
+
+ /strip-final-newline@3.0.0:
+ resolution:
+ {
+ integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==,
+ }
+ engines: { node: '>=12' }
+
+ /strip-indent@3.0.0:
+ resolution:
+ {
+ integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ min-indent: 1.0.1
+ dev: true
+
+ /strip-json-comments@3.1.1:
+ resolution:
+ {
+ integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /strip-literal@1.3.0:
+ resolution:
+ {
+ integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==,
+ }
+ dependencies:
+ acorn: 8.11.2
+ dev: true
+
+ /style-to-object@0.4.2:
+ resolution:
+ {
+ integrity: sha512-1JGpfPB3lo42ZX8cuPrheZbfQ6kqPPnPHlKMyeRYtfKD+0jG+QsXgXN57O/dvJlzlB2elI6dGmrPnl5VPQFPaA==,
+ }
+ dependencies:
+ inline-style-parser: 0.1.1
+ dev: true
+
+ /styled-jsx@5.1.1(@babel/core@7.22.15)(react@18.2.0):
+ resolution:
+ {
+ integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==,
+ }
+ engines: { node: '>= 12.0.0' }
+ peerDependencies:
+ '@babel/core': '*'
+ babel-plugin-macros: '*'
+ react: '>= 16.8.0 || 17.x.x || ^18.0.0-0'
+ peerDependenciesMeta:
+ '@babel/core':
+ optional: true
+ babel-plugin-macros:
+ optional: true
+ dependencies:
+ '@babel/core': 7.22.15
+ client-only: 0.0.1
+ react: 18.2.0
+ dev: false
+
+ /styled-jsx@5.1.1(@babel/core@7.23.3)(react@18.2.0):
+ resolution:
+ {
+ integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==,
+ }
+ engines: { node: '>= 12.0.0' }
+ peerDependencies:
+ '@babel/core': '*'
+ babel-plugin-macros: '*'
+ react: '>= 16.8.0 || 17.x.x || ^18.0.0-0'
+ peerDependenciesMeta:
+ '@babel/core':
+ optional: true
+ babel-plugin-macros:
+ optional: true
+ dependencies:
+ '@babel/core': 7.23.3
+ client-only: 0.0.1
+ react: 18.2.0
+ dev: true
+
+ /stylehacks@6.0.0(postcss@8.4.31):
+ resolution:
+ {
+ integrity: sha512-+UT589qhHPwz6mTlCLSt/vMNTJx8dopeJlZAlBMJPWA3ORqu6wmQY7FBXf+qD+FsqoBJODyqNxOUP3jdntFRdw==,
+ }
+ engines: { node: ^14 || ^16 || >=18.0 }
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ browserslist: 4.21.10
+ postcss: 8.4.31
+ postcss-selector-parser: 6.0.13
+ dev: true
+
+ /sucrase@3.34.0:
+ resolution:
+ {
+ integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==,
+ }
+ engines: { node: '>=8' }
+ hasBin: true
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.3
+ commander: 4.1.1
+ glob: 7.1.6
+ lines-and-columns: 1.2.4
+ mz: 2.7.0
+ pirates: 4.0.6
+ ts-interface-checker: 0.1.13
+ dev: true
+
+ /supports-color@5.5.0:
+ resolution:
+ {
+ integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==,
+ }
+ engines: { node: '>=4' }
+ dependencies:
+ has-flag: 3.0.0
+
+ /supports-color@7.2.0:
+ resolution:
+ {
+ integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ has-flag: 4.0.0
+ dev: true
+
+ /supports-color@8.1.1:
+ resolution:
+ {
+ integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==,
+ }
+ engines: { node: '>=10' }
+ dependencies:
+ has-flag: 4.0.0
+ dev: true
+
+ /supports-color@9.4.0:
+ resolution:
+ {
+ integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==,
+ }
+ engines: { node: '>=12' }
+ dev: true
+
+ /supports-preserve-symlinks-flag@1.0.0:
+ resolution:
+ {
+ integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==,
+ }
+ engines: { node: '>= 0.4' }
+ dev: true
+
+ /svelte-check@3.4.3(@babel/core@7.22.15)(svelte@4.0.5):
+ resolution:
+ {
+ integrity: sha512-O07soQFY3X0VDt+bcGc6D5naz0cLtjwnmNP9JsEBPVyMemFEqUhL2OdLqvkl5H/u8Jwm50EiAU4BPRn5iin/kg==,
+ }
+ hasBin: true
+ peerDependencies:
+ svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.19
+ chokidar: 3.5.3
+ fast-glob: 3.3.1
+ import-fresh: 3.3.0
+ picocolors: 1.0.0
+ sade: 1.8.1
+ svelte: 4.0.5
+ svelte-preprocess: 5.0.4(@babel/core@7.22.15)(svelte@4.0.5)(typescript@5.2.2)
+ typescript: 5.2.2
+ transitivePeerDependencies:
+ - '@babel/core'
+ - coffeescript
+ - less
+ - postcss
+ - postcss-load-config
+ - pug
+ - sass
+ - stylus
+ - sugarss
+ dev: true
+
+ /svelte-hmr@0.15.3(svelte@4.0.5):
+ resolution:
+ {
+ integrity: sha512-41snaPswvSf8TJUhlkoJBekRrABDXDMdpNpT2tfHIv4JuhgvHqLMhEPGtaQn0BmbNSTkuz2Ed20DF2eHw0SmBQ==,
+ }
+ engines: { node: ^12.20 || ^14.13.1 || >= 16 }
+ peerDependencies:
+ svelte: ^3.19.0 || ^4.0.0
+ dependencies:
+ svelte: 4.0.5
+ dev: true
+
+ /svelte-preprocess@5.0.4(@babel/core@7.22.15)(svelte@4.0.5)(typescript@5.2.2):
+ resolution:
+ {
+ integrity: sha512-ABia2QegosxOGsVlsSBJvoWeXy1wUKSfF7SWJdTjLAbx/Y3SrVevvvbFNQqrSJw89+lNSsM58SipmZJ5SRi5iw==,
+ }
+ engines: { node: '>= 14.10.0' }
+ requiresBuild: true
+ peerDependencies:
+ '@babel/core': ^7.10.2
+ coffeescript: ^2.5.1
+ less: ^3.11.3 || ^4.0.0
+ postcss: ^7 || ^8
+ postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0
+ pug: ^3.0.0
+ sass: ^1.26.8
+ stylus: ^0.55.0
+ sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0
+ svelte: ^3.23.0 || ^4.0.0-next.0 || ^4.0.0
+ typescript: '>=3.9.5 || ^4.0.0 || ^5.0.0'
+ peerDependenciesMeta:
+ '@babel/core':
+ optional: true
+ coffeescript:
+ optional: true
+ less:
+ optional: true
+ postcss:
+ optional: true
+ postcss-load-config:
+ optional: true
+ pug:
+ optional: true
+ sass:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ typescript:
+ optional: true
+ dependencies:
+ '@babel/core': 7.22.15
+ '@types/pug': 2.0.7
+ detect-indent: 6.1.0
+ magic-string: 0.27.0
+ sorcery: 0.11.0
+ strip-indent: 3.0.0
+ svelte: 4.0.5
+ typescript: 5.2.2
+ dev: true
+
+ /svelte@4.0.5:
+ resolution:
+ {
+ integrity: sha512-PHKPWP1wiWHBtsE57nCb8xiWB3Ht7/3Kvi3jac0XIxUM2rep8alO7YoAtgWeGD7++tFy46krilOrPW0mG3Dx+A==,
+ }
+ engines: { node: '>=16' }
+ dependencies:
+ '@ampproject/remapping': 2.2.1
+ '@jridgewell/sourcemap-codec': 1.4.15
+ '@jridgewell/trace-mapping': 0.3.19
+ acorn: 8.10.0
+ aria-query: 5.3.0
+ axobject-query: 3.2.1
+ code-red: 1.0.4
+ css-tree: 2.3.1
+ estree-walker: 3.0.3
+ is-reference: 3.0.2
+ locate-character: 3.0.0
+ magic-string: 0.30.5
+ periscopic: 3.1.0
+ dev: true
+
+ /svg-tags@1.0.0:
+ resolution:
+ {
+ integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==,
+ }
+ dev: true
+
+ /svgo@3.0.4:
+ resolution:
+ {
+ integrity: sha512-T+Xul3JwuJ6VGXKo/p2ndqx1ibxNKnLTvRc1ZTWKCfyKS/GgNjRZcYsK84fxTsy/izr91g/Rwx6fGnVgaFSI5g==,
+ }
+ engines: { node: '>=14.0.0' }
+ hasBin: true
+ dependencies:
+ '@trysound/sax': 0.2.0
+ commander: 7.2.0
+ css-select: 5.1.0
+ css-tree: 2.3.1
+ css-what: 6.1.0
+ csso: 5.0.5
+ picocolors: 1.0.0
+ dev: true
+
+ /symbol-tree@3.2.4:
+ resolution:
+ {
+ integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==,
+ }
+ dev: true
+
+ /synckit@0.8.5:
+ resolution:
+ {
+ integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==,
+ }
+ engines: { node: ^14.18.0 || >=16.0.0 }
+ dependencies:
+ '@pkgr/utils': 2.4.2
+ tslib: 2.6.2
+ dev: true
+
+ /tapable@2.2.1:
+ resolution:
+ {
+ integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==,
+ }
+ engines: { node: '>=6' }
+ dev: true
+
+ /tar-fs@2.1.1:
+ resolution:
+ {
+ integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==,
+ }
+ dependencies:
+ chownr: 1.1.4
+ mkdirp-classic: 0.5.3
+ pump: 3.0.0
+ tar-stream: 2.2.0
+ dev: true
+
+ /tar-stream@2.2.0:
+ resolution:
+ {
+ integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==,
+ }
+ engines: { node: '>=6' }
+ dependencies:
+ bl: 4.1.0
+ end-of-stream: 1.4.4
+ fs-constants: 1.0.0
+ inherits: 2.0.4
+ readable-stream: 3.6.2
+ dev: true
+
+ /tar-stream@3.1.6:
+ resolution:
+ {
+ integrity: sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==,
+ }
+ dependencies:
+ b4a: 1.6.4
+ fast-fifo: 1.3.2
+ streamx: 2.15.5
+ dev: true
+
+ /tar@6.2.0:
+ resolution:
+ {
+ integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==,
+ }
+ engines: { node: '>=10' }
+ dependencies:
+ chownr: 2.0.0
+ fs-minipass: 2.1.0
+ minipass: 5.0.0
+ minizlib: 2.1.2
+ mkdirp: 1.0.4
+ yallist: 4.0.0
+ dev: true
+
+ /terser@5.24.0:
+ resolution:
+ {
+ integrity: sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==,
+ }
+ engines: { node: '>=10' }
+ hasBin: true
+ dependencies:
+ '@jridgewell/source-map': 0.3.5
+ acorn: 8.11.2
+ commander: 2.20.3
+ source-map-support: 0.5.21
+ dev: true
+
+ /test-exclude@6.0.0:
+ resolution:
+ {
+ integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==,
+ }
+ engines: { node: '>=8' }
+ dependencies:
+ '@istanbuljs/schema': 0.1.3
+ glob: 7.2.3
+ minimatch: 3.1.2
+ dev: true
+
+ /text-table@0.2.0:
+ resolution:
+ {
+ integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==,
+ }
+ dev: true
+
+ /thenify-all@1.6.0:
+ resolution:
+ {
+ integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==,
+ }
+ engines: { node: '>=0.8' }
+ dependencies:
+ thenify: 3.3.1
+ dev: true
+
+ /thenify@3.3.1:
+ resolution:
+ {
+ integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==,
+ }
+ dependencies:
+ any-promise: 1.3.0
+ dev: true
+
+ /through2@2.0.5:
+ resolution:
+ {
+ integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==,
+ }
+ dependencies:
+ readable-stream: 2.3.8
+ xtend: 4.0.2
+ dev: true
+
+ /tiny-invariant@1.3.1:
+ resolution:
+ {
+ integrity: sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==,
+ }
+ dev: true
+
+ /titleize@3.0.0:
+ resolution:
+ {
+ integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==,
+ }
+ engines: { node: '>=12' }
+ dev: true
+
+ /tmpl@1.0.5:
+ resolution:
+ {
+ integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==,
+ }
+ dev: true
+
+ /to-fast-properties@2.0.0:
+ resolution:
+ {
+ integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==,
+ }
+ engines: { node: '>=4' }
+
+ /to-regex-range@5.0.1:
+ resolution:
+ {
+ integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==,
+ }
+ engines: { node: '>=8.0' }
+ dependencies:
+ is-number: 7.0.0
+
+ /toidentifier@1.0.1:
+ resolution:
+ {
+ integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==,
+ }
+ engines: { node: '>=0.6' }
+
+ /toml@3.0.0:
+ resolution:
+ {
+ integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==,
+ }
+ dev: true
+
+ /totalist@3.0.1:
+ resolution:
+ {
+ integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==,
+ }
+ engines: { node: '>=6' }
+ dev: true
+
+ /tough-cookie@4.1.3:
+ resolution:
+ {
+ integrity: sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==,
+ }
+ engines: { node: '>=6' }
+ dependencies:
+ psl: 1.9.0
+ punycode: 2.3.0
+ universalify: 0.2.0
+ url-parse: 1.5.10
+ dev: true
+
+ /tr46@0.0.3:
+ resolution:
+ {
+ integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==,
+ }
+ dev: true
+
+ /tr46@1.0.1:
+ resolution:
+ {
+ integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==,
+ }
+ dependencies:
+ punycode: 2.3.0
+ dev: true
+
+ /tr46@3.0.0:
+ resolution:
+ {
+ integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==,
+ }
+ engines: { node: '>=12' }
+ dependencies:
+ punycode: 2.3.0
+ dev: true
+
+ /tree-kill@1.2.2:
+ resolution:
+ {
+ integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==,
+ }
+ hasBin: true
+ dev: true
+
+ /trim-lines@3.0.1:
+ resolution:
+ {
+ integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==,
+ }
+ dev: true
+
+ /trough@2.1.0:
+ resolution:
+ {
+ integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==,
+ }
+ dev: true
+
+ /ts-api-utils@1.0.2(typescript@5.2.2):
+ resolution:
+ {
+ integrity: sha512-Cbu4nIqnEdd+THNEsBdkolnOXhg0I8XteoHaEKgvsxpsbWda4IsUut2c187HxywQCvveojow0Dgw/amxtSKVkQ==,
+ }
+ engines: { node: '>=16.13.0' }
+ peerDependencies:
+ typescript: '>=4.2.0'
+ dependencies:
+ typescript: 5.2.2
+ dev: true
+
+ /ts-interface-checker@0.1.13:
+ resolution:
+ {
+ integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==,
+ }
+ dev: true
+
+ /tsconfig-paths@3.14.2:
+ resolution:
+ {
+ integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==,
+ }
+ dependencies:
+ '@types/json5': 0.0.29
+ json5: 1.0.2
+ minimist: 1.2.8
+ strip-bom: 3.0.0
+ dev: true
+
+ /tsconfig-paths@4.2.0:
+ resolution:
+ {
+ integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==,
+ }
+ engines: { node: '>=6' }
+ dependencies:
+ json5: 2.2.3
+ minimist: 1.2.8
+ strip-bom: 3.0.0
+ dev: true
+
+ /tslib@1.14.1:
+ resolution:
+ {
+ integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==,
+ }
+ dev: true
+
+ /tslib@2.6.2:
+ resolution:
+ {
+ integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==,
+ }
+
+ /tsup@7.2.0(@swc/core@1.3.82)(typescript@5.2.2):
+ resolution:
+ {
+ integrity: sha512-vDHlczXbgUvY3rWvqFEbSqmC1L7woozbzngMqTtL2PGBODTtWlRwGDDawhvWzr5c1QjKe4OAKqJGfE1xeXUvtQ==,
+ }
+ engines: { node: '>=16.14' }
+ hasBin: true
+ peerDependencies:
+ '@swc/core': ^1
+ postcss: ^8.4.12
+ typescript: '>=4.1.0'
+ peerDependenciesMeta:
+ '@swc/core':
+ optional: true
+ postcss:
+ optional: true
+ typescript:
+ optional: true
+ dependencies:
+ '@swc/core': 1.3.82
+ bundle-require: 4.0.1(esbuild@0.18.20)
+ cac: 6.7.14
+ chokidar: 3.5.3
+ debug: 4.3.4
+ esbuild: 0.18.20
+ execa: 5.1.1
+ globby: 11.1.0
+ joycon: 3.1.1
+ postcss-load-config: 4.0.1(postcss@8.4.31)
+ resolve-from: 5.0.0
+ rollup: 3.28.1
+ source-map: 0.8.0-beta.0
+ sucrase: 3.34.0
+ tree-kill: 1.2.2
+ typescript: 5.2.2
+ transitivePeerDependencies:
+ - supports-color
+ - ts-node
+ dev: true
+
+ /tsutils@3.21.0(typescript@5.2.2):
+ resolution:
+ {
+ integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==,
+ }
+ engines: { node: '>= 6' }
+ peerDependencies:
+ typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
+ dependencies:
+ tslib: 1.14.1
+ typescript: 5.2.2
+ dev: true
+
+ /tuf-js@2.1.0:
+ resolution:
+ {
+ integrity: sha512-eD7YPPjVlMzdggrOeE8zwoegUaG/rt6Bt3jwoQPunRiNVzgcCE009UDFJKJjG+Gk9wFu6W/Vi+P5d/5QpdD9jA==,
+ }
+ engines: { node: ^16.14.0 || >=18.0.0 }
+ dependencies:
+ '@tufjs/models': 2.0.0
+ debug: 4.3.4
+ make-fetch-happen: 13.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /type-check@0.4.0:
+ resolution:
+ {
+ integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==,
+ }
+ engines: { node: '>= 0.8.0' }
+ dependencies:
+ prelude-ls: 1.2.1
+ dev: true
+
+ /type-detect@4.0.8:
+ resolution:
+ {
+ integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==,
+ }
+ engines: { node: '>=4' }
+ dev: true
+
+ /type-fest@0.20.2:
+ resolution:
+ {
+ integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==,
+ }
+ engines: { node: '>=10' }
+ dev: true
+
+ /type-fest@0.21.3:
+ resolution:
+ {
+ integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==,
+ }
+ engines: { node: '>=10' }
+ dev: true
+
+ /type-fest@0.6.0:
+ resolution:
+ {
+ integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /type-fest@0.8.1:
+ resolution:
+ {
+ integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /type-fest@1.4.0:
+ resolution:
+ {
+ integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==,
+ }
+ engines: { node: '>=10' }
+ dev: false
+
+ /type-fest@3.13.1:
+ resolution:
+ {
+ integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==,
+ }
+ engines: { node: '>=14.16' }
+ dev: true
+
+ /type-fest@4.3.3:
+ resolution:
+ {
+ integrity: sha512-bxhiFii6BBv6UiSDq7uKTMyADT9unXEl3ydGefndVLxFeB44LRbT4K7OJGDYSyDrKnklCC1Pre68qT2wbUl2Aw==,
+ }
+ engines: { node: '>=16' }
+
+ /type-is@1.6.18:
+ resolution:
+ {
+ integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==,
+ }
+ engines: { node: '>= 0.6' }
+ dependencies:
+ media-typer: 0.3.0
+ mime-types: 2.1.35
+
+ /typed-array-buffer@1.0.0:
+ resolution:
+ {
+ integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ call-bind: 1.0.2
+ get-intrinsic: 1.2.1
+ is-typed-array: 1.1.12
+ dev: true
+
+ /typed-array-byte-length@1.0.0:
+ resolution:
+ {
+ integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ call-bind: 1.0.2
+ for-each: 0.3.3
+ has-proto: 1.0.1
+ is-typed-array: 1.1.12
+ dev: true
+
+ /typed-array-byte-offset@1.0.0:
+ resolution:
+ {
+ integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ available-typed-arrays: 1.0.5
+ call-bind: 1.0.2
+ for-each: 0.3.3
+ has-proto: 1.0.1
+ is-typed-array: 1.1.12
+ dev: true
+
+ /typed-array-length@1.0.4:
+ resolution:
+ {
+ integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==,
+ }
+ dependencies:
+ call-bind: 1.0.2
+ for-each: 0.3.3
+ is-typed-array: 1.1.12
+ dev: true
+
+ /typescript@5.2.2:
+ resolution:
+ {
+ integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==,
+ }
+ engines: { node: '>=14.17' }
+ hasBin: true
+
+ /ufo@1.3.2:
+ resolution:
+ {
+ integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==,
+ }
+ dev: true
+
+ /ultrahtml@1.5.2:
+ resolution:
+ {
+ integrity: sha512-qh4mBffhlkiXwDAOxvSGxhL0QEQsTbnP9BozOK3OYPEGvPvdWzvAUaXNtUSMdNsKDtuyjEbyVUPFZ52SSLhLqw==,
+ }
+ dev: true
+
+ /unbox-primitive@1.0.2:
+ resolution:
+ {
+ integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==,
+ }
+ dependencies:
+ call-bind: 1.0.2
+ has-bigints: 1.0.2
+ has-symbols: 1.0.3
+ which-boxed-primitive: 1.0.2
+ dev: true
+
+ /uncrypto@0.1.3:
+ resolution:
+ {
+ integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==,
+ }
+ dev: true
+
+ /unctx@2.3.1:
+ resolution:
+ {
+ integrity: sha512-PhKke8ZYauiqh3FEMVNm7ljvzQiph0Mt3GBRve03IJm7ukfaON2OBK795tLwhbyfzknuRRkW0+Ze+CQUmzOZ+A==,
+ }
+ dependencies:
+ acorn: 8.11.2
+ estree-walker: 3.0.3
+ magic-string: 0.30.5
+ unplugin: 1.5.1
+ dev: true
+
+ /undici@5.22.1:
+ resolution:
+ {
+ integrity: sha512-Ji2IJhFXZY0x/0tVBXeQwgPlLWw13GVzpsWPQ3rV50IFMMof2I55PZZxtm4P6iNq+L5znYN9nSTAq0ZyE6lSJw==,
+ }
+ engines: { node: '>=14.0' }
+ dependencies:
+ busboy: 1.6.0
+ dev: true
+
+ /undici@5.27.2:
+ resolution:
+ {
+ integrity: sha512-iS857PdOEy/y3wlM3yRp+6SNQQ6xU0mmZcwRSriqk+et/cwWAtwmIGf6WkoDN2EK/AMdCO/dfXzIwi+rFMrjjQ==,
+ }
+ engines: { node: '>=14.0' }
+ dependencies:
+ '@fastify/busboy': 2.1.0
+ dev: true
+
+ /unenv@1.8.0:
+ resolution:
+ {
+ integrity: sha512-uIGbdCWZfhRRmyKj1UioCepQ0jpq638j/Cf0xFTn4zD1nGJ2lSdzYHLzfdXN791oo/0juUiSWW1fBklXMTsuqg==,
+ }
+ dependencies:
+ consola: 3.2.3
+ defu: 6.1.3
+ mime: 3.0.0
+ node-fetch-native: 1.4.1
+ pathe: 1.1.1
+ dev: true
+
+ /unhead@1.8.8:
+ resolution:
+ {
+ integrity: sha512-SfUJ2kjz1NcfvdM+uEAlN11h31wHqMg0HZ5jriuRPjMCj5O7lPs4uSMdBUYh3KEo0uLKrW76FM85ONXkyZfm3g==,
+ }
+ dependencies:
+ '@unhead/dom': 1.8.8
+ '@unhead/schema': 1.8.8
+ '@unhead/shared': 1.8.8
+ hookable: 5.5.3
+ dev: true
+
+ /unicorn-magic@0.1.0:
+ resolution:
+ {
+ integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==,
+ }
+ engines: { node: '>=18' }
+ dev: true
+
+ /unified@10.1.2:
+ resolution:
+ {
+ integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==,
+ }
+ dependencies:
+ '@types/unist': 2.0.8
+ bail: 2.0.2
+ extend: 3.0.2
+ is-buffer: 2.0.5
+ is-plain-obj: 4.1.0
+ trough: 2.1.0
+ vfile: 5.3.7
+ dev: true
+
+ /unimport@3.6.0(rollup@4.5.1):
+ resolution:
+ {
+ integrity: sha512-yXW3Z30yk1vX8fxO8uHlq9wY9K+L56LHp4Hlbv8i7tW+NENSOv8AaFJUPtOQchxlT7/JBAzCtkrBtcVjKIr1VQ==,
+ }
+ dependencies:
+ '@rollup/pluginutils': 5.0.5(rollup@4.5.1)
+ escape-string-regexp: 5.0.0
+ fast-glob: 3.3.2
+ local-pkg: 0.5.0
+ magic-string: 0.30.5
+ mlly: 1.4.2
+ pathe: 1.1.1
+ pkg-types: 1.0.3
+ scule: 1.1.0
+ strip-literal: 1.3.0
+ unplugin: 1.5.1
+ transitivePeerDependencies:
+ - rollup
+ dev: true
+
+ /unique-filename@3.0.0:
+ resolution:
+ {
+ integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==,
+ }
+ engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 }
+ dependencies:
+ unique-slug: 4.0.0
+ dev: true
+
+ /unique-slug@4.0.0:
+ resolution:
+ {
+ integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==,
+ }
+ engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 }
+ dependencies:
+ imurmurhash: 0.1.4
+ dev: true
+
+ /unist-util-generated@2.0.1:
+ resolution:
+ {
+ integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==,
+ }
+ dev: true
+
+ /unist-util-is@5.2.1:
+ resolution:
+ {
+ integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==,
+ }
+ dependencies:
+ '@types/unist': 2.0.8
+ dev: true
+
+ /unist-util-position-from-estree@1.1.2:
+ resolution:
+ {
+ integrity: sha512-poZa0eXpS+/XpoQwGwl79UUdea4ol2ZuCYguVaJS4qzIOMDzbqz8a3erUCOmubSZkaOuGamb3tX790iwOIROww==,
+ }
+ dependencies:
+ '@types/unist': 2.0.8
+ dev: true
+
+ /unist-util-position@4.0.4:
+ resolution:
+ {
+ integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==,
+ }
+ dependencies:
+ '@types/unist': 2.0.8
+ dev: true
+
+ /unist-util-remove-position@4.0.2:
+ resolution:
+ {
+ integrity: sha512-TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ==,
+ }
+ dependencies:
+ '@types/unist': 2.0.8
+ unist-util-visit: 4.1.2
+ dev: true
+
+ /unist-util-stringify-position@3.0.3:
+ resolution:
+ {
+ integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==,
+ }
+ dependencies:
+ '@types/unist': 2.0.8
+ dev: true
+
+ /unist-util-visit-parents@5.1.3:
+ resolution:
+ {
+ integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==,
+ }
+ dependencies:
+ '@types/unist': 2.0.8
+ unist-util-is: 5.2.1
+ dev: true
+
+ /unist-util-visit@4.1.2:
+ resolution:
+ {
+ integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==,
+ }
+ dependencies:
+ '@types/unist': 2.0.8
+ unist-util-is: 5.2.1
+ unist-util-visit-parents: 5.1.3
+ dev: true
+
+ /universalify@0.2.0:
+ resolution:
+ {
+ integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==,
+ }
+ engines: { node: '>= 4.0.0' }
+ dev: true
+
+ /universalify@2.0.0:
+ resolution:
+ {
+ integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==,
+ }
+ engines: { node: '>= 10.0.0' }
+ dev: true
+
+ /unpipe@1.0.0:
+ resolution:
+ {
+ integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==,
+ }
+ engines: { node: '>= 0.8' }
+
+ /unplugin-vue-router@0.7.0(vue-router@4.2.5)(vue@3.3.8):
+ resolution:
+ {
+ integrity: sha512-ddRreGq0t5vlSB7OMy4e4cfU1w2AwBQCwmvW3oP/0IHQiokzbx4hd3TpwBu3eIAFVuhX2cwNQwp1U32UybTVCw==,
+ }
+ peerDependencies:
+ vue-router: ^4.1.0
+ peerDependenciesMeta:
+ vue-router:
+ optional: true
+ dependencies:
+ '@babel/types': 7.23.4
+ '@rollup/pluginutils': 5.0.5(rollup@4.5.1)
+ '@vue-macros/common': 1.9.0(vue@3.3.8)
+ ast-walker-scope: 0.5.0
+ chokidar: 3.5.3
+ fast-glob: 3.3.2
+ json5: 2.2.3
+ local-pkg: 0.4.3
+ mlly: 1.4.2
+ pathe: 1.1.1
+ scule: 1.1.0
+ unplugin: 1.5.1
+ vue-router: 4.2.5(vue@3.3.8)
+ yaml: 2.3.2
+ transitivePeerDependencies:
+ - rollup
+ - vue
+ dev: true
+
+ /unplugin@1.5.1:
+ resolution:
+ {
+ integrity: sha512-0QkvG13z6RD+1L1FoibQqnvTwVBXvS4XSPwAyinVgoOCl2jAgwzdUKmEj05o4Lt8xwQI85Hb6mSyYkcAGwZPew==,
+ }
+ dependencies:
+ acorn: 8.11.2
+ chokidar: 3.5.3
+ webpack-sources: 3.2.3
+ webpack-virtual-modules: 0.6.1
+ dev: true
+
+ /unstorage@1.10.1:
+ resolution:
+ {
+ integrity: sha512-rWQvLRfZNBpF+x8D3/gda5nUCQL2PgXy2jNG4U7/Rc9BGEv9+CAJd0YyGCROUBKs9v49Hg8huw3aih5Bf5TAVw==,
+ }
+ peerDependencies:
+ '@azure/app-configuration': ^1.4.1
+ '@azure/cosmos': ^4.0.0
+ '@azure/data-tables': ^13.2.2
+ '@azure/identity': ^3.3.2
+ '@azure/keyvault-secrets': ^4.7.0
+ '@azure/storage-blob': ^12.16.0
+ '@capacitor/preferences': ^5.0.6
+ '@netlify/blobs': ^6.2.0
+ '@planetscale/database': ^1.11.0
+ '@upstash/redis': ^1.23.4
+ '@vercel/kv': ^0.2.3
+ idb-keyval: ^6.2.1
+ peerDependenciesMeta:
+ '@azure/app-configuration':
+ optional: true
+ '@azure/cosmos':
+ optional: true
+ '@azure/data-tables':
+ optional: true
+ '@azure/identity':
+ optional: true
+ '@azure/keyvault-secrets':
+ optional: true
+ '@azure/storage-blob':
+ optional: true
+ '@capacitor/preferences':
+ optional: true
+ '@netlify/blobs':
+ optional: true
+ '@planetscale/database':
+ optional: true
+ '@upstash/redis':
+ optional: true
+ '@vercel/kv':
+ optional: true
+ idb-keyval:
+ optional: true
+ dependencies:
+ anymatch: 3.1.3
+ chokidar: 3.5.3
+ destr: 2.0.2
+ h3: 1.9.0
+ ioredis: 5.3.2
+ listhen: 1.5.5
+ lru-cache: 10.1.0
+ mri: 1.2.0
+ node-fetch-native: 1.4.1
+ ofetch: 1.3.3
+ ufo: 1.3.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /untildify@4.0.0:
+ resolution:
+ {
+ integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==,
+ }
+ engines: { node: '>=8' }
+ dev: true
+
+ /untun@0.1.2:
+ resolution:
+ {
+ integrity: sha512-wLAMWvxfqyTiBODA1lg3IXHQtjggYLeTK7RnSfqtOXixWJ3bAa2kK/HHmOOg19upteqO3muLvN6O/icbyQY33Q==,
+ }
+ hasBin: true
+ dependencies:
+ citty: 0.1.5
+ consola: 3.2.3
+ pathe: 1.1.1
+ dev: true
+
+ /untyped@1.4.0:
+ resolution:
+ {
+ integrity: sha512-Egkr/s4zcMTEuulcIb7dgURS6QpN7DyqQYdf+jBtiaJvQ+eRsrtWUoX84SbvQWuLkXsOjM+8sJC9u6KoMK/U7Q==,
+ }
+ hasBin: true
+ dependencies:
+ '@babel/core': 7.23.3
+ '@babel/standalone': 7.23.4
+ '@babel/types': 7.23.4
+ defu: 6.1.3
+ jiti: 1.21.0
+ mri: 1.2.0
+ scule: 1.1.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /update-browserslist-db@1.0.11(browserslist@4.21.10):
+ resolution:
+ {
+ integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==,
+ }
+ hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
+ dependencies:
+ browserslist: 4.21.10
+ escalade: 3.1.1
+ picocolors: 1.0.0
+
+ /uqr@0.1.2:
+ resolution:
+ {
+ integrity: sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==,
+ }
+ dev: true
+
+ /uri-js@4.4.1:
+ resolution:
+ {
+ integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==,
+ }
+ dependencies:
+ punycode: 2.3.0
+ dev: true
+
+ /url-parse@1.5.10:
+ resolution:
+ {
+ integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==,
+ }
+ dependencies:
+ querystringify: 2.2.0
+ requires-port: 1.0.0
+ dev: true
+
+ /urlpattern-polyfill@8.0.2:
+ resolution:
+ {
+ integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==,
+ }
+ dev: true
+
+ /util-deprecate@1.0.2:
+ resolution:
+ {
+ integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==,
+ }
+ dev: true
+
+ /util@0.12.5:
+ resolution:
+ {
+ integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==,
+ }
+ dependencies:
+ inherits: 2.0.4
+ is-arguments: 1.1.1
+ is-generator-function: 1.0.10
+ is-typed-array: 1.1.12
+ which-typed-array: 1.1.11
+
+ /utils-merge@1.0.1:
+ resolution:
+ {
+ integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==,
+ }
+ engines: { node: '>= 0.4.0' }
+
+ /uvu@0.5.6:
+ resolution:
+ {
+ integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==,
+ }
+ engines: { node: '>=8' }
+ hasBin: true
+ dependencies:
+ dequal: 2.0.3
+ diff: 5.1.0
+ kleur: 4.1.5
+ sade: 1.8.1
+ dev: true
+
+ /v8-to-istanbul@9.1.0:
+ resolution:
+ {
+ integrity: sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==,
+ }
+ engines: { node: '>=10.12.0' }
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.19
+ '@types/istanbul-lib-coverage': 2.0.4
+ convert-source-map: 1.9.0
+ dev: true
+
+ /validate-npm-package-license@3.0.4:
+ resolution:
+ {
+ integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==,
+ }
+ dependencies:
+ spdx-correct: 3.2.0
+ spdx-expression-parse: 3.0.1
+ dev: true
+
+ /validate-npm-package-name@5.0.0:
+ resolution:
+ {
+ integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==,
+ }
+ engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 }
+ dependencies:
+ builtins: 5.0.1
+ dev: true
+
+ /vary@1.1.2:
+ resolution:
+ {
+ integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==,
+ }
+ engines: { node: '>= 0.8' }
+
+ /vfile-message@3.1.4:
+ resolution:
+ {
+ integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==,
+ }
+ dependencies:
+ '@types/unist': 2.0.8
+ unist-util-stringify-position: 3.0.3
+ dev: true
+
+ /vfile@5.3.7:
+ resolution:
+ {
+ integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==,
+ }
+ dependencies:
+ '@types/unist': 2.0.8
+ is-buffer: 2.0.5
+ unist-util-stringify-position: 3.0.3
+ vfile-message: 3.1.4
+ dev: true
+
+ /vite-node@0.28.5:
+ resolution:
+ {
+ integrity: sha512-LmXb9saMGlrMZbXTvOveJKwMTBTNUH66c8rJnQ0ZPNX+myPEol64+szRzXtV5ORb0Hb/91yq+/D3oERoyAt6LA==,
+ }
+ engines: { node: '>=v14.16.0' }
+ hasBin: true
+ dependencies:
+ cac: 6.7.14
+ debug: 4.3.4
+ mlly: 1.4.2
+ pathe: 1.1.1
+ picocolors: 1.0.0
+ source-map: 0.6.1
+ source-map-support: 0.5.21
+ vite: 4.4.11
+ transitivePeerDependencies:
+ - '@types/node'
+ - less
+ - lightningcss
+ - sass
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ dev: true
+
+ /vite-node@0.33.0:
+ resolution:
+ {
+ integrity: sha512-19FpHYbwWWxDr73ruNahC+vtEdza52kA90Qb3La98yZ0xULqV8A5JLNPUff0f5zID4984tW7l3DH2przTJUZSw==,
+ }
+ engines: { node: '>=v14.18.0' }
+ hasBin: true
+ dependencies:
+ cac: 6.7.14
+ debug: 4.3.4
+ mlly: 1.4.2
+ pathe: 1.1.1
+ picocolors: 1.0.0
+ vite: 4.4.11
+ transitivePeerDependencies:
+ - '@types/node'
+ - less
+ - lightningcss
+ - sass
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ dev: true
+
+ /vite-plugin-checker@0.6.2(eslint@8.48.0)(typescript@5.2.2)(vite@4.5.0):
+ resolution:
+ {
+ integrity: sha512-YvvvQ+IjY09BX7Ab+1pjxkELQsBd4rPhWNw8WLBeFVxu/E7O+n6VYAqNsKdK/a2luFlX/sMpoWdGFfg4HvwdJQ==,
+ }
+ engines: { node: '>=14.16' }
+ peerDependencies:
+ eslint: '>=7'
+ meow: ^9.0.0
+ optionator: ^0.9.1
+ stylelint: '>=13'
+ typescript: '*'
+ vite: '>=2.0.0'
+ vls: '*'
+ vti: '*'
+ vue-tsc: '>=1.3.9'
+ peerDependenciesMeta:
+ eslint:
+ optional: true
+ meow:
+ optional: true
+ optionator:
+ optional: true
+ stylelint:
+ optional: true
+ typescript:
+ optional: true
+ vls:
+ optional: true
+ vti:
+ optional: true
+ vue-tsc:
+ optional: true
+ dependencies:
+ '@babel/code-frame': 7.23.4
+ ansi-escapes: 4.3.2
+ chalk: 4.1.2
+ chokidar: 3.5.3
+ commander: 8.3.0
+ eslint: 8.48.0
+ fast-glob: 3.3.2
+ fs-extra: 11.1.1
+ lodash.debounce: 4.0.8
+ lodash.pick: 4.4.0
+ npm-run-path: 4.0.1
+ semver: 7.5.4
+ strip-ansi: 6.0.1
+ tiny-invariant: 1.3.1
+ typescript: 5.2.2
+ vite: 4.5.0(@types/node@20.5.9)
+ vscode-languageclient: 7.0.0
+ vscode-languageserver: 7.0.0
+ vscode-languageserver-textdocument: 1.0.11
+ vscode-uri: 3.0.8
+ dev: true
+
+ /vite-plugin-inspect@0.7.42(@nuxt/kit@3.8.2)(vite@4.5.0):
+ resolution:
+ {
+ integrity: sha512-JCyX86wr3siQc+p9Kd0t8VkFHAJag0RaQVIpdFGSv5FEaePEVB6+V/RGtz2dQkkGSXQzRWrPs4cU3dRKg32bXw==,
+ }
+ engines: { node: '>=14' }
+ peerDependencies:
+ '@nuxt/kit': '*'
+ vite: ^3.1.0 || ^4.0.0 || ^5.0.0-0
+ peerDependenciesMeta:
+ '@nuxt/kit':
+ optional: true
+ dependencies:
+ '@antfu/utils': 0.7.6
+ '@nuxt/kit': 3.8.2
+ '@rollup/pluginutils': 5.0.5(rollup@4.5.1)
+ debug: 4.3.4
+ error-stack-parser-es: 0.1.1
+ fs-extra: 11.1.1
+ open: 9.1.0
+ picocolors: 1.0.0
+ sirv: 2.0.3
+ vite: 4.5.0(@types/node@20.5.9)
+ transitivePeerDependencies:
+ - rollup
+ - supports-color
+ dev: true
+
+ /vite-plugin-vue-inspector@4.0.0(vite@4.5.0):
+ resolution:
+ {
+ integrity: sha512-xNjMbRj3YrebuuInTvlC8ghPtzT+3LjMIQPeeR/5CaFd+WcbA9wBnECZmlcP3GITCVED0SxGmTyoJ3iVKsK4vQ==,
+ }
+ peerDependencies:
+ vite: ^3.0.0-0 || ^4.0.0-0
+ dependencies:
+ '@babel/core': 7.23.3
+ '@babel/plugin-proposal-decorators': 7.23.3(@babel/core@7.23.3)
+ '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.23.3)
+ '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.3)
+ '@babel/plugin-transform-typescript': 7.23.4(@babel/core@7.23.3)
+ '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.3)
+ '@vue/compiler-dom': 3.3.8
+ kolorist: 1.8.0
+ magic-string: 0.30.5
+ vite: 4.5.0(@types/node@20.5.9)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /vite@4.4.11:
+ resolution:
+ {
+ integrity: sha512-ksNZJlkcU9b0lBwAGZGGaZHCMqHsc8OpgtoYhsQ4/I2v5cnpmmmqe5pM4nv/4Hn6G/2GhTdj0DhZh2e+Er1q5A==,
+ }
+ engines: { node: ^14.18.0 || >=16.0.0 }
+ hasBin: true
+ peerDependencies:
+ '@types/node': '>= 14'
+ less: '*'
+ lightningcss: ^1.21.0
+ sass: '*'
+ stylus: '*'
+ sugarss: '*'
+ terser: ^5.4.0
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ less:
+ optional: true
+ lightningcss:
+ optional: true
+ sass:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+ dependencies:
+ esbuild: 0.18.20
+ postcss: 8.4.31
+ rollup: 3.28.1
+ optionalDependencies:
+ fsevents: 2.3.3
+ dev: true
+
+ /vite@4.4.9:
+ resolution:
+ {
+ integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==,
+ }
+ engines: { node: ^14.18.0 || >=16.0.0 }
+ hasBin: true
+ peerDependencies:
+ '@types/node': '>= 14'
+ less: '*'
+ lightningcss: ^1.21.0
+ sass: '*'
+ stylus: '*'
+ sugarss: '*'
+ terser: ^5.4.0
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ less:
+ optional: true
+ lightningcss:
+ optional: true
+ sass:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+ dependencies:
+ esbuild: 0.18.20
+ postcss: 8.4.31
+ rollup: 3.28.1
+ optionalDependencies:
+ fsevents: 2.3.3
+ dev: true
+
+ /vite@4.5.0(@types/node@20.5.9):
+ resolution:
+ {
+ integrity: sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==,
+ }
+ engines: { node: ^14.18.0 || >=16.0.0 }
+ hasBin: true
+ peerDependencies:
+ '@types/node': '>= 14'
+ less: '*'
+ lightningcss: ^1.21.0
+ sass: '*'
+ stylus: '*'
+ sugarss: '*'
+ terser: ^5.4.0
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ less:
+ optional: true
+ lightningcss:
+ optional: true
+ sass:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+ dependencies:
+ '@types/node': 20.5.9
+ esbuild: 0.18.20
+ postcss: 8.4.31
+ rollup: 3.28.1
+ optionalDependencies:
+ fsevents: 2.3.3
+ dev: true
+
+ /vitefu@0.2.5(vite@4.4.9):
+ resolution:
+ {
+ integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==,
+ }
+ peerDependencies:
+ vite: ^3.0.0 || ^4.0.0 || ^5.0.0
+ peerDependenciesMeta:
+ vite:
+ optional: true
+ dependencies:
+ vite: 4.4.9
+ dev: true
+
+ /vitefu@0.2.5(vite@4.5.0):
+ resolution:
+ {
+ integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==,
+ }
+ peerDependencies:
+ vite: ^3.0.0 || ^4.0.0 || ^5.0.0
+ peerDependenciesMeta:
+ vite:
+ optional: true
+ dependencies:
+ vite: 4.5.0(@types/node@20.5.9)
+ dev: true
+
+ /vscode-jsonrpc@6.0.0:
+ resolution:
+ {
+ integrity: sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==,
+ }
+ engines: { node: '>=8.0.0 || >=10.0.0' }
+ dev: true
+
+ /vscode-languageclient@7.0.0:
+ resolution:
+ {
+ integrity: sha512-P9AXdAPlsCgslpP9pRxYPqkNYV7Xq8300/aZDpO35j1fJm/ncize8iGswzYlcvFw5DQUx4eVk+KvfXdL0rehNg==,
+ }
+ engines: { vscode: ^1.52.0 }
+ dependencies:
+ minimatch: 3.1.2
+ semver: 7.5.4
+ vscode-languageserver-protocol: 3.16.0
+ dev: true
+
+ /vscode-languageserver-protocol@3.16.0:
+ resolution:
+ {
+ integrity: sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==,
+ }
+ dependencies:
+ vscode-jsonrpc: 6.0.0
+ vscode-languageserver-types: 3.16.0
+ dev: true
+
+ /vscode-languageserver-textdocument@1.0.11:
+ resolution:
+ {
+ integrity: sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==,
+ }
+ dev: true
+
+ /vscode-languageserver-types@3.16.0:
+ resolution:
+ {
+ integrity: sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==,
+ }
+ dev: true
+
+ /vscode-languageserver@7.0.0:
+ resolution:
+ {
+ integrity: sha512-60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw==,
+ }
+ hasBin: true
+ dependencies:
+ vscode-languageserver-protocol: 3.16.0
+ dev: true
+
+ /vscode-uri@3.0.8:
+ resolution:
+ {
+ integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==,
+ }
+ dev: true
+
+ /vue-bundle-renderer@2.0.0:
+ resolution:
+ {
+ integrity: sha512-oYATTQyh8XVkUWe2kaKxhxKVuuzK2Qcehe+yr3bGiaQAhK3ry2kYE4FWOfL+KO3hVFwCdLmzDQTzYhTi9C+R2A==,
+ }
+ dependencies:
+ ufo: 1.3.2
+ dev: true
+
+ /vue-devtools-stub@0.1.0:
+ resolution:
+ {
+ integrity: sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==,
+ }
+ dev: true
+
+ /vue-router@4.2.5(vue@3.3.8):
+ resolution:
+ {
+ integrity: sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==,
+ }
+ peerDependencies:
+ vue: ^3.2.0
+ dependencies:
+ '@vue/devtools-api': 6.5.1
+ vue: 3.3.8(typescript@5.2.2)
+ dev: true
+
+ /vue@3.3.8(typescript@5.2.2):
+ resolution:
+ {
+ integrity: sha512-5VSX/3DabBikOXMsxzlW8JyfeLKlG9mzqnWgLQLty88vdZL7ZJgrdgBOmrArwxiLtmS+lNNpPcBYqrhE6TQW5w==,
+ }
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@vue/compiler-dom': 3.3.8
+ '@vue/compiler-sfc': 3.3.8
+ '@vue/runtime-dom': 3.3.8
+ '@vue/server-renderer': 3.3.8(vue@3.3.8)
+ '@vue/shared': 3.3.8
+ typescript: 5.2.2
+
+ /w3c-xmlserializer@4.0.0:
+ resolution:
+ {
+ integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==,
+ }
+ engines: { node: '>=14' }
+ dependencies:
+ xml-name-validator: 4.0.0
+ dev: true
+
+ /walker@1.0.8:
+ resolution:
+ {
+ integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==,
+ }
+ dependencies:
+ makeerror: 1.0.12
+ dev: true
+
+ /watchpack@2.4.0:
+ resolution:
+ {
+ integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==,
+ }
+ engines: { node: '>=10.13.0' }
+ dependencies:
+ glob-to-regexp: 0.4.1
+ graceful-fs: 4.2.11
+
+ /wcwidth@1.0.1:
+ resolution:
+ {
+ integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==,
+ }
+ dependencies:
+ defaults: 1.0.4
+ dev: true
+
+ /web-encoding@1.1.5:
+ resolution:
+ {
+ integrity: sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA==,
+ }
+ dependencies:
+ util: 0.12.5
+ optionalDependencies:
+ '@zxing/text-encoding': 0.9.0
+
+ /web-streams-polyfill@3.2.1:
+ resolution:
+ {
+ integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==,
+ }
+ engines: { node: '>= 8' }
+
+ /webidl-conversions@3.0.1:
+ resolution:
+ {
+ integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==,
+ }
+ dev: true
+
+ /webidl-conversions@4.0.2:
+ resolution:
+ {
+ integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==,
+ }
+ dev: true
+
+ /webidl-conversions@7.0.0:
+ resolution:
+ {
+ integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==,
+ }
+ engines: { node: '>=12' }
+ dev: true
+
+ /webpack-sources@3.2.3:
+ resolution:
+ {
+ integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==,
+ }
+ engines: { node: '>=10.13.0' }
+ dev: true
+
+ /webpack-virtual-modules@0.6.1:
+ resolution:
+ {
+ integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==,
+ }
+ dev: true
+
+ /whatwg-encoding@2.0.0:
+ resolution:
+ {
+ integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==,
+ }
+ engines: { node: '>=12' }
+ dependencies:
+ iconv-lite: 0.6.3
+ dev: true
+
+ /whatwg-mimetype@3.0.0:
+ resolution:
+ {
+ integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==,
+ }
+ engines: { node: '>=12' }
+ dev: true
+
+ /whatwg-url@11.0.0:
+ resolution:
+ {
+ integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==,
+ }
+ engines: { node: '>=12' }
+ dependencies:
+ tr46: 3.0.0
+ webidl-conversions: 7.0.0
+ dev: true
+
+ /whatwg-url@5.0.0:
+ resolution:
+ {
+ integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==,
+ }
+ dependencies:
+ tr46: 0.0.3
+ webidl-conversions: 3.0.1
+ dev: true
+
+ /whatwg-url@7.1.0:
+ resolution:
+ {
+ integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==,
+ }
+ dependencies:
+ lodash.sortby: 4.7.0
+ tr46: 1.0.1
+ webidl-conversions: 4.0.2
+ dev: true
+
+ /which-boxed-primitive@1.0.2:
+ resolution:
+ {
+ integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==,
+ }
+ dependencies:
+ is-bigint: 1.0.4
+ is-boolean-object: 1.1.2
+ is-number-object: 1.0.7
+ is-string: 1.0.7
+ is-symbol: 1.0.4
+ dev: true
+
+ /which-builtin-type@1.1.3:
+ resolution:
+ {
+ integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ function.prototype.name: 1.1.6
+ has-tostringtag: 1.0.0
+ is-async-function: 2.0.0
+ is-date-object: 1.0.5
+ is-finalizationregistry: 1.0.2
+ is-generator-function: 1.0.10
+ is-regex: 1.1.4
+ is-weakref: 1.0.2
+ isarray: 2.0.5
+ which-boxed-primitive: 1.0.2
+ which-collection: 1.0.1
+ which-typed-array: 1.1.11
+ dev: true
+
+ /which-collection@1.0.1:
+ resolution:
+ {
+ integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==,
+ }
+ dependencies:
+ is-map: 2.0.2
+ is-set: 2.0.2
+ is-weakmap: 2.0.1
+ is-weakset: 2.0.2
+ dev: true
+
+ /which-typed-array@1.1.11:
+ resolution:
+ {
+ integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ available-typed-arrays: 1.0.5
+ call-bind: 1.0.2
+ for-each: 0.3.3
+ gopd: 1.0.1
+ has-tostringtag: 1.0.0
+
+ /which-typed-array@1.1.9:
+ resolution:
+ {
+ integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==,
+ }
+ engines: { node: '>= 0.4' }
+ dependencies:
+ available-typed-arrays: 1.0.5
+ call-bind: 1.0.2
+ for-each: 0.3.3
+ gopd: 1.0.1
+ has-tostringtag: 1.0.0
+ is-typed-array: 1.1.10
+ dev: true
+
+ /which@2.0.2:
+ resolution:
+ {
+ integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==,
+ }
+ engines: { node: '>= 8' }
+ hasBin: true
+ dependencies:
+ isexe: 2.0.0
+
+ /which@3.0.1:
+ resolution:
+ {
+ integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==,
+ }
+ engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 }
+ hasBin: true
+ dependencies:
+ isexe: 2.0.0
+ dev: true
+
+ /which@4.0.0:
+ resolution:
+ {
+ integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==,
+ }
+ engines: { node: ^16.13.0 || >=18.0.0 }
+ hasBin: true
+ dependencies:
+ isexe: 3.1.1
+ dev: true
+
+ /wide-align@1.1.5:
+ resolution:
+ {
+ integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==,
+ }
+ dependencies:
+ string-width: 4.2.3
+ dev: true
+
+ /wrap-ansi@7.0.0:
+ resolution:
+ {
+ integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==,
+ }
+ engines: { node: '>=10' }
+ dependencies:
+ ansi-styles: 4.3.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ dev: true
+
+ /wrap-ansi@8.1.0:
+ resolution:
+ {
+ integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==,
+ }
+ engines: { node: '>=12' }
+ dependencies:
+ ansi-styles: 6.2.1
+ string-width: 5.1.2
+ strip-ansi: 7.1.0
+
+ /wrappy@1.0.2:
+ resolution:
+ {
+ integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==,
+ }
+ dev: true
+
+ /write-file-atomic@4.0.2:
+ resolution:
+ {
+ integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==,
+ }
+ engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 }
+ dependencies:
+ imurmurhash: 0.1.4
+ signal-exit: 3.0.7
+ dev: true
+
+ /ws@7.5.9:
+ resolution:
+ {
+ integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==,
+ }
+ engines: { node: '>=8.3.0' }
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: ^5.0.2
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+ dev: true
+
+ /ws@8.13.0:
+ resolution:
+ {
+ integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==,
+ }
+ engines: { node: '>=10.0.0' }
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: '>=5.0.2'
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+ dev: true
+
+ /ws@8.14.2:
+ resolution:
+ {
+ integrity: sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==,
+ }
+ engines: { node: '>=10.0.0' }
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: '>=5.0.2'
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+ dev: true
+
+ /xml-name-validator@4.0.0:
+ resolution:
+ {
+ integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==,
+ }
+ engines: { node: '>=12' }
+ dev: true
+
+ /xmlchars@2.2.0:
+ resolution:
+ {
+ integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==,
+ }
+ dev: true
+
+ /xtend@4.0.2:
+ resolution:
+ {
+ integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==,
+ }
+ engines: { node: '>=0.4' }
+ dev: true
+
+ /y18n@5.0.8:
+ resolution:
+ {
+ integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==,
+ }
+ engines: { node: '>=10' }
+ dev: true
+
+ /yallist@3.1.1:
+ resolution:
+ {
+ integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==,
+ }
+
+ /yallist@4.0.0:
+ resolution:
+ {
+ integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==,
+ }
+ dev: true
+
+ /yaml@2.3.1:
+ resolution:
+ {
+ integrity: sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==,
+ }
+ engines: { node: '>= 14' }
+ dev: false
+
+ /yaml@2.3.2:
+ resolution:
+ {
+ integrity: sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==,
+ }
+ engines: { node: '>= 14' }
+ dev: true
+
+ /yargs-parser@20.2.9:
+ resolution:
+ {
+ integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==,
+ }
+ engines: { node: '>=10' }
+ dev: true
+
+ /yargs-parser@21.1.1:
+ resolution:
+ {
+ integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==,
+ }
+ engines: { node: '>=12' }
+ dev: true
+
+ /yargs@16.2.0:
+ resolution:
+ {
+ integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==,
+ }
+ engines: { node: '>=10' }
+ dependencies:
+ cliui: 7.0.4
+ escalade: 3.1.1
+ get-caller-file: 2.0.5
+ require-directory: 2.1.1
+ string-width: 4.2.3
+ y18n: 5.0.8
+ yargs-parser: 20.2.9
+ dev: true
+
+ /yargs@17.7.2:
+ resolution:
+ {
+ integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==,
+ }
+ engines: { node: '>=12' }
+ dependencies:
+ cliui: 8.0.1
+ escalade: 3.1.1
+ get-caller-file: 2.0.5
+ require-directory: 2.1.1
+ string-width: 4.2.3
+ y18n: 5.0.8
+ yargs-parser: 21.1.1
+ dev: true
+
+ /yocto-queue@0.1.0:
+ resolution:
+ {
+ integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==,
+ }
+ engines: { node: '>=10' }
+ dev: true
+
+ /zhead@2.2.4:
+ resolution:
+ {
+ integrity: sha512-8F0OI5dpWIA5IGG5NHUg9staDwz/ZPxZtvGVf01j7vHqSyZ0raHY+78atOVxRqb73AotX22uV1pXt3gYSstGag==,
+ }
+ dev: true
+
+ /zip-stream@5.0.1:
+ resolution:
+ {
+ integrity: sha512-UfZ0oa0C8LI58wJ+moL46BDIMgCQbnsb+2PoiJYtonhBsMh2bq1eRBVkvjfVsqbEHd9/EgKPUuL9saSSsec8OA==,
+ }
+ engines: { node: '>= 12.0.0' }
+ dependencies:
+ archiver-utils: 4.0.1
+ compress-commons: 5.0.1
+ readable-stream: 3.6.2
+ dev: true
+
+ /zod@3.21.4:
+ resolution:
+ {
+ integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==,
+ }
+ dev: true
+
+ /zwitch@2.0.4:
+ resolution:
+ {
+ integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==,
+ }
+ dev: true
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
new file mode 100644
index 0000000..91b7729
--- /dev/null
+++ b/pnpm-workspace.yaml
@@ -0,0 +1,4 @@
+packages:
+ - 'packages/*'
+ - 'examples/*'
+ - 'apps/*'
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644
index 0000000..706b981
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,9 @@
+{
+ "extends": "@vercel/style-guide/typescript",
+ "compilerOptions": {
+ "sourceMap": true,
+ "jsx": "react",
+ "moduleResolution": "node",
+ "resolveJsonModule": true
+ }
+}