aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author简律纯 <hsiangnianian@outlook.com>2023-04-19 17:30:39 +0800
committer简律纯 <hsiangnianian@outlook.com>2023-04-19 17:30:39 +0800
commit3adc965dd09490b7efa1cce9f09b0a3b30970277 (patch)
treef813abb07d7b003984aa74e3154752b6ffc3ccd5
parentc7c9ca6f0c8eddf6d34cd40779f3b2d9463f3a46 (diff)
downloadHydroRoll-3adc965dd09490b7efa1cce9f09b0a3b30970277.tar.gz
HydroRoll-3adc965dd09490b7efa1cce9f09b0a3b30970277.zip
✨优化文档
-rw-r--r--docs/.docs/.studio/app.config.json80
-rw-r--r--docs/.docs/content/0.index.md99
-rw-r--r--docs/.docs/content/1.introduction/1.getting-started.md57
-rw-r--r--docs/.docs/content/1.introduction/2.project-structure.md21
-rw-r--r--docs/.docs/content/1.introduction/3.writing-pages.md41
-rw-r--r--docs/.docs/content/1.introduction/4.configuration.md130
-rw-r--r--docs/.docs/content/1.introduction/_dir.yml2
-rw-r--r--docs/.docs/content/2.api/1.components.md693
-rw-r--r--docs/.docs/content/2.api/2.composables.md88
-rw-r--r--docs/.docs/content/2.api/3.layouts.md43
-rw-r--r--docs/.docs/content/2.api/_dir.yml2
-rw-r--r--docs/.docs/nuxt.config.ts11
-rw-r--r--docs/.docs/public/cover.pngbin0 -> 219401 bytes
-rw-r--r--docs/.docs/public/favicon.icobin0 -> 15406 bytes
-rw-r--r--docs/.docs/tokens.config.ts4
-rw-r--r--docs/.docs/tsconfig.json4
-rw-r--r--docs/.editorconfig12
-rw-r--r--docs/.eslintignore4
-rw-r--r--docs/.eslintrc7
-rw-r--r--docs/.gitignore19
-rw-r--r--docs/.npmrc2
-rw-r--r--docs/.nuxtrc1
-rw-r--r--docs/.playground/app.config.ts15
-rw-r--r--docs/.playground/components/content/CounterButton.vue17
-rw-r--r--docs/.playground/content/0.index.md18
-rw-r--r--docs/.playground/nuxt.config.ts4
-rw-r--r--docs/.playground/public/cover.pngbin0 -> 219401 bytes
-rw-r--r--docs/.playground/public/favicon.icobin0 -> 15406 bytes
-rw-r--r--docs/.playground/tsconfig.json4
-rw-r--r--docs/CHANGELOG.md59
-rw-r--r--docs/LICENSE (renamed from envshare/LICENSE)2
-rw-r--r--docs/README.md95
-rw-r--r--docs/app.config.ts46
-rw-r--r--docs/app.vue5
-rw-r--r--docs/app/integrations/docsearch.ts176
-rw-r--r--docs/app/module.ts25
-rw-r--r--docs/app/router.options.ts38
-rw-r--r--docs/assets/css/main.css86
-rw-r--r--docs/components/app/AppFooter.vue163
-rw-r--r--docs/components/app/AppHeader.vue112
-rw-r--r--docs/components/app/AppHeaderDialog.vue117
-rw-r--r--docs/components/app/AppHeaderLogo.vue63
-rw-r--r--docs/components/app/AppHeaderNavigation.vue94
-rw-r--r--docs/components/app/AppLayout.vue38
-rw-r--r--docs/components/app/AppLoadingBar.vue106
-rw-r--r--docs/components/app/AppSearch.vue76
-rw-r--r--docs/components/app/AppSocialIcons.vue58
-rw-r--r--docs/components/app/DocumentDrivenNotFound.vue119
-rw-r--r--docs/components/app/Ellipsis.vue66
-rw-r--r--docs/components/app/Logo.vue64
-rw-r--r--docs/components/app/ThemeSelect.vue41
-rw-r--r--docs/components/docs/DocsAside.vue36
-rw-r--r--docs/components/docs/DocsAsideTree.vue212
-rw-r--r--docs/components/docs/DocsPageBottom.vue46
-rw-r--r--docs/components/docs/DocsPageLayout.vue281
-rw-r--r--docs/components/docs/DocsPrevNext.vue140
-rw-r--r--docs/components/docs/DocsToc.vue36
-rw-r--r--docs/components/docs/DocsTocLinks.vue87
-rw-r--r--docs/components/docs/EditOnLink.vue166
-rw-r--r--docs/components/docs/SourceLink.vue21
-rw-r--r--docs/composables/useDocSearch.ts11
-rw-r--r--docs/composables/useDocus.ts88
-rw-r--r--docs/composables/useMenu.ts5
-rw-r--r--docs/composables/useScrollspy.ts39
-rw-r--r--docs/layouts/default.vue5
-rw-r--r--docs/layouts/page.vue26
-rw-r--r--docs/nuxt.config.ts75
-rw-r--r--docs/nuxt.schema.ts293
-rw-r--r--docs/package.json76
-rw-r--r--docs/plugins/menu.ts48
-rw-r--r--docs/plugins/scrollbars.client.ts5
-rw-r--r--docs/pnpm-lock.yaml10177
-rw-r--r--docs/renovate.json6
-rw-r--r--docs/tokens.config.ts168
-rw-r--r--docs/tsconfig.json3
-rw-r--r--envshare/.eslintrc.json3
-rw-r--r--envshare/.gitignore36
-rw-r--r--envshare/README.md139
-rw-r--r--envshare/app/[compositeKey]/page.tsx7
-rw-r--r--envshare/app/components/analytics.tsx22
-rw-r--r--envshare/app/components/error.tsx11
-rw-r--r--envshare/app/components/stats.tsx57
-rw-r--r--envshare/app/components/testimony.tsx125
-rw-r--r--envshare/app/components/title.tsx9
-rw-r--r--envshare/app/deploy/page.tsx89
-rw-r--r--envshare/app/globals.css15
-rw-r--r--envshare/app/head.tsx42
-rw-r--r--envshare/app/header.tsx59
-rw-r--r--envshare/app/layout.tsx58
-rw-r--r--envshare/app/page.tsx50
-rw-r--r--envshare/app/share/page.tsx227
-rw-r--r--envshare/app/unseal/page.tsx159
-rw-r--r--envshare/img/envshare.pngbin275552 -> 0 bytes
-rw-r--r--envshare/jest.config.js6
-rw-r--r--envshare/next.config.js11
-rw-r--r--envshare/package.json42
-rw-r--r--envshare/pages/api/v1/load.ts36
-rw-r--r--envshare/pages/api/v1/og.tsx64
-rw-r--r--envshare/pages/api/v1/secret/[id].ts58
-rw-r--r--envshare/pages/api/v1/secret/index.ts96
-rw-r--r--envshare/pages/api/v1/store.ts38
-rw-r--r--envshare/pkg/constants.ts3
-rw-r--r--envshare/pkg/encoding.test.ts23
-rw-r--r--envshare/pkg/encoding.ts31
-rw-r--r--envshare/pkg/encryption.test.ts24
-rw-r--r--envshare/pkg/encryption.ts51
-rw-r--r--envshare/pkg/id.ts8
-rw-r--r--envshare/pnpm-lock.yaml4505
-rw-r--r--envshare/postcss.config.js6
-rw-r--r--envshare/public/fonts/Inter-SemiBold.ttfbin315756 -> 0 bytes
-rw-r--r--envshare/rome.json26
-rw-r--r--envshare/tailwind.config.js18
-rw-r--r--envshare/tsconfig.json30
-rw-r--r--envshare/util/base58.ts7
114 files changed, 15076 insertions, 6192 deletions
diff --git a/docs/.docs/.studio/app.config.json b/docs/.docs/.studio/app.config.json
new file mode 100644
index 0000000..d6ad0d2
--- /dev/null
+++ b/docs/.docs/.studio/app.config.json
@@ -0,0 +1,80 @@
+{
+ "docus": {
+ "title": "Docus",
+ "description": "The best place to start your documentation.",
+ "image": "https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png",
+ "socials": {
+ "twitter": "nuxtstudio",
+ "github": "nuxt-themes/docus",
+ "facebook": "",
+ "instagram": "",
+ "youtube": "",
+ "medium": ""
+ },
+ "aside": {
+ "level": 0,
+ "collapsed": false,
+ "exclude": []
+ },
+ "main": {
+ "padded": true,
+ "fluid": true
+ },
+ "header": {
+ "title": "",
+ "logo": true,
+ "showLinkIcon": true,
+ "exclude": [],
+ "fluid": true
+ },
+ "footer": {
+ "credits": {
+ "icon": "IconDocus",
+ "text": "Powered by Docus",
+ "href": "https://docus.dev"
+ },
+ "iconLinks": [
+ {
+ "href": "https://nuxt.com",
+ "icon": "IconNuxtLabs",
+ "label": "Nuxt"
+ }
+ ],
+ "fluid": true
+ },
+ "github": {
+ "dir": ".docs/content",
+ "branch": "main",
+ "repo": "docus",
+ "owner": "nuxt-themes",
+ "edit": true
+ }
+ },
+ "prose": {
+ "copyButton": {
+ "iconCopy": "ph:copy",
+ "iconCopied": "ph:check"
+ },
+ "headings": {
+ "icon": "ph:link"
+ },
+ "h1": {
+ "icon": ""
+ },
+ "h2": {
+ "icon": ""
+ },
+ "h3": {
+ "icon": ""
+ },
+ "h4": {
+ "icon": ""
+ },
+ "h5": {
+ "icon": ""
+ },
+ "h6": {
+ "icon": ""
+ }
+ }
+}
diff --git a/docs/.docs/content/0.index.md b/docs/.docs/content/0.index.md
new file mode 100644
index 0000000..d909fd8
--- /dev/null
+++ b/docs/.docs/content/0.index.md
@@ -0,0 +1,99 @@
+---
+title: Home
+navigation: false
+layout: page
+main:
+ fluid: false
+---
+
+:ellipsis{right=0px width=75% blur=150px}
+
+::block-hero
+---
+cta:
+ - Get started
+ - /introduction/getting-started
+secondary:
+ - Open on GitHub →
+ - https://github.com/nuxt-themes/docus
+---
+
+#title
+The best place to start your documentation.
+
+#description
+Write pages in [Markdown](https://content.nuxtjs.org), use [Vue](https://vuejs.org) components and enjoy the power of [Nuxt](https://nuxt.com).
+
+#extra
+ ::list
+ - **+50 Components** ready to build rich pages
+ - **Docs** and **Page** layouts
+ - Start from a `README`, scale to a framework documentation
+ - Navigation and Table of Contents generation
+ - Fully configurable design system
+ - Leverages [**Typography**](https://typography.nuxt.space/) and [**Elements**](https://elements.nuxt.dev)
+ - Used on [Content Documentation](https://content.nuxtjs.org)
+ ::
+
+#support
+ ::terminal
+ ---
+ content:
+ - npx nuxi@latest init -t themes/docus
+ - cd docs
+ - npm install
+ - npm run dev
+ ---
+ ::
+::
+
+::card-grid
+#title
+What's included
+
+#root
+:ellipsis{left=0px width=40rem top=10rem blur=140px}
+
+#default
+ ::card{icon=logos:nuxt-icon}
+ #title
+ Nuxt Architecture
+ #description
+ Harness the full power of [Nuxt 3](https://v3.nuxtjs.org) and its [modules](https://modules.nuxtjs.org) ecosystem.
+ ::
+
+ ::card{icon=IconNuxtStudio}
+ #title
+ Nuxt Studio ready
+ #description
+ Edit your theme content and appearance with live-preview within [Nuxt Studio](https://nuxt.studio).
+ ::
+
+ ::card{icon=logos:vue}
+ #title
+ Vue Components
+ #description
+ Use built-in components (or your own!) inside your content.
+ ::
+
+ ::card{icon=simple-icons:markdown}
+ #title
+ Write Markdown
+ #description
+ Enjoy the ease and simplicity of Markdown and discover [MDC syntax](https://content.nuxtjs.org/guide/writing/mdc).
+ ::
+
+ ::card{icon=noto:rocket}
+ #title
+ Deploy anywhere
+ #description
+ Zero config on [Vercel](https://vercel.com) or [Netlify](https://netlify.com). Choose between static generation, on-demand rendering (Node) or edge-side rendering on [CloudFlare workers](https://workers.cloudflare.com).
+ ::
+
+ ::card{icon=noto:puzzle-piece}
+ #title
+ Extensible.
+ #description
+ Customize the whole design, or add components using slots - you can make Docus your own.
+ ::
+::
diff --git a/docs/.docs/content/1.introduction/1.getting-started.md b/docs/.docs/content/1.introduction/1.getting-started.md
new file mode 100644
index 0000000..4c08c14
--- /dev/null
+++ b/docs/.docs/content/1.introduction/1.getting-started.md
@@ -0,0 +1,57 @@
+# Getting Started
+
+From your Markdown files to a deployed website in few minutes.
+
+## Play online
+
+You can start playing with Docus in your browser using Stackblitz:
+
+:button-link[Play on StackBlitz]{size="small" icon="IconStackBlitz" href="https://stackblitz.com/github/nuxt-themes/docus-starter" blank}
+
+## Create a new project
+
+1. Start a fresh Docus project with:
+
+```bash [npx]
+npx nuxi@latest init docs -t themes/docus
+```
+
+2. Install the dependencies in the `docs` folder:
+
+::code-group
+
+ ```bash [npm]
+ npm install
+ ```
+
+ ```bash [yarn]
+ yarn install
+ ```
+
+ ```bash [pnpm]
+ pnpm install --shamefully-hoist
+ ```
+
+::
+
+3. Run the `dev` command to start Docus in development mode:
+
+::code-group
+
+```bash [npm]
+npm run dev
+```
+
+```bash [yarn]
+yarn dev
+```
+
+```bash [pnpm]
+pnpm run dev
+```
+
+::
+
+::alert{type="success"}
+✨ Well done! A browser window should automatically open for <http://localhost:3000>
+::
diff --git a/docs/.docs/content/1.introduction/2.project-structure.md b/docs/.docs/content/1.introduction/2.project-structure.md
new file mode 100644
index 0000000..1446a52
--- /dev/null
+++ b/docs/.docs/content/1.introduction/2.project-structure.md
@@ -0,0 +1,21 @@
+# Project Structure
+
+Docus is a Nuxt theme that provides a ready-to-use documentation website, if you are familiar with Nuxt, you will feel right at home.
+
+## Directory Structure
+
+This is the minimal directory structure to get an up and running Docus website.
+
+```bash
+content/
+ index.md
+app.config.ts
+nuxt.config.ts
+```
+
+The `content/` directory is where you [write Markdown pages](/introduction/writing-pages).
+
+The `app.config.ts` is where you [configure Docus](/introduction/configuration) to fit your branding and design.
+
+
+The `nuxt.config.ts` is your [Nuxt configuration](https://nuxt.com/docs/getting-started/configuration).
diff --git a/docs/.docs/content/1.introduction/3.writing-pages.md b/docs/.docs/content/1.introduction/3.writing-pages.md
new file mode 100644
index 0000000..a321324
--- /dev/null
+++ b/docs/.docs/content/1.introduction/3.writing-pages.md
@@ -0,0 +1,41 @@
+# Writing Pages
+
+Docus is made to let you write all your content in Markdown and Vue components with the MDC syntax.
+
+Each Markdown pages in the `content/` folder will be mapped to a route.
+
+| File | Generated route |
+| ------------------------ | :-------------------- |
+| `index.md` | `/` |
+| `about.md` | `/about` |
+| `blog/index.md` | `/blog` |
+| `blog/hello.md` | `/blog/hello` |
+| `1.guide/2.installation` | `/guide/installation` |
+
+## Frontmatter
+
+Docus supports multiple Front-matter attributes for pages.
+
+```md [index.md]
+---
+title: "Get Started"
+description: "Let's learn how to use my amazing module."
+---
+```
+
+| **Key** | **Type** | **Default** | **Description** |
+| ----------------------- | --------- | ----------- | ------------------------------------------------------------- |
+| `layout` | `string` | `default` | Use any layout name like you would in `definePageMeta()` |
+| `title` | `string` | | Defines the page title and H1 in docs pages |
+| `description` | `string` | | Defines the page description and excerpt in docs pages |
+| `redirect` | `string` | | A route path to redirect |
+| `image` | `object` | | OpenGraph cover image |
+| **Docs layout options** | | | |
+| `aside` | `boolean` | | Toggles the visibility of aside navigation |
+| `toc` | `boolean` | | Toggles the visibility of table of contents |
+| `header` | `boolean` | | Toggles the visibility of the page header |
+| `bottom` | `boolean` | | Toggles the visibility of page bottom section |
+| **Navigation options** | | | |
+| `navigation` | `boolean` | | Toggles the visibility of the page or directory in navigation |
+| `navigation.title` | `string` | | Changes the name of the page or directory in navigation |
+| `navigation.icon` | `string` | | Changes the icon of the page or directory in navigation |
diff --git a/docs/.docs/content/1.introduction/4.configuration.md b/docs/.docs/content/1.introduction/4.configuration.md
new file mode 100644
index 0000000..8ea9b0c
--- /dev/null
+++ b/docs/.docs/content/1.introduction/4.configuration.md
@@ -0,0 +1,130 @@
+# Configuration
+
+Learn how to configure Docus.
+
+::code-group
+
+```ts [Minimal app.config.ts]
+export default defineAppConfig({
+ docus: {
+ title: 'Docus',
+ description: 'My Docus Project',
+ url: 'http://docus.dev'
+ }
+})
+```
+
+```ts [Complete app.config.ts]
+export default defineAppConfig({
+ docus: {
+ title: 'Docus',
+ description: 'My Docus Project',
+ url: 'http://docus.dev',
+ image: '/social-card-preview.png',
+ socials: {
+ twitter: '@docus_',
+ github: 'nuxtlabs/docus',
+ },
+ github: {
+ root: 'content',
+ edit: true,
+ contributors: false
+ },
+ layout: 'default',
+ aside: {
+ level: 1,
+ filter: [],
+ },
+ header: {
+ title: false,
+ logo: true,
+ showLinkIcon: false
+ },
+ footer: {
+ credits: {
+ icon: 'IconDocus',
+ text: 'Powered by Docus',
+ href: 'https://docus.dev',
+ },
+ textLinks: [
+ {
+ text: 'NuxtJS',
+ href: 'https://nuxtjs.org',
+ target: '_blank'
+ }
+ ],
+ iconLinks: [
+ {
+ label: 'NuxtJS',
+ href: 'https://nuxtjs.org',
+ component: 'IconNuxtLabs',
+ },
+ {
+ label: 'Vue Telescope',
+ href: 'https://vuetelescope.com',
+ component: 'IconVueTelescope',
+ },
+ ],
+ }
+ }
+})
+```
+
+::
+
+| **Key** | **Type** | **Default** | **Description** |
+| ---------------------------- | ---------- | ---------------- | ------------------------------------------------------------------- |
+| `title` | `string` | Docus | Website title |
+| `titleTemplate` | `string` | Docus | Website title template |
+| `description` | `string` | My Docus Project | Website description |
+| `url` | `string` | | Website URL |
+| `layout` | `string` | default | Fallback layout to use (supports `default` or `page`) |
+| **Socials** | | | |
+| `socials` | `object` | `{}` | Social links |
+| `socials.github` | `string` | | The repository to use on GitHub links |
+| `socials.twitter` | `string` | | The account to use on Twitter links |
+| `socials.youtube` | `string` | | The channel to use on Youtube links |
+| `socials.instagram` | `string` | | The account to use on Instagram links |
+| `socials.facebook` | `string` | | The account to use on Facebook links |
+| `socials.medium` | `string` | | The account to use on Medium links |
+| `socials.[social]` | `object` | | Override social or display custom one |
+| `socials.[social].label` | `string` | | A label to use for the social |
+| `socials.[social].icon` | `string` | | A icon to use for the social |
+| `socials.[social].href` | `string` | | A link to use for the social |
+| **Header** | | | |
+| `header` | `object` | | Header configuration |
+| `header.logo` | `boolean` | | Whether or not to use `Logo.vue` as the header logo |
+| `header.title` | `string` | | If set to a string, will be used in the header |
+| `header.showLinkIcon` | `boolean` | | If set to `true` links icons will show in the header |
+| `header.exclude` | `string[]` | | An array of path to exclude out from the header navigation |
+| `header.fluid` | `boolean` | `true` | Make header `Container` fluid |
+| **Main** | | | |
+| `main` | `object` | | Main configuration |
+| `main.fluid` | `boolean` | `true` | Make main content `Container` fluid |
+| `main.padded` | `boolean` | `true` | Make main content `Container` padded |
+| **Aside** | | | |
+| `aside` | `object` | | Aside configuration |
+| `aside.level` | `string` | 0 | Aside base level of nesting |
+| `aside.collapsed` | `boolean` | | Will be used as default value for collapsible navigation categories |
+| `aside.exclude` | `string[]` | | An array of path to exclude out from the aside navigation |
+| **Footer** | | | |
+| `footer` | `object` | | Footer configuration |
+| `footer.credits` | `object` | | An object defining the bottom left credits |
+| `footer.credits.icon` | `object` | | The icon to use for the credits |
+| `footer.credits.text` | `object` | | The text to use for the credits |
+| `footer.textLinks` | `array` | `[]` | An array of texts to display at the center of footer |
+| `footer.textLinks[0].text` | `string` | | The text to display |
+| `footer.textLinks[0].href` | `string` | | A link to use for the text |
+| `footer.textLinks[0].target` | `string` | `_self` | Where to display the linked URL, as the name for a browsing context |
+| `footer.iconLinks` | `array` | `[]` | An array of icons to display in the footer |
+| `footer.iconLinks[0].label` | `string` | | A label to use for the icon |
+| `footer.iconLinks[0].href` | `string` | | A link to use for the icon |
+| `footer.iconLinks[0].icon` | `string` | | The icon to use (can be a component name) |
+| `footer.fluid` | `boolean` | `true` | Make footer `Container` fluid |
+| **GitHub** | | | |
+| `github` | `object` | `false` | GitHub integration configuration |
+| `github.dir` | `string` | | Directory containing the files to be edited |
+| `github.branch` | `string` | | Branch to start editing |
+| `github.repo` | `string` | | Name of the GitHub repo to edit files |
+| `github.owner` | `string` | | Owner of the repo |
+| `github.edit` | `boolean` | | Toggle "Edit this page on Github" component on documentation pages |
diff --git a/docs/.docs/content/1.introduction/_dir.yml b/docs/.docs/content/1.introduction/_dir.yml
new file mode 100644
index 0000000..ff0894d
--- /dev/null
+++ b/docs/.docs/content/1.introduction/_dir.yml
@@ -0,0 +1,2 @@
+icon: ph:star-duotone
+navigation.redirect: /introduction/getting-started
diff --git a/docs/.docs/content/2.api/1.components.md b/docs/.docs/content/2.api/1.components.md
new file mode 100644
index 0000000..d22340f
--- /dev/null
+++ b/docs/.docs/content/2.api/1.components.md
@@ -0,0 +1,693 @@
+# Components
+
+Discover every component you can use in your content.
+
+
+## `<Alert />`
+
+::code-group
+
+ ::code-block{label="Preview" preview}
+ ::alert{type="info" style="margin-top: 0;"}
+ Check out an **info** alert with `code` and a [link](/).
+ ::
+
+ ::alert{type="success"}
+ Check out a **success** alert with `code` and a [link](/).
+ ::
+
+ ::alert{type="warning"}
+ Check out a **warning** alert with `code` and a [link](/).
+ ::
+
+ ::alert{type="danger" style="margin-bottom: 0;"}
+ Check out a **danger** alert with `code` and a [link](/).
+ ::
+ ::
+
+ ```md [Code]
+ ::alert{type="info"}
+ Check out an **info** alert with `code` and a [link](/).
+ ::
+
+ ::alert{type="success"}
+ Check out a **success** alert with `code` and a [link](/).
+ ::
+
+ ::alert{type="warning"}
+ Check out a **warning** alert with `code` and a [link](/).
+ ::
+
+ ::alert{type="danger"}
+ Check out a **danger** alert with `code` and a [link](/).
+ ::
+ ```
+
+::
+
+<!--
+::props{of="Alert"}
+::
+-->
+
+::source-link
+---
+source: "components/content/Alert.vue"
+---
+::
+
+---
+
+## `<Badge />`
+
+`<Badge />` support same types as `<Alert />`.
+
+::code-group
+
+ ::code-block{label="Preview" preview}
+ ::div{style="display:flex; gap: 1rem;"}
+ :badge[v1.2]
+
+ :badge[Deprecated]{type="warning"}
+
+ ::badge{type="danger"}
+ Not found!
+ ::
+ ::
+ ::
+
+ ```md [Code]
+ :badge[v1.2]
+
+ :badge[Deprecated]{type="warning"}
+
+ ::badge{type="danger"}
+ Not found!
+ ::
+ ```
+
+::
+
+<!--
+::props{of="Badge"}
+::
+-->
+
+::source-link
+---
+source: "components/content/Badge.vue"
+---
+::
+
+---
+
+## `<BlockHero />`
+
+::code-group
+
+ ::code-block{label="Preview"}
+ ::block-hero
+ ---
+ cta:
+ - Get started
+ - /get-started
+ secondary:
+ - Open on GitHub →
+ - https://github.com/nuxtlabs/docus
+ snippet: npx nuxi@latest init docus-app -t nuxtlabs/docus-starter
+ ---
+ #title
+ Document-driven framework
+
+ #description
+ Docus reconciles content creators and developers by offering to both the best tools to create and scale content-based websites.
+ ::
+ ::
+
+ ```md [Code]
+ ::block-hero
+ ---
+ cta:
+ - Get started
+ - /get-started
+ secondary:
+ - Open on GitHub →
+ - https://github.com/nuxtlabs/docus
+ snippet: npx nuxi@latest init docus-app -t nuxtlabs/docus-starter
+ ---
+ #title
+ Document-driven framework
+
+ #description
+ Docus reconciles content creators and developers by offering to both the best tools to create and scale content-based websites.
+ ::
+ ```
+
+::
+
+<!--
+::props{of="BlockHero"}
+::
+-->
+
+::source-link
+---
+source: "components/content/BlockHero.vue"
+---
+::
+
+---
+
+## `<ButtonLink />`
+::code-group
+
+ ::code-block{label="Preview" preview}
+ :button-link[Play on StackBlitz]{icon="IconStackBlitz" href="https://stackblitz.com/github/nuxtlabs/docus-starter" blank}
+ ::
+
+ ```md [Code]
+ :button-link[Play on StackBlitz]{icon="IconStackBlitz" href="https://stackblitz.com/github/nuxtlabs/docus-starter" blank}
+ ```
+
+::
+
+<!--
+::props{of="Alert"}
+::
+-->
+
+::source-link
+---
+source: "components/content/ButtonLink.vue"
+---
+::
+
+---
+
+## `<Callout />`
+
+`<Callout />` support same types as `<Alert />`.
+
+::code-group
+
+ ::code-block{label="Preview"}
+ ::callout
+ #summary
+ This is a callout! Click me to open.
+
+ #content
+ This is the content of the callout.
+ ::
+
+ ::callout{type="warning"}
+ #summary
+ This is a callout! Click me to open.
+
+ #content
+ This is the content of the callout.
+ ::
+ ::
+
+ ```md [Code]
+ ::callout
+ #summary
+ This is a callout! Click me to open.
+
+ #content
+ This is the content of the callout.
+ ::
+
+ ::callout{type="warning"}
+ #summary
+ This is a callout! Click me to open.
+
+ #content
+ This is the content of the callout.
+ ::
+ ```
+
+::
+
+<!--
+::props{of="Callout"}
+::
+-->
+
+::source-link
+---
+source: "components/content/Callout.vue"
+---
+::
+
+---
+
+## `<Card />`
+
+::code-group
+
+ ::code-block{label="Preview"}
+ ::card
+ ---
+ icon: logos:nuxt-icon
+ ---
+ #title
+ Nuxt Architecture.
+ #description
+ Based on **Nuxt 3** and **Nuxt Content**. :br
+ Use Nuxt to build a static site, or a serverless app.
+ ::
+ ::
+
+ ```md [Code]
+ ::card{icon="logos:nuxt-icon"}
+ #title
+ Nuxt Architecture.
+ #description
+ Based on **Nuxt 3** and **Nuxt Content**. :br
+ Use Nuxt to build a static site, or a serverless app.
+ ::
+ ```
+
+::
+
+<!--
+::props{of="Card"}
+::
+-->
+
+::source-link
+---
+source: "components/content/Card.vue"
+---
+::
+
+---
+
+## `<CardGrid />`
+
+::code-group
+
+ ::code-block{label="Preview"}
+ ::card-grid
+ #title
+ What's included?
+
+ #root
+ :ellipsis
+
+ #default
+ ::card
+ #title
+ Nuxt Architecture.
+ #description
+ Harness the full power of Nuxt and the Nuxt ecosystem.
+ ::
+ ::card
+ #title
+ Vue Components.
+ #description
+ Use built-in components (or your own!) inside your content.
+ ::
+ ::card
+ #title
+ Write Markdown.
+ #description
+ Enjoy the ease and simplicity of Markdown and discover MDC syntax.
+ ::
+ ::
+ ::
+
+ ```md [Code]
+ ::card-grid
+ #title
+ What's included
+
+ #root
+ :ellipsis
+
+ #default
+ ::card
+ #title
+ Nuxt Architecture.
+ #description
+ Harness the full power of Nuxt and the Nuxt ecosystem.
+ ::
+ ::card
+ #title
+ Vue Components.
+ #description
+ Use built-in components (or your own!) inside your content.
+ ::
+ ::card
+ #title
+ Write Markdown.
+ #description
+ Enjoy the ease and simplicity of Markdown and discover MDC syntax.
+ ::
+ ::
+ ```
+
+::
+
+<!--
+::props{of="CardGrid"}
+::
+-->
+
+::source-link
+---
+source: "components/content/CardGrid.vue"
+---
+::
+
+---
+
+## `<CodeGroup />`
+
+This component uses `slots` to create a tab panel of your code examples or preview.
+
+::code-group
+
+ ::code-block{label="Preview" preview}
+ ::code-group
+ ```bash [Yarn]
+ yarn add docus
+ ```
+
+ ```bash [NPM]
+ npm install docus
+ ```
+ ::
+ ::
+
+ ```md [Code]
+ ::code-group
+ ```bash [Yarn]
+ yarn add docus
+ ```
+ ```bash [NPM]
+ npm install docus
+ ```
+ ::
+ ```
+
+::
+
+::source-link
+---
+source: "components/content/CodeGroup.vue"
+---
+::
+
+---
+
+## `<CodeBlock />`
+
+To be used inside a `<CodeGroup />` component to display a preview of some rendered code.
+
+::code-group
+
+::code-block{label="Preview" preview}
+ ::badge
+ Hello World!
+ ::
+::
+
+```md [Code]
+/* Added as a child of `<CodeGroup />` */
+
+::code-block{label="Preview" preview}
+ ::badge
+ Hello World!
+ ::
+::
+```
+
+::
+
+<!--
+::props{of="CodeBlock"}
+::
+-->
+
+::source-link
+---
+source: "components/content/CodeBlock.vue"
+---
+::
+
+---
+
+## `<CopyButton />`
+
+
+::code-group
+
+::code-block{label="Preview" preview}
+ :copy-button{content="hey!"}
+::
+
+```md [Code]
+:copy-button{content="hey!"}
+```
+
+::
+
+<!--
+::props{of="CodeBlock"}
+::
+-->
+
+::source-link
+---
+source: "components/content/CopyButton.vue"
+---
+::
+
+---
+
+## `<Icon />`
+
+Icon component gives you access to all **100,000+** icons from [icones.js.org](https://icones.js.org).
+
+::code-group
+
+ ::code-block{label="Preview" preview}
+ :icon{name="logos:nuxt-icon"}
+ :icon{name="logos:vue"}
+ :icon{name="logos:nuxt-icon"}
+ ::
+
+ ```md [Code]
+ :icon{name="logos:nuxt-icon"}
+ :icon{name="logos:vue"}
+ :icon{name="logos:nuxt-icon"}
+ ```
+
+::
+
+<!--
+::props{of="Icon"}
+::
+-->
+
+::source-link
+---
+source: "components/content/Icon.vue"
+---
+::
+
+---
+
+## `<List />`
+
+::code-group
+
+ ::code-block{label="Preview" preview}
+ ::list{type="primary"}
+ - **Important**
+ - Always
+ ::
+
+ ::list{type="success"}
+ - Amazing
+ - Congrats
+ ::
+
+ ::list{type="info"}
+ - Do you know?
+ - You can also do this
+ ::
+
+ ::list{type="warning"}
+ - Be careful
+ - Use with precautions
+ ::
+
+ ::list{type="danger"}
+ - Drinking too much
+ - Driving drunk
+ ::
+
+ ::
+
+ ```md [Code]
+ ::list{type="primary"}
+ - **Important**
+ - Always
+ ::
+
+ ::list{type="success"}
+ - Amazing
+ - Congrats
+ ::
+
+ ::list{type="info"}
+ - Do you know?
+ - You can also do this
+ ::
+
+ ::list{type="warning"}
+ - Be careful
+ - Use with precautions
+ ::
+
+ ::list{type="danger"}
+ - Drinking too much
+ - Driving drunk
+ ::
+ ```
+
+::
+
+<!--
+::props{of="List"}
+::
+-->
+
+::source-link
+---
+source: "components/content/List.vue"
+---
+::
+
+<!--
+---
+
+## `<Props />`
+
+The props component lets you display the available props from any other component in your project.
+
+It is powered by [nuxt-component-meta](https://github.com/nuxtlabs/nuxt-component-meta).
+
+::code-group
+
+ ::code-block{label="Preview" preview}
+ ::props{of="Icon"}
+ ::
+ ::
+
+ ```md [Code]
+ ::props{of="Icon"}
+ ::
+ ```
+
+::
+
+::props{of="Props"}
+::
+
+::source-link
+---
+source: "components/content/Props.vue"
+---
+::
+
+---
+-->
+## `<Sandbox />`
+
+Embed CodeSandbox/StackBlitz easily in your documentation with great performances.
+
+Using the [IntersectionObserver](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API) to load when visible in the viewport.
+
+::code-group
+
+ ::code-block{label="Preview" preview}
+ :sandbox{src="https://codesandbox.io/embed/nuxt-content-l164h?hidenavigation=1&theme=dark"}
+ ::
+
+ ```md [Code]
+ :sandbox{src="https://codesandbox.io/embed/nuxt-content-l164h?hidenavigation=1&theme=dark"}
+ ```
+
+::
+
+<!--
+::props{of="Sandbox"}
+::
+-->
+
+::source-link
+---
+source: "components/content/Sandbox.vue"
+---
+::
+
+---
+
+## `<Terminal />`
+
+::code-group
+
+ ::code-block{label="Preview" preview}
+ :terminal{content="nuxi build"}
+ ::
+
+ ```md [Code]
+ :terminal{content="nuxi build"}
+ ```
+
+::
+
+<!--
+::props{of="Terminal"}
+::
+-->
+
+::source-link
+---
+source: "components/content/Terminal.vue"
+---
+::
+
+---
+
+## `<VideoPlayer />`
+
+::code-group
+
+ ::code-block{label="Preview" preview}
+ ::div
+ :video-player{src="https://www.youtube.com/watch?v=o9e12WbKrd8"}
+ ::
+ ::
+
+ ```md [Code]
+ ::div
+ :video-player{src="https://www.youtube.com/watch?v=o9e12WbKrd8"}
+ ::
+ ```
+
+::
+
+<!--
+::props{of="VideoPlayer"}
+::
+-->
+
+::source-link
+---
+source: "components/content/VideoPlayer.vue"
+---
+::
diff --git a/docs/.docs/content/2.api/2.composables.md b/docs/.docs/content/2.api/2.composables.md
new file mode 100644
index 0000000..4c0bea2
--- /dev/null
+++ b/docs/.docs/content/2.api/2.composables.md
@@ -0,0 +1,88 @@
+# Composables
+
+Discover the Docus composables to use in your custom Vue components and pages.
+
+## `useDocus()`
+
+`useDocus()`{lang=ts} gives access to docus runtime config, all default values and your custom config from `app.config.ts`
+
+- `config` refers to the merged config of the current page.
+
+`main`, `header`, `aside`, `footer` and `titleTemplate` can be set from `_dir.yml` and any `page.md` file.
+
+The configs in `app.config` file will be used as defaults.
+
+```vue
+<script setup>
+const { config } = useDocus()
+</script>
+
+<template>
+ <div>
+ <h1>{{ config.title }}</h1>
+ <p>{{ config.description }}</p>
+ </div>
+</template>
+```
+
+- `tree` refers to the current navigation tree that is displayed in the `aside` component.
+
+```vue
+<script setup>
+const { tree } = useDocus()
+</script>
+
+<template>
+ <DocsAsideTree :links="tree" />
+</template>
+```
+
+::source-link
+---
+source: "composables/useDocus.ts"
+---
+::
+
+## `useMenu()`
+
+`useMenu()` gives access to `$menu` plugin controlling mobile navigation globally.
+
+```ts
+const {
+ // Is menu visible
+ visible,
+ // Close menu function
+ close,
+ // Open menu function
+ open,
+ // Toggle menu function
+ toggle
+} = useMenu()
+```
+
+::source-link
+---
+source: "composables/useMenu.ts"
+---
+::
+
+## `useScrollspy()`
+
+`useScrollspy()` is used in `docs` layout to make the ToC display the currently visible headings.
+
+```ts
+const {
+ // Headings on the page
+ visibleHeadings,
+ // Active headings (for the current page)
+ activeHeadings,
+ // Update headings (an array of DOM nodes)
+ updateHeadings
+} = useScrollspy()
+```
+
+::source-link
+---
+source: "composables/useScrollspy.ts"
+---
+::
diff --git a/docs/.docs/content/2.api/3.layouts.md b/docs/.docs/content/2.api/3.layouts.md
new file mode 100644
index 0000000..25dc458
--- /dev/null
+++ b/docs/.docs/content/2.api/3.layouts.md
@@ -0,0 +1,43 @@
+# Layouts
+Docus provides multiple built-in layouts for displaying your Markdown pages.
+
+## `default`
+
+The default layout for every page created in the project. This layout renders multiple section alongside the content:
+
+- Aside navigation menu (togglable with `aside: false/true`)
+- Page bottom section (togglable with `bottom: false/true`)
+- Table of content (togglable with `toc: false/true`)
+
+```md [index.md]
+---
+aside: true
+bottom: true
+toc: false
+---
+
+Your awesome content
+```
+
+Current page is live sample of default layout.
+
+## `page`
+
+`page` layout is content focused layout. This layout does not render aside menu of table of contents.
+
+
+This layout accept some configuration from content front-matter.
+
+- `fluid`: By setting `fluid: true` in content front-matter the content will be rendered in full width.
+- `constrainedClass`: Using this option you can modify layout container look. Like constraining layout width of changing the background.
+- `padded`: Setting `padded: true` in front-matter will add horizontal padding in the layout.
+
+```md [index.md]
+---
+title: Home
+layout: page
+fluid: true
+---
+```
+
+Check [Home page](/) as live sample of page layout
diff --git a/docs/.docs/content/2.api/_dir.yml b/docs/.docs/content/2.api/_dir.yml
new file mode 100644
index 0000000..b340141
--- /dev/null
+++ b/docs/.docs/content/2.api/_dir.yml
@@ -0,0 +1,2 @@
+title: 'API'
+icon: heroicons-outline:bookmark-alt
diff --git a/docs/.docs/nuxt.config.ts b/docs/.docs/nuxt.config.ts
new file mode 100644
index 0000000..f2f655d
--- /dev/null
+++ b/docs/.docs/nuxt.config.ts
@@ -0,0 +1,11 @@
+export default defineNuxtConfig({
+ extends: '../',
+ app: {
+ head: {
+ htmlAttrs: {
+ lang: 'en'
+ }
+ }
+ },
+ modules: ['@nuxtjs/plausible', '@nuxt/devtools']
+})
diff --git a/docs/.docs/public/cover.png b/docs/.docs/public/cover.png
new file mode 100644
index 0000000..c8b3473
--- /dev/null
+++ b/docs/.docs/public/cover.png
Binary files differ
diff --git a/docs/.docs/public/favicon.ico b/docs/.docs/public/favicon.ico
new file mode 100644
index 0000000..a99a983
--- /dev/null
+++ b/docs/.docs/public/favicon.ico
Binary files differ
diff --git a/docs/.docs/tokens.config.ts b/docs/.docs/tokens.config.ts
new file mode 100644
index 0000000..b80da0a
--- /dev/null
+++ b/docs/.docs/tokens.config.ts
@@ -0,0 +1,4 @@
+import { defineTheme } from 'pinceau'
+
+export default defineTheme({
+})
diff --git a/docs/.docs/tsconfig.json b/docs/.docs/tsconfig.json
new file mode 100644
index 0000000..a7bfa18
--- /dev/null
+++ b/docs/.docs/tsconfig.json
@@ -0,0 +1,4 @@
+{
+ // https://v3.nuxtjs.org/concepts/typescript
+ "extends": "./.nuxt/tsconfig.json"
+}
diff --git a/docs/.editorconfig b/docs/.editorconfig
new file mode 100644
index 0000000..007463b
--- /dev/null
+++ b/docs/.editorconfig
@@ -0,0 +1,12 @@
+root = true
+
+[*]
+indent_size = 2
+indent_style = space
+end_of_line = lf
+charset = utf-8
+trim_trailing_whitespace = true
+insert_final_newline = true
+
+[*.md]
+trim_trailing_whitespace = false
diff --git a/docs/.eslintignore b/docs/.eslintignore
new file mode 100644
index 0000000..81705cc
--- /dev/null
+++ b/docs/.eslintignore
@@ -0,0 +1,4 @@
+dist
+node_modules
+.output
+.nuxt
diff --git a/docs/.eslintrc b/docs/.eslintrc
new file mode 100644
index 0000000..603cfe2
--- /dev/null
+++ b/docs/.eslintrc
@@ -0,0 +1,7 @@
+{
+ "extends": "@nuxtjs/eslint-config-typescript",
+ "rules": {
+ "vue/multi-word-component-names": [0],
+ "vue/no-multiple-template-root": [0]
+ }
+}
diff --git a/docs/.gitignore b/docs/.gitignore
new file mode 100644
index 0000000..a5b09d6
--- /dev/null
+++ b/docs/.gitignore
@@ -0,0 +1,19 @@
+node_modules
+*.log
+.nuxt
+nuxt.d.ts
+.output
+.env
+package-lock.json
+framework
+dist
+.DS_Store
+
+# Local History
+.history
+
+# VSCode
+.vscode/
+
+# Unlighthouse
+.unlighthouse
diff --git a/docs/.npmrc b/docs/.npmrc
new file mode 100644
index 0000000..cf04042
--- /dev/null
+++ b/docs/.npmrc
@@ -0,0 +1,2 @@
+shamefully-hoist=true
+strict-peer-dependencies=false
diff --git a/docs/.nuxtrc b/docs/.nuxtrc
new file mode 100644
index 0000000..9eb49a5
--- /dev/null
+++ b/docs/.nuxtrc
@@ -0,0 +1 @@
+typescript.includeWorkspace = true
diff --git a/docs/.playground/app.config.ts b/docs/.playground/app.config.ts
new file mode 100644
index 0000000..7c39a6e
--- /dev/null
+++ b/docs/.playground/app.config.ts
@@ -0,0 +1,15 @@
+export default defineAppConfig({
+ docus: {
+ title: 'MDC',
+ socials: {
+ github: 'nuxt-themes/docus',
+ },
+ github: {
+ dir: '.playground/content',
+ branch: 'dev',
+ repo: 'docus',
+ owner: 'nuxt-themes',
+ edit: true,
+ }
+ }
+})
diff --git a/docs/.playground/components/content/CounterButton.vue b/docs/.playground/components/content/CounterButton.vue
new file mode 100644
index 0000000..35ef97b
--- /dev/null
+++ b/docs/.playground/components/content/CounterButton.vue
@@ -0,0 +1,17 @@
+<script setup>
+const count = ref(0)
+</script>
+
+<template>
+ <button @click="count++">
+ {{ count }}
+ </button>
+</template>
+
+<style scoped>
+button {
+ border: 1px #ddd solid;
+ padding: 3px 10px;
+ border-radius: 5px;
+}
+</style>
diff --git a/docs/.playground/content/0.index.md b/docs/.playground/content/0.index.md
new file mode 100644
index 0000000..96ffe98
--- /dev/null
+++ b/docs/.playground/content/0.index.md
@@ -0,0 +1,18 @@
+# Markdown meets Vue Components
+
+MDC is Markdown with a way to use Vue components with a `:component` syntax fitting perfectly into your markup. No import needed, just use the component name as a tag, supporting props and slots. Writing interative content with Vue is now a breeze.
+
+::code-group
+
+```md [MDC]
+# Hello MDC
+
+I am using an inline component :counter-button.
+```
+::code-block{label="Preview" preview}
+ # Hello MDC
+
+I am using an inline component :counter-button.
+::
+
+::
diff --git a/docs/.playground/nuxt.config.ts b/docs/.playground/nuxt.config.ts
new file mode 100644
index 0000000..61b1b07
--- /dev/null
+++ b/docs/.playground/nuxt.config.ts
@@ -0,0 +1,4 @@
+export default defineNuxtConfig({
+ extends: '../',
+ modules: ['@nuxt/devtools']
+})
diff --git a/docs/.playground/public/cover.png b/docs/.playground/public/cover.png
new file mode 100644
index 0000000..c8b3473
--- /dev/null
+++ b/docs/.playground/public/cover.png
Binary files differ
diff --git a/docs/.playground/public/favicon.ico b/docs/.playground/public/favicon.ico
new file mode 100644
index 0000000..a99a983
--- /dev/null
+++ b/docs/.playground/public/favicon.ico
Binary files differ
diff --git a/docs/.playground/tsconfig.json b/docs/.playground/tsconfig.json
new file mode 100644
index 0000000..a7bfa18
--- /dev/null
+++ b/docs/.playground/tsconfig.json
@@ -0,0 +1,4 @@
+{
+ // https://v3.nuxtjs.org/concepts/typescript
+ "extends": "./.nuxt/tsconfig.json"
+}
diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md
new file mode 100644
index 0000000..153fa28
--- /dev/null
+++ b/docs/CHANGELOG.md
@@ -0,0 +1,59 @@
+# Changelog
+
+All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
+
+## [0.3.0](https://github.com/nuxtlabs/docus/compare/v0.9.0...v0.3.0) (2022-11-16)
+
+
+### ⚠ BREAKING CHANGES
+
+* 1.0 release (#577)
+
+### Features
+
+* 1.0 release ([#577](https://github.com/nuxtlabs/docus/issues/577)) ([b983504](https://github.com/nuxtlabs/docus/commit/b983504dabd4df1ae714498f4fc7472c8940ee19))
+* add studio by default ([9868818](https://github.com/nuxtlabs/docus/commit/9868818b22b924ceacc4fe54a833449b04e50ace))
+* **block-hero:** allow #actions slot ([296cb26](https://github.com/nuxtlabs/docus/commit/296cb26b520f1003dd19848cd6c659c245c198d8))
+* **components:** various improvements ([#610](https://github.com/nuxtlabs/docus/issues/610)) ([46a54ca](https://github.com/nuxtlabs/docus/commit/46a54cacdbb66b0c2a7747f458d51f80f001a771))
+* **design-tokens:** use latest versions from modules ([79d58da](https://github.com/nuxtlabs/docus/commit/79d58da0a97ffb2684015fb06c0472e7e821c16f))
+* **docsearch:** adapt module to config options ([#638](https://github.com/nuxtlabs/docus/issues/638)) ([14d63a8](https://github.com/nuxtlabs/docus/commit/14d63a828790b8ec340d22d964dc93d67f06a98f))
+* **docs:** multi level toc ([#619](https://github.com/nuxtlabs/docus/issues/619)) ([e37d6b1](https://github.com/nuxtlabs/docus/commit/e37d6b1603d59bea1f2b075645b6104e5a1e9255))
+* enable preview from Station ([#639](https://github.com/nuxtlabs/docus/issues/639)) ([6533b67](https://github.com/nuxtlabs/docus/commit/6533b67ea4d218da8abd518766e786d5216e66df))
+* farewell tailwind 👋 ([#659](https://github.com/nuxtlabs/docus/issues/659)) ([027893a](https://github.com/nuxtlabs/docus/commit/027893a1b58301e1a8d1f19005279f17bd4d4981))
+* handle titleTemplate in _dir.yml ([3d11777](https://github.com/nuxtlabs/docus/commit/3d11777d4a982a1b94fd11715cdc8e36df232fa2))
+* move to pinceau ([#645](https://github.com/nuxtlabs/docus/issues/645)) ([ef9e7c4](https://github.com/nuxtlabs/docus/commit/ef9e7c4002d5885718999b2362b391cddfd1acca))
+* port main.css ([#656](https://github.com/nuxtlabs/docus/issues/656)) ([38ed225](https://github.com/nuxtlabs/docus/commit/38ed225d2bb97274a3145e252118fd6f04e10f60))
+* **structure:** update structure; improve components ([8286af1](https://github.com/nuxtlabs/docus/commit/8286af1529d480b08a552b84beac652ab649fbfc))
+* support header.exclude links and improve titleTemplate ([6c43735](https://github.com/nuxtlabs/docus/commit/6c437354779c103e38ddb312ac0cfb6528833551))
+* support redirect in links ([346f4bd](https://github.com/nuxtlabs/docus/commit/346f4bde91dcc4071d12f63a06f128b58999ccf9))
+* **v3:** prepare for release ([#593](https://github.com/nuxtlabs/docus/issues/593)) ([90e6c79](https://github.com/nuxtlabs/docus/commit/90e6c79aa5f6355eca5a19f14070db473cce6f5f))
+
+
+### Bug Fixes
+
+* add import statement ([#622](https://github.com/nuxtlabs/docus/issues/622)) ([dd1d705](https://github.com/nuxtlabs/docus/commit/dd1d7054a256feb6cbfada06fa69e47444fc19f4))
+* **app-search:** add arial label and kbd identifiers to search button ([#640](https://github.com/nuxtlabs/docus/issues/640)) ([08830ca](https://github.com/nuxtlabs/docus/commit/08830ca72be02ad395a3011b2d29acaf897e6ded))
+* **AppFooter:** issue with icons count ([#625](https://github.com/nuxtlabs/docus/issues/625)) ([521221a](https://github.com/nuxtlabs/docus/commit/521221aee269bf4f97cf82ee0a8689deb2b33f7b))
+* asideNav being null ([a53e486](https://github.com/nuxtlabs/docus/commit/a53e4863a9d9e0c6ecef460a05e4cabf1b9df324))
+* backdrop tokens; CodeGroup ([#657](https://github.com/nuxtlabs/docus/issues/657)) ([e210d3a](https://github.com/nuxtlabs/docus/commit/e210d3a830ba69e778f0bd5745a2801f3f81a79b))
+* **callout:** fix callout shared state ([22f3fb7](https://github.com/nuxtlabs/docus/commit/22f3fb7f5844690e767485a8c8855f265d073038))
+* **components:** up ([c102e8a](https://github.com/nuxtlabs/docus/commit/c102e8a636ecb604713cdcc0fa51742e33d5bf7d))
+* doc search input ([e0c1075](https://github.com/nuxtlabs/docus/commit/e0c10757b8337a161e9e180e8f07afade904ddf7))
+* **footer:** responsive ([#609](https://github.com/nuxtlabs/docus/issues/609)) ([c97e04e](https://github.com/nuxtlabs/docus/commit/c97e04e8794c2960a31c7429853f5891456bd927))
+* force scroll position in aside ([#636](https://github.com/nuxtlabs/docus/issues/636)) ([3499f3e](https://github.com/nuxtlabs/docus/commit/3499f3e4fadd2e04c72b1c4948a7db31a37b283c))
+* handle <article> in page layout too ([8d94a20](https://github.com/nuxtlabs/docus/commit/8d94a20b3adfde32e1b183fc8bf274fbc0bb1ded))
+* handle undefined navigation in more places ([#643](https://github.com/nuxtlabs/docus/issues/643)) ([2a7c428](https://github.com/nuxtlabs/docus/commit/2a7c428d6e4e99cfc8c2c121da1bdd964369102b))
+* handle when no asideNav ([f39f325](https://github.com/nuxtlabs/docus/commit/f39f3254cbe92bd4baf9bb9be0f3e75795022429))
+* **layout:** remain occurence of `useDocus` ([38948c0](https://github.com/nuxtlabs/docus/commit/38948c0898e4adc88e3b6e40bbb167480e4c62b3))
+* mobile exclude and add back aside.exclude ([841cdd3](https://github.com/nuxtlabs/docus/commit/841cdd3621bd83fc5603d0ba4e14472ffedea4cc))
+* **navbar:** use valid html ([#637](https://github.com/nuxtlabs/docus/issues/637)) ([55f0b1f](https://github.com/nuxtlabs/docus/commit/55f0b1f085f50c1a8dc506b3f9bfa7eded3e3c12))
+* only set 404 status on SSR ([#618](https://github.com/nuxtlabs/docus/issues/618)) ([18b6064](https://github.com/nuxtlabs/docus/commit/18b6064ca22d4f29a40979f0dad8d8c5c77767b2))
+* **pkg:** expose utils ([#616](https://github.com/nuxtlabs/docus/issues/616)) ([60e7c1f](https://github.com/nuxtlabs/docus/commit/60e7c1fab025028efddff97d78209370715564ff))
+* remove group-hover ([87d516f](https://github.com/nuxtlabs/docus/commit/87d516f4414723e0ad842e20e9f03e2352d92639))
+* remove negative margin on aside ([4cb499e](https://github.com/nuxtlabs/docus/commit/4cb499e9ee97b014e9d40c99a23a615d7b9fed5f))
+* small improvements and cleanup ([#658](https://github.com/nuxtlabs/docus/issues/658)) ([61474af](https://github.com/nuxtlabs/docus/commit/61474af11f65aee060a2a15ff4987001ba413980))
+* some semantic please ([d407771](https://github.com/nuxtlabs/docus/commit/d407771dd4675e7f002975235c82ad2652c9ae90))
+* **TabsHeader:** refactor tabs highlighter ([#604](https://github.com/nuxtlabs/docus/issues/604)) ([b893b13](https://github.com/nuxtlabs/docus/commit/b893b13c7eee1349725dddef06aa0e978438d8d6))
+* throw 404 error when content not found ([#611](https://github.com/nuxtlabs/docus/issues/611)) ([9755a1e](https://github.com/nuxtlabs/docus/commit/9755a1ec43600651bcba7ae56e6b467940cda832))
+* toc and layout ([#653](https://github.com/nuxtlabs/docus/issues/653)) ([a9b9f2f](https://github.com/nuxtlabs/docus/commit/a9b9f2f32c576ceae97f012db4afcd4745ac3125))
+* **toc:** allow y overflow for toc ([#631](https://github.com/nuxtlabs/docus/issues/631)) ([c2320a6](https://github.com/nuxtlabs/docus/commit/c2320a6e55a97dc7a361dbdc584ca86359a968e7))
diff --git a/envshare/LICENSE b/docs/LICENSE
index e4712ee..d9618d5 100644
--- a/envshare/LICENSE
+++ b/docs/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2023 Andreas Thomas
+Copyright (c) 2022 NuxtLabs SAS
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/docs/README.md b/docs/README.md
new file mode 100644
index 0000000..0f02598
--- /dev/null
+++ b/docs/README.md
@@ -0,0 +1,95 @@
+[![Docus](https://user-images.githubusercontent.com/904724/194751054-9a267ea6-be9d-420b-9935-c76bf30baaf3.png)](https://docus.dev)
+
+## Docus
+
+[![npm version][npm-version-src]][npm-version-href]
+[![npm downloads][npm-downloads-src]][npm-downloads-href]
+[![License][license-src]][license-href]
+[![Nuxt][nuxt-src]][nuxt-href]
+[![Nuxt Studio][nuxt-studio-src]][nuxt-studio-href]
+[![Volta][volta-src]][volta-href]
+
+Docus is the fastest way to create document-driven websites with Vue & Markdown.
+
+- [📄 Documentation](https://docus.dev)
+- [⚡️ Play on StackBlitz](https://stackblitz.com/github/nuxt-themes/docus-starter)
+
+## Start a project with Docus
+
+You can use [this template](https://github.com/nuxt-themes/docus-starter) to create a new project.
+
+If you want to add Docus to an existing codebase, you can do so with:
+
+- Install the dependency:
+
+```bash
+npm install @nuxt-themes/docus
+```
+
+- Add it to your extends key in `nuxt.config`:
+
+```ts
+defineNuxtConfig({
+ extends: '@nuxt-themes/docus'
+})
+```
+
+## Features ✨
+
+- **+50 Components** ready to build rich pages
+- **Article**, **Docs** and **Blog** layouts
+- Start from a `README`, scale to a framework documentation
+- Table of contents support
+- Configurable design system integration
+- Replace, extend, customize any component in a breeze
+- Leverages [**@nuxt-themes/typography**](https://github.com/nuxt-themes/typography)
+- Used on [Content Documentation](https://content.nuxtjs.org)
+
+## They are using it 🎨
+
+- [nuxt/http](https://github.com/nuxt/http)
+- [nuxt/content](https://github.com/nuxt/content)
+- [nuxt/image](https://github.com/nuxt/image)
+- [nuxt-modules/tailwindcss](https://github.com/nuxt-modules/tailwindcss)
+- [nuxt-modules/strapi](https://github.com/nuxt-modules/strapi)
+- [nuxt-modules/sanity](https://github.com/nuxt-modules/sanity)
+- [nuxt-modules/i18n](https://github.com/nuxt-modules/i18n)
+- [nuxt-modules/color-mode](https://github.com/nuxt-modules/color-mode)
+- [nuxt-modules/apollo](https://github.com/nuxt-modules/apollo)
+- [nuxt-community/ackee-module](https://github.com/nuxt-community/ackee-module)
+- [hubble-exchange/docs](https://github.com/hubble-exchange/docs)
+- [sidebase](https://sidebase.io)
+- [haraka](https://github.com/haraka/haraka.github.io)
+- [pinia-orm](https://github.com/CodeDredd/pinia-orm)
+- [nuxt-typed-router](https://github.com/victorgarciaesgi/nuxt-typed-router)
+- [Do you use Docus? Get listed here!](https://github.com/nuxt-themes/docus/issues/713)
+
+## Contributing 🙏
+
+1. Clone this repository
+2. Install dependencies using `yarn install` or `npm install`
+3. Run `npm run prepare` to generate type stubs.
+4. Use `npm run dev` to start [playground](./playground) in development mode.
+
+## License 📎
+
+[MIT License](./LICENSE)
+
+<!-- Badges -->
+[npm-version-src]: https://img.shields.io/npm/v/@nuxt-themes/docus/latest.svg?style=flat&colorA=18181B&colorB=28CF8D
+[npm-version-href]: https://npmjs.com/package/@nuxt-themes/docus
+
+[npm-downloads-src]: https://img.shields.io/npm/dm/@nuxt-themes/docus.svg?style=flat&colorA=18181B&colorB=28CF8D
+[npm-downloads-href]: https://npmjs.com/package/@nuxt-themes/docus
+
+[license-src]: https://img.shields.io/github/license/nuxt-themes/docus.svg?style=flat&colorA=18181B&colorB=28CF8D
+[license-href]: https://github.com/nuxt-themes/docus/blob/main/LICENSE
+
+[nuxt-studio-src]: https://img.shields.io/badge/Open%20in%20Nuxt%20Studio-18181B?&logo=nuxt.js&logoColor=3BB5EC
+[nuxt-studio-href]: https://nuxt.studio/themes/docus
+
+[nuxt-src]: https://img.shields.io/badge/Nuxt-18181B?&logo=nuxt.js
+[nuxt-href]: https://nuxt.com
+
+[volta-src]: https://user-images.githubusercontent.com/904724/209143798-32345f6c-3cf8-4e06-9659-f4ace4a6acde.svg
+[volta-href]: https://volta.net/nuxt-themes/docus?utm_source=readme_docus
diff --git a/docs/app.config.ts b/docs/app.config.ts
new file mode 100644
index 0000000..b30b200
--- /dev/null
+++ b/docs/app.config.ts
@@ -0,0 +1,46 @@
+export default defineAppConfig({
+ docus: {
+ title: 'Docus',
+
+ description: 'The best place to start your documentation.',
+
+ image: 'https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png',
+
+ socials: {},
+
+ layout: 'default',
+
+ header: {
+ title: '',
+ logo: false,
+ showLinkIcon: false,
+ fluid: false,
+ exclude: []
+ },
+
+ aside: {
+ level: 0,
+ collapsed: false,
+ exclude: []
+ },
+
+ footer: {
+ credits: {
+ icon: 'IconDocus',
+ text: 'Powered by Docus',
+ href: 'https://docus.dev'
+ },
+ textLinks: [],
+ iconLinks: [],
+ fluid: false
+ },
+
+ github: {
+ dir: undefined,
+ branch: undefined,
+ repo: undefined,
+ owner: undefined,
+ edit: false
+ }
+ }
+})
diff --git a/docs/app.vue b/docs/app.vue
new file mode 100644
index 0000000..e19315e
--- /dev/null
+++ b/docs/app.vue
@@ -0,0 +1,5 @@
+<template>
+ <AppLayout>
+ <NuxtPage />
+ </AppLayout>
+</template>
diff --git a/docs/app/integrations/docsearch.ts b/docs/app/integrations/docsearch.ts
new file mode 100644
index 0000000..93ca0e7
--- /dev/null
+++ b/docs/app/integrations/docsearch.ts
@@ -0,0 +1,176 @@
+import { withoutTrailingSlash } from 'ufo'
+import type { DocSearchOptions } from '@nuxtjs/algolia/dist/module.d'
+
+export default defineNuxtPlugin(() => {
+ const config = useRuntimeConfig()
+
+ const docSearchElement = ref()
+
+ const hasDocSearch = computed(() => config?.public?.algolia?.docSearch)
+
+ // Setup Algolia DocSearch integration
+ if (hasDocSearch.value) {
+ const route = useRoute()
+
+ const router = useRouter()
+
+ /**
+ * Try to grab options from runtimeConfig.
+ *
+ * If not found, fallback on props.
+ */
+ const options = computed<DocSearchOptions>(() => {
+ const { algolia } = useRuntimeConfig()
+
+ if (algolia && algolia.docSearch) {
+ return algolia
+ }
+
+ return {}
+ })
+
+ /**
+ * Check if event is special click to avoid closing the DocSearch too soon.
+ */
+ const isSpecialClick = (event: MouseEvent) => event.button === 1 || event.altKey || event.ctrlKey || event.metaKey || event.shiftKey
+
+ /**
+ * Gets the relative path from an absolute URL provided by the DocSearch instance.
+ */
+ const getRelativePath = (absoluteUrl: string) => {
+ const { pathname, hash } = new URL(absoluteUrl)
+ const url = window.location.origin
+ const relativeUrl = pathname.replace(url, '/')
+ return withoutTrailingSlash(relativeUrl) + hash
+ }
+
+ /**
+ * Initialize the DocSearch instance.
+ * @param userOptions
+ */
+ const initialize = async (userOptions: any & DocSearchOptions) => {
+ const el = document.createElement('div')
+ el.id = '#docsearch-container'
+ el.style.width = '0'
+ el.style.height = '0'
+ el.style.display = 'none'
+ document.body.appendChild(el)
+ docSearchElement.value = el
+
+ // @ts-expect-errors - Import @docsearch at runtime
+ const docsearch = await Promise.all([import(/* webpackChunkName: "docsearch" */ '@docsearch/js'), import(/* webpackChunkName: "docsearch" */ '@docsearch/css')]).then(
+ ([docsearch]) => docsearch.default
+ )
+
+ // TODO: Maybe bind this with @nuxt/i18n ?
+ // Resolve lang
+ const lang = userOptions?.lang || 'en'
+
+ // Generate lang prefix
+ const langPrefix = `${userOptions.langAttribute || 'language'}:${lang}`
+
+ // Get facet filters
+ const userFacetFilters = userOptions.docSearch.facetFilters || []
+
+ // Create DocSearch instance
+ docsearch({
+ /**
+ * Local implementation of this DocSearch box uses a local element with an `docsearch` id.
+ */
+ container: el,
+ appId: userOptions.applicationId,
+ apiKey: userOptions.apiKey,
+ indexName: userOptions.docSearch.indexName,
+ searchParameters: {
+ ...(!lang
+ ? {
+ facetFilters: userFacetFilters
+ }
+ : {
+ facetFilters: [langPrefix].concat(userFacetFilters)
+ }),
+ ...userOptions.searchParameters
+ },
+ /**
+ * Transform items into relative URL format (compatibility with Vue Router).
+ */
+ transformItems: userOptions.transformItems
+ ? userOptions.transformItems
+ : (items) => {
+ return items.map((item) => {
+ return {
+ ...item,
+ url: getRelativePath(item.url)
+ }
+ })
+ },
+ navigator: userOptions.navigator
+ ? userOptions.navigator
+ : {
+ navigate: ({ itemUrl }) => {
+ const { pathname: hitPathname } = new URL(window.location.origin + itemUrl)
+ // Vue Router doesn't handle same-page navigation so we use
+ // the native browser location API for anchor navigation.
+ if (route.path === hitPathname) {
+ window.location.assign(window.location.origin + itemUrl)
+ } else {
+ router.push(itemUrl)
+ }
+ }
+ },
+ hitComponent: userOptions.hitComponent
+ ? userOptions.hitComponent
+ : ({ hit, children }) => {
+ return {
+ type: 'a',
+ constructor: undefined,
+ __v: 1,
+ props: {
+ href: hit.url,
+ children,
+ onClick: (event: MouseEvent) => {
+ if (isSpecialClick(event)) {
+ return
+ }
+ // We rely on the native link scrolling when user is
+ // already on the right anchor because Vue Router doesn't
+ // support duplicated history entries.
+ if (route.fullPath === hit.url) {
+ return
+ }
+ const { pathname: hitPathname } = new URL(window.location.origin + hit.url)
+ // If the hits goes to another page, we prevent the native link behavior
+ // to leverage the Vue Router loading feature.
+ if (route.path !== hitPathname) {
+ event.preventDefault()
+ }
+ router.push(hit.url)
+ }
+ }
+ }
+ },
+ // Spread user options, except the ones that are already used in the instance.
+ ...Object.entries(userOptions)
+ // Skip already used keys
+ .filter(([key]) => !['applicationId', 'apiKey', 'indexName', 'transformItems', 'navigator', 'hitComponent', 'facetFilters', 'langAttribute', 'lang'].includes(key))
+ // Recompose options
+ .reduce((acc: any, [key, value]) => {
+ acc[key] = value
+ return acc
+ }, {})
+ })
+ }
+
+ // Watch options and restart the instance if needed.
+ if (process.client) { initialize(options.value) }
+ }
+
+ return {
+ provide: {
+ docSearch: {
+ element: docSearchElement,
+ hasDocSearch
+ }
+ }
+ }
+})
diff --git a/docs/app/module.ts b/docs/app/module.ts
new file mode 100644
index 0000000..4e425a6
--- /dev/null
+++ b/docs/app/module.ts
@@ -0,0 +1,25 @@
+import { fileURLToPath } from 'url'
+import { addPlugin, defineNuxtModule } from '@nuxt/kit'
+import { resolve } from 'pathe'
+
+const themeDir = fileURLToPath(new URL('./', import.meta.url))
+const resolveThemeDir = (path: string) => resolve(themeDir, path)
+
+export default defineNuxtModule({
+ meta: {
+ name: 'docus',
+ version: '3.0.0',
+ compatibility: {
+ nuxt: '^3.0.0-rc.14',
+ bridge: false
+ },
+ configKey: 'docus'
+ },
+ setup (_, nuxt) {
+ if (nuxt.options?.runtimeConfig?.public?.algolia?.docSearch) {
+ addPlugin({
+ src: resolveThemeDir('integrations/docsearch.ts')
+ })
+ }
+ }
+})
diff --git a/docs/app/router.options.ts b/docs/app/router.options.ts
new file mode 100644
index 0000000..9380f05
--- /dev/null
+++ b/docs/app/router.options.ts
@@ -0,0 +1,38 @@
+import type { RouterConfig } from '@nuxt/schema'
+// https://router.vuejs.org/api/interfaces/routeroptions.html
+export default <RouterConfig> {
+ scrollBehavior (to, _form, savedPosition) {
+ if (history.state.stop) { return }
+
+ if (history.state.smooth) {
+ return {
+ el: history.state.smooth,
+ behavior: 'smooth'
+ }
+ }
+
+ if (to.hash) {
+ const el = document.querySelector(to.hash) as any
+
+ if (!el) { return }
+
+ const { marginTop } = getComputedStyle(el)
+
+ const marginTopValue = parseInt(marginTop)
+
+ const offset = (document.querySelector(to.hash) as any).offsetTop - marginTopValue
+
+ return {
+ top: offset,
+ behavior: 'smooth'
+ }
+ }
+
+ // Scroll to top of window
+ if (savedPosition) {
+ return savedPosition
+ } else {
+ return { top: 0 }
+ }
+ }
+}
diff --git a/docs/assets/css/main.css b/docs/assets/css/main.css
new file mode 100644
index 0000000..00b6a16
--- /dev/null
+++ b/docs/assets/css/main.css
@@ -0,0 +1,86 @@
+/* Base */
+
+:root {
+ /* DocSearch */
+ --docsearch-primary-color: $dt('color.primary.500') !important;
+}
+
+.dark:root {
+ color-scheme: dark;
+ /* DocSearch */
+ --docsearch-primary-color: $dt('color.primary.500') !important;
+ --docsearch-text-color: rgb(245, 246, 247);
+ --docsearch-container-background: rgba(9, 10, 17, 0.8);
+ --docsearch-modal-background: rgb(21, 23, 42);
+ --docsearch-modal-shadow: inset 1px 1px 0 0 rgb(44, 46, 64),
+ 0 3px 8px 0 rgb(0, 3, 9);
+ --docsearch-searchbox-background: rgb(9, 10, 17);
+ --docsearch-searchbox-focus-background: #000;
+ --docsearch-hit-color: rgb(190, 195, 201);
+ --docsearch-hit-shadow: none;
+ --docsearch-hit-background: rgb(9, 10, 17);
+ --docsearch-key-gradient: linear-gradient(
+ -26.5deg,
+ rgb(86, 88, 114) 0%,
+ rgb(49, 53, 91) 100%
+ );
+ --docsearch-key-shadow: inset 0 -2px 0 0 rgb(40, 45, 85),
+ inset 0 0 1px 1px rgb(81, 87, 125), 0 2px 2px 0 rgba(3, 4, 9, 0.3);
+ --docsearch-footer-background: rgb(30, 33, 54);
+ --docsearch-footer-shadow: inset 0 1px 0 0 rgba(73, 76, 106, 0.5),
+ 0 -4px 8px 0 rgba(0, 0, 0, 0.2);
+ --docsearch-logo-color: rgb(255, 255, 255);
+ --docsearch-muted-color: rgb(127, 132, 151);
+}
+.DocSearch-Input:focus {
+ box-shadow: none !important;
+}
+
+body {
+ overflow-y: scroll;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ background-color: $dt('docus.body.backgroundColor');
+ color: $dt('docus.body.color');
+ font-family: $dt('docus.body.fontFamily');
+ min-width: $dt('size.xs');
+}
+
+.docus-scrollbars {
+ & ::-webkit-scrollbar {
+ width: 0.6em;
+ height: 0.6em;
+ background: transparent;
+ }
+
+ & ::-webkit-scrollbar-track {
+ background: $dt('color.gray.100');
+ }
+
+ & ::-webkit-scrollbar-thumb {
+ border-radius: 0.6em;
+ background: $dt('color.gray.300');
+ &:hover {
+ background: $dt('color.gray.400');
+ }
+ &:active {
+ background: $dt('color.gray.500');
+ }
+ }
+
+ &.dark {
+ & ::-webkit-scrollbar-track {
+ background: $dt('color.gray.800');
+ }
+
+ & ::-webkit-scrollbar-thumb {
+ background: $dt('color.gray.700');
+ &:hover {
+ background: $dt('color.gray.600');
+ }
+ &:active {
+ background: $dt('color.gray.500');
+ }
+ }
+ }
+}
diff --git a/docs/components/app/AppFooter.vue b/docs/components/app/AppFooter.vue
new file mode 100644
index 0000000..84266eb
--- /dev/null
+++ b/docs/components/app/AppFooter.vue
@@ -0,0 +1,163 @@
+<script setup lang="ts">
+const { config } = useDocus()
+const socialIcons = ref(null)
+const icons = computed(() => config.value?.footer?.iconLinks || [])
+const textLinks = computed(() => config.value?.footer?.textLinks || [])
+const socialIconsCount = computed(() => Object.entries(config.value?.socials || {}).filter(([_, v]) => v).length)
+const nbSocialIcons = computed(() => (socialIcons.value ? socialIconsCount.value : 0))
+</script>
+
+<template>
+ <footer>
+ <Container :fluid="config?.footer?.fluid" padded class="footer-container">
+ <!-- Left -->
+ <div class="left">
+ <a v-if="config?.footer?.credits" :href="config?.footer?.credits?.href || '#'" rel="noopener" target="_blank">
+ <Component :is="config?.footer?.credits?.icon" v-if="config?.footer?.credits?.icon" class="left-icon" />
+ <p v-if="config?.footer?.credits?.text">{{ config.footer.credits.text }}</p>
+ </a>
+ </div>
+
+ <!-- Center -->
+ <div class="center">
+ <NuxtLink
+ v-for="link in textLinks"
+ :key="link.href"
+ class="text-link"
+ :aria-label="link.text"
+ :href="link.href"
+ :target="link.target || '_self'"
+ >
+ {{ link.text }}
+ </NuxtLink>
+ </div>
+
+ <div class="right">
+ <a
+ v-for="icon in icons.slice(0, 6 - nbSocialIcons)"
+ :key="icon.label"
+ class="icon-link"
+ rel="noopener"
+ :aria-label="icon.label"
+ :href="icon.href"
+ target="_blank"
+ >
+ <Icon :name="icon.icon" />
+ </a>
+ <AppSocialIcons ref="socialIcons" />
+ </div>
+ </Container>
+ </footer>
+</template>
+
+<style lang="ts" scoped>
+css({
+ footer: {
+ display: 'flex',
+ minHeight: '{docus.footer.height}',
+ borderTopWidth: '1px',
+ borderTopStyle: 'solid',
+ borderTopColor: '{elements.border.primary.static}',
+ padding: '{docus.footer.padding}',
+
+ '.footer-container': {
+ display: 'grid',
+ gridTemplateColumns: 'repeat(12, minmax(0, 1fr))',
+ justifyItems: 'center',
+ gap: '{space.2}',
+ '@sm': {
+ justifyItems: 'legacy',
+
+ },
+
+ ':deep(.icon)': {
+ width: '{space.4}',
+ height: '{space.4}'
+ },
+
+ a: {
+ color: '{color.gray.500}',
+ '@dark': {
+ color: '{color.gray.400}'
+ },
+ '&:hover': {
+ color: '{color.gray.700}',
+ '@dark': {
+ color: '{color.gray.200}',
+ }
+ },
+ },
+
+ '.left': {
+ gridColumn: 'span 12 / span 12',
+ display: 'flex',
+ py: '{space.4}',
+ order: 1,
+
+ '@sm': {
+ gridColumn: 'span 3 / span 3',
+ order: 0,
+ },
+
+ a: {
+ display: 'flex',
+ alignItems: 'center',
+ },
+
+ p: {
+ fontSize: '{text.xs.fontSize}',
+ lineHeight: '{text.xs.lineHeight}',
+ fontWeight: '{fontWeight.medium}'
+ },
+
+ '&-icon': {
+ flexShrink: 0,
+ width: '{space.4}',
+ height: '{space.4}',
+ fill: 'currentcolor',
+ marginRight: '{space.2}',
+ },
+ },
+
+ '.center': {
+ gridColumn: 'span 12 / span 12',
+ display: 'flex',
+ flexDirection: 'column',
+ alignItems: 'center',
+
+ '@sm': {
+ gridColumn: 'span 6 / span 6',
+ flexDirection: 'row',
+ justifyContent: 'center',
+ },
+
+ '.text-link': {
+ padding: '{space.2}',
+ fontSize: '{text.sm.fontSize}',
+ lineHeight: '{text.sm.lineHeight}',
+ fontWeight: '{fontWeight.medium}'
+ }
+
+ },
+
+ '.right': {
+ gridColumn: 'span 12 / span 12',
+ display: 'flex',
+ alignItems: 'center',
+ justifyContent: 'flex-end',
+ // marginLeft: 'calc(0px - {space.4})',
+
+ '@sm': {
+ gridColumn: 'span 3 / span 3',
+ marginRight: 'calc(0px - {space.4})',
+ },
+
+ '.icon-link': {
+ display: 'flex',
+ padding: '{space.4}'
+ }
+ },
+ },
+ }
+})
+</style>
diff --git a/docs/components/app/AppHeader.vue b/docs/components/app/AppHeader.vue
new file mode 100644
index 0000000..c5a3fd8
--- /dev/null
+++ b/docs/components/app/AppHeader.vue
@@ -0,0 +1,112 @@
+<script setup lang="ts">
+const { config } = useDocus()
+const { navigation } = useContent()
+const { hasDocSearch } = useDocSearch()
+
+const hasDialog = computed(() => navigation.value?.length > 1 || navigation.value?.[0]?.children?.length)
+
+defineProps({
+ ...variants
+})
+</script>
+
+<template>
+ <header :class="{ 'has-dialog': hasDialog, 'has-doc-search': hasDocSearch }">
+ <Container :fluid="config?.header?.fluid ">
+ <div class="section left">
+ <AppHeaderDialog v-if="hasDialog" />
+ <AppHeaderLogo />
+ </div>
+
+ <div class="section center">
+ <AppHeaderLogo v-if="hasDialog" />
+ <AppHeaderNavigation />
+ </div>
+
+ <div class="section right">
+ <AppSearch v-if="hasDocSearch" />
+ <ThemeSelect />
+ <div class="social-icons">
+ <AppSocialIcons />
+ </div>
+ </div>
+ </Container>
+ </header>
+</template>
+
+<style scoped lang="ts">
+css({
+ ':deep(.icon)': {
+ width: '{space.4}',
+ height: '{space.4}'
+ },
+
+ '.navbar-logo': {
+ '.left &': {
+ '.has-dialog &': {
+ display: 'none',
+ '@lg': {
+ display: 'block'
+ }
+ },
+ },
+ '.center &': {
+ display: 'block',
+ '@lg': {
+ display: 'none'
+ }
+ }
+ },
+
+ header: {
+ backdropFilter: '{elements.backdrop.filter}',
+ position: 'sticky',
+ top: 0,
+ zIndex: 10,
+ width: '100%',
+ borderBottom: '1px solid {elements.border.primary.static}',
+ backgroundColor: '{elements.backdrop.background}',
+ height: '{docus.header.height}',
+
+ '.container': {
+ display: 'grid',
+ height: '100%',
+ gridTemplateColumns: 'repeat(12, minmax(0, 1fr))',
+ gap: '{space.2}'
+ },
+
+ '.section': {
+ display: 'flex',
+ alignItems: 'center',
+ flex: 'none',
+ '&.left': {
+ gridColumn: 'span 4 / span 4',
+ '@lg': {
+ marginLeft: 0
+ },
+ },
+ '&.center': {
+ gridColumn: 'span 4 / span 4',
+ justifyContent: 'center',
+ flex: '1',
+ zIndex: '1'
+ },
+ '&.right': {
+ display: 'flex',
+ gridColumn: 'span 4 / span 4',
+ justifyContent: 'flex-end',
+ alignItems: 'center',
+ flex: 'none',
+ marginRight: 'calc(0px - {space.4})',
+ '.social-icons': {
+ display: 'none',
+ '@md': {
+ display: 'flex',
+ alignItems: 'center',
+ }
+ }
+ }
+ }
+ }
+})
+</style>
diff --git a/docs/components/app/AppHeaderDialog.vue b/docs/components/app/AppHeaderDialog.vue
new file mode 100644
index 0000000..e71b83c
--- /dev/null
+++ b/docs/components/app/AppHeaderDialog.vue
@@ -0,0 +1,117 @@
+<script setup lang="ts">
+const { navigation } = useContent()
+const { config } = useDocus()
+
+const filtered = computed(() => config.value.aside?.exclude || [])
+
+const links = computed(() => {
+ return (navigation.value || []).filter((item: any) => {
+ if (filtered.value.includes(item._path)) { return false }
+ return true
+ })
+})
+
+const { visible, open, close } = useMenu()
+
+watch(visible, v => (v ? open() : close()))
+</script>
+
+<template>
+ <button aria-label="Menu" @click="open">
+ <Icon name="heroicons-outline:menu" aria-hidden="”true”" />
+ </button>
+
+ <!-- eslint-disable-next-line vue/no-multiple-template-root -->
+ <teleport to="body">
+ <nav v-if="visible" class="dialog" @click="close">
+ <div @click.stop>
+ <div class="wrapper">
+ <button aria-label="Menu" @click="close">
+ <Icon name="heroicons-outline:x" aria-hidden="”true”" />
+ </button>
+
+ <div class="icons">
+ <AppSocialIcons />
+ </div>
+ </div>
+
+ <DocsAsideTree :links="links" />
+ </div>
+ </nav>
+ </teleport>
+</template>
+
+<style scoped lang="ts">
+css({
+ button: {
+ position: 'relative',
+ zIndex: '10',
+ display: 'flex',
+ padding: '{space.4} {space.4} {space.4} 0',
+ '@lg': {
+ display: 'none'
+ },
+ color: '{color.gray.500}',
+ '@dark': {
+ color: '{color.gray.400}',
+ },
+ '&:hover': {
+ color: '{color.gray.700}',
+ '@dark': {
+ color: '{color.gray.200}',
+ }
+ },
+ },
+ '.dialog': {
+ position: 'fixed',
+ inset: '0 0 0 0',
+ zIndex: '50',
+ display: 'flex',
+ alignItems: 'flex-start',
+ overflowY: 'auto',
+ backgroundColor: 'rgba(255, 255, 255, 0.5)',
+ backdropFilter: '{elements.backdrop.filter}',
+ '@dark': {
+ backgroundColor: 'rgba(0, 0, 0, 0.5)'
+ },
+ '@lg': {
+ display: 'none'
+ },
+ '.icons': {
+ overflow: 'auto'
+ },
+ // Dialog content
+ '& > div': {
+ maxWidth: '{size.xs}',
+ width: '100%',
+ minHeight: '100%',
+ boxShadow: '{shadow.md}',
+ px: '{space.4}',
+ backgroundColor: '{color.white}',
+ '@dark': {
+ backgroundColor: '{color.black}',
+ },
+ '@sm': {
+ px: '{space.6}',
+ },
+ // Dialog header
+ '& > div': {
+ height: '{docus.header.height}',
+ display: 'flex',
+ alignItems: 'center',
+ justifyContent: 'space-between',
+ borderBottom: '1px solid transparent',
+ gap: '{space.2}',
+ '.icons': {
+ display: 'flex',
+ alignItems: 'center',
+ }
+ }
+ }
+ },
+ ':deep(.icon)': {
+ width: '{space.4}',
+ height: '{space.4}'
+ }
+})
+</style>
diff --git a/docs/components/app/AppHeaderLogo.vue b/docs/components/app/AppHeaderLogo.vue
new file mode 100644
index 0000000..51b3e62
--- /dev/null
+++ b/docs/components/app/AppHeaderLogo.vue
@@ -0,0 +1,63 @@
+<script setup lang="ts">
+const { config } = useDocus()
+const logo = computed(() => config.value.header?.logo || false)
+const title = computed(() => config.value.header?.title || config.value.title)
+</script>
+
+<template>
+ <NuxtLink class="navbar-logo" to="/" :aria-label="title">
+ <!-- Only Logo -->
+ <span class="logo" v-if="logo">
+ <component :is="logo" v-if="typeof logo === 'string'" />
+ <template v-else-if="logo.light && logo.dark">
+ <img :src="logo.light" alt="" class="light-img">
+ <img :src="logo.dark" alt="" class="dark-img">
+ </template>
+ <Logo v-else-if="logo" />
+ </span>
+
+ <!-- Only title -->
+ <span class="title" v-else>
+ {{ title }}
+ </span>
+ </NuxtLink>
+</template>
+
+<style lang="ts" scoped>
+css({
+ a: {
+ display: 'flex',
+ alignItems: 'center',
+ flex: 'none',
+
+ '.logo': {
+ height: '{docus.header.logo.height}',
+ width: 'auto',
+ 'img, svg': {
+ height: 'inherit',
+ },
+ '.light-img': {
+ display: 'block',
+ '@dark': {
+ display: 'none'
+ }
+ },
+ '.dark-img': {
+ display: 'none',
+ '@dark': {
+ display: 'block'
+ }
+ },
+ },
+
+ '.title': {
+ fontSize: '{docus.header.title.fontSize}',
+ fontWeight: '{docus.header.title.fontWeight}',
+ color: '{docus.header.title.color.static}',
+ '&:hover': {
+ color: '{docus.header.title.color.hover}',
+ }
+ }
+ }
+})
+</style>
diff --git a/docs/components/app/AppHeaderNavigation.vue b/docs/components/app/AppHeaderNavigation.vue
new file mode 100644
index 0000000..6f3ea91
--- /dev/null
+++ b/docs/components/app/AppHeaderNavigation.vue
@@ -0,0 +1,94 @@
+<script setup lang="ts">
+const route = useRoute()
+const { navBottomLink } = useContentHelpers()
+const { navigation } = useContent()
+const { config } = useDocus()
+
+const hasNavigation = computed(() => !!config.value.aside?.level)
+
+const filtered = computed(() => config.value.header?.exclude || [])
+
+const tree = computed(() => {
+ return (navigation.value || []).filter((item: any) => {
+ if (filtered.value.includes(item._path as never)) { return false }
+ return true
+ })
+})
+
+const isActive = (link: any) => (link.exact ? route.fullPath === link._path : route.fullPath.startsWith(link._path))
+</script>
+
+<template>
+ <nav v-if="hasNavigation">
+ <ul>
+ <li
+ v-for="link in tree"
+ :key="link._path"
+ >
+ <NuxtLink
+ class="link"
+ :to="link.redirect? link.redirect : navBottomLink(link)"
+ :class="{ active: isActive(link) }"
+ >
+ <Icon v-if="link.icon && config?.header?.showLinkIcon" :name="link.icon" />
+ {{ link.title }}
+ </NuxtLink>
+ </li>
+ </ul>
+ </nav>
+</template>
+
+<style scoped lang="ts">
+css({
+ nav: {
+ display: 'none',
+ '@lg': {
+ display: 'block'
+ },
+ ul: {
+ display: 'flex',
+ alignItems: 'center',
+ justifyContent: 'center',
+ flex: '1',
+ maxWidth: '100%',
+ truncate: true,
+
+ '& > * + *': {
+ marginLeft: '{space.2}'
+ },
+
+ li: {
+ display: 'inline-flex',
+ gap: '{space.1}',
+ },
+
+ '.link': {
+ display: 'flex',
+ alignItems: 'center',
+ gap: '{space.2}',
+ padding: '{space.2} {space.4}',
+ fontSize: '{fontSize.sm}',
+ borderRadius: '{radii.md}',
+ outline: 'none',
+ transition: 'background 200ms ease',
+
+ svg: {
+ display: 'inline-block'
+ },
+
+ '&:active,&.active,&:hover': {
+ backgroundColor: '{color.gray.100}',
+ '@dark': {
+ backgroundColor: '{color.gray.900}',
+ },
+ },
+
+ '&.active': {
+ boxShadow: 'inset 0 2px 4px 0 rgb(0 0 0 / 0.05)',
+ fontWeight: '{fontWeight.semibold}'
+ }
+ }
+ }
+ }
+})
+</style>
diff --git a/docs/components/app/AppLayout.vue b/docs/components/app/AppLayout.vue
new file mode 100644
index 0000000..97a8d26
--- /dev/null
+++ b/docs/components/app/AppLayout.vue
@@ -0,0 +1,38 @@
+<script setup lang="ts">
+const { config } = useDocus()
+
+useHead({
+ titleTemplate: config.value.titleTemplate,
+ meta: [
+ { name: 'twitter:card', content: 'summary_large_image' }
+ ]
+})
+
+watch(
+ () => config.value.titleTemplate,
+ () => useHead({ titleTemplate: config.value.titleTemplate })
+)
+
+useContentHead(config.value as any)
+</script>
+
+<template>
+ <div class="app-layout">
+ <AppLoadingBar />
+ <AppHeader />
+ <main>
+ <slot />
+ </main>
+ <AppFooter />
+ </div>
+</template>
+
+<style lang="ts" scoped>
+css({
+ '.app-layout': {
+ main: {
+ minHeight: 'calc(100vh - {docus.header.height} - {docus.footer.height})',
+ }
+ }
+})
+</style>
diff --git a/docs/components/app/AppLoadingBar.vue b/docs/components/app/AppLoadingBar.vue
new file mode 100644
index 0000000..51314a8
--- /dev/null
+++ b/docs/components/app/AppLoadingBar.vue
@@ -0,0 +1,106 @@
+<script setup>
+const props = defineProps({
+ throttle: {
+ type: Number,
+ default: 200
+ },
+ duration: {
+ type: Number,
+ default: 2000
+ }
+})
+
+const nuxtApp = useNuxtApp()
+
+// Options & Data
+const data = reactive({
+ percent: 0,
+ show: false,
+ canSucceed: true
+})
+// Local variables
+let _timer = null
+let _throttle = null
+let _cut
+
+// Functions
+function clear () {
+ _timer && clearInterval(_timer)
+ _throttle && clearTimeout(_throttle)
+ _timer = null
+}
+function start () {
+ if (data.show) { return }
+ clear()
+ data.percent = 0
+ data.canSucceed = true
+
+ if (props.throttle) {
+ _throttle = setTimeout(startTimer, props.throttle)
+ } else {
+ startTimer()
+ }
+}
+function increase (num) {
+ data.percent = Math.min(100, Math.floor(data.percent + num))
+}
+function finish () {
+ data.percent = 100
+ hide()
+}
+function hide () {
+ clear()
+ setTimeout(() => {
+ data.show = false
+ setTimeout(() => {
+ data.percent = 0
+ }, 400)
+ }, 500)
+}
+function startTimer () {
+ data.show = true
+ _cut = 10000 / Math.floor(props.duration)
+ _timer = setInterval(() => {
+ increase(_cut)
+ }, 100)
+}
+
+// Hooks
+nuxtApp.hook('content:middleware:start', start)
+nuxtApp.hook('page:start', start)
+nuxtApp.hook('page:finish', finish)
+
+onBeforeUnmount(() => clear)
+</script>
+
+<template>
+ <div
+ class="nuxt-progress"
+ :class="{
+ 'nuxt-progress-failed': !data.canSucceed,
+ }"
+ :style="{
+ width: `${data.percent}%`,
+ left: data.left,
+ opacity: data.show ? 1 : 0,
+ backgroundSize: `${(100 / data.percent) * 100}% auto`,
+ }"
+ />
+</template>
+
+<style lang="ts">
+css({
+ '.nuxt-progress': {
+ height: '{docus.loadingBar.height}',
+ position: 'fixed',
+ top: '0px',
+ left: '0px',
+ right: '0px',
+ width: '0%',
+ opacity: 1,
+ transition: 'width 0.1s, height 0.4s, opacity 0.4s',
+ background: 'repeating-linear-gradient(to right, {docus.loadingBar.gradientColorStop1} 0%, {docus.loadingBar.gradientColorStop2} 50%, {docus.loadingBar.gradientColorStop3} 100%)',
+ zIndex: '999999',
+ }
+})
+</style>
diff --git a/docs/components/app/AppSearch.vue b/docs/components/app/AppSearch.vue
new file mode 100644
index 0000000..d3103aa
--- /dev/null
+++ b/docs/components/app/AppSearch.vue
@@ -0,0 +1,76 @@
+<script setup lang="ts">
+const { element } = useDocSearch()
+
+const onClick = () => element.value.querySelector('button').click()
+</script>
+
+<template>
+ <div class="doc-search" @click="onClick">
+ <button type="button" aria-label="Search">
+ <span class="content">
+ <Icon name="heroicons-outline:search" />
+ <span>Search</span>
+ <span>
+ <kbd>⌘</kbd>
+ <kbd>K</kbd>
+ </span>
+ </span>
+ </button>
+ </div>
+</template>
+
+<style scoped lang="ts">
+css({
+ '.doc-search': {
+ '&:hover': {
+ button: {
+ borderColor: '{color.gray.300}'
+ }
+ },
+ button: {
+ padding: '{space.2} {space.4}',
+ '.content': {
+ borderRadius: '{radii.md}',
+ display: 'flex',
+ alignItems: 'center',
+ color: '{color.gray.500}',
+ borderStyle: 'solid',
+ borderWidth: '1px',
+ borderColor: '{color.gray.100}',
+ fontSize: '{fontSize.xs}',
+ gap: '{space.2}',
+ padding: '{space.rem.375}',
+ '@dark': {
+ color: '{color.gray.400}',
+ borderColor: '{color.gray.900}',
+ },
+ '&:hover': {
+ color: '{color.gray.700}',
+ borderColor: '{color.gray.400}',
+ '@dark': {
+ color: '{color.gray.200}',
+ borderColor: '{color.gray.700}',
+ }
+ },
+ span: {
+ '&:first-child': {
+ display: 'block',
+ fontSize: '{fontSize.xs}',
+ fontWeight: '{fontWeight.medium}',
+ },
+ '&:nth-child(2)': {
+ flex: 'none',
+ display: 'none',
+ fontSize: '{fontSize.xs}',
+ fontWeight: '{fontWeight.semibold}',
+ '@sm': {
+ display: 'block'
+ }
+ }
+ }
+ }
+ },
+
+ }
+})
+</style>
diff --git a/docs/components/app/AppSocialIcons.vue b/docs/components/app/AppSocialIcons.vue
new file mode 100644
index 0000000..c30f513
--- /dev/null
+++ b/docs/components/app/AppSocialIcons.vue
@@ -0,0 +1,58 @@
+<script setup lang="ts">
+const socials = ['twitter', 'facebook', 'instagram', 'youtube', 'github', 'medium']
+
+const { config } = useDocus()
+
+const icons = computed<any>(() => {
+ return Object.entries(config.value.socials || {})
+ .map(([key, value]) => {
+ if (typeof value === 'object') {
+ return value
+ } else if (typeof value === 'string' && value && socials.includes(key)) {
+ return {
+ href: `https://${key}.com/${value}`,
+ icon: `fa-brands:${key}`,
+ label: value
+ }
+ } else {
+ return null
+ }
+ })
+ .filter(Boolean)
+})
+</script>
+
+<template>
+ <NuxtLink
+ v-for="icon in icons"
+ :key="icon.label"
+ rel="noopener noreferrer"
+ :title="icon.label"
+ :aria-label="icon.label"
+ :href="icon.href"
+ target="_blank"
+ >
+ <Icon v-if="icon.icon" :name="icon.icon" />
+ </NuxtLink>
+</template>
+
+<style lang="ts" scoped>
+css({
+ a: {
+ display: 'flex',
+ color: '{color.gray.500}',
+ padding: '{space.4}',
+
+ '@dark': {
+ color: '{color.gray.400}'
+ },
+
+ '&:hover': {
+ color: '{color.gray.700}',
+ '@dark': {
+ color: '{color.gray.200}',
+ }
+ },
+ }
+})
+</style>
diff --git a/docs/components/app/DocumentDrivenNotFound.vue b/docs/components/app/DocumentDrivenNotFound.vue
new file mode 100644
index 0000000..62baa8a
--- /dev/null
+++ b/docs/components/app/DocumentDrivenNotFound.vue
@@ -0,0 +1,119 @@
+<template>
+ <div class="document-driven-not-found not-prose">
+ <main>
+ <p>
+ 404
+ </p>
+ <div class="content">
+ <div class="text-section">
+ <h1>
+ Not Found
+ </h1>
+ <p>
+ This is not the page you're looking for.
+ </p>
+ </div>
+
+ <div class="button-section">
+ <ButtonLink href="/" size="large" variant="primary">
+ Go back home
+ </ButtonLink>
+ </div>
+ </div>
+ </main>
+ </div>
+</template>
+
+<style scoped lang="ts">
+css({
+ '.document-driven-not-found': {
+ display: 'flex',
+ flex: '1',
+ px: '{space.4}',
+ py: '{space.16}',
+ '@sm': {
+ px: '{space.6}',
+ py: '{space.24}',
+ },
+
+ '@md': {
+ display: 'grid',
+ placeItems: 'center',
+ },
+
+ '@lg': {
+ px: '{space.8}',
+ },
+
+ main: {
+ mx: 'auto',
+ maxWidth: '{size.full}',
+
+ '@sm': {
+ display: 'flex',
+ gap: '{space.6}'
+ },
+
+ // 404
+ '& > p': {
+ fontSize: '{fontSize.4xl}',
+ fontWeight: '{fontWeight.bold}',
+ lineHeight: '{lead.tight}',
+ color: '{color.primary.500}',
+ '@sm': {
+ fontSize: '{fontSize.5xl}',
+ }
+ },
+
+ '.content': {
+ '.text-section': {
+ borderColor: '{color.gray.200}',
+ borderLeftStyle: 'solid',
+ borderLeftWidth: '1px',
+ border: 'none',
+
+ '@dark': {
+ borderColor: '{color.gray.800}',
+ },
+
+ '@sm': {
+ borderColor: '{color.gray.200}',
+ borderLeftStyle: 'solid',
+ borderLeftWidth: '1px',
+ paddingLeft: '{space.6}'
+ },
+
+ h1: {
+ fontSize: '{fontSize.4xl}',
+ fontWeight: '{fontWeight.extrabold}',
+ letterSpacing: '{letterSpacing.tight}',
+ color: '{color.gray.900}',
+ '@dark': {
+ color: '{color.gray.200}',
+ },
+ '@sm': {
+ fontSize: '{fontSize.5xl}',
+ },
+ },
+
+ p: {
+ marginTop: '{space.1}',
+ fontSize: '{fontSize.xl}',
+ color: '{color.gray.700}',
+ '@dark': {
+ color: '{color.gray.400}',
+ },
+ }
+ },
+
+ // Button section
+ '.button-section': {
+ marginTop: '{space.10}',
+ flex: 'none',
+ gap: '{space.3}'
+ }
+ }
+ }
+ }
+})
+</style>
diff --git a/docs/components/app/Ellipsis.vue b/docs/components/app/Ellipsis.vue
new file mode 100644
index 0000000..87f4629
--- /dev/null
+++ b/docs/components/app/Ellipsis.vue
@@ -0,0 +1,66 @@
+<script setup lang="ts">
+import type { PropType } from 'vue'
+
+defineProps({
+ width: {
+ type: String,
+ default: '10rem'
+ },
+ height: {
+ type: String,
+ default: '10rem'
+ },
+ zIndex: {
+ type: String,
+ default: '10'
+ },
+ top: {
+ type: String,
+ default: '0'
+ },
+ left: {
+ type: String,
+ default: 'auto'
+ },
+ right: {
+ type: String,
+ default: 'auto'
+ },
+ blur: {
+ type: String,
+ default: '50px'
+ },
+ colors: {
+ type: Array as PropType<string[]>,
+ default: () => ['rgba(0, 71, 225, 0.22)', 'rgba(26, 214, 255, 0.22)', 'rgba(0, 220, 130, 0.22)']
+ }
+})
+</script>
+
+<template>
+ <div class="ellipsis">
+ <div class="ellipsis-item" />
+ </div>
+</template>
+
+<style scoped lang="ts">
+css({
+ '.ellipsis': {
+ pointerEvents: 'none',
+ position: 'absolute',
+ top: (props) => props.top,
+ insetInlineStart: (props) => props.left,
+ insetInlineEnd: (props) => props.right,
+ zIndex: (props) => props.zIndex,
+ width: '-webkit-fill-available',
+ maxWidth: (props) => props.width,
+ height: (props) => props.height,
+ filter: (props) => `blur(${props.blur})`,
+ '.ellipsis-item': {
+ width: '100%',
+ height: '100%',
+ background: (props) => `linear-gradient(97.62deg, ${props?.colors?.[0]} 2.27%, ${props?.colors?.[1]} 50.88%, ${props?.colors?.[2]} 98.48%)`,
+ }
+ }
+})
+</style>
diff --git a/docs/components/app/Logo.vue b/docs/components/app/Logo.vue
new file mode 100644
index 0000000..ee124c9
--- /dev/null
+++ b/docs/components/app/Logo.vue
@@ -0,0 +1,64 @@
+<template>
+ <svg viewBox="0 0 167 44" fill="none" xmlns="http://www.w3.org/2000/svg">
+ <path
+ d="M60 34.5945H70.2569C78.3172 34.5945 83.064 29.6369 83.064 21.1959V21.159C83.064 12.7365 78.2986 8 70.2569 8H60V34.5945ZM65.6217 29.987V12.5891H69.5867C74.5197 12.5891 77.3306 15.63 77.3306 21.1775V21.2143C77.3306 26.9645 74.6128 29.987 69.5867 29.987H65.6217Z"
+ fill="currentColor"
+ />
+ <path
+ d="M95.1966 35C101.228 35 105.081 31.1666 105.081 24.716V24.6792C105.081 18.284 101.153 14.4321 95.178 14.4321C89.2211 14.4321 85.312 18.3208 85.312 24.6792V24.716C85.312 31.1481 89.1281 35 95.1966 35ZM95.2152 30.7795C92.5346 30.7795 90.8407 28.5863 90.8407 24.716V24.6792C90.8407 20.8642 92.5532 18.6526 95.178 18.6526C97.8213 18.6526 99.5525 20.8642 99.5525 24.6792V24.716C99.5525 28.5679 97.8585 30.7795 95.2152 30.7795Z"
+ fill="currentColor"
+ />
+ <path
+ d="M116.823 35C122.147 35 125.59 31.7195 125.851 27.4068V27.2962H120.788L120.769 27.4621C120.397 29.4526 119.038 30.7795 116.86 30.7795C114.179 30.7795 112.504 28.5863 112.504 24.716V24.6976C112.504 20.9195 114.179 18.6526 116.841 18.6526C119.094 18.6526 120.415 20.0901 120.751 21.97L120.788 22.1358H125.832V22.0068C125.628 17.7311 122.184 14.4321 116.767 14.4321C110.792 14.4321 106.975 18.3577 106.975 24.6792V24.6976C106.975 31.0744 110.736 35 116.823 35Z"
+ fill="currentColor"
+ />
+ <path
+ d="M135.08 35C138.095 35 140.143 33.5993 141.167 31.3324H141.278V34.5945H146.714V14.8375H141.278V26.1904C141.278 28.7706 139.733 30.5399 137.295 30.5399C134.856 30.5399 133.628 29.0471 133.628 26.4669V14.8375H128.192V27.5911C128.192 32.2171 130.687 35 135.08 35Z"
+ fill="currentColor"
+ />
+ <path
+ d="M158.27 35C163.407 35 167 32.4567 167 28.5863V28.5679C167 25.656 165.287 24.0341 161.118 23.1679L157.73 22.4491C155.719 22.0253 155.031 21.3618 155.031 20.3481V20.3297C155.031 19.058 156.203 18.2287 158.083 18.2287C160.094 18.2287 161.267 19.2976 161.453 20.7167L161.471 20.8642H166.479V20.6799C166.348 17.215 163.389 14.4321 158.083 14.4321C153.001 14.4321 149.725 16.8648 149.725 20.6246V20.643C149.725 23.5918 151.68 25.5085 155.552 26.3195L158.94 27.0198C160.894 27.4437 161.564 28.0519 161.564 29.1024V29.1208C161.564 30.3925 160.317 31.185 158.27 31.185C156.092 31.185 154.919 30.2819 154.565 28.7338L154.528 28.5679H149.223L149.241 28.7338C149.669 32.4751 152.741 35 158.27 35Z"
+ fill="currentColor"
+ />
+ <mask
+ id="mask0_109_36"
+ style="mask-type:alpha"
+ maskUnits="userSpaceOnUse"
+ x="0"
+ y="0"
+ width="44"
+ height="44"
+ >
+ <path
+ fill-rule="evenodd"
+ clip-rule="evenodd"
+ d="M0 21.8104C0 9.76479 9.80347 0 21.8967 0C33.99 0 43.7935 9.76479 43.7935 21.8104C43.7935 33.8559 33.99 43.6207 21.8967 43.6207H0V21.8104ZM19.5294 17.0944C22.1442 17.0944 24.2641 19.2059 24.2641 21.8104C24.2641 24.4148 22.1442 26.526 19.5294 26.526C16.9147 26.526 14.7948 24.4148 14.7948 21.8101C14.7948 19.2059 16.9147 17.0944 19.5294 17.0944V17.0944ZM38.4674 21.8104C38.4674 19.2059 36.3475 17.0944 33.7328 17.0944C31.1183 17.0944 28.9984 19.2059 28.9984 21.8104C28.9984 24.4148 31.1183 26.526 33.7328 26.526C36.3475 26.526 38.4674 24.4148 38.4674 21.8101V21.8104Z"
+ fill="white"
+ />
+ </mask>
+ <g mask="url(#mask0_109_36)">
+ <path
+ fill-rule="evenodd"
+ clip-rule="evenodd"
+ d="M0 21.8104C0 9.76479 9.80347 0 21.8967 0C33.99 0 43.7935 9.76479 43.7935 21.8104C43.7935 33.8559 33.99 43.6207 21.8967 43.6207H0V21.8104ZM19.5294 17.0944C22.1442 17.0944 24.2641 19.2059 24.2641 21.8104C24.2641 24.4148 22.1442 26.526 19.5294 26.526C16.9147 26.526 14.7948 24.4148 14.7948 21.8101C14.7948 19.2059 16.9147 17.0944 19.5294 17.0944V17.0944ZM38.4674 21.8104C38.4674 19.2059 36.3475 17.0944 33.7328 17.0944C31.1183 17.0944 28.9984 19.2059 28.9984 21.8104C28.9984 24.4148 31.1183 26.526 33.7328 26.526C36.3475 26.526 38.4674 24.4148 38.4674 21.8101V21.8104Z"
+ fill="currentColor"
+ />
+ <path
+ d="M9.9987e-06 43.6206H-0.156525V43.7762H9.9987e-06V43.6206ZM21.8967 -0.156006C9.71704 -0.156006 -0.156525 9.67861 -0.156525 21.8106H0.156545C0.156545 9.8508 9.88991 0.155828 21.8967 0.155828V-0.156006ZM43.9497 21.8103C43.9497 9.67861 34.0764 -0.156006 21.8967 -0.156006V0.155828C33.9036 0.155828 43.6369 9.8508 43.6369 21.8103H43.9497ZM21.8967 43.7762C34.0764 43.7762 43.9497 33.9419 43.9497 21.8103H43.6369C43.6369 33.7697 33.9036 43.4647 21.8967 43.4647V43.7762V43.7762ZM9.9987e-06 43.7762H21.8967V43.4647H9.9987e-06V43.7762ZM-0.156525 21.8103V43.6206H0.156545V21.8103H-0.156525ZM24.4203 21.8103C24.4203 19.1197 22.2306 16.9387 19.5294 16.9387V17.2502C22.0577 17.2502 24.1075 19.2916 24.1075 21.8103H24.4203V21.8103ZM19.5294 26.6816C22.2306 26.6816 24.4203 24.5005 24.4203 21.8103H24.1075C24.1075 24.3286 22.058 26.37 19.5294 26.37V26.6816V26.6816ZM14.6385 21.8106C14.6385 24.5008 16.8282 26.6819 19.5294 26.6819V26.3703C17.0011 26.3703 14.9513 24.3289 14.9513 21.8106H14.6385ZM19.5297 16.9387C16.8285 16.9387 14.6388 19.1197 14.6388 21.8103H14.9516C14.9516 19.2916 17.0011 17.2502 19.5297 17.2502V16.9387ZM33.7331 17.2502C36.2617 17.2502 38.3112 19.2916 38.3112 21.8103H38.624C38.624 19.1197 36.4343 16.9387 33.7331 16.9387V17.2502V17.2502ZM29.155 21.8103C29.155 19.2916 31.2045 17.2502 33.7328 17.2502V16.9387C31.0319 16.9387 28.8422 19.1197 28.8422 21.8103H29.155ZM33.7328 26.37C31.2045 26.37 29.155 24.3286 29.155 21.8103H28.8422C28.8422 24.5005 31.0319 26.6816 33.7328 26.6816V26.37ZM38.3109 21.8106C38.3109 24.3289 36.2614 26.3703 33.7328 26.3703V26.6819C36.434 26.6819 38.6237 24.5008 38.6237 21.8106H38.3109Z"
+ fill="currentColor"
+ />
+ </g>
+ </svg>
+</template>
+
+<style lang="ts" scoped>
+css({
+ svg: {
+ color: '{color.gray.900}',
+ height: 'inherit',
+ '@dark': {
+ color: '{color.gray.100}'
+ },
+ }
+})
+</style>
diff --git a/docs/components/app/ThemeSelect.vue b/docs/components/app/ThemeSelect.vue
new file mode 100644
index 0000000..158b965
--- /dev/null
+++ b/docs/components/app/ThemeSelect.vue
@@ -0,0 +1,41 @@
+<script setup lang="ts">
+const colorMode = useColorMode()
+const onClick = () => {
+ const values = ['system', 'light', 'dark']
+ const index = values.indexOf(colorMode.preference)
+ const next = (index + 1) % values.length
+
+ colorMode.preference = values[next]
+}
+</script>
+
+<template>
+ <button aria-label="Color Mode" @click="onClick">
+ <ColorScheme placeholder="...">
+ <Icon v-if="colorMode.preference === 'dark'" name="uil:moon" />
+ <Icon v-else-if="colorMode.preference === 'light'" name="uil:sun" />
+ <Icon v-else name="uil:desktop" />
+ </ColorScheme>
+ </button>
+</template>
+
+<style lang="ts" scoped>
+css({
+ button: {
+ display: 'flex',
+ padding: '{space.4}',
+
+ color: '{color.gray.500}',
+ '@dark': {
+ color: '{color.gray.400}'
+ },
+
+ '&:hover': {
+ color: '{color.gray.700}',
+ '@dark': {
+ color: '{color.gray.200}',
+ }
+ },
+ }
+})
+</style>
diff --git a/docs/components/docs/DocsAside.vue b/docs/components/docs/DocsAside.vue
new file mode 100644
index 0000000..c084ec7
--- /dev/null
+++ b/docs/components/docs/DocsAside.vue
@@ -0,0 +1,36 @@
+<script setup lang="ts">
+const { tree } = useDocus()
+</script>
+
+<template>
+ <nav>
+ <DocsAsideTree v-if="tree?.length > 0" :links="tree" />
+ <NuxtLink v-else to="/" class="go-back-link">
+ <Icon name="heroicons-outline:arrow-left" class="icon" />
+ <span class="text">Go back</span>
+ </NuxtLink>
+ </nav>
+</template>
+
+<style scoped lang="ts">
+css({
+ '.go-back-link': {
+ display: 'flex',
+ alignItems: 'center',
+ fontSize: '{text.sm.fontSize}',
+ lineHeight: '{text.sm.lineHeight}',
+ cursor: 'pointer',
+ color: '{color.gray.500}',
+ '&:hover': {
+ color: '{color.gray.700}',
+ },
+ '.icon': {
+ width: '{space.4}',
+ height: '{space.4}'
+ },
+ '.text': {
+ marginLeft: '{space.2}'
+ }
+ }
+})
+</style>
diff --git a/docs/components/docs/DocsAsideTree.vue b/docs/components/docs/DocsAsideTree.vue
new file mode 100644
index 0000000..a713ede
--- /dev/null
+++ b/docs/components/docs/DocsAsideTree.vue
@@ -0,0 +1,212 @@
+<script setup lang="ts">
+import type { PropType } from 'vue'
+
+const props = defineProps({
+ links: {
+ type: Array as PropType<any>,
+ default: () => []
+ },
+ level: {
+ type: Number,
+ default: 0
+ },
+ max: {
+ type: Number,
+ default: null
+ },
+ parent: {
+ type: Object as PropType<any>,
+ default: null
+ }
+})
+
+const route = useRoute()
+const { config } = useDocus()
+
+const collapsedMap = useState(`docus-docs-aside-collapse-map-${props.parent?._path || '/'}`, () => {
+ if (props.level === 0) {
+ return {}
+ }
+ return (props.links as any [])
+ .filter(link => !!link.children)
+ .reduce((map, link) => {
+ map[link._path] = true
+ return map
+ }, {})
+})
+
+const isActive = (link: any) => {
+ return route.path === link._path
+}
+
+const isCollapsed = (link: any) => {
+ if (link.children) {
+ // Directory has been toggled manually, use its state
+ if (typeof collapsedMap.value[link._path] !== 'undefined') {
+ return collapsedMap.value[link._path]
+ }
+
+ // Check if aside.collapsed has been set in YML
+ if ([true, false].includes(link?.aside?.collapsed)) { return link.aside.collapsed }
+
+ // Return value grabbed from the link
+ if (link?.collapsed) { return link?.collapsed }
+
+ if (config?.value?.aside?.collapsed) { return config.value.aside?.collapsed }
+ }
+
+ return false
+}
+
+const toggleCollapse = (link: any) => (collapsedMap.value[link._path] = !isCollapsed(link))
+
+const hasNesting = computed(() => props.links.some((link: any) => link.children))
+</script>
+
+<template>
+ <ul class="docs-aside-tree">
+ <li
+ v-for="link in links"
+ :key="link._path"
+ :class="{
+ 'has-parent-icon': parent?.icon,
+ 'has-children': level > 0 && link.children,
+ 'bordered': level > 0 || !hasNesting,
+ 'active': isActive(link),
+ }"
+ >
+ <button v-if="link.children" class="title-collapsible-button" @click="toggleCollapse(link)">
+ <span class="content">
+ <Icon v-if="link?.navigation?.icon || link.icon" :name="link?.navigation?.icon || link.icon" class="icon" />
+ <span>{{ link?.navigation?.title || link.title || link._path }}</span>
+ </span>
+ <span>
+ <Icon :name="isCollapsed(link) ? 'lucide:chevrons-up-down' : 'lucide:chevrons-down-up'" class="collapsible-icon" />
+ </span>
+ </button>
+
+ <NuxtLink
+ v-else
+ :to="link.redirect ? link.redirect : link._path"
+ class="link"
+ :exact="link.exact"
+ :class="{
+ 'padded': level > 0 || !hasNesting,
+ 'active': isActive(link),
+ }"
+ >
+ <span class="content">
+ <Icon v-if="link?.navigation?.icon || link.icon" :name="link?.navigation?.icon || link.icon" class="icon" />
+ <span>{{ link?.navigation?.title || link.title || link._path }}</span>
+ </span>
+ </NuxtLink>
+
+ <DocsAsideTree
+ v-show="!isCollapsed(link)"
+ v-if="link.children?.length && (max === null || level + 1 < max)"
+ :links="link.children"
+ :level="level + 1"
+ :parent="link"
+ :max="max"
+ class="recursive"
+ />
+ </li>
+ </ul>
+</template>
+
+<style scoped lang="ts">
+css({
+ '.docs-aside-tree': {
+ li: {
+ '&.bordered': {
+ borderLeft: '1px solid {elements.border.primary.static}',
+ '&:hover': {
+ borderColor: '{elements.border.primary.hover}'
+ },
+ '&.active': {
+ borderColor: '{color.primary.400}',
+ '@dark': {
+ borderColor: '{color.primary.600}'
+ },
+ },
+ '&.has-children': {
+ paddingLeft: '{space.4}'
+ },
+ '&.has-parent-icon': {
+ marginLeft: '{space.2}'
+ }
+ }
+ },
+ '.recursive': {
+ padding: '{space.2} 0'
+ },
+ '.title-collapsible-button': {
+ display: 'flex',
+ alignItems: 'center',
+ justifyContent: 'space-between',
+ padding: '{space.rem.375} 0',
+ fontSize: '{text.sm.fontSize}',
+ lineHeight: '{text.sm.lineHeight}',
+ fontWeight: '{fontWeight.semibold}',
+ width: "100%",
+ color: '{color.gray.900}',
+ '@dark': {
+ color: '{color.gray.50}'
+ },
+ '.content': {
+ display: 'flex',
+ alignItems: 'center',
+ '.icon': {
+ width: '{space.4}',
+ height: '{space.4}',
+ marginRight: '{space.2}'
+ }
+ },
+ '.collapsible-icon': {
+ width: '{space.3}',
+ height: '{space.3}',
+ color: '{color.gray.400}',
+ '@dark': {
+ color: '{color.gray.500}',
+ }
+ }
+ },
+ '.link': {
+ display: 'flex',
+ alignItems: 'center',
+ justifyContent: 'space-between',
+ padding: '{space.rem.375} 0',
+ fontSize: '{text.sm.fontSize}',
+ lineHeight: '{text.sm.lineHeight}',
+ color: '{color.gray.500}',
+ '&:hover': {
+ color: '{color.gray.900}',
+ },
+ '@dark': {
+ '&:not(.active)': {
+ color: '{color.gray.400}',
+ '&:hover': {
+ color: '{color.gray.50}',
+ }
+ }
+ },
+ '&.padded': {
+ paddingLeft: '{space.4}'
+ },
+ '&.active': {
+ color: '{color.primary.500}',
+ fontWeight: '{fontWeight.medium}'
+ },
+ '.content': {
+ display: 'inline-flex',
+ alignItems: 'center'
+ },
+ '.icon': {
+ width: '{space.4}',
+ height: '{space.4}',
+ marginRight: '{space.1}'
+ }
+ }
+ }
+})
+</style>
diff --git a/docs/components/docs/DocsPageBottom.vue b/docs/components/docs/DocsPageBottom.vue
new file mode 100644
index 0000000..cf6b30f
--- /dev/null
+++ b/docs/components/docs/DocsPageBottom.vue
@@ -0,0 +1,46 @@
+<script setup lang="ts">
+const { page } = useContent()
+const { config } = useDocus()
+</script>
+
+<template>
+ <div v-if="page" class="docs-page-bottom">
+ <div v-if="config?.github?.edit" class="edit-link">
+ <Icon name="uil:edit" />
+ <EditOnLink v-slot="{ url }" :page="page">
+ <ProseA :to="url">
+ <span>
+ Edit this page on GitHub
+ </span>
+ </ProseA>
+ </EditOnLink>
+ </div>
+
+ <!-- Need to be supported by @nuxt/content -->
+ <span v-if="page?.mtime">Updated on <b>{{ new Intl.DateTimeFormat('en-US').format(Date.parse(page.mtime)) }}</b></span>
+ </div>
+</template>
+
+<style scoped lang="ts">
+css({
+ '.docs-page-bottom': {
+ display: 'flex',
+ alignItems: 'center',
+ justifyContent: 'space-between',
+ flexDirection: 'row',
+ gap: '{space.4}',
+ marginTop: '{space.8}',
+ fontSize: '{fontSize.sm}',
+ color: '{color.gray.500}',
+ '@dark': {
+ color: '{color.gray.400}'
+ },
+ '.edit-link': {
+ flex: 1,
+ display: 'flex',
+ alignItems: 'center',
+ gap: '{space.2}'
+ }
+ }
+})
+</style>
diff --git a/docs/components/docs/DocsPageLayout.vue b/docs/components/docs/DocsPageLayout.vue
new file mode 100644
index 0000000..ad5eb93
--- /dev/null
+++ b/docs/components/docs/DocsPageLayout.vue
@@ -0,0 +1,281 @@
+<script setup lang="ts">
+const { page } = useContent()
+const { config, tree } = useDocus()
+const route = useRoute()
+
+const fallbackValue = (value: string, fallback = true) => {
+ if (typeof page.value?.[value] !== 'undefined') { return page.value[value] }
+ return fallback
+}
+
+const hasBody = computed(() => !page.value || page.value?.body?.children?.length > 0)
+const hasToc = computed(() => page.value?.toc !== false && page.value?.body?.toc?.links?.length >= 2)
+
+const hasAside = computed(() => page.value?.aside !== false && (tree.value?.length > 1 || tree.value?.[0]?.children?.length))
+const bottom = computed(() => fallbackValue('bottom', true))
+const isOpen = ref(false)
+
+/*
+** This below is a workaround until Nuxt has a proper support for layouts and Suspense
+*/
+const asideNav = ref<any>(null)
+
+const getParentPath = () => route.path.split('/').slice(0, 2).join('/')
+const asideScroll = useState('asideScroll', () => {
+ return {
+ parentPath: getParentPath(),
+ scrollTop: asideNav.value?.scrollTop || 0
+ }
+})
+
+function watchScrollHeight () {
+ if (!asideNav.value) { return }
+ if (asideNav.value.scrollHeight === 0) {
+ setTimeout(watchScrollHeight, 0)
+ }
+ asideNav.value.scrollTop = asideScroll.value.scrollTop
+}
+
+onMounted(() => {
+ if (asideScroll.value.parentPath !== getParentPath()) {
+ asideScroll.value.parentPath = getParentPath()
+ asideScroll.value.scrollTop = 0
+ } else {
+ watchScrollHeight()
+ }
+})
+
+onBeforeUnmount(() => {
+ if (!asideNav.value) { return }
+ asideScroll.value.scrollTop = asideNav.value.scrollTop
+})
+</script>
+
+<template>
+ <Container
+ :fluid="config?.main?.fluid"
+ :padded="config?.main?.padded"
+ class="docs-page-content"
+ :class="{
+ fluid: config?.main?.fluid,
+ 'has-toc': hasToc,
+ 'has-aside': hasAside,
+ }"
+ >
+ <!-- Aside -->
+ <aside v-if="hasAside" ref="asideNav" class="aside-nav">
+ <DocsAside class="app-aside" />
+ </aside>
+
+ <!-- Page Body -->
+ <article class="page-body">
+ <slot v-if="hasBody" />
+ <Alert v-else type="info">
+ Start writing in <ProseCodeInline>content/{{ page._file }}</ProseCodeInline> to see this page taking shape.
+ </Alert>
+ <template v-if="hasBody && page && bottom">
+ <DocsPageBottom />
+ <DocsPrevNext />
+ </template>
+ </article>
+
+ <!-- TOC -->
+ <div v-if="hasToc" class="toc">
+ <div class="toc-wrapper">
+ <button @click="isOpen = !isOpen">
+ <span class="title">Table of Contents</span>
+ <Icon name="heroicons-outline:chevron-right" class="icon" :class="[isOpen && 'rotate']" />
+ </button>
+
+ <div class="docs-toc-wrapper" :class="[isOpen && 'opened']">
+ <DocsToc @move="isOpen = false" />
+ </div>
+ </div>
+ </div>
+ </Container>
+</template>
+
+<style scoped lang="ts">
+css({
+ '.docs-page-content': {
+ position: 'relative',
+ display: 'flex',
+ flexDirection: 'column-reverse',
+ '@lg': {
+ display: 'grid',
+ gap: '{space.8}',
+ },
+ '&.has-toc': {
+ '@lg': {
+ gridTemplateColumns: 'minmax(320px, 1fr) minmax(250px, 250px)'
+ }
+ },
+ '&.has-aside': {
+ '@lg': {
+ gridTemplateColumns: 'minmax(250px, 250px) minmax(320px, 1fr)'
+ }
+ },
+ '&.has-aside.has-toc': {
+ '@lg': {
+ gridTemplateColumns: 'minmax(250px, 250px) minmax(320px, 1fr) minmax(250px, 250px)'
+ }
+ },
+ },
+ '.aside-nav': {
+ display: 'none',
+ overflowY: 'auto',
+ '@lg': {
+ display: 'block',
+ position: 'sticky',
+ top: '{docus.header.height}',
+ // gridColumn: 'span 2/span 2',
+ alignSelf: 'flex-start',
+ height: 'calc(100vh - {docus.header.height})',
+ py: '{space.8}',
+ paddingRight: '{space.8}',
+ '.fluid &&': {
+ borderRight: '1px solid {elements.border.primary.static}',
+ }
+ }
+ },
+ '.page-body': {
+ position: 'relative',
+ display: 'flex',
+ flexDirection: "column",
+ flex: '1 1 0%',
+ py: '{space.8}',
+ width: '100%',
+ // maxWidth: '{docus.readableLine}',
+ mx: 'auto',
+ '.has-toc &&': {
+ paddingTop: '{space.12}',
+ '@lg': {
+ paddingTop: '{space.8}',
+ }
+ },
+ '@lg': {
+ marginTop: 0,
+ // gridColumnStart: 2,
+ },
+ // `.not-prose` can be useful if creating <h1> with a component (404 page is an example)
+ ':deep(h1:not(.not-prose):first-child)': {
+ marginTop: 0,
+ fontSize: '{text.4xl.fontSize}',
+ lineHeight: '{text.4xl.lineHeight}',
+ '@sm': {
+ fontSize: '{text.5xl.fontSize}',
+ lineHeight: '{text.5xl.lineHeight}',
+ }
+ },
+ // `.not-prose` can be useful if creating <h1> with a component (404 page is an example)
+ ':deep(h1:not(.not-prose)first-child + p)': {
+ marginTop: 0,
+ marginBottom: '{space.8}',
+ paddingBottom: '{space.8}',
+ borderBottom: '1px solid {elements.border.primary.static}',
+ color: '{color.gray.500}',
+ '@sm': {
+ fontSize: '{text.lg.fontSize}',
+ lineHeight: '{text.lg.lineHeight}',
+ },
+ '@dark': {
+ color: '{color.gray.400}',
+ },
+ a: {
+ color: '{color.gray.700}',
+ '@dark': {
+ color: '{color.gray.200}',
+ },
+ "&:hover": {
+ borderColor: '{color.gray.700}'
+ }
+ }
+ },
+ '.docs-prev-next': {
+ marginTop: '{space.4}'
+ }
+ },
+ '.toc': {
+ position: 'sticky',
+ top: '{docus.header.height}',
+ display: 'flex',
+ mx: 'calc(0px - {space.4})',
+ overflow: 'auto',
+ borderBottom: '1px solid {elements.border.primary.static}',
+ '@sm': {
+ mx: 'calc(0px - {space.6})',
+ },
+ '@lg': {
+ mx: 0,
+ alignSelf: 'flex-start',
+ py: '{space.8}',
+ px: '{space.8}',
+ height: 'calc(100vh - {docus.header.height})',
+ maxHeight: 'none',
+ borderBottom: 'none',
+ '.fluid &&': {
+ borderLeft: '1px solid {elements.border.primary.static}',
+ }
+ },
+ '.toc-wrapper': {
+ width: '100%',
+ height: '100%',
+ backdropFilter: '{elements.backdrop.filter}',
+ backgroundColor: '{elements.backdrop.background}',
+ '@lg': {
+ backgroundColor: 'transparent',
+ backdropFilter: 'none'
+ },
+ button: {
+ display: 'flex',
+ alignItems: 'center',
+ width: '100%',
+ height: '100%',
+ py: '{space.4}',
+ px: '{space.4}',
+ '@sm': {
+ px: '{space.6}',
+ },
+ '@lg': {
+ display: 'none'
+ },
+ '.title': {
+ fontSize: '{text.sm.fontSize}',
+ lineHeight: '{text.sm.lineHeight}',
+ fontWeight: '{fontWeight.semibold}',
+ marginRight: '{space.1}',
+ },
+ '.icon': {
+ width: '{space.4}',
+ height: '{space.4}',
+ transition: 'transform 100ms',
+ '&.rotate': {
+ transform: 'rotate(90deg)'
+ }
+ }
+ },
+ '.docs-toc-wrapper': {
+ display: 'none',
+ marginBottom: '{space.4}',
+ '&.opened': {
+ display: 'block',
+ px: '{space.4}',
+ maxHeight: '50vh',
+ overflow: 'auto',
+ '@sm': {
+ px: '{space.6}',
+ },
+ '@lg': {
+ maxHeight: 'none',
+ px: 0,
+ },
+ },
+ '@lg': {
+ marginTop: 0,
+ display: 'block'
+ }
+ }
+ }
+ }
+})
+</style>
diff --git a/docs/components/docs/DocsPrevNext.vue b/docs/components/docs/DocsPrevNext.vue
new file mode 100644
index 0000000..7f68dd0
--- /dev/null
+++ b/docs/components/docs/DocsPrevNext.vue
@@ -0,0 +1,140 @@
+<script setup lang="ts">
+import { upperFirst } from 'scule'
+
+const { prev, next, navigation } = useContent()
+const { navDirFromPath } = useContentHelpers()
+
+const directory = (link: any) => {
+ const nav = navDirFromPath(link._path, navigation.value || [])
+
+ if (nav && nav[0]) {
+ return nav[0]?._path ?? ''
+ } else {
+ const dirs = link.split('/')
+ const directory = dirs.length > 1 ? dirs[dirs.length - 2] : ''
+ return directory.split('-').map(upperFirst).join(' ')
+ }
+}
+</script>
+
+<template>
+ <div v-if="prev || next" class="docs-prev-next">
+ <NuxtLink
+ v-if="prev && prev._path"
+ :to="prev._path"
+ class="prev"
+ >
+ <Icon name="heroicons-outline:arrow-sm-left" class="icon" />
+ <div class="wrapper">
+ <span v-if="directory(prev._path)" class="directory">
+ {{ directory(prev._path) }}
+ </span>
+ <span class="title">{{ prev.title }}</span>
+ </div>
+ </NuxtLink>
+
+ <span v-else />
+
+ <NuxtLink
+ v-if="next && next._path"
+ :to="next._path"
+ class="next"
+ >
+ <div class="wrapper">
+ <span v-if="directory(next._path)" class="directory">
+ {{ directory(next._path) }}
+ </span>
+ <span class="title">{{ next.title }}</span>
+ </div>
+ <Icon name="heroicons-outline:arrow-sm-right" class="icon" />
+ </NuxtLink>
+ </div>
+</template>
+
+<style scoped lang="ts">
+css({
+ '.docs-prev-next': {
+ display: 'flex',
+ flexDirection: 'column',
+ justifyContent: 'space-between',
+ gap: '{space.3}',
+ '@sm': {
+ flexDirection: 'row',
+ alignItems: 'center'
+ },
+ a: {
+ position: 'relative',
+ minWidth: '0px',
+ padding: '{space.3}',
+ border: '1px solid {elements.border.primary.static}',
+ borderRadius: '{radii.md}',
+ '&:hover': {
+ backgroundColor: '{color.gray.50}',
+ borderColor: '{color.gray.50}',
+ color: '{color.primary.500}',
+ },
+ '@dark': {
+ '&:hover': {
+ backgroundColor: '{color.gray.900}',
+ borderColor: '{color.gray.900}',
+ }
+ },
+ '&.prev': {
+ textAlign: 'left',
+ display: 'flex',
+ gap: '{space.3}',
+ '.directory': {
+ display: 'block',
+ marginBottom: '{space.1}',
+ fontSize: '{text.xs.fontSize}',
+ lineHeight: '{text.xs.lineHeight}',
+ fontWeight: '{fontWeight.medium}',
+ color: '{color.gray.500}',
+ truncate: true
+ },
+ '@sm': {
+ '.wrapper': {
+ alignItems: 'flex-end'
+ }
+ }
+ },
+ '&.next': {
+ textAlign: 'right',
+ display: 'flex',
+ justifyContent: 'flex-end',
+ gap: '{space.3}',
+ '.directory': {
+ display: 'block',
+ marginBottom: '{space.1}',
+ fontSize: '{text.xs.fontSize}',
+ lineHeight: '{text.xs.lineHeight}',
+ fontWeight: '{fontWeight.medium}',
+ color: '{color.gray.500}',
+ truncate: true
+ },
+ '@sm': {
+ '.wrapper': {
+ alignItems: 'flex-start'
+ }
+ }
+ },
+ '.wrapper': {
+ display: 'flex',
+ flexDirection: 'column',
+ },
+ '.icon': {
+ alignSelf: 'flex-end',
+ flexShrink: 0,
+ width: '{space.5}',
+ height: '{space.5}'
+ },
+ '.title': {
+ flex: '1 1 0%',
+ fontWeight: '{fontWeight.medium}',
+ lineHeight: '{lead.5}',
+ truncate: true
+ }
+ }
+ }
+})
+</style>
diff --git a/docs/components/docs/DocsToc.vue b/docs/components/docs/DocsToc.vue
new file mode 100644
index 0000000..83deb8a
--- /dev/null
+++ b/docs/components/docs/DocsToc.vue
@@ -0,0 +1,36 @@
+<script setup lang="ts">
+const { toc } = useContent()
+const emit = defineEmits(['move'])
+</script>
+
+<template>
+ <div class="docs-toc">
+ <template v-if="toc?.links?.length">
+ <div class="docs-toc-title">
+ <span>Table of Contents</span>
+ </div>
+
+ <DocsTocLinks :links="toc.links" @move="emit('move')" />
+ </template>
+ </div>
+</template>
+
+<style scoped lang="ts">
+css({
+ '.docs-toc': {
+ display: 'flex',
+ flexDirection: 'column',
+ gap: '8px',
+ '.docs-toc-title': {
+ display: 'none',
+ '@lg': {
+ display: 'block',
+ overflow: 'hidden',
+ fontSize: '{text.sm.fontSize}',
+ lineHeight: '{text.sm.lineHeight}',
+ fontWeight: '{fontWeight.semibold}'
+ }
+ }
+ }
+})
+</style>
diff --git a/docs/components/docs/DocsTocLinks.vue b/docs/components/docs/DocsTocLinks.vue
new file mode 100644
index 0000000..4ed37b7
--- /dev/null
+++ b/docs/components/docs/DocsTocLinks.vue
@@ -0,0 +1,87 @@
+<script setup lang="ts">
+import type { PropType } from 'vue'
+import type { TocLink } from '@nuxt/content/dist/runtime/types'
+
+defineProps({
+ links: {
+ type: Array as PropType<TocLink[]>,
+ default: () => []
+ }
+})
+
+const emit = defineEmits(['move'])
+
+const router = useRouter()
+
+const { activeHeadings, updateHeadings } = useScrollspy()
+
+if (process.client) {
+ setTimeout(() => {
+ updateHeadings([
+ ...document.querySelectorAll('.document-driven-page h1, .docus-content h1'),
+ ...document.querySelectorAll('.document-driven-page h2, .docus-content h2'),
+ ...document.querySelectorAll('.document-driven-page h3, .docus-content h3'),
+ ...document.querySelectorAll('.document-driven-page h4, .docus-content h4')
+ ])
+ }, 300)
+}
+
+function scrollToHeading (id: string) {
+ router.push(`#${id}`)
+ emit('move', id)
+}
+
+function childMove(id: string) {
+ emit('move', id)
+}
+</script>
+
+<template>
+ <ul class="docs-toc-links">
+ <li v-for="link in links" :key="link.text" :class="[`depth-${link.depth}`]">
+ <a
+ :href="`#${link.id}`"
+ :class="[activeHeadings.includes(link.id) && 'active']"
+ @click.prevent="scrollToHeading(link.id)"
+ >
+ {{ link.text }}
+ </a>
+ <DocsTocLinks v-if="link.children" :links="link.children" @move="childMove($event)" />
+ </li>
+ </ul>
+</template>
+
+<style scoped lang="ts">
+css({
+ '.docs-toc-links': {
+ '.depth-3': {
+ paddingLeft: '{space.3}'
+ },
+ '.depth-4': {
+ paddingLeft: '{space.6}'
+ },
+ a: {
+ display: 'block',
+ padding: '{space.1} 0',
+ fontSize: '{text.sm.fontSize}',
+ lineHeight: '{text.sm.lineHeight}',
+ color: '{color.gray.500}',
+ truncate: true,
+ '@lg': {
+ paddingRight: '{space.3}'
+ },
+ '&:not(.active):hover': {
+ color: '{color.gray.900}',
+ },
+ '@dark': {
+ '&:not(.active):hover': {
+ color: '{color.gray.400}',
+ },
+ },
+ '&.active': {
+ color: '{color.primary.500}'
+ }
+ }
+ }
+})
+</style>
diff --git a/docs/components/docs/EditOnLink.vue b/docs/components/docs/EditOnLink.vue
new file mode 100644
index 0000000..c1e7dfd
--- /dev/null
+++ b/docs/components/docs/EditOnLink.vue
@@ -0,0 +1,166 @@
+<script lang="ts">
+import { joinURL } from 'ufo'
+import type { PropType } from 'vue'
+import { computed, defineComponent, useSlots } from 'vue'
+import { useAppConfig } from '#imports'
+
+export default defineComponent({
+ props: {
+ /**
+ * Repository owner.
+ */
+ owner: {
+ type: String,
+ default: () => useAppConfig()?.docus?.github?.owner,
+ required: false
+ },
+ /**
+ * Repository name.
+ */
+ repo: {
+ type: String,
+ default: () => useAppConfig()?.docus?.github?.repo,
+ required: false
+ },
+ /**
+ * The branch to use for the edit link.
+ */
+ branch: {
+ type: String,
+ default: () => useAppConfig()?.docus?.github?.branch,
+ required: false
+ },
+ /**
+ * A base directory to append to the source path.
+ *
+ * Won't be used if `page` is set.
+ */
+ dir: {
+ type: String,
+ default: () => useAppConfig()?.docus?.github?.dir,
+ required: false
+ },
+ /**
+ * Source file path.
+ *
+ * Won't be used if `page` is set.
+ */
+ source: {
+ type: String,
+ required: false,
+ default: undefined
+ },
+ /**
+ * Use page from @nuxt/content.
+ */
+ page: {
+ type: Object as PropType<any>,
+ required: false,
+ default: undefined
+ },
+ /**
+ * Content directory (to be used with `page`)
+ */
+ contentDir: {
+ type: String,
+ required: false,
+ default: () => useAppConfig()?.docus?.github?.dir || 'content'
+ },
+ /**
+ * Send to an edit page or not.
+ */
+ edit: {
+ type: Boolean,
+ required: false,
+ default: () => useAppConfig()?.docus?.github?.edit
+ }
+ },
+ setup (props) {
+ if (!props.owner || !props.repo || !props.branch) {
+ throw new Error('If you want to use `GithubLink` component, you must specify: `owner`, `repo` and `branch`.')
+ }
+
+ const source = computed(() => {
+ let { repo, owner, branch, contentDir } = props
+ let prefix = ''
+
+ // Resolve source from content sources
+ if (useAppConfig()?.public?.content) {
+ let source
+ const { sources } = useAppConfig().public.content
+
+ for (const key in sources || []) {
+ if (props.page._id.startsWith(key)) {
+ source = sources[key]
+ break
+ }
+ }
+
+ if (source?.driver === 'github') {
+ repo = source.repo || props.repo || ''
+ owner = source.owner || props.owner || ''
+ branch = source.branch || props.branch || 'main'
+ contentDir = source.dir || props.contentDir || ''
+ prefix = source.prefix || ''
+ }
+ }
+
+ return { repo, owner, branch, contentDir, prefix }
+ })
+
+ const base = computed(() => joinURL('https://github.com', `${source.value.owner}/${source.value.repo}`))
+
+ const path = computed(() => {
+ const dirParts: string[] = []
+
+ // @nuxt/content support
+ // Create the URL from a document data.
+ if (props?.page?._path) {
+ // Use content dir
+ if (source.value.contentDir) { dirParts.push(source.value.contentDir) }
+
+ // Get page file from page data
+ dirParts.push(props.page._file.substring(source.value.prefix.length))
+
+ return dirParts
+ }
+
+ // Use props dir
+ if (props.dir) {
+ dirParts.push(props.dir)
+ }
+
+ // Use props source
+ if (props.source) {
+ dirParts.push(props.source)
+ }
+
+ return dirParts
+ })
+
+ /**
+ * Create edit link.
+ */
+ const url = computed(() => {
+ const parts = [base.value]
+
+ if (props.edit) { parts.push('edit') } else { parts.push('tree') }
+
+ parts.push(source?.value?.branch || '', ...path.value)
+
+ return parts.filter(Boolean).join('/')
+ })
+
+ return {
+ url
+ }
+ },
+ render (ctx: any) {
+ const { url } = ctx
+
+ const slots = useSlots()
+
+ return slots?.default?.({ url })
+ }
+})
+</script>
diff --git a/docs/components/docs/SourceLink.vue b/docs/components/docs/SourceLink.vue
new file mode 100644
index 0000000..7e803e0
--- /dev/null
+++ b/docs/components/docs/SourceLink.vue
@@ -0,0 +1,21 @@
+<script setup lang="ts">
+defineProps({
+ source: {
+ type: String,
+ required: true,
+ },
+})
+</script>
+
+<template>
+ <ProseP>
+ <!--
+ <GithubLink v-slot="data" :source="source" :edit="false">
+ <NuxtLink :href="data?.url" target="_blank" rel="noopener" class="hover:text-primary-500 flex items-center gap-1 text-sm font-semibold">
+ <Icon name="fa-brands:github" class="mr-1 h-5 w-5" />
+ <span>Show Source</span>
+ </NuxtLink>
+ </GithubLink>
+ -->
+ </ProseP>
+</template>
diff --git a/docs/composables/useDocSearch.ts b/docs/composables/useDocSearch.ts
new file mode 100644
index 0000000..646260d
--- /dev/null
+++ b/docs/composables/useDocSearch.ts
@@ -0,0 +1,11 @@
+export const useDocSearch = () => {
+ const { $docSearch } = useNuxtApp()
+
+ if (!$docSearch) {
+ return {
+ hasDocSearch: ref(false)
+ }
+ }
+
+ return $docSearch
+}
diff --git a/docs/composables/useDocus.ts b/docs/composables/useDocus.ts
new file mode 100644
index 0000000..f86c573
--- /dev/null
+++ b/docs/composables/useDocus.ts
@@ -0,0 +1,88 @@
+export const useDocus = () => {
+ const docus = computed(() => useAppConfig()?.docus || {})
+ const { navPageFromPath, navDirFromPath, navKeyFromPath } = useContentHelpers()
+ const { navigation, page } = useContent()
+ const route = useRoute()
+
+ /**
+ * Returns fallbacked values for `main`, `header`, `aside` and `footer`.
+ *
+ * It allows to configure `app.config` per page/_dir.
+ */
+ const config = computed(
+ () => {
+ const titleTemplate = docus?.value?.titleTemplate || navKeyFromPath(page?.value?._path, 'titleTemplate', navigation.value || []) || `%s · ${docus?.value?.title || 'Docus'}`
+ const main = docus?.value?.main || {}
+ const header = docus?.value?.header || {}
+ const aside = docus?.value?.aside || {}
+ const footer = docus?.value?.footer || {}
+
+ return {
+ // Raw appConfig
+ ...docus.value,
+
+ // Merged attributes
+ titleTemplate,
+ main: {
+ ...main,
+ ...navKeyFromPath(route.path, 'main', navigation.value || []),
+ ...page.value?.main
+ } as typeof main,
+ header: {
+ ...header,
+ ...navKeyFromPath(route.path, 'header', navigation.value || []),
+ ...page.value?.header
+ } as typeof header,
+ aside: {
+ ...aside,
+ ...navKeyFromPath(route.path, 'aside', navigation.value || []),
+ ...page.value?.aside
+ } as typeof aside,
+ footer: {
+ ...footer,
+ ...navKeyFromPath(route.path, 'footer', navigation.value || []),
+ ...page.value?.footer
+ } as typeof footer
+ }
+ }
+ )
+
+ /**
+ * Current aside tree.
+ */
+ const tree = computed(() => {
+ let nav = navigation.value || []
+ const _path = route.path
+ const level = config?.value?.aside?.level || 0
+ const filtered = config?.value?.aside?.exclude || []
+
+ if (level) {
+ // Filter if `aside.level` is enabled in docus configuration
+ const path = _path.split('/')
+
+ // Get level
+ const leveledPath = path.splice(0, 1 + level).join('/')
+
+ nav = navDirFromPath(leveledPath, nav) || []
+
+ if (!Array.isArray(nav)) { nav = [nav] }
+ }
+
+ // No navigation found; try to resolve page url
+ if (nav.length === 0) {
+ nav = navPageFromPath(page.value?._path || '/', navigation.value || [])
+
+ if (!nav) { return [] }
+
+ if (!Array.isArray(nav)) { nav = [nav] }
+ }
+
+ // Filtered using `aside.exclude` in docus configuration
+ return nav.filter((item: any) => {
+ if (filtered.includes(item._path)) { return false }
+ return true
+ })
+ })
+
+ return { tree, config }
+}
diff --git a/docs/composables/useMenu.ts b/docs/composables/useMenu.ts
new file mode 100644
index 0000000..804ddc6
--- /dev/null
+++ b/docs/composables/useMenu.ts
@@ -0,0 +1,5 @@
+export const useMenu = () => {
+ const { $menu } = useNuxtApp()
+
+ return $menu
+}
diff --git a/docs/composables/useScrollspy.ts b/docs/composables/useScrollspy.ts
new file mode 100644
index 0000000..5962d0d
--- /dev/null
+++ b/docs/composables/useScrollspy.ts
@@ -0,0 +1,39 @@
+import type { Ref } from 'vue'
+
+/**
+ * Scrollspy allows you to watch visible headings in a specific page.
+ * Useful for table of contents live style updates.
+ */
+export const useScrollspy = () => {
+ const observer = ref() as Ref<IntersectionObserver>
+ const visibleHeadings = ref([]) as Ref<string[]>
+ const activeHeadings = ref([]) as Ref<string[]>
+
+ const observerCallback = (entries: IntersectionObserverEntry[]) =>
+ entries.forEach((entry) => {
+ const id = entry.target.id
+
+ if (entry.isIntersecting) { visibleHeadings.value.push(id) } else { visibleHeadings.value = visibleHeadings.value.filter(t => t !== id) }
+ })
+
+ const updateHeadings = (headings: Element[]) =>
+ headings.forEach((heading) => {
+ observer.value.observe(heading)
+ })
+
+ watch(visibleHeadings, (val, oldVal) => {
+ if (val.length === 0) { activeHeadings.value = oldVal } else { activeHeadings.value = val }
+ }, { deep: true })
+
+ // Create intersection observer
+ onBeforeMount(() => (observer.value = new IntersectionObserver(observerCallback)))
+
+ // Destroy it
+ onBeforeUnmount(() => observer.value?.disconnect())
+
+ return {
+ visibleHeadings,
+ activeHeadings,
+ updateHeadings
+ }
+}
diff --git a/docs/layouts/default.vue b/docs/layouts/default.vue
new file mode 100644
index 0000000..c45640e
--- /dev/null
+++ b/docs/layouts/default.vue
@@ -0,0 +1,5 @@
+<template>
+ <DocsPageLayout>
+ <slot />
+ </DocsPageLayout>
+</template>
diff --git a/docs/layouts/page.vue b/docs/layouts/page.vue
new file mode 100644
index 0000000..c6168d4
--- /dev/null
+++ b/docs/layouts/page.vue
@@ -0,0 +1,26 @@
+<script setup lang="ts">
+const { config } = useDocus()
+</script>
+
+<template>
+ <div class="page-layout">
+ <Container
+ :fluid="config?.main?.fluid"
+ :padded="config?.main?.padded"
+ >
+ <article>
+ <slot />
+ </article>
+ </Container>
+ </div>
+</template>
+
+<style lang="ts" scoped>
+css({
+ '.page-layout': {
+ display: 'flex',
+ flexDirection: 'column',
+ position: 'relative'
+ }
+})
+</style>
diff --git a/docs/nuxt.config.ts b/docs/nuxt.config.ts
new file mode 100644
index 0000000..404e9c6
--- /dev/null
+++ b/docs/nuxt.config.ts
@@ -0,0 +1,75 @@
+import { createResolver, logger, defineNuxtModule } from '@nuxt/kit'
+import { $fetch } from 'ofetch'
+import { version } from './package.json'
+
+const { resolve } = createResolver(import.meta.url)
+
+// That allows to overwrite these dependencies paths via `.env` for local development
+const envModules = {
+ tokens: process?.env?.THEME_DEV_TOKENS_PATH || '@nuxt-themes/tokens',
+ elements: process?.env?.THEME_DEV_ELEMENTS_PATH || '@nuxt-themes/elements',
+ studio: process?.env?.THEME_DEV_STUDIO_PATH || '@nuxthq/studio',
+ typography: process?.env?.THEME_DEV_TYPOGRAPHY_PATH || '@nuxt-themes/typography'
+}
+
+export default defineNuxtConfig({
+ extends: [envModules.typography, envModules.elements],
+ modules: [
+ envModules.tokens,
+ envModules.studio,
+ '@nuxtjs/color-mode',
+ '@nuxt/content',
+ '@vueuse/nuxt',
+ 'nuxt-config-schema',
+ resolve('./app/module'),
+ defineNuxtModule({
+ meta: {
+ name: '@nuxt-themes/docus'
+ },
+ setup (_, nuxt) {
+ if (nuxt.options.dev) {
+ $fetch('https://registry.npmjs.org/@nuxt-themes/docus/latest').then((release) => {
+ if (release.version > version) {
+ logger.info(`A new version of Docus (v${release.version}) is available: https://github.com/nuxt-themes/docus/releases/latest`)
+ }
+ }).catch((_) => {})
+ }
+ }
+ })
+ ],
+ css: [
+ resolve('./assets/css/main.css')
+ ],
+ components: [
+ {
+ prefix: '',
+ path: resolve('./components/app'),
+ global: true
+ },
+ {
+ prefix: '',
+ path: resolve('./components/docs'),
+ global: true
+ }
+ ],
+ pinceau: {
+ studio: true
+ },
+ content: {
+ documentDriven: true,
+ highlight: {
+ theme: {
+ dark: 'github-dark',
+ default: 'github-light'
+ },
+ preload: ['json', 'js', 'ts', 'html', 'css', 'vue', 'diff', 'shell', 'markdown', 'yaml', 'bash', 'ini']
+ },
+ navigation: {
+ fields: ['icon', 'titleTemplate', 'header', 'main', 'aside', 'footer']
+ }
+ },
+ colorMode: {
+ classSuffix: '',
+ dataValue: 'theme'
+ }
+})
diff --git a/docs/nuxt.schema.ts b/docs/nuxt.schema.ts
new file mode 100644
index 0000000..bf328f1
--- /dev/null
+++ b/docs/nuxt.schema.ts
@@ -0,0 +1,293 @@
+export default defineNuxtSchema({
+ appConfig: {
+ /**
+ * Docus theme configuration.
+ *
+ * @studioIcon material-symbols:docs
+ */
+ docus: {
+ /**
+ * Website title, used as header default title and meta title.
+ *
+ * @studioIcon material-symbols:title
+ */
+ title: 'Docus',
+ /**
+ * The website title template, to overwrite the default one.
+ */
+ titleTemplate: '%s · Docus',
+ /**
+ * Website description, used for meta description.
+ *
+ * @studioIcon material-symbols:description
+ */
+ description: 'The best place to start your documentation.',
+ /**
+ * Cover image.
+ *
+ * @example '/cover.jpg'
+ *
+ * @studioIcon dashicons:cover-image
+ * @studioInput file
+ */
+ image: 'https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png',
+
+ /**
+ * Social links
+ *
+ * Will be used in AppSocialIcons component.
+ *
+ * @studioIcon material-symbols:share-outline
+ */
+ socials: {
+ /**
+ * Twitter social handle
+ * @example 'nuxt_js'
+ * @studioIcon simple-icons:twitter
+ */
+ twitter: '',
+ /**
+ * GitHub org or repository
+ * @example 'nuxt/framework'
+ * @studioIcon simple-icons:github
+ */
+ github: '',
+ /**
+ * Facebook page url
+ * @example https://www.facebook.com/groups/nuxtjs
+ * @studioIcon simple-icons:facebook
+ */
+ facebook: '',
+ /**
+ * Instagram page url
+ * @example https://www.instagram.com/wearenuxt
+ * @studioIcon simple-icons:instagram
+ */
+ instagram: '',
+ /**
+ * Instagram page url
+ * @example https://www.youtube.com/@NuxtLabs
+ * @studioIcon simple-icons:youtube
+ */
+ youtube: '',
+ /**
+ * Medium page url
+ * @example https://medium.com/nuxt
+ * @studioIcon simple-icons:medium
+ */
+ medium: ''
+ },
+
+ /**
+ * Theme layout configuration.
+ *
+ * @type {'default'|'page'}
+ * @studioIcon tabler:arrow-autofit-width
+ */
+ layout: 'default',
+
+ /**
+ * Aside navigation configuration.
+ *
+ * @studioIcon fluent:document-page-24-regular
+ */
+ aside: {
+ /**
+ * Aside navigation level
+ *
+ * Use 0 to disable all nesting.
+ * Use 1 and more to display nested navigation in header and aside navigation.
+ */
+ level: 0,
+ /**
+ * Specify if default collapsibles state globally for aside navigation.
+ */
+ collapsed: false,
+ /**
+ * Paths to be excluded from aside navigation.
+ *
+ * @type {string[]}
+ */
+ exclude: []
+ },
+
+ /**
+ * Header configuration.
+ *
+ * @studioIcon fluent:document-header-24-regular
+ */
+ header: {
+ /**
+ * Website title
+ *
+ * Title to be displayed in header or as aria-label if logo is defined.
+ *
+ * Default to docus.title
+ *
+ * @studioIcon material-symbols:title
+ */
+ title: '',
+ /**
+ * Logo configuration
+ *
+ * Boolean to disable or use the `Logo.vue` component.
+ *
+ * String to be used as a name of a component.
+ *
+ * @example 'MyLogo'
+ * @studioInput boolean
+ */
+ logo: false,
+ /**
+ * Header links
+ *
+ * Toggle links icons in the header.
+ */
+ showLinkIcon: false,
+ /**
+ * Paths to be excluded from header links.
+ *
+ * @type {string[]}
+ *
+ */
+ exclude: [],
+ /**
+ * Makes the content of the header fluid.
+ */
+ fluid: false
+ },
+
+ /**
+ * Main content configuration.
+ *
+ * @studioIcon fluent:document-header-footer-24-filled
+ */
+ main: {
+ /**
+ * Makes the content of the main container fluid.
+ */
+ fluid: false,
+ /**
+ * Makes the content of the main container padded.
+ */
+ padded: true
+ },
+
+ /**
+ * Footer configuration
+ *
+ * @studioIcon fluent:document-footer-24-regular
+ */
+ footer: {
+ /**
+ * Website credits configuration.
+ *
+ * @type {false|{icon: string, text: string, href: string}}
+ *
+ * @studioIcon material-symbols:copyright
+ */
+ credits: {
+ /**
+ * Icon to show on credits
+ * @formtype Icon
+ */
+ icon: 'IconDocus',
+ text: 'Powered by Docus',
+ href: 'https://docus.dev'
+ },
+ /**
+ * Text links
+ *
+ * Will be added into center section of the footer.
+ *
+ * @studioIcon material-symbols:add-link
+ */
+ textLinks: {
+ $schema: {
+ type: 'array',
+ items: {
+ type: 'object',
+ required: ['text', 'href'],
+ properties: {
+ href: {
+ type: 'string',
+ description: 'URL when clicking the link'
+ },
+ text: { type: 'string', description: 'Text of the link' },
+ target: { type: 'string', description: 'Target attribute of the link' }
+ }
+ }
+ }
+ },
+ /**
+ * Icon links
+ *
+ * Icons to be added to Social Icons in footer.
+ *
+ * @studioIcon material-symbols:add-link
+ */
+ iconLinks: {
+ $schema: {
+ type: 'array',
+ items: {
+ type: 'object',
+ required: ['icon', 'href'],
+ properties: {
+ icon: { type: 'string', description: 'Icon name' },
+ href: {
+ type: 'string',
+ description: 'Link when clicking on the icon'
+ },
+ label: { type: 'string', description: 'Label of the icon' }
+ }
+ }
+ }
+ },
+ /**
+ * Makes the content of the footer fluid.
+ */
+ fluid: true
+ },
+
+ /**
+ * GitHub integration
+ *
+ * Configure the Edit on Github integration.
+ *
+ * @studioIcon simple-icons:github
+ */
+ github: {
+ /**
+ * Directory
+ *
+ * Your GitHub repository root directory.
+ */
+ dir: '',
+ /**
+ * Branch
+ *
+ * Your GitHub repository branch.
+ */
+ branch: '',
+ /**
+ * Repository
+ *
+ * Your GitHub repository name.
+ */
+ repo: '',
+ /**
+ * Owner
+ *
+ * Your GitHub repository owner.
+ */
+ owner: '',
+ /**
+ * EditOnGithub
+ *
+ * Display EditOnGithub button.
+ */
+ edit: false
+ }
+ }
+ }
+})
diff --git a/docs/package.json b/docs/package.json
new file mode 100644
index 0000000..aa60304
--- /dev/null
+++ b/docs/package.json
@@ -0,0 +1,76 @@
+{
+ "name": "@nuxt-themes/docus",
+ "version": "1.10.1",
+ "type": "module",
+ "main": "./nuxt.config.ts",
+ "files": [
+ "app",
+ "assets",
+ "components",
+ "composables",
+ "layouts",
+ "plugins",
+ "nuxt.schema.ts",
+ "app.vue",
+ "app.config.ts",
+ "nuxt.config.ts",
+ "tokens.config.ts"
+ ],
+ "scripts": {
+ "prepare": "nuxi prepare && nuxi prepare .docs && nuxi prepare .playground",
+ "play": "nuxi dev .playground/",
+ "dev": "nuxi dev .docs/",
+ "build": "nuxi build .docs/",
+ "generate": "nuxi generate .docs/",
+ "preview": "nuxi preview .docs/",
+ "lint": "eslint .",
+ "release": "release-it"
+ },
+ "dependencies": {
+ "@nuxt-themes/elements": "^0.9.4",
+ "@nuxt-themes/tokens": "^1.9.1",
+ "@nuxt-themes/typography": "^0.11.0",
+ "@nuxt/content": "^2.5.2",
+ "@nuxthq/studio": "^0.10.1",
+ "@vueuse/nuxt": "^9.13.0"
+ },
+ "devDependencies": {
+ "@algolia/client-search": "^4.17.0",
+ "@docsearch/css": "^3.3.3",
+ "@docsearch/js": "^3.3.3",
+ "@nuxt/devtools": "^0.3.1",
+ "@nuxtjs/algolia": "^1.5.1",
+ "@nuxtjs/eslint-config-typescript": "^12.0.0",
+ "@nuxtjs/plausible": "^0.2.0",
+ "eslint": "^8.37.0",
+ "nuxt": "3.3.3",
+ "release-it": "^15.10.1",
+ "typescript": "^5.0.3",
+ "vue": "^3.2.47"
+ },
+ "pnpm": {
+ "peerDependencyRules": {
+ "allowedVersions": {
+ "axios": "0.25.0"
+ },
+ "ignoreMissing": [
+ "postcss",
+ "postcss-*",
+ "webpack",
+ "axios"
+ ]
+ }
+ },
+ "release-it": {
+ "npm": {
+ "access": "public"
+ },
+ "git": {
+ "commitMessage": "chore(release): release v${version}"
+ },
+ "github": {
+ "release": true,
+ "releaseName": "v${version}"
+ }
+ }
+}
diff --git a/docs/plugins/menu.ts b/docs/plugins/menu.ts
new file mode 100644
index 0000000..82512c3
--- /dev/null
+++ b/docs/plugins/menu.ts
@@ -0,0 +1,48 @@
+export default defineNuxtPlugin((ctx: any) => {
+ // Menu visible reference
+ const visible = ref(false)
+
+ // Open the menu
+ const open = () => (visible.value = true)
+
+ // Close the menu
+ const close = () => (visible.value = false)
+
+ // Toggle the menu (useful for one-off buttons)
+ const toggle = () => (visible.value = !visible.value)
+
+ // Watch route change, close on change
+ ctx.$router.afterEach(() => setTimeout(close, 50))
+
+ // Watch visible and remove overflow so the scrollbar disappears when menu is opened
+ if (process.client) {
+ watch(
+ visible,
+ (isVisible) => {
+ const html = document.documentElement
+
+ if (isVisible) {
+ html.style.overflow = 'hidden'
+ } else {
+ setTimeout(() => {
+ html.style.overflow = ''
+ }, 100) /* had to put it, because of layout shift on leave transition */
+ }
+ },
+ {
+ immediate: true
+ }
+ )
+ }
+
+ return {
+ provide: {
+ menu: {
+ visible,
+ close,
+ open,
+ toggle
+ }
+ }
+ }
+})
diff --git a/docs/plugins/scrollbars.client.ts b/docs/plugins/scrollbars.client.ts
new file mode 100644
index 0000000..d1078cf
--- /dev/null
+++ b/docs/plugins/scrollbars.client.ts
@@ -0,0 +1,5 @@
+export default defineNuxtPlugin(() => {
+ if (navigator && navigator.userAgent && navigator.userAgent.match(/Win[a-z0-9]*;/)) {
+ document.documentElement.classList.add('docus-scrollbars')
+ }
+})
diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml
new file mode 100644
index 0000000..8e42230
--- /dev/null
+++ b/docs/pnpm-lock.yaml
@@ -0,0 +1,10177 @@
+lockfileVersion: 5.4
+
+specifiers:
+ '@algolia/client-search': ^4.17.0
+ '@docsearch/css': ^3.3.3
+ '@docsearch/js': ^3.3.3
+ '@nuxt-themes/elements': ^0.9.4
+ '@nuxt-themes/tokens': ^1.9.1
+ '@nuxt-themes/typography': ^0.11.0
+ '@nuxt/content': ^2.5.2
+ '@nuxt/devtools': ^0.3.1
+ '@nuxthq/studio': ^0.10.1
+ '@nuxtjs/algolia': ^1.5.1
+ '@nuxtjs/eslint-config-typescript': ^12.0.0
+ '@nuxtjs/plausible': ^0.2.0
+ '@vueuse/nuxt': ^9.13.0
+ eslint: ^8.37.0
+ nuxt: 3.3.3
+ release-it: ^15.10.1
+ typescript: ^5.0.3
+ vue: ^3.2.47
+
+dependencies:
+ '@nuxt-themes/elements': 0.9.4_vue@3.2.47
+ '@nuxt-themes/tokens': 1.9.1_vue@3.2.47
+ '@nuxt-themes/typography': 0.11.0_vue@3.2.47
+ '@nuxt/content': 2.5.2
+ '@nuxthq/studio': 0.10.1
+ '@vueuse/nuxt': 9.13.0_nuxt@3.3.3+vue@3.2.47
+
+devDependencies:
+ '@algolia/client-search': 4.17.0
+ '@docsearch/css': 3.3.3
+ '@docsearch/js': 3.3.3_rurrd674gzxmsn4o6mrapg6sje
+ '@nuxt/devtools': 0.3.1_nuxt@3.3.3
+ '@nuxtjs/algolia': 1.5.1_vue@3.2.47
+ '@nuxtjs/eslint-config-typescript': 12.0.0_vwh6htx42aidho2qgfca5u5rwm
+ '@nuxtjs/plausible': 0.2.0
+ eslint: 8.37.0
+ nuxt: 3.3.3_vwh6htx42aidho2qgfca5u5rwm
+ release-it: 15.10.1
+ typescript: 5.0.3
+ vue: 3.2.47
+
+packages:
+
+ /@algolia/autocomplete-core/1.7.4:
+ resolution: {integrity: sha512-daoLpQ3ps/VTMRZDEBfU8ixXd+amZcNJ4QSP3IERGyzqnL5Ch8uSRFt/4G8pUvW9c3o6GA4vtVv4I4lmnkdXyg==}
+ dependencies:
+ '@algolia/autocomplete-shared': 1.7.4
+ dev: true
+
+ /@algolia/autocomplete-preset-algolia/1.7.4_slqhrehefpn47bfjvmiz4bdfs4:
+ resolution: {integrity: sha512-s37hrvLEIfcmKY8VU9LsAXgm2yfmkdHT3DnA3SgHaY93yjZ2qL57wzb5QweVkYuEBZkT2PIREvRoLXC2sxTbpQ==}
+ peerDependencies:
+ '@algolia/client-search': '>= 4.9.1 < 6'
+ algoliasearch: '>= 4.9.1 < 6'
+ dependencies:
+ '@algolia/autocomplete-shared': 1.7.4
+ '@algolia/client-search': 4.17.0
+ algoliasearch: 4.17.0
+ dev: true
+
+ /@algolia/autocomplete-shared/1.7.4:
+ resolution: {integrity: sha512-2VGCk7I9tA9Ge73Km99+Qg87w0wzW4tgUruvWAn/gfey1ZXgmxZtyIRBebk35R1O8TbK77wujVtCnpsGpRy1kg==}
+ dev: true
+
+ /@algolia/cache-browser-local-storage/4.17.0:
+ resolution: {integrity: sha512-myRSRZDIMYB8uCkO+lb40YKiYHi0fjpWRtJpR/dgkaiBlSD0plRyB6lLOh1XIfmMcSeBOqDE7y9m8xZMrXYfyQ==}
+ dependencies:
+ '@algolia/cache-common': 4.17.0
+ dev: true
+
+ /@algolia/cache-common/4.17.0:
+ resolution: {integrity: sha512-g8mXzkrcUBIPZaulAuqE7xyHhLAYAcF2xSch7d9dABheybaU3U91LjBX6eJTEB7XVhEsgK4Smi27vWtAJRhIKQ==}
+ dev: true
+
+ /@algolia/cache-in-memory/4.17.0:
+ resolution: {integrity: sha512-PT32ciC/xI8z919d0oknWVu3kMfTlhQn3MKxDln3pkn+yA7F7xrxSALysxquv+MhFfNAcrtQ/oVvQVBAQSHtdw==}
+ dependencies:
+ '@algolia/cache-common': 4.17.0
+ dev: true
+
+ /@algolia/client-account/4.17.0:
+ resolution: {integrity: sha512-sSEHx9GA6m7wrlsSMNBGfyzlIfDT2fkz2u7jqfCCd6JEEwmxt8emGmxAU/0qBfbhRSuGvzojoLJlr83BSZAKjA==}
+ dependencies:
+ '@algolia/client-common': 4.17.0
+ '@algolia/client-search': 4.17.0
+ '@algolia/transporter': 4.17.0
+ dev: true
+
+ /@algolia/client-analytics/4.17.0:
+ resolution: {integrity: sha512-84ooP8QA3mQ958hQ9wozk7hFUbAO+81CX1CjAuerxBqjKIInh1fOhXKTaku05O/GHBvcfExpPLIQuSuLYziBXQ==}
+ dependencies:
+ '@algolia/client-common': 4.17.0
+ '@algolia/client-search': 4.17.0
+ '@algolia/requester-common': 4.17.0
+ '@algolia/transporter': 4.17.0
+ dev: true
+
+ /@algolia/client-common/4.17.0:
+ resolution: {integrity: sha512-jHMks0ZFicf8nRDn6ma8DNNsdwGgP/NKiAAL9z6rS7CymJ7L0+QqTJl3rYxRW7TmBhsUH40wqzmrG6aMIN/DrQ==}
+ dependencies:
+ '@algolia/requester-common': 4.17.0
+ '@algolia/transporter': 4.17.0
+ dev: true
+
+ /@algolia/client-personalization/4.17.0:
+ resolution: {integrity: sha512-RMzN4dZLIta1YuwT7QC9o+OeGz2cU6eTOlGNE/6RcUBLOU3l9tkCOdln5dPE2jp8GZXPl2yk54b2nSs1+pAjqw==}
+ dependencies:
+ '@algolia/client-common': 4.17.0
+ '@algolia/requester-common': 4.17.0
+ '@algolia/transporter': 4.17.0
+ dev: true
+
+ /@algolia/client-search/4.17.0:
+ resolution: {integrity: sha512-x4P2wKrrRIXszT8gb7eWsMHNNHAJs0wE7/uqbufm4tZenAp+hwU/hq5KVsY50v+PfwM0LcDwwn/1DroujsTFoA==}
+ dependencies:
+ '@algolia/client-common': 4.17.0
+ '@algolia/requester-common': 4.17.0
+ '@algolia/transporter': 4.17.0
+ dev: true
+
+ /@algolia/events/4.0.1:
+ resolution: {integrity: sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==}
+ dev: true
+
+ /@algolia/logger-common/4.17.0:
+ resolution: {integrity: sha512-DGuoZqpTmIKJFDeyAJ7M8E/LOenIjWiOsg1XJ1OqAU/eofp49JfqXxbfgctlVZVmDABIyOz8LqEoJ6ZP4DTyvw==}
+ dev: true
+
+ /@algolia/logger-console/4.17.0:
+ resolution: {integrity: sha512-zMPvugQV/gbXUvWBCzihw6m7oxIKp48w37QBIUu/XqQQfxhjoOE9xyfJr1KldUt5FrYOKZJVsJaEjTsu+bIgQg==}
+ dependencies:
+ '@algolia/logger-common': 4.17.0
+ dev: true
+
+ /@algolia/recommend/4.17.0:
+ resolution: {integrity: sha512-f9qTtoPLpjVwo/2gOuXP7JSGCxnNZDG9DOo1IH2FzgtNZFcuNv6Tbd+jaCl4pFCXvedReNXHfxRQnuj2pF4lsQ==}
+ dependencies:
+ '@algolia/cache-browser-local-storage': 4.17.0
+ '@algolia/cache-common': 4.17.0
+ '@algolia/cache-in-memory': 4.17.0
+ '@algolia/client-common': 4.17.0
+ '@algolia/client-search': 4.17.0
+ '@algolia/logger-common': 4.17.0
+ '@algolia/logger-console': 4.17.0
+ '@algolia/requester-browser-xhr': 4.17.0
+ '@algolia/requester-common': 4.17.0
+ '@algolia/requester-node-http': 4.17.0
+ '@algolia/transporter': 4.17.0
+ dev: true
+
+ /@algolia/requester-browser-xhr/4.17.0:
+ resolution: {integrity: sha512-aSOX/smauyTkP21Pf52pJ1O2LmNFJ5iHRIzEeTh0mwBeADO4GdG94cAWDILFA9rNblq/nK3EDh3+UyHHjplZ1A==}
+ dependencies:
+ '@algolia/requester-common': 4.17.0
+ dev: true
+
+ /@algolia/requester-common/4.17.0:
+ resolution: {integrity: sha512-XJjmWFEUlHu0ijvcHBoixuXfEoiRUdyzQM6YwTuB8usJNIgShua8ouFlRWF8iCeag0vZZiUm4S2WCVBPkdxFgg==}
+ dev: true
+
+ /@algolia/requester-node-http/4.17.0:
+ resolution: {integrity: sha512-bpb/wDA1aC6WxxM8v7TsFspB7yBN3nqCGs2H1OADolQR/hiAIjAxusbuMxVbRFOdaUvAIqioIIkWvZdpYNIn8w==}
+ dependencies:
+ '@algolia/requester-common': 4.17.0
+ dev: true
+
+ /@algolia/transporter/4.17.0:
+ resolution: {integrity: sha512-6xL6H6fe+Fi0AEP3ziSgC+G04RK37iRb4uUUqVAH9WPYFI8g+LYFq6iv5HS8Cbuc5TTut+Bwj6G+dh/asdb9uA==}
+ dependencies:
+ '@algolia/cache-common': 4.17.0
+ '@algolia/logger-common': 4.17.0
+ '@algolia/requester-common': 4.17.0
+ dev: true
+
+ /@algolia/ui-components-highlight-vdom/1.2.1:
+ resolution: {integrity: sha512-IlYgIaCUEkz9ezNbwugwKv991oOHhveyq6nzL0F1jDzg1p3q5Yj/vO4KpNG910r2dwGCG3nEm5GtChcLnarhFA==}
+ dependencies:
+ '@algolia/ui-components-shared': 1.2.1
+ '@babel/runtime': 7.21.0
+ dev: true
+
+ /@algolia/ui-components-shared/1.2.1:
+ resolution: {integrity: sha512-a7mYHf/GVQfhAx/HRiMveKkFvHspQv/REdG+C/FIOosiSmNZxX7QebDwJkrGSmDWdXO12D0Qv1xn3AytFcEDlQ==}
+ 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.18
+
+ /@antfu/utils/0.7.2:
+ resolution: {integrity: sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==}
+ dev: true
+
+ /@babel/code-frame/7.21.4:
+ resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/highlight': 7.18.6
+
+ /@babel/compat-data/7.21.4:
+ resolution: {integrity: sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==}
+ engines: {node: '>=6.9.0'}
+
+ /@babel/core/7.21.4:
+ resolution: {integrity: sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@ampproject/remapping': 2.2.1
+ '@babel/code-frame': 7.21.4
+ '@babel/generator': 7.21.4
+ '@babel/helper-compilation-targets': 7.21.4_@babel+core@7.21.4
+ '@babel/helper-module-transforms': 7.21.2
+ '@babel/helpers': 7.21.0
+ '@babel/parser': 7.21.4
+ '@babel/template': 7.20.7
+ '@babel/traverse': 7.21.4
+ '@babel/types': 7.21.4
+ convert-source-map: 1.9.0
+ debug: 4.3.4
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.0
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/generator/7.21.4:
+ resolution: {integrity: sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.21.4
+ '@jridgewell/gen-mapping': 0.3.3
+ '@jridgewell/trace-mapping': 0.3.18
+ jsesc: 2.5.2
+
+ /@babel/helper-annotate-as-pure/7.18.6:
+ resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.21.4
+
+ /@babel/helper-compilation-targets/7.21.4_@babel+core@7.21.4:
+ resolution: {integrity: sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/compat-data': 7.21.4
+ '@babel/core': 7.21.4
+ '@babel/helper-validator-option': 7.21.0
+ browserslist: 4.21.5
+ lru-cache: 5.1.1
+ semver: 6.3.0
+
+ /@babel/helper-create-class-features-plugin/7.21.4_@babel+core@7.21.4:
+ resolution: {integrity: sha512-46QrX2CQlaFRF4TkwfTt6nJD7IHq8539cCL7SDpqWSDeJKY1xylKKY5F/33mJhLZ3mFvKv2gGrVS6NkyF6qs+Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-annotate-as-pure': 7.18.6
+ '@babel/helper-environment-visitor': 7.18.9
+ '@babel/helper-function-name': 7.21.0
+ '@babel/helper-member-expression-to-functions': 7.21.0
+ '@babel/helper-optimise-call-expression': 7.18.6
+ '@babel/helper-replace-supers': 7.20.7
+ '@babel/helper-skip-transparent-expression-wrappers': 7.20.0
+ '@babel/helper-split-export-declaration': 7.18.6
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/helper-environment-visitor/7.18.9:
+ resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==}
+ engines: {node: '>=6.9.0'}
+
+ /@babel/helper-function-name/7.21.0:
+ resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/template': 7.20.7
+ '@babel/types': 7.21.4
+
+ /@babel/helper-hoist-variables/7.18.6:
+ resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.21.4
+
+ /@babel/helper-member-expression-to-functions/7.21.0:
+ resolution: {integrity: sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.21.4
+
+ /@babel/helper-module-imports/7.21.4:
+ resolution: {integrity: sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.21.4
+
+ /@babel/helper-module-transforms/7.21.2:
+ resolution: {integrity: sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-environment-visitor': 7.18.9
+ '@babel/helper-module-imports': 7.21.4
+ '@babel/helper-simple-access': 7.20.2
+ '@babel/helper-split-export-declaration': 7.18.6
+ '@babel/helper-validator-identifier': 7.19.1
+ '@babel/template': 7.20.7
+ '@babel/traverse': 7.21.4
+ '@babel/types': 7.21.4
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/helper-optimise-call-expression/7.18.6:
+ resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.21.4
+
+ /@babel/helper-plugin-utils/7.20.2:
+ resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==}
+ engines: {node: '>=6.9.0'}
+
+ /@babel/helper-replace-supers/7.20.7:
+ resolution: {integrity: sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-environment-visitor': 7.18.9
+ '@babel/helper-member-expression-to-functions': 7.21.0
+ '@babel/helper-optimise-call-expression': 7.18.6
+ '@babel/template': 7.20.7
+ '@babel/traverse': 7.21.4
+ '@babel/types': 7.21.4
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/helper-simple-access/7.20.2:
+ resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.21.4
+
+ /@babel/helper-skip-transparent-expression-wrappers/7.20.0:
+ resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.21.4
+
+ /@babel/helper-split-export-declaration/7.18.6:
+ resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.21.4
+
+ /@babel/helper-string-parser/7.19.4:
+ resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==}
+ 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'}
+
+ /@babel/helper-validator-option/7.21.0:
+ resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==}
+ engines: {node: '>=6.9.0'}
+
+ /@babel/helpers/7.21.0:
+ resolution: {integrity: sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/template': 7.20.7
+ '@babel/traverse': 7.21.4
+ '@babel/types': 7.21.4
+ transitivePeerDependencies:
+ - supports-color
+
+ /@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
+
+ /@babel/parser/7.21.4:
+ resolution: {integrity: sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+ dependencies:
+ '@babel/types': 7.21.4
+
+ /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.21.4:
+ resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
+ /@babel/plugin-syntax-jsx/7.21.4_@babel+core@7.21.4:
+ resolution: {integrity: sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-syntax-typescript/7.21.4_@babel+core@7.21.4:
+ resolution: {integrity: sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-transform-typescript/7.21.3_@babel+core@7.21.4:
+ resolution: {integrity: sha512-RQxPz6Iqt8T0uw/WsJNReuBpWpBqs/n7mNo18sKLoTbMp+UrEekhH+pKSVC7gWz+DNjo9gryfV8YzCiT45RgMw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/helper-annotate-as-pure': 7.18.6
+ '@babel/helper-create-class-features-plugin': 7.21.4_@babel+core@7.21.4
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-typescript': 7.21.4_@babel+core@7.21.4
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/runtime/7.21.0:
+ resolution: {integrity: sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ regenerator-runtime: 0.13.11
+ dev: true
+
+ /@babel/standalone/7.21.4:
+ resolution: {integrity: sha512-Rw4nGqH/iyVeYxARKcz7iGP+njkPsVqJ45TmXMONoGoxooWjXCAs+CUcLeAZdBGCLqgaPvHKCYvIaDT2Iq+KfA==}
+ engines: {node: '>=6.9.0'}
+
+ /@babel/template/7.20.7:
+ resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/code-frame': 7.21.4
+ '@babel/parser': 7.21.4
+ '@babel/types': 7.21.4
+
+ /@babel/traverse/7.21.4:
+ resolution: {integrity: sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/code-frame': 7.21.4
+ '@babel/generator': 7.21.4
+ '@babel/helper-environment-visitor': 7.18.9
+ '@babel/helper-function-name': 7.21.0
+ '@babel/helper-hoist-variables': 7.18.6
+ '@babel/helper-split-export-declaration': 7.18.6
+ '@babel/parser': 7.21.4
+ '@babel/types': 7.21.4
+ debug: 4.3.4
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/types/7.21.4:
+ resolution: {integrity: sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-string-parser': 7.19.4
+ '@babel/helper-validator-identifier': 7.19.1
+ to-fast-properties: 2.0.0
+
+ /@cloudflare/kv-asset-handler/0.3.0:
+ resolution: {integrity: sha512-9CB/MKf/wdvbfkUdfrj+OkEwZ5b7rws0eogJ4293h+7b6KX5toPwym+VQKmILafNB9YiehqY0DlNrDcDhdWHSQ==}
+ dependencies:
+ mime: 3.0.0
+
+ /@csstools/cascade-layer-name-parser/1.0.1_eu5cdbcexitnvbdq5yia3g22um:
+ resolution: {integrity: sha512-SAAi5DpgJJWkfTvWSaqkgyIsTawa83hMwKrktkj6ra2h+q6ZN57vOGZ6ySHq6RSo+CbP64fA3aPChPBRDDUgtw==}
+ engines: {node: ^14 || ^16 || >=18}
+ peerDependencies:
+ '@csstools/css-parser-algorithms': ^2.0.0
+ '@csstools/css-tokenizer': ^2.0.0
+ dependencies:
+ '@csstools/css-parser-algorithms': 2.1.0_5vzy4lghjvuzkedkkk4tqwjftm
+ '@csstools/css-tokenizer': 2.1.0
+ dev: false
+
+ /@csstools/css-parser-algorithms/2.1.0_5vzy4lghjvuzkedkkk4tqwjftm:
+ resolution: {integrity: sha512-KP8TicdXpUyeB1NMlbHud/1l39xvLGvqNFWMpG4qC6H1zs9SadGUHe5SO92n/659sDW9aGDvm9AMru0DZkN1Bw==}
+ engines: {node: ^14 || ^16 || >=18}
+ peerDependencies:
+ '@csstools/css-tokenizer': ^2.0.0
+ dependencies:
+ '@csstools/css-tokenizer': 2.1.0
+ dev: false
+
+ /@csstools/css-tokenizer/2.1.0:
+ resolution: {integrity: sha512-dtqFyoJBHUxGi9zPZdpCKP1xk8tq6KPHJ/NY4qWXiYo6IcSGwzk3L8x2XzZbbyOyBs9xQARoGveU2AsgLj6D2A==}
+ engines: {node: ^14 || ^16 || >=18}
+ dev: false
+
+ /@docsearch/css/3.3.3:
+ resolution: {integrity: sha512-6SCwI7P8ao+se1TUsdZ7B4XzL+gqeQZnBc+2EONZlcVa0dVrk0NjETxozFKgMv0eEGH8QzP1fkN+A1rH61l4eg==}
+ dev: true
+
+ /@docsearch/js/3.3.3_rurrd674gzxmsn4o6mrapg6sje:
+ resolution: {integrity: sha512-2xAv2GFuHzzmG0SSZgf8wHX0qZX8n9Y1ZirKUk5Wrdc+vH9CL837x2hZIUdwcPZI9caBA+/CzxsS68O4waYjUQ==}
+ dependencies:
+ '@docsearch/react': 3.3.3_rurrd674gzxmsn4o6mrapg6sje
+ preact: 10.13.2
+ transitivePeerDependencies:
+ - '@algolia/client-search'
+ - '@types/react'
+ - react
+ - react-dom
+ dev: true
+
+ /@docsearch/react/3.3.3_rurrd674gzxmsn4o6mrapg6sje:
+ resolution: {integrity: sha512-pLa0cxnl+G0FuIDuYlW+EBK6Rw2jwLw9B1RHIeS4N4s2VhsfJ/wzeCi3CWcs5yVfxLd5ZK50t//TMA5e79YT7Q==}
+ peerDependencies:
+ '@types/react': '>= 16.8.0 < 19.0.0'
+ react: '>= 16.8.0 < 19.0.0'
+ react-dom: '>= 16.8.0 < 19.0.0'
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ react:
+ optional: true
+ react-dom:
+ optional: true
+ dependencies:
+ '@algolia/autocomplete-core': 1.7.4
+ '@algolia/autocomplete-preset-algolia': 1.7.4_slqhrehefpn47bfjvmiz4bdfs4
+ '@docsearch/css': 3.3.3
+ algoliasearch: 4.17.0
+ transitivePeerDependencies:
+ - '@algolia/client-search'
+ dev: true
+
+ /@esbuild-kit/cjs-loader/2.4.2:
+ resolution: {integrity: sha512-BDXFbYOJzT/NBEtp71cvsrGPwGAMGRB/349rwKuoxNSiKjPraNNnlK6MIIabViCjqZugu6j+xeMDlEkWdHHJSg==}
+ dependencies:
+ '@esbuild-kit/core-utils': 3.1.0
+ get-tsconfig: 4.5.0
+ dev: true
+
+ /@esbuild-kit/core-utils/3.1.0:
+ resolution: {integrity: sha512-Uuk8RpCg/7fdHSceR1M6XbSZFSuMrxcePFuGgyvsBn+u339dk5OeL4jv2EojwTN2st/unJGsVm4qHWjWNmJ/tw==}
+ dependencies:
+ esbuild: 0.17.15
+ source-map-support: 0.5.21
+ dev: true
+
+ /@esbuild-kit/esm-loader/2.5.5:
+ resolution: {integrity: sha512-Qwfvj/qoPbClxCRNuac1Du01r9gvNOT+pMYtJDapfB1eoGN1YlJ1BixLyL9WVENRx5RXgNLdfYdx/CuswlGhMw==}
+ dependencies:
+ '@esbuild-kit/core-utils': 3.1.0
+ get-tsconfig: 4.5.0
+ dev: true
+
+ /@esbuild/android-arm/0.17.15:
+ resolution: {integrity: sha512-sRSOVlLawAktpMvDyJIkdLI/c/kdRTOqo8t6ImVxg8yT7LQDUYV5Rp2FKeEosLr6ZCja9UjYAzyRSxGteSJPYg==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/android-arm64/0.17.15:
+ resolution: {integrity: sha512-0kOB6Y7Br3KDVgHeg8PRcvfLkq+AccreK///B4Z6fNZGr/tNHX0z2VywCc7PTeWp+bPvjA5WMvNXltHw5QjAIA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/android-x64/0.17.15:
+ resolution: {integrity: sha512-MzDqnNajQZ63YkaUWVl9uuhcWyEyh69HGpMIrf+acR4otMkfLJ4sUCxqwbCyPGicE9dVlrysI3lMcDBjGiBBcQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/darwin-arm64/0.17.15:
+ resolution: {integrity: sha512-7siLjBc88Z4+6qkMDxPT2juf2e8SJxmsbNVKFY2ifWCDT72v5YJz9arlvBw5oB4W/e61H1+HDB/jnu8nNg0rLA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/darwin-x64/0.17.15:
+ resolution: {integrity: sha512-NbImBas2rXwYI52BOKTW342Tm3LTeVlaOQ4QPZ7XuWNKiO226DisFk/RyPk3T0CKZkKMuU69yOvlapJEmax7cg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/freebsd-arm64/0.17.15:
+ resolution: {integrity: sha512-Xk9xMDjBVG6CfgoqlVczHAdJnCs0/oeFOspFap5NkYAmRCT2qTn1vJWA2f419iMtsHSLm+O8B6SLV/HlY5cYKg==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/freebsd-x64/0.17.15:
+ resolution: {integrity: sha512-3TWAnnEOdclvb2pnfsTWtdwthPfOz7qAfcwDLcfZyGJwm1SRZIMOeB5FODVhnM93mFSPsHB9b/PmxNNbSnd0RQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-arm/0.17.15:
+ resolution: {integrity: sha512-MLTgiXWEMAMr8nmS9Gigx43zPRmEfeBfGCwxFQEMgJ5MC53QKajaclW6XDPjwJvhbebv+RzK05TQjvH3/aM4Xw==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-arm64/0.17.15:
+ resolution: {integrity: sha512-T0MVnYw9KT6b83/SqyznTs/3Jg2ODWrZfNccg11XjDehIved2oQfrX/wVuev9N936BpMRaTR9I1J0tdGgUgpJA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-ia32/0.17.15:
+ resolution: {integrity: sha512-wp02sHs015T23zsQtU4Cj57WiteiuASHlD7rXjKUyAGYzlOKDAjqK6bk5dMi2QEl/KVOcsjwL36kD+WW7vJt8Q==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-loong64/0.17.15:
+ resolution: {integrity: sha512-k7FsUJjGGSxwnBmMh8d7IbObWu+sF/qbwc+xKZkBe/lTAF16RqxRCnNHA7QTd3oS2AfGBAnHlXL67shV5bBThQ==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-mips64el/0.17.15:
+ resolution: {integrity: sha512-ZLWk6czDdog+Q9kE/Jfbilu24vEe/iW/Sj2d8EVsmiixQ1rM2RKH2n36qfxK4e8tVcaXkvuV3mU5zTZviE+NVQ==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-ppc64/0.17.15:
+ resolution: {integrity: sha512-mY6dPkIRAiFHRsGfOYZC8Q9rmr8vOBZBme0/j15zFUKM99d4ILY4WpOC7i/LqoY+RE7KaMaSfvY8CqjJtuO4xg==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-riscv64/0.17.15:
+ resolution: {integrity: sha512-EcyUtxffdDtWjjwIH8sKzpDRLcVtqANooMNASO59y+xmqqRYBBM7xVLQhqF7nksIbm2yHABptoioS9RAbVMWVA==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-s390x/0.17.15:
+ resolution: {integrity: sha512-BuS6Jx/ezxFuHxgsfvz7T4g4YlVrmCmg7UAwboeyNNg0OzNzKsIZXpr3Sb/ZREDXWgt48RO4UQRDBxJN3B9Rbg==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-x64/0.17.15:
+ resolution: {integrity: sha512-JsdS0EgEViwuKsw5tiJQo9UdQdUJYuB+Mf6HxtJSPN35vez1hlrNb1KajvKWF5Sa35j17+rW1ECEO9iNrIXbNg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/netbsd-x64/0.17.15:
+ resolution: {integrity: sha512-R6fKjtUysYGym6uXf6qyNephVUQAGtf3n2RCsOST/neIwPqRWcnc3ogcielOd6pT+J0RDR1RGcy0ZY7d3uHVLA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/openbsd-x64/0.17.15:
+ resolution: {integrity: sha512-mVD4PGc26b8PI60QaPUltYKeSX0wxuy0AltC+WCTFwvKCq2+OgLP4+fFd+hZXzO2xW1HPKcytZBdjqL6FQFa7w==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/sunos-x64/0.17.15:
+ resolution: {integrity: sha512-U6tYPovOkw3459t2CBwGcFYfFRjivcJJc1WC8Q3funIwX8x4fP+R6xL/QuTPNGOblbq/EUDxj9GU+dWKX0oWlQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/win32-arm64/0.17.15:
+ resolution: {integrity: sha512-W+Z5F++wgKAleDABemiyXVnzXgvRFs+GVKThSI+mGgleLWluv0D7Diz4oQpgdpNzh4i2nNDzQtWbjJiqutRp6Q==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/win32-ia32/0.17.15:
+ resolution: {integrity: sha512-Muz/+uGgheShKGqSVS1KsHtCyEzcdOn/W/Xbh6H91Etm+wiIfwZaBn1W58MeGtfI8WA961YMHFYTthBdQs4t+w==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/win32-x64/0.17.15:
+ resolution: {integrity: sha512-DjDa9ywLUUmjhV2Y9wUTIF+1XsmuFGvZoCmOWkli1XcNAh5t25cc7fgsCx4Zi/Uurep3TTLyDiKATgGEg61pkA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ optional: true
+
+ /@eslint-community/eslint-utils/4.4.0_eslint@8.37.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.37.0
+ eslint-visitor-keys: 3.4.0
+
+ /@eslint-community/regexpp/4.5.0:
+ resolution: {integrity: sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==}
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+
+ /@eslint/eslintrc/2.0.2:
+ resolution: {integrity: sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ ajv: 6.12.6
+ debug: 4.3.4
+ espree: 9.5.1
+ globals: 13.20.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
+
+ /@eslint/js/8.37.0:
+ resolution: {integrity: sha512-x5vzdtOOGgFVDCUs81QRB2+liax8rFg3+7hqM+QhBG0/G3F1ZsoYl97UrqgHgQ9KKT7G6c4V+aTUCgu/n22v1A==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ /@gar/promisify/1.1.3:
+ resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==}
+ dev: true
+
+ /@humanwhocodes/config-array/0.11.8:
+ resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==}
+ engines: {node: '>=10.10.0'}
+ dependencies:
+ '@humanwhocodes/object-schema': 1.2.1
+ debug: 4.3.4
+ minimatch: 3.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ /@humanwhocodes/module-importer/1.0.1:
+ resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
+ engines: {node: '>=12.22'}
+
+ /@humanwhocodes/object-schema/1.2.1:
+ resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
+
+ /@iarna/toml/2.2.5:
+ resolution: {integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==}
+ dev: true
+
+ /@iconify/types/2.0.0:
+ resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
+ dev: false
+
+ /@iconify/vue/4.1.1_vue@3.2.47:
+ resolution: {integrity: sha512-RL85Bm/DAe8y6rT6pux7D2FJSiUEM/TPfyK7GrbAOfTSwrhvwJW+S5yijdGcmtXouA8MtuH9C7l4hiSE4mLMjg==}
+ peerDependencies:
+ vue: '>=3'
+ dependencies:
+ '@iconify/types': 2.0.0
+ vue: 3.2.47
+ dev: false
+
+ /@ioredis/commands/1.2.0:
+ resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==}
+
+ /@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.18
+
+ /@jridgewell/resolve-uri/3.1.0:
+ resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==}
+ 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.3:
+ resolution: {integrity: sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==}
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.3
+ '@jridgewell/trace-mapping': 0.3.18
+
+ /@jridgewell/sourcemap-codec/1.4.14:
+ resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
+
+ /@jridgewell/sourcemap-codec/1.4.15:
+ resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
+
+ /@jridgewell/trace-mapping/0.3.18:
+ resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==}
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.0
+ '@jridgewell/sourcemap-codec': 1.4.14
+
+ /@mapbox/node-pre-gyp/1.0.10:
+ resolution: {integrity: sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==}
+ hasBin: true
+ dependencies:
+ detect-libc: 2.0.1
+ https-proxy-agent: 5.0.1
+ make-dir: 3.1.0
+ node-fetch: 2.6.9
+ nopt: 5.0.0
+ npmlog: 5.0.1
+ rimraf: 3.0.2
+ semver: 7.3.8
+ tar: 6.1.13
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+
+ /@netlify/functions/1.4.0:
+ resolution: {integrity: sha512-gy7ULTIRroc2/jyFVGx1djCmmBMVisIwrvkqggq5B6iDcInRSy2Tpkm+V5C63hKJVkNRskKWtLQKm9ecCaQTjA==}
+ engines: {node: '>=8.3.0'}
+ dependencies:
+ is-promise: 4.0.0
+
+ /@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
+
+ /@nodelib/fs.stat/2.0.5:
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
+ engines: {node: '>= 8'}
+
+ /@nodelib/fs.walk/1.2.8:
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
+ engines: {node: '>= 8'}
+ dependencies:
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.15.0
+
+ /@npmcli/fs/2.1.2:
+ resolution: {integrity: sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==}
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ dependencies:
+ '@gar/promisify': 1.1.3
+ semver: 7.3.8
+ 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.3.8
+ dev: true
+
+ /@npmcli/git/4.0.4:
+ resolution: {integrity: sha512-5yZghx+u5M47LghaybLCkdSyFzV/w4OuH12d96HO389Ik9CDsLaDZJVynSGGVJOLn6gy/k7Dz5XYcplM3uxXRg==}
+ 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.1
+ proc-log: 3.0.0
+ promise-inflight: 1.0.1
+ promise-retry: 2.0.1
+ semver: 7.3.8
+ which: 3.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.0
+ dev: true
+
+ /@npmcli/move-file/2.0.1:
+ resolution: {integrity: sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==}
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ deprecated: This functionality has been moved to @npmcli/fs
+ dependencies:
+ mkdirp: 1.0.4
+ rimraf: 3.0.2
+ 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/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.0
+ dev: true
+
+ /@npmcli/run-script/6.0.0:
+ resolution: {integrity: sha512-ql+AbRur1TeOdl1FY+RAwGW9fcr4ZwiVKabdvm93mujGREVuVLbdkXRJDrkTXSdCjaxYydr1wlA2v67jxWG5BQ==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ dependencies:
+ '@npmcli/node-gyp': 3.0.0
+ '@npmcli/promise-spawn': 6.0.2
+ node-gyp: 9.3.1
+ read-package-json-fast: 3.0.2
+ which: 3.0.0
+ transitivePeerDependencies:
+ - bluebird
+ - supports-color
+ dev: true
+
+ /@nuxt-themes/elements/0.9.4_vue@3.2.47:
+ resolution: {integrity: sha512-d7XgHc/gjMpre26+N76APL1vlnQHiZTOk61GC4I/ZYQuioSfoKuoIP+Ixrr0QgM22j4MRBtAaBnDAg1wRJrDCQ==}
+ dependencies:
+ '@nuxt-themes/tokens': 1.9.1_vue@3.2.47
+ '@vueuse/core': 9.13.0_vue@3.2.47
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - postcss
+ - rollup
+ - sass
+ - supports-color
+ - vue
+ dev: false
+
+ /@nuxt-themes/tokens/1.9.1_vue@3.2.47:
+ resolution: {integrity: sha512-5C28kfRvKnTX8Tux+xwyaf+2pxKgQ53dC9l6C33sZwRRyfUJulGDZCFjKbuNq4iqVwdGvkFSQBYBYjFAv6t75g==}
+ dependencies:
+ '@nuxtjs/color-mode': 3.2.0
+ '@vueuse/core': 9.13.0_vue@3.2.47
+ pinceau: 0.18.8
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - postcss
+ - rollup
+ - sass
+ - supports-color
+ - vue
+ dev: false
+
+ /@nuxt-themes/typography/0.11.0_vue@3.2.47:
+ resolution: {integrity: sha512-TqyvD7sDWnqGmL00VtuI7JdmNTPL5/g957HCAWNzcNp+S20uJjW/FXSdkM76d4JSVDHvBqw7Wer3RsqVhqvA4w==}
+ dependencies:
+ '@nuxtjs/color-mode': 3.2.0
+ nuxt-config-schema: 0.4.5
+ nuxt-icon: 0.3.3_vue@3.2.47
+ pinceau: 0.18.8
+ ufo: 1.1.1
+ transitivePeerDependencies:
+ - postcss
+ - rollup
+ - sass
+ - supports-color
+ - vue
+ dev: false
+
+ /@nuxt/content/2.5.2:
+ resolution: {integrity: sha512-bSO4g2aNk7AT5abAIJtHLTN+FZFYMvwP6MH9oP6XAo/SsIowvFq7g38in3jK/OMDR+dZq3Nt1z8GrMDGipzsfQ==}
+ dependencies:
+ '@nuxt/kit': 3.2.3
+ consola: 2.15.3
+ defu: 6.1.2
+ destr: 1.2.2
+ detab: 3.0.2
+ json5: 2.2.3
+ knitwork: 1.0.0
+ listhen: 1.0.4
+ mdast-util-to-hast: 12.3.0
+ mdurl: 1.0.1
+ ohash: 1.0.0
+ pathe: 1.1.0
+ property-information: 6.2.0
+ rehype-external-links: 2.0.1
+ rehype-raw: 6.1.1
+ rehype-slug: 5.1.0
+ rehype-sort-attribute-values: 4.0.0
+ rehype-sort-attributes: 4.0.0
+ remark-emoji: 3.1.1
+ remark-gfm: 3.0.1
+ remark-mdc: 1.1.3
+ remark-parse: 10.0.1
+ remark-rehype: 10.1.0
+ remark-squeeze-paragraphs: 5.0.1
+ scule: 1.0.0
+ shiki-es: 0.2.0
+ slugify: 1.6.6
+ socket.io-client: 4.6.1
+ ufo: 1.1.1
+ unified: 10.1.2
+ unist-builder: 3.0.1
+ unist-util-position: 4.0.4
+ unist-util-visit: 4.1.2
+ unstorage: 1.4.1
+ ws: 8.13.0
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@planetscale/database'
+ - bufferutil
+ - rollup
+ - supports-color
+ - utf-8-validate
+ dev: false
+
+ /@nuxt/devalue/2.0.0:
+ resolution: {integrity: sha512-YBI/6o2EBz02tdEJRBK8xkt3zvOFOWlLBf7WKYGBsSYSRtjjgrqPe2skp6VLLmKx5WbHHDNcW+6oACaurxGzeA==}
+
+ /@nuxt/devtools-kit/0.3.1_nuxt@3.3.3:
+ resolution: {integrity: sha512-gelZwJugVEikSwrFR/FjxNCxdZ54DltzdF55Eo5/xzPES1Cqiet0wLr4f21jQ7OY879SsRaWDU+VYgHYwWgoJQ==}
+ peerDependencies:
+ nuxt: ^3.3.1
+ vite: '*'
+ dependencies:
+ '@nuxt/kit': 3.3.3
+ '@nuxt/schema': 3.3.3
+ execa: 7.1.1
+ nuxt: 3.3.3_vwh6htx42aidho2qgfca5u5rwm
+ transitivePeerDependencies:
+ - rollup
+ - supports-color
+ dev: true
+
+ /@nuxt/devtools/0.3.1_nuxt@3.3.3:
+ resolution: {integrity: sha512-3lz7947VEhosxS0YqdvY+uy9vip1rIXy6gKxvVFdlbBqWVv6YSm97YC8jQIkVGfKzGleV6T8JeB/am10uFzBdQ==}
+ hasBin: true
+ peerDependencies:
+ nuxt: ^3.3.1
+ vite: '*'
+ dependencies:
+ '@nuxt/devtools-kit': 0.3.1_nuxt@3.3.3
+ '@nuxt/kit': 3.3.3
+ birpc: 0.2.11
+ consola: 2.15.3
+ execa: 7.1.1
+ fast-glob: 3.2.12
+ h3: 1.6.4
+ hookable: 5.5.3
+ image-meta: 0.1.1
+ is-installed-globally: 0.4.0
+ launch-editor: 2.6.0
+ local-pkg: 0.4.3
+ nuxt: 3.3.3_vwh6htx42aidho2qgfca5u5rwm
+ pacote: 15.1.1
+ pathe: 1.1.0
+ pkg-types: 1.0.2
+ rc9: 2.1.0
+ unimport: 3.0.6
+ vite-plugin-inspect: 0.7.19
+ vite-plugin-vue-inspector: 3.4.0
+ transitivePeerDependencies:
+ - bluebird
+ - rollup
+ - supports-color
+ dev: true
+
+ /@nuxt/kit/3.2.3:
+ resolution: {integrity: sha512-wcsVlQLwGkh1cRhAFWHc3uYHdIxFTRNdRUzNyfqoX9DL0Fuga3K75q/PBY0xg1viA9R6F5BMPhc7KDLSWbXtWg==}
+ engines: {node: ^14.18.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0}
+ dependencies:
+ '@nuxt/schema': 3.2.3
+ c12: 1.2.0
+ consola: 2.15.3
+ defu: 6.1.2
+ globby: 13.1.3
+ hash-sum: 2.0.0
+ ignore: 5.2.4
+ jiti: 1.18.2
+ knitwork: 1.0.0
+ lodash.template: 4.5.0
+ mlly: 1.2.0
+ pathe: 1.1.0
+ pkg-types: 1.0.2
+ scule: 1.0.0
+ semver: 7.3.8
+ unctx: 2.1.2
+ unimport: 2.2.4
+ untyped: 1.3.2
+ transitivePeerDependencies:
+ - rollup
+ - supports-color
+ dev: false
+
+ /@nuxt/kit/3.3.3:
+ resolution: {integrity: sha512-8ql3DweT1BNOCM6mmP8st+33NCAHHvmQuOS6Q75kXMZ6Ygqv06hxp5slpLXpT1ZOEoM+vzfkjO2lJ3rnjWYC4Q==}
+ engines: {node: ^14.18.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0}
+ dependencies:
+ '@nuxt/schema': 3.3.3
+ c12: 1.2.0
+ consola: 2.15.3
+ defu: 6.1.2
+ globby: 13.1.3
+ hash-sum: 2.0.0
+ ignore: 5.2.4
+ jiti: 1.18.2
+ knitwork: 1.0.0
+ lodash.template: 4.5.0
+ mlly: 1.2.0
+ pathe: 1.1.0
+ pkg-types: 1.0.2
+ scule: 1.0.0
+ semver: 7.3.8
+ unctx: 2.1.2
+ unimport: 3.0.6
+ untyped: 1.3.2
+ transitivePeerDependencies:
+ - rollup
+ - supports-color
+
+ /@nuxt/schema/3.2.3:
+ resolution: {integrity: sha512-AXzRnBivCwn5RpNFWjUkvOPGPSHl5BM+6GfOpSNglPXi0tiQJ+rawSl7no7BkxGDmQ44Bx9AXwvHTrgjpcuo4g==}
+ engines: {node: ^14.18.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0}
+ dependencies:
+ c12: 1.2.0
+ create-require: 1.1.1
+ defu: 6.1.2
+ hookable: 5.5.3
+ jiti: 1.18.2
+ pathe: 1.1.0
+ pkg-types: 1.0.2
+ postcss-import-resolver: 2.0.0
+ scule: 1.0.0
+ std-env: 3.3.2
+ ufo: 1.1.1
+ unimport: 2.2.4
+ untyped: 1.3.2
+ transitivePeerDependencies:
+ - rollup
+ - supports-color
+ dev: false
+
+ /@nuxt/schema/3.3.3:
+ resolution: {integrity: sha512-OxedDFqBJG8bfTEDOH5hVbQLXpFpSmBOM/oC6J4dTqM2GiWxYJysML5Lo7FPSMqFkTtgxVmd75bp+DRPE5XzWA==}
+ engines: {node: ^14.18.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0}
+ dependencies:
+ c12: 1.2.0
+ create-require: 1.1.1
+ defu: 6.1.2
+ hookable: 5.5.3
+ jiti: 1.18.2
+ pathe: 1.1.0
+ pkg-types: 1.0.2
+ postcss-import-resolver: 2.0.0
+ scule: 1.0.0
+ std-env: 3.3.2
+ ufo: 1.1.1
+ unimport: 3.0.6
+ untyped: 1.3.2
+ transitivePeerDependencies:
+ - rollup
+ - supports-color
+
+ /@nuxt/telemetry/2.1.10:
+ resolution: {integrity: sha512-FOsfC0i6Ix66M/ZlWV/095JIdfnRR9CRbFvBSpojt2CpbwU1pGMbRiicwYg2f1Wf27LXQRNpNn1OczruBfEWag==}
+ hasBin: true
+ dependencies:
+ '@nuxt/kit': 3.3.3
+ chalk: 5.2.0
+ ci-info: 3.8.0
+ consola: 2.15.3
+ create-require: 1.1.1
+ defu: 6.1.2
+ destr: 1.2.2
+ dotenv: 16.0.3
+ fs-extra: 10.1.0
+ git-url-parse: 13.1.0
+ inquirer: 9.1.5
+ is-docker: 3.0.0
+ jiti: 1.18.2
+ mri: 1.2.0
+ nanoid: 4.0.2
+ node-fetch: 3.3.1
+ ofetch: 1.0.1
+ parse-git-config: 3.0.0
+ rc9: 2.1.0
+ std-env: 3.3.2
+ transitivePeerDependencies:
+ - rollup
+ - supports-color
+
+ /@nuxt/ui-templates/1.1.1:
+ resolution: {integrity: sha512-PjVETP7+iZXAs5Q8O4ivl4t6qjWZMZqwiTVogUXHoHGZZcw7GZW3u3tzfYfE1HbzyYJfr236IXqQ02MeR8Fz2w==}
+
+ /@nuxt/vite-builder/3.3.3_jku7zo3jiqilurtsy7ee3rsame:
+ resolution: {integrity: sha512-SQA8kb7WN4/DzeBtyolAT8SKb0ViP0CVRUAaTv3OTwsE06pz1jpBLJug58Gfhta+VOhWlqwgI6ZtFiOR7gzQUA==}
+ engines: {node: ^14.18.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0}
+ peerDependencies:
+ vue: ^3.2.47
+ dependencies:
+ '@nuxt/kit': 3.3.3
+ '@rollup/plugin-replace': 5.0.2
+ '@vitejs/plugin-vue': 4.1.0_vite@4.2.1+vue@3.2.47
+ '@vitejs/plugin-vue-jsx': 3.0.1_vite@4.2.1+vue@3.2.47
+ autoprefixer: 10.4.14_postcss@8.4.21
+ chokidar: 3.5.3
+ clear: 0.1.0
+ cssnano: 6.0.0_postcss@8.4.21
+ defu: 6.1.2
+ esbuild: 0.17.15
+ escape-string-regexp: 5.0.0
+ estree-walker: 3.0.3
+ externality: 1.0.0
+ fs-extra: 11.1.1
+ get-port-please: 3.0.1
+ h3: 1.6.4
+ knitwork: 1.0.0
+ magic-string: 0.30.0
+ mlly: 1.2.0
+ ohash: 1.0.0
+ pathe: 1.1.0
+ perfect-debounce: 0.1.3
+ pkg-types: 1.0.2
+ postcss: 8.4.21
+ postcss-import: 15.1.0_postcss@8.4.21
+ postcss-url: 10.1.3_postcss@8.4.21
+ rollup-plugin-visualizer: 5.9.0
+ std-env: 3.3.2
+ strip-literal: 1.0.1
+ ufo: 1.1.1
+ unplugin: 1.3.1
+ vite: 4.2.1
+ vite-node: 0.29.8
+ vite-plugin-checker: 0.5.6_f5nufr4or4t7h35md6hcbavw34
+ vue: 3.2.47
+ vue-bundle-renderer: 1.0.3
+ transitivePeerDependencies:
+ - '@types/node'
+ - eslint
+ - less
+ - meow
+ - optionator
+ - rollup
+ - sass
+ - stylelint
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ - typescript
+ - vls
+ - vti
+ - vue-tsc
+
+ /@nuxthq/studio/0.10.1:
+ resolution: {integrity: sha512-EWzk3HkE6QuiqVxqZ7jsAc/8GxSDKRO+jnTBv1wlOAvPKJNPsHrlYGP8EyR6S1NaB3pQTJ9iVBhmskAtrKIsYQ==}
+ dependencies:
+ '@nuxt/kit': 3.3.3
+ defu: 6.1.2
+ nuxt-component-meta: 0.5.1
+ nuxt-config-schema: 0.4.5
+ socket.io-client: 4.6.1
+ ufo: 1.1.1
+ transitivePeerDependencies:
+ - bufferutil
+ - rollup
+ - supports-color
+ - utf-8-validate
+ dev: false
+
+ /@nuxtjs/algolia/1.5.1_vue@3.2.47:
+ resolution: {integrity: sha512-2NDUin07egwU/tggZ8KkvQdOJ8oPPTGzT+jARsQDwPzB9BDTUeESaSEAt3XVBqy3u57dRe7ewyRfxk8LZQfPVA==}
+ dependencies:
+ '@algolia/cache-in-memory': 4.17.0
+ '@algolia/recommend': 4.17.0
+ '@nuxt/kit': 3.3.3
+ algoliasearch: 4.17.0
+ instantsearch.css: 7.4.5
+ metadata-scraper: 0.2.61
+ rollup-plugin-node-polyfills: 0.2.1
+ storyblok-algolia-indexer: 1.1.0
+ vue-instantsearch: 4.8.9_sgca3xkoalmjpwv3g2coomurxu
+ transitivePeerDependencies:
+ - '@vue/server-renderer'
+ - debug
+ - rollup
+ - supports-color
+ - vue
+ - vue-server-renderer
+ dev: true
+
+ /@nuxtjs/color-mode/3.2.0:
+ resolution: {integrity: sha512-isDR01yfadopiHQ/VEVUpyNSPrk5PCjUHS4t1qYRZwuRGefU4s9Iaxf6H9nmr1QFzoMgTm+3T0r/54jLwtpZbA==}
+ dependencies:
+ '@nuxt/kit': 3.3.3
+ lodash.template: 4.5.0
+ pathe: 1.1.0
+ transitivePeerDependencies:
+ - rollup
+ - supports-color
+ dev: false
+
+ /@nuxtjs/eslint-config-typescript/12.0.0_vwh6htx42aidho2qgfca5u5rwm:
+ resolution: {integrity: sha512-HJR0ho5MYuOCFjkL+eMX/VXbUwy36J12DUMVy+dj3Qz1GYHwX92Saxap3urFzr8oPkzzFiuOknDivfCeRBWakg==}
+ peerDependencies:
+ eslint: ^8.23.0
+ dependencies:
+ '@nuxtjs/eslint-config': 12.0.0_lzketmck77f3sl4imublpv5fl4
+ '@typescript-eslint/eslint-plugin': 5.57.1_jwd5v5vphzanfmajybkjq25ld4
+ '@typescript-eslint/parser': 5.57.1_vwh6htx42aidho2qgfca5u5rwm
+ eslint: 8.37.0
+ eslint-import-resolver-typescript: 3.5.5_4wzvscwbknflmpsta4jffpzvoi
+ eslint-plugin-import: 2.27.5_lzketmck77f3sl4imublpv5fl4
+ eslint-plugin-vue: 9.10.0_eslint@8.37.0
+ transitivePeerDependencies:
+ - eslint-import-resolver-node
+ - eslint-import-resolver-webpack
+ - supports-color
+ - typescript
+ dev: true
+
+ /@nuxtjs/eslint-config/12.0.0_lzketmck77f3sl4imublpv5fl4:
+ resolution: {integrity: sha512-ewenelo75x0eYEUK+9EBXjc/OopQCvdkmYmlZuoHq5kub/vtiRpyZ/autppwokpHUq8tiVyl2ejMakoiHiDTrg==}
+ peerDependencies:
+ eslint: ^8.23.0
+ dependencies:
+ eslint: 8.37.0
+ eslint-config-standard: 17.0.0_ed26cu7hf3bvb66klim2omkahq
+ eslint-plugin-import: 2.27.5_lzketmck77f3sl4imublpv5fl4
+ eslint-plugin-n: 15.7.0_eslint@8.37.0
+ eslint-plugin-node: 11.1.0_eslint@8.37.0
+ eslint-plugin-promise: 6.1.1_eslint@8.37.0
+ eslint-plugin-unicorn: 44.0.2_eslint@8.37.0
+ eslint-plugin-vue: 9.10.0_eslint@8.37.0
+ local-pkg: 0.4.3
+ transitivePeerDependencies:
+ - '@typescript-eslint/parser'
+ - eslint-import-resolver-typescript
+ - eslint-import-resolver-webpack
+ - supports-color
+ dev: true
+
+ /@nuxtjs/plausible/0.2.0:
+ resolution: {integrity: sha512-mke+eW94PCca7zK0kNpNA9ULat5JCrBP2JUCmas6ZKpskU3+IaBv2OzWYzWJb/SsungfV9a/dukKbjAJeBTzhQ==}
+ dependencies:
+ '@nuxt/kit': 3.3.3
+ defu: 6.1.2
+ pathe: 1.1.0
+ plausible-tracker: 0.3.8
+ transitivePeerDependencies:
+ - rollup
+ - supports-color
+ dev: true
+
+ /@octokit/auth-token/3.0.3:
+ resolution: {integrity: sha512-/aFM2M4HVDBT/jjDBa84sJniv1t9Gm/rLkalaz9htOm+L+8JMj1k9w0CkUdcxNyNxZPlTxKPVko+m1VlM58ZVA==}
+ engines: {node: '>= 14'}
+ dependencies:
+ '@octokit/types': 9.0.0
+ dev: true
+
+ /@octokit/core/4.2.0:
+ resolution: {integrity: sha512-AgvDRUg3COpR82P7PBdGZF/NNqGmtMq2NiPqeSsDIeCfYFOZ9gddqWNQHnFdEUf+YwOj4aZYmJnlPp7OXmDIDg==}
+ engines: {node: '>= 14'}
+ dependencies:
+ '@octokit/auth-token': 3.0.3
+ '@octokit/graphql': 5.0.5
+ '@octokit/request': 6.2.3
+ '@octokit/request-error': 3.0.3
+ '@octokit/types': 9.0.0
+ before-after-hook: 2.2.3
+ universal-user-agent: 6.0.0
+ transitivePeerDependencies:
+ - encoding
+ dev: true
+
+ /@octokit/endpoint/7.0.5:
+ resolution: {integrity: sha512-LG4o4HMY1Xoaec87IqQ41TQ+glvIeTKqfjkCEmt5AIwDZJwQeVZFIEYXrYY6yLwK+pAScb9Gj4q+Nz2qSw1roA==}
+ engines: {node: '>= 14'}
+ dependencies:
+ '@octokit/types': 9.0.0
+ is-plain-object: 5.0.0
+ universal-user-agent: 6.0.0
+ dev: true
+
+ /@octokit/graphql/5.0.5:
+ resolution: {integrity: sha512-Qwfvh3xdqKtIznjX9lz2D458r7dJPP8l6r4GQkIdWQouZwHQK0mVT88uwiU2bdTU2OtT1uOlKpRciUWldpG0yQ==}
+ engines: {node: '>= 14'}
+ dependencies:
+ '@octokit/request': 6.2.3
+ '@octokit/types': 9.0.0
+ universal-user-agent: 6.0.0
+ transitivePeerDependencies:
+ - encoding
+ dev: true
+
+ /@octokit/openapi-types/16.0.0:
+ resolution: {integrity: sha512-JbFWOqTJVLHZSUUoF4FzAZKYtqdxWu9Z5m2QQnOyEa04fOFljvyh7D3GYKbfuaSWisqehImiVIMG4eyJeP5VEA==}
+ dev: true
+
+ /@octokit/plugin-paginate-rest/6.0.0_@octokit+core@4.2.0:
+ resolution: {integrity: sha512-Sq5VU1PfT6/JyuXPyt04KZNVsFOSBaYOAq2QRZUwzVlI10KFvcbUo8lR258AAQL1Et60b0WuVik+zOWKLuDZxw==}
+ engines: {node: '>= 14'}
+ peerDependencies:
+ '@octokit/core': '>=4'
+ dependencies:
+ '@octokit/core': 4.2.0
+ '@octokit/types': 9.0.0
+ dev: true
+
+ /@octokit/plugin-request-log/1.0.4_@octokit+core@4.2.0:
+ resolution: {integrity: sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==}
+ peerDependencies:
+ '@octokit/core': '>=3'
+ dependencies:
+ '@octokit/core': 4.2.0
+ dev: true
+
+ /@octokit/plugin-rest-endpoint-methods/7.0.1_@octokit+core@4.2.0:
+ resolution: {integrity: sha512-pnCaLwZBudK5xCdrR823xHGNgqOzRnJ/mpC/76YPpNP7DybdsJtP7mdOwh+wYZxK5jqeQuhu59ogMI4NRlBUvA==}
+ engines: {node: '>= 14'}
+ peerDependencies:
+ '@octokit/core': '>=3'
+ dependencies:
+ '@octokit/core': 4.2.0
+ '@octokit/types': 9.0.0
+ deprecation: 2.3.1
+ dev: true
+
+ /@octokit/request-error/3.0.3:
+ resolution: {integrity: sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==}
+ engines: {node: '>= 14'}
+ dependencies:
+ '@octokit/types': 9.0.0
+ deprecation: 2.3.1
+ once: 1.4.0
+ dev: true
+
+ /@octokit/request/6.2.3:
+ resolution: {integrity: sha512-TNAodj5yNzrrZ/VxP+H5HiYaZep0H3GU0O7PaF+fhDrt8FPrnkei9Aal/txsN/1P7V3CPiThG0tIvpPDYUsyAA==}
+ engines: {node: '>= 14'}
+ dependencies:
+ '@octokit/endpoint': 7.0.5
+ '@octokit/request-error': 3.0.3
+ '@octokit/types': 9.0.0
+ is-plain-object: 5.0.0
+ node-fetch: 2.6.9
+ universal-user-agent: 6.0.0
+ transitivePeerDependencies:
+ - encoding
+ dev: true
+
+ /@octokit/rest/19.0.7:
+ resolution: {integrity: sha512-HRtSfjrWmWVNp2uAkEpQnuGMJsu/+dBr47dRc5QVgsCbnIc1+GFEaoKBWkYG+zjrsHpSqcAElMio+n10c0b5JA==}
+ engines: {node: '>= 14'}
+ dependencies:
+ '@octokit/core': 4.2.0
+ '@octokit/plugin-paginate-rest': 6.0.0_@octokit+core@4.2.0
+ '@octokit/plugin-request-log': 1.0.4_@octokit+core@4.2.0
+ '@octokit/plugin-rest-endpoint-methods': 7.0.1_@octokit+core@4.2.0
+ transitivePeerDependencies:
+ - encoding
+ dev: true
+
+ /@octokit/types/9.0.0:
+ resolution: {integrity: sha512-LUewfj94xCMH2rbD5YJ+6AQ4AVjFYTgpp6rboWM5T7N3IsIF65SBEOVcYMGAEzO/kKNiNaW4LoWtoThOhH06gw==}
+ dependencies:
+ '@octokit/openapi-types': 16.0.0
+ dev: true
+
+ /@pkgr/utils/2.3.1:
+ resolution: {integrity: sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==}
+ engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
+ dependencies:
+ cross-spawn: 7.0.3
+ is-glob: 4.0.3
+ open: 8.4.2
+ picocolors: 1.0.0
+ tiny-glob: 0.2.9
+ tslib: 2.5.0
+ dev: true
+
+ /@pnpm/config.env-replace/1.1.0:
+ resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==}
+ engines: {node: '>=12.22.0'}
+ dev: true
+
+ /@pnpm/network.ca-file/1.0.2:
+ resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==}
+ engines: {node: '>=12.22.0'}
+ dependencies:
+ graceful-fs: 4.2.10
+ dev: true
+
+ /@pnpm/npm-conf/2.1.1:
+ resolution: {integrity: sha512-yfRcuupmxxeDOSxvw4g+wFCrGiPD0L32f5WMzqMXp7Rl93EOCdFiDcaSNnZ10Up9GdNqkj70UTa8hfhPFphaZA==}
+ engines: {node: '>=12'}
+ dependencies:
+ '@pnpm/config.env-replace': 1.1.0
+ '@pnpm/network.ca-file': 1.0.2
+ config-chain: 1.1.13
+ dev: true
+
+ /@polka/url/1.0.0-next.21:
+ resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==}
+ dev: true
+
+ /@rollup/plugin-alias/4.0.4_rollup@3.20.2:
+ resolution: {integrity: sha512-0CaAY238SMtYAWEXXptWSR8iz8NYZnH7zNBKuJ14xFJSGwLtPgjvXYsoApAHfzYXXH1ejxpVw7WlHss3zhh9SQ==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ rollup: 3.20.2
+ slash: 4.0.0
+
+ /@rollup/plugin-commonjs/24.0.1_rollup@3.20.2:
+ resolution: {integrity: sha512-15LsiWRZk4eOGqvrJyu3z3DaBu5BhXIMeWnijSRvd8irrrg9SHpQ1pH+BUK4H6Z9wL9yOxZJMTLU+Au86XHxow==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^2.68.0||^3.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@rollup/pluginutils': 5.0.2_rollup@3.20.2
+ commondir: 1.0.1
+ estree-walker: 2.0.2
+ glob: 8.1.0
+ is-reference: 1.2.1
+ magic-string: 0.27.0
+ rollup: 3.20.2
+
+ /@rollup/plugin-inject/5.0.3_rollup@3.20.2:
+ resolution: {integrity: sha512-411QlbL+z2yXpRWFXSmw/teQRMkXcAAC8aYTemc15gwJRpvEVDQwoe+N/HTFD8RFG8+88Bme9DK2V9CVm7hJdA==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@rollup/pluginutils': 5.0.2_rollup@3.20.2
+ estree-walker: 2.0.2
+ magic-string: 0.27.0
+ rollup: 3.20.2
+
+ /@rollup/plugin-json/6.0.0_rollup@3.20.2:
+ resolution: {integrity: sha512-i/4C5Jrdr1XUarRhVu27EEwjt4GObltD7c+MkCIpO2QIbojw8MUs+CCTqOphQi3Qtg1FLmYt+l+6YeoIf51J7w==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@rollup/pluginutils': 5.0.2_rollup@3.20.2
+ rollup: 3.20.2
+
+ /@rollup/plugin-node-resolve/15.0.2_rollup@3.20.2:
+ resolution: {integrity: sha512-Y35fRGUjC3FaurG722uhUuG8YHOJRJQbI6/CkbRkdPotSpDj9NtIN85z1zrcyDcCQIW4qp5mgG72U+gJ0TAFEg==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^2.78.0||^3.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@rollup/pluginutils': 5.0.2_rollup@3.20.2
+ '@types/resolve': 1.20.2
+ deepmerge: 4.3.1
+ is-builtin-module: 3.2.1
+ is-module: 1.0.0
+ resolve: 1.22.2
+ rollup: 3.20.2
+
+ /@rollup/plugin-replace/5.0.2:
+ resolution: {integrity: sha512-M9YXNekv/C/iHHK+cvORzfRYfPbq0RDD8r0G+bMiTXjNGKulPnCT9O3Ss46WfhI6ZOCgApOP7xAdmCQJ+U2LAA==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@rollup/pluginutils': 5.0.2
+ magic-string: 0.27.0
+
+ /@rollup/plugin-replace/5.0.2_rollup@3.20.2:
+ resolution: {integrity: sha512-M9YXNekv/C/iHHK+cvORzfRYfPbq0RDD8r0G+bMiTXjNGKulPnCT9O3Ss46WfhI6ZOCgApOP7xAdmCQJ+U2LAA==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@rollup/pluginutils': 5.0.2_rollup@3.20.2
+ magic-string: 0.27.0
+ rollup: 3.20.2
+
+ /@rollup/plugin-terser/0.4.0_rollup@3.20.2:
+ resolution: {integrity: sha512-Ipcf3LPNerey1q9ZMjiaWHlNPEHNU/B5/uh9zXLltfEQ1lVSLLeZSgAtTPWGyw8Ip1guOeq+mDtdOlEj/wNxQw==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^2.x || ^3.x
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ rollup: 3.20.2
+ serialize-javascript: 6.0.1
+ smob: 0.0.6
+ terser: 5.16.8
+
+ /@rollup/plugin-wasm/6.1.2_rollup@3.20.2:
+ resolution: {integrity: sha512-YdrQ7zfnZ54Y+6raCev3tR1PrhQGxYKSTajGylhyP0oBacouuNo6KcNCk+pYKw9M98jxRWLFFca/udi76IDXzg==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ rollup: 3.20.2
+
+ /@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
+
+ /@rollup/pluginutils/5.0.2:
+ resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@types/estree': 1.0.0
+ estree-walker: 2.0.2
+ picomatch: 2.3.1
+
+ /@rollup/pluginutils/5.0.2_rollup@3.20.2:
+ resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@types/estree': 1.0.0
+ estree-walker: 2.0.2
+ picomatch: 2.3.1
+ rollup: 3.20.2
+
+ /@sigstore/protobuf-specs/0.1.0:
+ resolution: {integrity: sha512-a31EnjuIDSX8IXBUib3cYLDRlPMU36AWX4xS8ysLaNu4ZzUesDiPt83pgrW2X1YLMe5L2HbDyaKK5BrL4cNKaQ==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ dev: true
+
+ /@sindresorhus/is/4.6.0:
+ resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /@sindresorhus/is/5.3.0:
+ resolution: {integrity: sha512-CX6t4SYQ37lzxicAqsBtxA3OseeoVrh9cSJ5PFYam0GksYlupRfy1A+Q4aYD3zvcfECLc0zO2u+ZnR2UYKvCrw==}
+ engines: {node: '>=14.16'}
+ dev: true
+
+ /@socket.io/component-emitter/3.1.0:
+ resolution: {integrity: sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==}
+ dev: false
+
+ /@szmarczak/http-timer/4.0.6:
+ resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==}
+ engines: {node: '>=10'}
+ dependencies:
+ defer-to-connect: 2.0.1
+ dev: true
+
+ /@szmarczak/http-timer/5.0.1:
+ resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==}
+ engines: {node: '>=14.16'}
+ dependencies:
+ defer-to-connect: 2.0.1
+ dev: true
+
+ /@tootallnate/once/1.1.2:
+ resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==}
+ engines: {node: '>= 6'}
+ dev: true
+
+ /@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'}
+
+ /@tufjs/models/1.0.1:
+ resolution: {integrity: sha512-AY0VoG/AXdlSOocuREfPoEW4SNhOPp/7fw6mpAxfVIny1uZ+0fEtMoCi7NhELSlqQIRLMu7RgfKhkxT+AJ+EXg==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ dependencies:
+ minimatch: 7.4.5
+ dev: true
+
+ /@types/cacheable-request/6.0.3:
+ resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==}
+ dependencies:
+ '@types/http-cache-semantics': 4.0.1
+ '@types/keyv': 3.1.4
+ '@types/node': 18.15.11
+ '@types/responselike': 1.0.0
+ dev: true
+
+ /@types/debug/4.1.7:
+ resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==}
+ dependencies:
+ '@types/ms': 0.7.31
+ dev: false
+
+ /@types/dom-speech-recognition/0.0.1:
+ resolution: {integrity: sha512-udCxb8DvjcDKfk1WTBzDsxFbLgYxmQGKrE/ricoMqHRNjSlSUCcamVTA5lIQqzY10mY5qCY0QDwBfFEwhfoDPw==}
+ dev: true
+
+ /@types/estree/1.0.0:
+ resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==}
+
+ /@types/google.maps/3.52.5:
+ resolution: {integrity: sha512-nhFo5xLsWnjr2zuL0V5khlpo2pPFXJzYdnuIt3hLBGgcvMkLfRqKP8TdKrjh0gUuWfm55Iex+3XU1v+oAyu1jw==}
+ dev: true
+
+ /@types/hast/2.3.4:
+ resolution: {integrity: sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==}
+ dependencies:
+ '@types/unist': 2.0.6
+ dev: false
+
+ /@types/hogan.js/3.0.1:
+ resolution: {integrity: sha512-D03i/2OY7kGyMq9wdQ7oD8roE49z/ZCZThe/nbahtvuqCNZY9T2MfedOWyeBdbEpY2W8Gnh/dyJLdFtUCOkYbg==}
+ dev: true
+
+ /@types/http-cache-semantics/4.0.1:
+ resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==}
+ dev: true
+
+ /@types/json-schema/7.0.11:
+ resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==}
+ dev: true
+
+ /@types/json5/0.0.29:
+ resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
+ dev: true
+
+ /@types/keyv/3.1.4:
+ resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==}
+ dependencies:
+ '@types/node': 18.15.11
+ dev: true
+
+ /@types/mdast/3.0.11:
+ resolution: {integrity: sha512-Y/uImid8aAwrEA24/1tcRZwpxX3pIFTSilcNDKSPn+Y2iDywSEachzRuvgAYYLR3wpGXAsMbv5lvKLDZLeYPAw==}
+ dependencies:
+ '@types/unist': 2.0.6
+ dev: false
+
+ /@types/ms/0.7.31:
+ resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==}
+ dev: false
+
+ /@types/node/18.15.11:
+ resolution: {integrity: sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==}
+ dev: true
+
+ /@types/normalize-package-data/2.4.1:
+ resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==}
+ dev: true
+
+ /@types/parse5/6.0.3:
+ resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==}
+ dev: false
+
+ /@types/qs/6.9.7:
+ resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==}
+ dev: true
+
+ /@types/resolve/1.20.2:
+ resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
+
+ /@types/responselike/1.0.0:
+ resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==}
+ dependencies:
+ '@types/node': 18.15.11
+ dev: true
+
+ /@types/semver/7.3.13:
+ resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==}
+ dev: true
+
+ /@types/unist/2.0.6:
+ resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==}
+ dev: false
+
+ /@types/web-bluetooth/0.0.16:
+ resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==}
+ dev: false
+
+ /@typescript-eslint/eslint-plugin/5.57.1_jwd5v5vphzanfmajybkjq25ld4:
+ resolution: {integrity: sha512-1MeobQkQ9tztuleT3v72XmY0XuKXVXusAhryoLuU5YZ+mXoYKZP9SQ7Flulh1NX4DTjpGTc2b/eMu4u7M7dhnQ==}
+ 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.5.0
+ '@typescript-eslint/parser': 5.57.1_vwh6htx42aidho2qgfca5u5rwm
+ '@typescript-eslint/scope-manager': 5.57.1
+ '@typescript-eslint/type-utils': 5.57.1_vwh6htx42aidho2qgfca5u5rwm
+ '@typescript-eslint/utils': 5.57.1_vwh6htx42aidho2qgfca5u5rwm
+ debug: 4.3.4
+ eslint: 8.37.0
+ grapheme-splitter: 1.0.4
+ ignore: 5.2.4
+ natural-compare-lite: 1.4.0
+ semver: 7.3.8
+ tsutils: 3.21.0_typescript@5.0.3
+ typescript: 5.0.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/parser/5.57.1_vwh6htx42aidho2qgfca5u5rwm:
+ resolution: {integrity: sha512-hlA0BLeVSA/wBPKdPGxoVr9Pp6GutGoY380FEhbVi0Ph4WNe8kLvqIRx76RSQt1lynZKfrXKs0/XeEk4zZycuA==}
+ 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.57.1
+ '@typescript-eslint/types': 5.57.1
+ '@typescript-eslint/typescript-estree': 5.57.1_typescript@5.0.3
+ debug: 4.3.4
+ eslint: 8.37.0
+ typescript: 5.0.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/scope-manager/5.57.1:
+ resolution: {integrity: sha512-N/RrBwEUKMIYxSKl0oDK5sFVHd6VI7p9K5MyUlVYAY6dyNb/wHUqndkTd3XhpGlXgnQsBkRZuu4f9kAHghvgPw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ '@typescript-eslint/types': 5.57.1
+ '@typescript-eslint/visitor-keys': 5.57.1
+ dev: true
+
+ /@typescript-eslint/type-utils/5.57.1_vwh6htx42aidho2qgfca5u5rwm:
+ resolution: {integrity: sha512-/RIPQyx60Pt6ga86hKXesXkJ2WOS4UemFrmmq/7eOyiYjYv/MUSHPlkhU6k9T9W1ytnTJueqASW+wOmW4KrViw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: '*'
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/typescript-estree': 5.57.1_typescript@5.0.3
+ '@typescript-eslint/utils': 5.57.1_vwh6htx42aidho2qgfca5u5rwm
+ debug: 4.3.4
+ eslint: 8.37.0
+ tsutils: 3.21.0_typescript@5.0.3
+ typescript: 5.0.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/types/5.57.1:
+ resolution: {integrity: sha512-bSs4LOgyV3bJ08F5RDqO2KXqg3WAdwHCu06zOqcQ6vqbTJizyBhuh1o1ImC69X4bV2g1OJxbH71PJqiO7Y1RuA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dev: true
+
+ /@typescript-eslint/typescript-estree/5.57.1_typescript@5.0.3:
+ resolution: {integrity: sha512-A2MZqD8gNT0qHKbk2wRspg7cHbCDCk2tcqt6ScCFLr5Ru8cn+TCfM786DjPhqwseiS+PrYwcXht5ztpEQ6TFTw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/types': 5.57.1
+ '@typescript-eslint/visitor-keys': 5.57.1
+ debug: 4.3.4
+ globby: 11.1.0
+ is-glob: 4.0.3
+ semver: 7.3.8
+ tsutils: 3.21.0_typescript@5.0.3
+ typescript: 5.0.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/utils/5.57.1_vwh6htx42aidho2qgfca5u5rwm:
+ resolution: {integrity: sha512-kN6vzzf9NkEtawECqze6v99LtmDiUJCVpvieTFA1uL7/jDghiJGubGZ5csicYHU1Xoqb3oH/R5cN5df6W41Nfg==}
+ 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.37.0
+ '@types/json-schema': 7.0.11
+ '@types/semver': 7.3.13
+ '@typescript-eslint/scope-manager': 5.57.1
+ '@typescript-eslint/types': 5.57.1
+ '@typescript-eslint/typescript-estree': 5.57.1_typescript@5.0.3
+ eslint: 8.37.0
+ eslint-scope: 5.1.1
+ semver: 7.3.8
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /@typescript-eslint/visitor-keys/5.57.1:
+ resolution: {integrity: sha512-RjQrAniDU0CEk5r7iphkm731zKlFiUjvcBS2yHAg8WWqFMCaCrD0rKEVOMUyMMcbGPZ0bPp56srkGWrgfZqLRA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ '@typescript-eslint/types': 5.57.1
+ eslint-visitor-keys: 3.4.0
+ dev: true
+
+ /@unhead/dom/1.1.25:
+ resolution: {integrity: sha512-kJ5jhJFNQCyNENSw+mtmzgulA0kqUuXS3SRPl1umpofc8PH8tblSzXwqStxTj9r6E4wxJbEuygT/aHFJVioizw==}
+ dependencies:
+ '@unhead/schema': 1.1.25
+ '@unhead/shared': 1.1.25
+
+ /@unhead/schema/1.1.25:
+ resolution: {integrity: sha512-ygmaxWgGTAq9CcB6zGY4+0HlGdQt/oMq+CM18tTnvOBY0Og/uPGt7roW8eH717GpTPibKRTpagSYzZYdL0tWeg==}
+ dependencies:
+ hookable: 5.5.3
+ zhead: 2.0.4
+
+ /@unhead/shared/1.1.25:
+ resolution: {integrity: sha512-KptKbk4py1MFYHYwDJ/0kPOs+95dYMrWIT1fCV9lGcVAwu20wIHh+WX18s+iEWhc66xkGRxgC/xsl4wJJFPE+w==}
+ dependencies:
+ '@unhead/schema': 1.1.25
+
+ /@unhead/ssr/1.1.25:
+ resolution: {integrity: sha512-2S3tiajy6n3D1WY2pVkRLr74WGaHD08w0+nFaQGNy0LszPlkWUuAmYYqDCXdh03ijEl+Tjwqjn+E9w1e3QakuQ==}
+ dependencies:
+ '@unhead/schema': 1.1.25
+ '@unhead/shared': 1.1.25
+
+ /@unhead/vue/1.1.25_vue@3.2.47:
+ resolution: {integrity: sha512-ujincFHftg2N2i3G/gVkMyJ7CFzVyZ8SMb5cJCWZEnDBQGjgy3uvWT6EaM0d2jnaeXiYbB+iyY0O1o/H+XlpKQ==}
+ peerDependencies:
+ vue: '>=2.7 || >=3'
+ dependencies:
+ '@unhead/schema': 1.1.25
+ '@unhead/shared': 1.1.25
+ hookable: 5.5.3
+ unhead: 1.1.25
+ vue: 3.2.47
+
+ /@unocss/reset/0.50.6:
+ resolution: {integrity: sha512-e1fuSEgp1p7FgpsIZKNejOKgq4gyZcDGDvi+6544x458hInM6MfiMQNP95UBJEG4JZXq6qCZ8t7tRVWS2m5IXg==}
+ dev: false
+
+ /@vercel/nft/0.22.6:
+ resolution: {integrity: sha512-gTsFnnT4mGxodr4AUlW3/urY+8JKKB452LwF3m477RFUJTAaDmcz2JqFuInzvdybYIeyIv1sSONEJxsxnbQ5JQ==}
+ engines: {node: '>=14'}
+ hasBin: true
+ dependencies:
+ '@mapbox/node-pre-gyp': 1.0.10
+ '@rollup/pluginutils': 4.2.1
+ acorn: 8.8.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.6.0
+ resolve-from: 5.0.0
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+
+ /@vitejs/plugin-vue-jsx/3.0.1_vite@4.2.1+vue@3.2.47:
+ resolution: {integrity: sha512-+Jb7ggL48FSPS1uhPnJbJwWa9Sr90vQ+d0InW+AhBM22n+cfuYqJZDckBc+W3QSHe1WDvewMZfa4wZOtk5pRgw==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ vite: ^4.0.0
+ vue: ^3.0.0
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/plugin-transform-typescript': 7.21.3_@babel+core@7.21.4
+ '@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.21.4
+ vite: 4.2.1
+ vue: 3.2.47
+ transitivePeerDependencies:
+ - supports-color
+
+ /@vitejs/plugin-vue/4.1.0_vite@4.2.1+vue@3.2.47:
+ resolution: {integrity: sha512-++9JOAFdcXI3lyer9UKUV4rfoQ3T1RN8yDqoCLar86s0xQct5yblxAE+yWgRnU5/0FOlVCpTZpYSBV/bGWrSrQ==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ vite: ^4.0.0
+ vue: ^3.2.25
+ dependencies:
+ vite: 4.2.1
+ vue: 3.2.47
+
+ /@volar/language-core/1.3.0-alpha.0:
+ resolution: {integrity: sha512-W3uMzecHPcbwddPu4SJpUcPakRBK/y/BP+U0U6NiPpUX1tONLC4yCawt+QBJqtgJ+sfD6ztf5PyvPL3hQRqfOA==}
+ dependencies:
+ '@volar/source-map': 1.3.0-alpha.0
+ dev: false
+
+ /@volar/language-core/1.4.0-alpha.7:
+ resolution: {integrity: sha512-kn/xA+RANXogFHv8Md7lmM4BsVcV51EmgROPiiE1km0PtZ7Po8VFj0Y5B5MNd3RZO/DLWiNfUtXC8MKmHGeDgA==}
+ dependencies:
+ '@volar/source-map': 1.4.0-alpha.7
+ dev: false
+
+ /@volar/source-map/1.3.0-alpha.0:
+ resolution: {integrity: sha512-jSdizxWFvDTvkPYZnO6ew3sBZUnS0abKCbuopkc0JrIlFbznWC/fPH3iPFIMS8/IIkRxq1Jh9VVG60SmtsdaMQ==}
+ dependencies:
+ muggle-string: 0.2.2
+ dev: false
+
+ /@volar/source-map/1.4.0-alpha.7:
+ resolution: {integrity: sha512-JV5LAe7kgjM8l9yvnve15M2rAJnJ+1hi4G7AbkfMvfn9IkH/BFeSwJo/aIFSRMH0m67BMbP30Ao03NQvCgqOcQ==}
+ dependencies:
+ muggle-string: 0.2.2
+ dev: false
+
+ /@volar/vue-language-core/1.2.0:
+ resolution: {integrity: sha512-w7yEiaITh2WzKe6u8ZdeLKCUz43wdmY/OqAmsB/PGDvvhTcVhCJ6f0W/RprZL1IhqH8wALoWiwEh/Wer7ZviMQ==}
+ dependencies:
+ '@volar/language-core': 1.3.0-alpha.0
+ '@volar/source-map': 1.3.0-alpha.0
+ '@vue/compiler-dom': 3.2.47
+ '@vue/compiler-sfc': 3.2.47
+ '@vue/reactivity': 3.2.47
+ '@vue/shared': 3.2.47
+ minimatch: 6.2.0
+ muggle-string: 0.2.2
+ vue-template-compiler: 2.7.14
+ dev: false
+
+ /@volar/vue-language-core/1.3.12:
+ resolution: {integrity: sha512-W5rcyDqQ7S21+HNAFPBjGLhEXBD271B1MfcJM/DcYYAYD/CC03YBE1zlOUiknaeJmc9HLj3nPHOKobSJiyDzRw==}
+ dependencies:
+ '@volar/language-core': 1.4.0-alpha.7
+ '@volar/source-map': 1.4.0-alpha.7
+ '@vue/compiler-dom': 3.3.0-alpha.6
+ '@vue/compiler-sfc': 3.3.0-alpha.6
+ '@vue/reactivity': 3.3.0-alpha.6
+ '@vue/shared': 3.3.0-alpha.6
+ minimatch: 6.2.0
+ muggle-string: 0.2.2
+ vue-template-compiler: 2.7.14
+ dev: false
+
+ /@vue/babel-helper-vue-transform-on/1.0.2:
+ resolution: {integrity: sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==}
+
+ /@vue/babel-plugin-jsx/1.1.1_@babel+core@7.21.4:
+ resolution: {integrity: sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==}
+ dependencies:
+ '@babel/helper-module-imports': 7.21.4
+ '@babel/plugin-syntax-jsx': 7.21.4_@babel+core@7.21.4
+ '@babel/template': 7.20.7
+ '@babel/traverse': 7.21.4
+ '@babel/types': 7.21.4
+ '@vue/babel-helper-vue-transform-on': 1.0.2
+ camelcase: 6.3.0
+ html-tags: 3.3.1
+ svg-tags: 1.0.0
+ transitivePeerDependencies:
+ - '@babel/core'
+ - supports-color
+
+ /@vue/compiler-core/3.2.47:
+ resolution: {integrity: sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==}
+ dependencies:
+ '@babel/parser': 7.21.4
+ '@vue/shared': 3.2.47
+ estree-walker: 2.0.2
+ source-map: 0.6.1
+
+ /@vue/compiler-core/3.3.0-alpha.6:
+ resolution: {integrity: sha512-F3ta1E3977gENdvm5lwXQjYqrf6wVg7HroMMNERDQvjJMC9DOMMldGWSPsZ4XPWEu5Y+zvnWfgfdudf4SaJ3SQ==}
+ dependencies:
+ '@babel/parser': 7.21.4
+ '@vue/shared': 3.3.0-alpha.6
+ estree-walker: 2.0.2
+ source-map: 0.6.1
+ dev: false
+
+ /@vue/compiler-dom/3.2.47:
+ resolution: {integrity: sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==}
+ dependencies:
+ '@vue/compiler-core': 3.2.47
+ '@vue/shared': 3.2.47
+
+ /@vue/compiler-dom/3.3.0-alpha.6:
+ resolution: {integrity: sha512-7m6lR9PWa5GtNh/jRn0zWSP5/rteadDni9hghtwm9gMhGpnt//DB91Do9EkQT58w0I6/ZxMwBuGiM+vh0e2ZIA==}
+ dependencies:
+ '@vue/compiler-core': 3.3.0-alpha.6
+ '@vue/shared': 3.3.0-alpha.6
+ dev: false
+
+ /@vue/compiler-sfc/3.2.47:
+ resolution: {integrity: sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==}
+ dependencies:
+ '@babel/parser': 7.21.4
+ '@vue/compiler-core': 3.2.47
+ '@vue/compiler-dom': 3.2.47
+ '@vue/compiler-ssr': 3.2.47
+ '@vue/reactivity-transform': 3.2.47
+ '@vue/shared': 3.2.47
+ estree-walker: 2.0.2
+ magic-string: 0.25.9
+ postcss: 8.4.21
+ source-map: 0.6.1
+
+ /@vue/compiler-sfc/3.3.0-alpha.6:
+ resolution: {integrity: sha512-VM+BE85eEBQOU1iYWX3FLEZZSC+rSecTuOmZMfrc10e4NaxEQyC1y0rjGSuh0o/vuU35E159BGsiS8M17IwkAQ==}
+ dependencies:
+ '@babel/parser': 7.21.4
+ '@vue/compiler-core': 3.3.0-alpha.6
+ '@vue/compiler-dom': 3.3.0-alpha.6
+ '@vue/compiler-ssr': 3.3.0-alpha.6
+ '@vue/reactivity-transform': 3.3.0-alpha.6
+ '@vue/shared': 3.3.0-alpha.6
+ estree-walker: 2.0.2
+ magic-string: 0.30.0
+ postcss: 8.4.21
+ source-map: 0.6.1
+ dev: false
+
+ /@vue/compiler-ssr/3.2.47:
+ resolution: {integrity: sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==}
+ dependencies:
+ '@vue/compiler-dom': 3.2.47
+ '@vue/shared': 3.2.47
+
+ /@vue/compiler-ssr/3.3.0-alpha.6:
+ resolution: {integrity: sha512-enZua8RfLVTwdym9Tatpk2vfCux/JNaw6LDjRzHBnpJ015lU5gzzBjg2PoHwchQXGMUf+/GdugmgduspH6ClIQ==}
+ dependencies:
+ '@vue/compiler-dom': 3.3.0-alpha.6
+ '@vue/shared': 3.3.0-alpha.6
+ dev: false
+
+ /@vue/devtools-api/6.5.0:
+ resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==}
+
+ /@vue/reactivity-transform/3.2.47:
+ resolution: {integrity: sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==}
+ dependencies:
+ '@babel/parser': 7.21.4
+ '@vue/compiler-core': 3.2.47
+ '@vue/shared': 3.2.47
+ estree-walker: 2.0.2
+ magic-string: 0.25.9
+
+ /@vue/reactivity-transform/3.3.0-alpha.6:
+ resolution: {integrity: sha512-2GsrFtVqajF07S+3p6niQ3RQtY9b8ga80DzPTUEVzNgnsT4h2FjaI/1MZ8XrXjEWCIClkkBkoE3s7gJsn8mAbQ==}
+ dependencies:
+ '@babel/parser': 7.21.4
+ '@vue/compiler-core': 3.3.0-alpha.6
+ '@vue/shared': 3.3.0-alpha.6
+ estree-walker: 2.0.2
+ magic-string: 0.30.0
+ dev: false
+
+ /@vue/reactivity/3.2.47:
+ resolution: {integrity: sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==}
+ dependencies:
+ '@vue/shared': 3.2.47
+
+ /@vue/reactivity/3.3.0-alpha.6:
+ resolution: {integrity: sha512-NI/lZX3ze//Llvaj0iU9Kf7RAD8gIJOmuqjoYH7JfF0FPVnShIYSvgXc9qUzIVBPoa9/55s/DuygUzCj6QtXzQ==}
+ dependencies:
+ '@vue/shared': 3.3.0-alpha.6
+ dev: false
+
+ /@vue/runtime-core/3.2.47:
+ resolution: {integrity: sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==}
+ dependencies:
+ '@vue/reactivity': 3.2.47
+ '@vue/shared': 3.2.47
+
+ /@vue/runtime-dom/3.2.47:
+ resolution: {integrity: sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==}
+ dependencies:
+ '@vue/runtime-core': 3.2.47
+ '@vue/shared': 3.2.47
+ csstype: 2.6.21
+
+ /@vue/server-renderer/3.2.47_vue@3.2.47:
+ resolution: {integrity: sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==}
+ peerDependencies:
+ vue: 3.2.47
+ dependencies:
+ '@vue/compiler-ssr': 3.2.47
+ '@vue/shared': 3.2.47
+ vue: 3.2.47
+
+ /@vue/shared/3.2.47:
+ resolution: {integrity: sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==}
+
+ /@vue/shared/3.3.0-alpha.6:
+ resolution: {integrity: sha512-KwK7FAXqzCgQHSJ+6NQOrnCQyu9LZ8JRudKULn2MZ0Jnn6EkrNYRqzbEs5nisPW4VK/nnt11uk4EFvbbSAIteQ==}
+ dev: false
+
+ /@vueuse/core/9.13.0_vue@3.2.47:
+ resolution: {integrity: sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==}
+ dependencies:
+ '@types/web-bluetooth': 0.0.16
+ '@vueuse/metadata': 9.13.0
+ '@vueuse/shared': 9.13.0_vue@3.2.47
+ vue-demi: 0.13.11_vue@3.2.47
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - vue
+ dev: false
+
+ /@vueuse/metadata/9.13.0:
+ resolution: {integrity: sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==}
+ dev: false
+
+ /@vueuse/nuxt/9.13.0_nuxt@3.3.3+vue@3.2.47:
+ resolution: {integrity: sha512-JunH/w6nFIwCyaZ0s+pfrYFMfBzGfhkwmFPz7ogHFmb71Ty/5HINrYOAOZCXpN44X6QH6FiJq/wuLLdvYzqFUw==}
+ peerDependencies:
+ nuxt: ^3.0.0
+ dependencies:
+ '@nuxt/kit': 3.3.3
+ '@vueuse/core': 9.13.0_vue@3.2.47
+ '@vueuse/metadata': 9.13.0
+ local-pkg: 0.4.3
+ nuxt: 3.3.3_vwh6htx42aidho2qgfca5u5rwm
+ vue-demi: 0.13.11_vue@3.2.47
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - rollup
+ - supports-color
+ - vue
+ dev: false
+
+ /@vueuse/shared/9.13.0_vue@3.2.47:
+ resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==}
+ dependencies:
+ vue-demi: 0.13.11_vue@3.2.47
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - vue
+ dev: false
+
+ /abbrev/1.1.1:
+ resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==}
+
+ /acorn-jsx/5.3.2_acorn@8.8.2:
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ dependencies:
+ acorn: 8.8.2
+
+ /acorn-walk/8.2.0:
+ resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==}
+ engines: {node: '>=0.4.0'}
+ dev: true
+
+ /acorn/8.8.2:
+ resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==}
+ engines: {node: '>=0.4.0'}
+ hasBin: 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
+
+ /agentkeepalive/4.3.0:
+ resolution: {integrity: sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==}
+ engines: {node: '>= 8.0.0'}
+ dependencies:
+ debug: 4.3.4
+ depd: 2.0.0
+ humanize-ms: 1.2.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /aggregate-error/3.1.0:
+ resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==}
+ engines: {node: '>=8'}
+ dependencies:
+ clean-stack: 2.2.0
+ indent-string: 4.0.0
+ dev: true
+
+ /ajv/6.12.6:
+ resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
+ dependencies:
+ fast-deep-equal: 3.1.3
+ fast-json-stable-stringify: 2.1.0
+ json-schema-traverse: 0.4.1
+ uri-js: 4.4.1
+
+ /algoliasearch-helper/3.12.0_algoliasearch@4.17.0:
+ resolution: {integrity: sha512-/j1U3PEwdan0n6P/QqSnSpNSLC5+cEMvyljd5CnmNmUjDlGrys+vFEOwjVEnqELIiAGMHEA/Nl3CiKVFBUYqyQ==}
+ peerDependencies:
+ algoliasearch: '>= 3.1 < 6'
+ dependencies:
+ '@algolia/events': 4.0.1
+ algoliasearch: 4.17.0
+ dev: true
+
+ /algoliasearch/4.17.0:
+ resolution: {integrity: sha512-JMRh2Mw6sEnVMiz6+APsi7lx9a2jiDFF+WUtANaUVCv6uSU9UOLdo5h9K3pdP6frRRybaM2fX8b1u0nqICS9aA==}
+ dependencies:
+ '@algolia/cache-browser-local-storage': 4.17.0
+ '@algolia/cache-common': 4.17.0
+ '@algolia/cache-in-memory': 4.17.0
+ '@algolia/client-account': 4.17.0
+ '@algolia/client-analytics': 4.17.0
+ '@algolia/client-common': 4.17.0
+ '@algolia/client-personalization': 4.17.0
+ '@algolia/client-search': 4.17.0
+ '@algolia/logger-common': 4.17.0
+ '@algolia/logger-console': 4.17.0
+ '@algolia/requester-browser-xhr': 4.17.0
+ '@algolia/requester-common': 4.17.0
+ '@algolia/requester-node-http': 4.17.0
+ '@algolia/transporter': 4.17.0
+ dev: true
+
+ /ansi-align/3.0.1:
+ resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==}
+ dependencies:
+ string-width: 4.2.3
+ dev: true
+
+ /ansi-escapes/4.3.2:
+ resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ type-fest: 0.21.3
+
+ /ansi-escapes/6.1.0:
+ resolution: {integrity: sha512-bQyg9bzRntwR/8b89DOEhGwctcwCrbWW/TuqTQnpqpy5Fz3aovcOTj5i8NJV6AHc8OGNdMaqdxAWww8pz2kiKg==}
+ engines: {node: '>=14.16'}
+ dependencies:
+ type-fest: 3.8.0
+
+ /ansi-regex/5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
+ engines: {node: '>=8'}
+
+ /ansi-regex/6.0.1:
+ resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
+ engines: {node: '>=12'}
+
+ /ansi-styles/3.2.1:
+ resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
+ engines: {node: '>=4'}
+ 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
+
+ /ansi-styles/6.2.1:
+ resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
+ engines: {node: '>=12'}
+
+ /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==}
+
+ /arch/2.2.0:
+ resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==}
+
+ /archiver-utils/2.1.0:
+ resolution: {integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==}
+ engines: {node: '>= 6'}
+ dependencies:
+ glob: 7.2.3
+ graceful-fs: 4.2.11
+ lazystream: 1.0.1
+ lodash.defaults: 4.2.0
+ lodash.difference: 4.5.0
+ lodash.flatten: 4.4.0
+ lodash.isplainobject: 4.0.6
+ lodash.union: 4.6.0
+ normalize-path: 3.0.0
+ readable-stream: 2.3.8
+
+ /archiver/5.3.1:
+ resolution: {integrity: sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==}
+ engines: {node: '>= 10'}
+ dependencies:
+ archiver-utils: 2.1.0
+ async: 3.2.4
+ buffer-crc32: 0.2.13
+ readable-stream: 3.6.2
+ readdir-glob: 1.1.3
+ tar-stream: 2.2.0
+ zip-stream: 4.1.0
+
+ /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
+
+ /are-we-there-yet/3.0.1:
+ resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==}
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ dependencies:
+ delegates: 1.0.0
+ readable-stream: 3.6.2
+ dev: true
+
+ /argparse/2.0.1:
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+
+ /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-includes/3.1.6:
+ resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ es-abstract: 1.21.2
+ get-intrinsic: 1.2.0
+ is-string: 1.0.7
+ dev: true
+
+ /array-union/2.1.0:
+ resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /array.prototype.flat/1.3.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.21.2
+ 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.21.2
+ es-shim-unscopables: 1.0.0
+ dev: true
+
+ /array.prototype.map/1.0.5:
+ resolution: {integrity: sha512-gfaKntvwqYIuC7mLLyv2wzZIJqrRhn5PZ9EfFejSx6a78sV7iDsGpG9P+3oUPtm1Rerqm6nrKS4FYuTIvWfo3g==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ es-abstract: 1.21.2
+ es-array-method-boxes-properly: 1.0.0
+ is-string: 1.0.7
+ dev: true
+
+ /assert/2.0.0:
+ resolution: {integrity: sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==}
+ dependencies:
+ es6-object-assign: 1.1.0
+ is-nan: 1.3.2
+ object-is: 1.1.5
+ util: 0.12.5
+ dev: false
+
+ /ast-types/0.13.4:
+ resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==}
+ engines: {node: '>=4'}
+ dependencies:
+ tslib: 2.5.0
+ dev: true
+
+ /ast-types/0.15.2:
+ resolution: {integrity: sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==}
+ engines: {node: '>=4'}
+ dependencies:
+ tslib: 2.5.0
+ dev: false
+
+ /async-retry/1.3.3:
+ resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==}
+ dependencies:
+ retry: 0.13.1
+ dev: true
+
+ /async-sema/3.1.1:
+ resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==}
+
+ /async/3.2.4:
+ resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==}
+
+ /asynckit/0.4.0:
+ resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
+ dev: true
+
+ /autoprefixer/10.4.14_postcss@8.4.21:
+ resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==}
+ engines: {node: ^10 || ^12 || >=14}
+ hasBin: true
+ peerDependencies:
+ postcss: ^8.1.0
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ browserslist: 4.21.5
+ caniuse-lite: 1.0.30001474
+ fraction.js: 4.2.0
+ normalize-range: 0.1.2
+ picocolors: 1.0.0
+ postcss: 8.4.21
+ postcss-value-parser: 4.2.0
+
+ /available-typed-arrays/1.0.5:
+ resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==}
+ engines: {node: '>= 0.4'}
+
+ /axios/1.3.5:
+ resolution: {integrity: sha512-glL/PvG/E+xCWwV8S6nCHcrfg1exGx7vxyUIivIA1iL7BIh6bePylCfVHwp6k13ao7SATxB6imau2kqY+I67kw==}
+ dependencies:
+ follow-redirects: 1.15.2
+ form-data: 4.0.0
+ proxy-from-env: 1.1.0
+ transitivePeerDependencies:
+ - debug
+ dev: true
+
+ /bail/2.0.2:
+ resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
+ dev: false
+
+ /balanced-match/1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+
+ /base64-js/1.5.1:
+ resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
+
+ /before-after-hook/2.2.3:
+ resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==}
+ dev: true
+
+ /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
+
+ /birpc/0.2.11:
+ resolution: {integrity: sha512-OcUm84SBHRsmvSQhOLZRt5Awmw8WVknVcMDMaPE8GPwYxzc4mGE0EIytkWXayPjheGvm7s/Ci1wQZGwk7YPU6A==}
+ 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
+
+ /bl/5.1.0:
+ resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==}
+ dependencies:
+ buffer: 6.0.3
+ inherits: 2.0.4
+ readable-stream: 3.6.2
+
+ /boolbase/1.0.0:
+ resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
+
+ /boxen/7.0.2:
+ resolution: {integrity: sha512-1Z4UJabXUP1/R9rLpoU3O2lEMnG3pPLAs/ZD2lF3t2q7qD5lM8rqbtnvtvm4N0wEyNlE+9yZVTVAGmd1V5jabg==}
+ engines: {node: '>=14.16'}
+ dependencies:
+ ansi-align: 3.0.1
+ camelcase: 7.0.1
+ chalk: 5.2.0
+ cli-boxes: 3.0.0
+ string-width: 5.1.2
+ type-fest: 2.19.0
+ widest-line: 4.0.1
+ wrap-ansi: 8.1.0
+ 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
+
+ /brace-expansion/2.0.1:
+ resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
+ dependencies:
+ balanced-match: 1.0.2
+
+ /braces/3.0.2:
+ resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
+ engines: {node: '>=8'}
+ dependencies:
+ fill-range: 7.0.1
+
+ /browserslist/4.21.5:
+ resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+ dependencies:
+ caniuse-lite: 1.0.30001474
+ electron-to-chromium: 1.4.355
+ node-releases: 2.0.10
+ update-browserslist-db: 1.0.10_browserslist@4.21.5
+
+ /buffer-crc32/0.2.13:
+ resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
+
+ /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
+
+ /buffer/6.0.3:
+ resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
+ dependencies:
+ base64-js: 1.5.1
+ ieee754: 1.2.1
+
+ /builtin-modules/3.3.0:
+ resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
+ engines: {node: '>=6'}
+
+ /builtins/5.0.1:
+ resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==}
+ dependencies:
+ semver: 7.3.8
+ 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
+
+ /bytes/3.1.2:
+ resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
+ engines: {node: '>= 0.8'}
+ dev: true
+
+ /c12/1.2.0:
+ resolution: {integrity: sha512-CMznkE0LpNEuD8ILp5QvsQVP+YvcpJnrI/zFeFnosU2PyDtx1wT7tXfZ8S3Tl3l9MTTXbKeuhDYKwgvnAPOx3w==}
+ dependencies:
+ defu: 6.1.2
+ dotenv: 16.0.3
+ giget: 1.1.2
+ jiti: 1.18.2
+ mlly: 1.2.0
+ pathe: 1.1.0
+ pkg-types: 1.0.2
+ rc9: 2.1.0
+ transitivePeerDependencies:
+ - supports-color
+
+ /cac/6.7.14:
+ resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
+ engines: {node: '>=8'}
+
+ /cacache/16.1.3:
+ resolution: {integrity: sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==}
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ dependencies:
+ '@npmcli/fs': 2.1.2
+ '@npmcli/move-file': 2.0.1
+ chownr: 2.0.0
+ fs-minipass: 2.1.0
+ glob: 8.1.0
+ infer-owner: 1.0.4
+ lru-cache: 7.18.3
+ minipass: 3.3.6
+ minipass-collect: 1.0.2
+ minipass-flush: 1.0.5
+ minipass-pipeline: 1.2.4
+ mkdirp: 1.0.4
+ p-map: 4.0.0
+ promise-inflight: 1.0.1
+ rimraf: 3.0.2
+ ssri: 9.0.1
+ tar: 6.1.13
+ unique-filename: 2.0.1
+ transitivePeerDependencies:
+ - bluebird
+ dev: true
+
+ /cacache/17.0.5:
+ resolution: {integrity: sha512-Y/PRQevNSsjAPWykl9aeGz8Pr+OI6BYM9fYDNMvOkuUiG9IhG4LEmaYrZZZvioMUEQ+cBCxT0v8wrnCURccyKA==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ dependencies:
+ '@npmcli/fs': 3.1.0
+ fs-minipass: 3.0.1
+ glob: 9.3.4
+ lru-cache: 7.18.3
+ minipass: 4.2.5
+ minipass-collect: 1.0.2
+ minipass-flush: 1.0.5
+ minipass-pipeline: 1.2.4
+ p-map: 4.0.0
+ promise-inflight: 1.0.1
+ ssri: 10.0.2
+ tar: 6.1.13
+ unique-filename: 3.0.0
+ transitivePeerDependencies:
+ - bluebird
+ dev: true
+
+ /cacheable-lookup/5.0.4:
+ resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==}
+ engines: {node: '>=10.6.0'}
+ dev: true
+
+ /cacheable-lookup/7.0.0:
+ resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==}
+ engines: {node: '>=14.16'}
+ dev: true
+
+ /cacheable-request/10.2.9:
+ resolution: {integrity: sha512-CaAMr53AS1Tb9evO1BIWFnZjSr8A4pbXofpsNVWPMDZZj3ZQKHwsQG9BrTqQ4x5ZYJXz1T2b8LLtTZODxSpzbg==}
+ engines: {node: '>=14.16'}
+ dependencies:
+ '@types/http-cache-semantics': 4.0.1
+ get-stream: 6.0.1
+ http-cache-semantics: 4.1.1
+ keyv: 4.5.2
+ mimic-response: 4.0.0
+ normalize-url: 8.0.0
+ responselike: 3.0.0
+ dev: true
+
+ /cacheable-request/7.0.2:
+ resolution: {integrity: sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==}
+ engines: {node: '>=8'}
+ dependencies:
+ clone-response: 1.0.3
+ get-stream: 5.2.0
+ http-cache-semantics: 4.1.1
+ keyv: 4.5.2
+ lowercase-keys: 2.0.0
+ normalize-url: 6.1.0
+ responselike: 2.0.1
+ dev: true
+
+ /call-bind/1.0.2:
+ resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
+ dependencies:
+ function-bind: 1.1.1
+ get-intrinsic: 1.2.0
+
+ /callsites/3.1.0:
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+ engines: {node: '>=6'}
+
+ /camel-case/4.1.2:
+ resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==}
+ dependencies:
+ pascal-case: 3.1.2
+ tslib: 2.5.0
+ dev: false
+
+ /camelcase/6.3.0:
+ resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
+ engines: {node: '>=10'}
+
+ /camelcase/7.0.1:
+ resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==}
+ engines: {node: '>=14.16'}
+ dev: true
+
+ /caniuse-api/3.0.0:
+ resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
+ dependencies:
+ browserslist: 4.21.5
+ caniuse-lite: 1.0.30001474
+ lodash.memoize: 4.1.2
+ lodash.uniq: 4.5.0
+
+ /caniuse-lite/1.0.30001474:
+ resolution: {integrity: sha512-iaIZ8gVrWfemh5DG3T9/YqarVZoYf0r188IjaGwx68j4Pf0SGY6CQkmJUIE+NZHkkecQGohzXmBGEwWDr9aM3Q==}
+
+ /capital-case/1.0.4:
+ resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==}
+ dependencies:
+ no-case: 3.0.4
+ tslib: 2.5.0
+ upper-case-first: 2.0.2
+ dev: false
+
+ /ccount/2.0.1:
+ resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
+ dev: false
+
+ /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/4.1.2:
+ resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
+ engines: {node: '>=10'}
+ dependencies:
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
+
+ /chalk/5.2.0:
+ resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==}
+ engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
+
+ /change-case/4.1.2:
+ resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==}
+ dependencies:
+ camel-case: 4.1.2
+ capital-case: 1.0.4
+ constant-case: 3.0.4
+ dot-case: 3.0.4
+ header-case: 2.0.4
+ no-case: 3.0.4
+ param-case: 3.0.4
+ pascal-case: 3.1.2
+ path-case: 3.0.4
+ sentence-case: 3.0.4
+ snake-case: 3.0.4
+ tslib: 2.5.0
+ dev: false
+
+ /changelogen/0.4.1:
+ resolution: {integrity: sha512-p1dJO1Z995odIxdypzAykHIaUu+XnEvwYPSTyKJsbpL82o99sxN1G24tbecoMxTsV4PI+ZId82GJXRL2hhOeJA==}
+ hasBin: true
+ dependencies:
+ c12: 1.2.0
+ consola: 2.15.3
+ convert-gitmoji: 0.1.3
+ execa: 6.1.0
+ mri: 1.2.0
+ node-fetch-native: 1.1.0
+ pkg-types: 1.0.2
+ scule: 1.0.0
+ semver: 7.3.8
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /character-entities-html4/2.1.0:
+ resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==}
+ dev: false
+
+ /character-entities-legacy/3.0.0:
+ resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==}
+ dev: false
+
+ /character-entities/2.0.2:
+ resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
+ dev: false
+
+ /character-reference-invalid/2.0.1:
+ resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==}
+ dev: false
+
+ /chardet/0.7.0:
+ resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
+
+ /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.2
+
+ /chownr/2.0.0:
+ resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
+ engines: {node: '>=10'}
+
+ /chroma-js/2.4.2:
+ resolution: {integrity: sha512-U9eDw6+wt7V8z5NncY2jJfZa+hUH8XEj8FQHgFJTrUFnJfXYf4Ml4adI2vXZOjqRDpFWtYVWypDfZwnJ+HIR4A==}
+ dev: false
+
+ /ci-info/3.8.0:
+ resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==}
+ engines: {node: '>=8'}
+
+ /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==}
+
+ /cli-boxes/3.0.0:
+ resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==}
+ engines: {node: '>=10'}
+ 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
+
+ /cli-spinners/2.8.0:
+ resolution: {integrity: sha512-/eG5sJcvEIwxcdYM86k5tPwn0MUzkX5YY3eImTGpJOZgVe4SdTMY14vQpcxgBzJ0wXwAYrS8E+c3uHeK4JNyzQ==}
+ engines: {node: '>=6'}
+
+ /cli-width/4.0.0:
+ resolution: {integrity: sha512-ZksGS2xpa/bYkNzN3BAw1wEjsLV/ZKOf/CCrJ/QOBsxx6fOARIkwTutxp1XIOIohi6HKmOFjMoK/XaqDVUpEEw==}
+ engines: {node: '>= 12'}
+
+ /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
+
+ /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
+
+ /clone-response/1.0.3:
+ resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==}
+ dependencies:
+ mimic-response: 1.0.1
+ dev: true
+
+ /clone/1.0.4:
+ resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
+ engines: {node: '>=0.8'}
+
+ /cluster-key-slot/1.1.2:
+ resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==}
+ engines: {node: '>=0.10.0'}
+
+ /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
+
+ /color-name/1.1.3:
+ resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
+
+ /color-name/1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+
+ /color-support/1.1.3:
+ resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==}
+ hasBin: true
+
+ /colord/2.9.3:
+ resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==}
+
+ /colorette/2.0.19:
+ resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==}
+
+ /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: false
+
+ /commander/10.0.0:
+ resolution: {integrity: sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==}
+ engines: {node: '>=14'}
+ dev: false
+
+ /commander/2.20.3:
+ resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
+
+ /commander/7.2.0:
+ resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
+ engines: {node: '>= 10'}
+
+ /commander/8.3.0:
+ resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
+ engines: {node: '>= 12'}
+
+ /commondir/1.0.1:
+ resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
+
+ /compress-commons/4.1.1:
+ resolution: {integrity: sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==}
+ engines: {node: '>= 10'}
+ dependencies:
+ buffer-crc32: 0.2.13
+ crc32-stream: 4.0.2
+ normalize-path: 3.0.0
+ readable-stream: 3.6.2
+
+ /concat-map/0.0.1:
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+
+ /config-chain/1.1.13:
+ resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==}
+ dependencies:
+ ini: 1.3.8
+ proto-list: 1.2.4
+ dev: true
+
+ /configstore/6.0.0:
+ resolution: {integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==}
+ engines: {node: '>=12'}
+ dependencies:
+ dot-prop: 6.0.1
+ graceful-fs: 4.2.11
+ unique-string: 3.0.0
+ write-file-atomic: 3.0.3
+ xdg-basedir: 5.1.0
+ dev: true
+
+ /consola/2.15.3:
+ resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==}
+
+ /console-control-strings/1.1.0:
+ resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==}
+
+ /constant-case/3.0.4:
+ resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==}
+ dependencies:
+ no-case: 3.0.4
+ tslib: 2.5.0
+ upper-case: 2.0.2
+ dev: false
+
+ /convert-gitmoji/0.1.3:
+ resolution: {integrity: sha512-t5yxPyI8h8KPvRwrS/sRrfIpT2gJbmBAY0TFokyUBy3PM44RuFRpZwHdACz+GTSPLRLo3s4qsscOMLjHiXBwzw==}
+ dev: false
+
+ /convert-source-map/1.9.0:
+ resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
+
+ /cookie-es/0.5.0:
+ resolution: {integrity: sha512-RyZrFi6PNpBFbIaQjXDlFIhFVqV42QeKSZX1yQIl6ihImq6vcHNGMtqQ/QzY3RMPuYSkvsRwtnt5M9NeYxKt0g==}
+
+ /core-util-is/1.0.3:
+ resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
+
+ /cosmiconfig/8.1.3:
+ resolution: {integrity: sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==}
+ engines: {node: '>=14'}
+ dependencies:
+ import-fresh: 3.3.0
+ js-yaml: 4.1.0
+ parse-json: 5.2.0
+ path-type: 4.0.0
+ dev: true
+
+ /crc-32/1.2.2:
+ resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==}
+ engines: {node: '>=0.8'}
+ hasBin: true
+
+ /crc32-stream/4.0.2:
+ resolution: {integrity: sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==}
+ engines: {node: '>= 10'}
+ dependencies:
+ crc-32: 1.2.2
+ readable-stream: 3.6.2
+
+ /create-require/1.1.1:
+ resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
+
+ /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
+
+ /crypto-random-string/4.0.0:
+ resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==}
+ engines: {node: '>=12'}
+ dependencies:
+ type-fest: 1.4.0
+ dev: true
+
+ /css-declaration-sorter/6.4.0_postcss@8.4.21:
+ resolution: {integrity: sha512-jDfsatwWMWN0MODAFuHszfjphEXfNw9JUAhmY4pLu3TyTU+ohUpsbVtbU+1MZn4a47D9kqh03i4eyOm+74+zew==}
+ engines: {node: ^10 || ^12 || >=14}
+ peerDependencies:
+ postcss: ^8.0.9
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ postcss: 8.4.21
+
+ /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.0.1
+ nth-check: 2.1.1
+
+ /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
+
+ /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
+
+ /css-what/6.1.0:
+ resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
+ engines: {node: '>= 6'}
+
+ /cssesc/3.0.0:
+ resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ /cssnano-preset-default/6.0.0_postcss@8.4.21:
+ resolution: {integrity: sha512-BDxlaFzObRDXUiCCBQUNQcI+f1/aX2mgoNtXGjV6PG64POcHoDUoX+LgMWw+Q4609QhxwkcSnS65YFs42RA6qQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ css-declaration-sorter: 6.4.0_postcss@8.4.21
+ cssnano-utils: 4.0.0_postcss@8.4.21
+ postcss: 8.4.21
+ postcss-calc: 8.2.4_postcss@8.4.21
+ postcss-colormin: 6.0.0_postcss@8.4.21
+ postcss-convert-values: 6.0.0_postcss@8.4.21
+ postcss-discard-comments: 6.0.0_postcss@8.4.21
+ postcss-discard-duplicates: 6.0.0_postcss@8.4.21
+ postcss-discard-empty: 6.0.0_postcss@8.4.21
+ postcss-discard-overridden: 6.0.0_postcss@8.4.21
+ postcss-merge-longhand: 6.0.0_postcss@8.4.21
+ postcss-merge-rules: 6.0.0_postcss@8.4.21
+ postcss-minify-font-values: 6.0.0_postcss@8.4.21
+ postcss-minify-gradients: 6.0.0_postcss@8.4.21
+ postcss-minify-params: 6.0.0_postcss@8.4.21
+ postcss-minify-selectors: 6.0.0_postcss@8.4.21
+ postcss-normalize-charset: 6.0.0_postcss@8.4.21
+ postcss-normalize-display-values: 6.0.0_postcss@8.4.21
+ postcss-normalize-positions: 6.0.0_postcss@8.4.21
+ postcss-normalize-repeat-style: 6.0.0_postcss@8.4.21
+ postcss-normalize-string: 6.0.0_postcss@8.4.21
+ postcss-normalize-timing-functions: 6.0.0_postcss@8.4.21
+ postcss-normalize-unicode: 6.0.0_postcss@8.4.21
+ postcss-normalize-url: 6.0.0_postcss@8.4.21
+ postcss-normalize-whitespace: 6.0.0_postcss@8.4.21
+ postcss-ordered-values: 6.0.0_postcss@8.4.21
+ postcss-reduce-initial: 6.0.0_postcss@8.4.21
+ postcss-reduce-transforms: 6.0.0_postcss@8.4.21
+ postcss-svgo: 6.0.0_postcss@8.4.21
+ postcss-unique-selectors: 6.0.0_postcss@8.4.21
+
+ /cssnano-utils/4.0.0_postcss@8.4.21:
+ resolution: {integrity: sha512-Z39TLP+1E0KUcd7LGyF4qMfu8ZufI0rDzhdyAMsa/8UyNUU8wpS0fhdBxbQbv32r64ea00h4878gommRVg2BHw==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ postcss: 8.4.21
+
+ /cssnano/6.0.0_postcss@8.4.21:
+ resolution: {integrity: sha512-RGlcbzGhzEBCHuQe3k+Udyj5M00z0pm9S+VurHXFEOXxH+y0sVrJH2sMzoyz2d8N1EScazg+DVvmgyx0lurwwA==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ cssnano-preset-default: 6.0.0_postcss@8.4.21
+ lilconfig: 2.1.0
+ postcss: 8.4.21
+
+ /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
+
+ /csstype/2.6.21:
+ resolution: {integrity: sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==}
+
+ /csstype/3.1.2:
+ resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==}
+ dev: false
+
+ /cuint/0.2.2:
+ resolution: {integrity: sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==}
+
+ /data-uri-to-buffer/3.0.1:
+ resolution: {integrity: sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==}
+ engines: {node: '>= 6'}
+ dev: true
+
+ /data-uri-to-buffer/4.0.1:
+ resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==}
+ engines: {node: '>= 12'}
+
+ /de-indent/1.0.2:
+ resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==}
+ dev: false
+
+ /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
+
+ /decode-named-character-reference/1.0.2:
+ resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==}
+ dependencies:
+ character-entities: 2.0.2
+ dev: false
+
+ /decompress-response/6.0.0:
+ resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ mimic-response: 3.1.0
+ dev: true
+
+ /deep-extend/0.6.0:
+ resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==}
+ engines: {node: '>=4.0.0'}
+ dev: true
+
+ /deep-is/0.1.4:
+ resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
+
+ /deepmerge/4.3.1:
+ resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
+ engines: {node: '>=0.10.0'}
+
+ /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.1.1
+ titleize: 3.0.0
+ dev: true
+
+ /defaults/1.0.4:
+ resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==}
+ dependencies:
+ clone: 1.0.4
+
+ /defer-to-connect/2.0.1:
+ resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /define-lazy-prop/2.0.0:
+ resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
+ engines: {node: '>=8'}
+
+ /define-lazy-prop/3.0.0:
+ resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==}
+ engines: {node: '>=12'}
+ 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
+
+ /defu/6.1.2:
+ resolution: {integrity: sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==}
+
+ /degenerator/3.0.3:
+ resolution: {integrity: sha512-FTq/qYMeBJACu1gHcXJvzsRBTK6aw5zWCYbEnIOyamOt5UJufWJRQ5XfDb6OuayfJWvmWAHgcZyt43vm/hbj7g==}
+ engines: {node: '>= 6'}
+ dependencies:
+ ast-types: 0.13.4
+ escodegen: 1.14.3
+ esprima: 4.0.1
+ vm2: 3.9.15
+ 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==}
+
+ /denque/2.1.0:
+ resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==}
+ engines: {node: '>=0.10'}
+
+ /depd/2.0.0:
+ resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
+ engines: {node: '>= 0.8'}
+
+ /deprecation/2.3.1:
+ resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==}
+ dev: true
+
+ /dequal/2.0.3:
+ resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /destr/1.2.2:
+ resolution: {integrity: sha512-lrbCJwD9saUQrqUfXvl6qoM+QN3W7tLV5pAOs+OqOmopCCz/JkE05MHedJR1xfk4IAnZuJXPVuN5+7jNA2ZCiA==}
+
+ /destroy/1.2.0:
+ resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
+ engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+
+ /detab/3.0.2:
+ resolution: {integrity: sha512-7Bp16Bk8sk0Y6gdXiCtnpGbghn8atnTJdd/82aWvS5ESnlcNvgUc10U2NYS0PAiDSGjWiI8qs/Cv1b2uSGdQ8w==}
+ dev: false
+
+ /detect-libc/2.0.1:
+ resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==}
+ engines: {node: '>=8'}
+
+ /diff/5.1.0:
+ resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==}
+ engines: {node: '>=0.3.1'}
+ dev: false
+
+ /dir-glob/3.0.1:
+ resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
+ engines: {node: '>=8'}
+ dependencies:
+ path-type: 4.0.0
+
+ /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
+
+ /dom-serializer/2.0.0:
+ resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+ entities: 4.4.0
+
+ /domelementtype/2.3.0:
+ resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
+
+ /domhandler/5.0.3:
+ resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
+ engines: {node: '>= 4'}
+ dependencies:
+ domelementtype: 2.3.0
+
+ /domino/2.1.6:
+ resolution: {integrity: sha512-3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ==}
+ dev: true
+
+ /domutils/3.0.1:
+ resolution: {integrity: sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==}
+ dependencies:
+ dom-serializer: 2.0.0
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+
+ /dot-case/3.0.4:
+ resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
+ dependencies:
+ no-case: 3.0.4
+ tslib: 2.5.0
+ dev: false
+
+ /dot-prop/6.0.1:
+ resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==}
+ engines: {node: '>=10'}
+ dependencies:
+ is-obj: 2.0.0
+ dev: true
+
+ /dot-prop/7.2.0:
+ resolution: {integrity: sha512-Ol/IPXUARn9CSbkrdV4VJo7uCy1I3VuSiWCaFSg+8BdUOzF9n3jefIpcgAydvUZbTdEBZs2vEiTiS9m61ssiDA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ type-fest: 2.19.0
+
+ /dotenv/16.0.3:
+ resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==}
+ engines: {node: '>=12'}
+
+ /duplexer/0.1.2:
+ resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
+
+ /eastasianwidth/0.2.0:
+ resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
+
+ /ee-first/1.1.1:
+ resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
+
+ /electron-to-chromium/1.4.355:
+ resolution: {integrity: sha512-056hxzEE4l667YeOccgjhRr5fTiwZ6EIJ4FpzGps4k3YcS8iAhiaBYUBrv5E2LDQJsussscv9EEUwAYKnv+ZKg==}
+
+ /emoji-regex/8.0.0:
+ resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+
+ /emoji-regex/9.2.2:
+ resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+
+ /emoticon/4.0.1:
+ resolution: {integrity: sha512-dqx7eA9YaqyvYtUhJwT4rC1HIp82j5ybS1/vQ42ur+jBe17dJMwZE4+gvL1XadSFfxaPFFGt3Xsw+Y8akThDlw==}
+ dev: false
+
+ /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
+
+ /engine.io-client/6.4.0:
+ resolution: {integrity: sha512-GyKPDyoEha+XZ7iEqam49vz6auPnNJ9ZBfy89f+rMMas8AuiMWOZ9PVzu8xb9ZC6rafUqiGHSCfu22ih66E+1g==}
+ dependencies:
+ '@socket.io/component-emitter': 3.1.0
+ debug: 4.3.4
+ engine.io-parser: 5.0.6
+ ws: 8.11.0
+ xmlhttprequest-ssl: 2.0.0
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+ dev: false
+
+ /engine.io-parser/5.0.6:
+ resolution: {integrity: sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==}
+ engines: {node: '>=10.0.0'}
+ dev: false
+
+ /enhanced-resolve/4.5.0:
+ resolution: {integrity: sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ graceful-fs: 4.2.11
+ memory-fs: 0.5.0
+ tapable: 1.1.3
+
+ /enhanced-resolve/5.12.0:
+ resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==}
+ engines: {node: '>=10.13.0'}
+ dependencies:
+ graceful-fs: 4.2.11
+ tapable: 2.2.1
+
+ /entities/4.4.0:
+ resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==}
+ engines: {node: '>=0.12'}
+
+ /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
+
+ /errno/0.1.8:
+ resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==}
+ hasBin: true
+ dependencies:
+ prr: 1.0.1
+
+ /error-ex/1.3.2:
+ resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
+ dependencies:
+ is-arrayish: 0.2.1
+ dev: true
+
+ /es-abstract/1.21.2:
+ resolution: {integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ array-buffer-byte-length: 1.0.0
+ 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.5
+ get-intrinsic: 1.2.0
+ 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.10
+ is-weakref: 1.0.2
+ object-inspect: 1.12.3
+ object-keys: 1.1.1
+ object.assign: 4.1.4
+ regexp.prototype.flags: 1.4.3
+ safe-regex-test: 1.0.0
+ string.prototype.trim: 1.2.7
+ string.prototype.trimend: 1.0.6
+ string.prototype.trimstart: 1.0.6
+ typed-array-length: 1.0.4
+ unbox-primitive: 1.0.2
+ which-typed-array: 1.1.9
+ dev: true
+
+ /es-array-method-boxes-properly/1.0.0:
+ resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==}
+ dev: true
+
+ /es-get-iterator/1.1.3:
+ resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==}
+ dependencies:
+ call-bind: 1.0.2
+ get-intrinsic: 1.2.0
+ 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
+ stop-iteration-iterator: 1.0.0
+ dev: true
+
+ /es-set-tostringtag/2.0.1:
+ resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ get-intrinsic: 1.2.0
+ 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-object-assign/1.1.0:
+ resolution: {integrity: sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==}
+ dev: false
+
+ /esbuild/0.17.15:
+ resolution: {integrity: sha512-LBUV2VsUIc/iD9ME75qhT4aJj0r75abCVS0jakhFzOtR7TQsqQA5w0tZ+KTKnwl3kXE0MhskNdHDh/I5aCR1Zw==}
+ engines: {node: '>=12'}
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ '@esbuild/android-arm': 0.17.15
+ '@esbuild/android-arm64': 0.17.15
+ '@esbuild/android-x64': 0.17.15
+ '@esbuild/darwin-arm64': 0.17.15
+ '@esbuild/darwin-x64': 0.17.15
+ '@esbuild/freebsd-arm64': 0.17.15
+ '@esbuild/freebsd-x64': 0.17.15
+ '@esbuild/linux-arm': 0.17.15
+ '@esbuild/linux-arm64': 0.17.15
+ '@esbuild/linux-ia32': 0.17.15
+ '@esbuild/linux-loong64': 0.17.15
+ '@esbuild/linux-mips64el': 0.17.15
+ '@esbuild/linux-ppc64': 0.17.15
+ '@esbuild/linux-riscv64': 0.17.15
+ '@esbuild/linux-s390x': 0.17.15
+ '@esbuild/linux-x64': 0.17.15
+ '@esbuild/netbsd-x64': 0.17.15
+ '@esbuild/openbsd-x64': 0.17.15
+ '@esbuild/sunos-x64': 0.17.15
+ '@esbuild/win32-arm64': 0.17.15
+ '@esbuild/win32-ia32': 0.17.15
+ '@esbuild/win32-x64': 0.17.15
+
+ /escalade/3.1.1:
+ resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
+ engines: {node: '>=6'}
+
+ /escape-goat/4.0.0:
+ resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /escape-html/1.0.3:
+ resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
+
+ /escape-string-regexp/1.0.5:
+ resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
+ engines: {node: '>=0.8.0'}
+
+ /escape-string-regexp/4.0.0:
+ resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
+ engines: {node: '>=10'}
+
+ /escape-string-regexp/5.0.0:
+ resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
+ engines: {node: '>=12'}
+
+ /escodegen/1.14.3:
+ resolution: {integrity: sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==}
+ engines: {node: '>=4.0'}
+ hasBin: true
+ dependencies:
+ esprima: 4.0.1
+ estraverse: 4.3.0
+ esutils: 2.0.3
+ optionator: 0.8.3
+ optionalDependencies:
+ source-map: 0.6.1
+ dev: true
+
+ /eslint-config-standard/17.0.0_ed26cu7hf3bvb66klim2omkahq:
+ resolution: {integrity: sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg==}
+ peerDependencies:
+ eslint: ^8.0.1
+ eslint-plugin-import: ^2.25.2
+ eslint-plugin-n: ^15.0.0
+ eslint-plugin-promise: ^6.0.0
+ dependencies:
+ eslint: 8.37.0
+ eslint-plugin-import: 2.27.5_lzketmck77f3sl4imublpv5fl4
+ eslint-plugin-n: 15.7.0_eslint@8.37.0
+ eslint-plugin-promise: 6.1.1_eslint@8.37.0
+ dev: true
+
+ /eslint-import-resolver-node/0.3.7:
+ resolution: {integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==}
+ dependencies:
+ debug: 3.2.7
+ is-core-module: 2.11.0
+ resolve: 1.22.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /eslint-import-resolver-typescript/3.5.5_4wzvscwbknflmpsta4jffpzvoi:
+ resolution: {integrity: sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ eslint: '*'
+ eslint-plugin-import: '*'
+ dependencies:
+ debug: 4.3.4
+ enhanced-resolve: 5.12.0
+ eslint: 8.37.0
+ eslint-module-utils: 2.7.4_lzketmck77f3sl4imublpv5fl4
+ eslint-plugin-import: 2.27.5_lzketmck77f3sl4imublpv5fl4
+ get-tsconfig: 4.5.0
+ globby: 13.1.3
+ is-core-module: 2.11.0
+ is-glob: 4.0.3
+ synckit: 0.8.5
+ transitivePeerDependencies:
+ - '@typescript-eslint/parser'
+ - eslint-import-resolver-node
+ - eslint-import-resolver-webpack
+ - supports-color
+ dev: true
+
+ /eslint-module-utils/2.7.4_5iihppue53jnqu3izaqooslrtm:
+ resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==}
+ 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.57.1_vwh6htx42aidho2qgfca5u5rwm
+ debug: 3.2.7
+ eslint: 8.37.0
+ eslint-import-resolver-node: 0.3.7
+ eslint-import-resolver-typescript: 3.5.5_4wzvscwbknflmpsta4jffpzvoi
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /eslint-module-utils/2.7.4_lzketmck77f3sl4imublpv5fl4:
+ resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==}
+ 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.57.1_vwh6htx42aidho2qgfca5u5rwm
+ debug: 3.2.7
+ eslint: 8.37.0
+ eslint-import-resolver-typescript: 3.5.5_4wzvscwbknflmpsta4jffpzvoi
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /eslint-plugin-es/3.0.1_eslint@8.37.0:
+ resolution: {integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==}
+ engines: {node: '>=8.10.0'}
+ peerDependencies:
+ eslint: '>=4.19.1'
+ dependencies:
+ eslint: 8.37.0
+ eslint-utils: 2.1.0
+ regexpp: 3.2.0
+ dev: true
+
+ /eslint-plugin-es/4.1.0_eslint@8.37.0:
+ resolution: {integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==}
+ engines: {node: '>=8.10.0'}
+ peerDependencies:
+ eslint: '>=4.19.1'
+ dependencies:
+ eslint: 8.37.0
+ eslint-utils: 2.1.0
+ regexpp: 3.2.0
+ dev: true
+
+ /eslint-plugin-import/2.27.5_lzketmck77f3sl4imublpv5fl4:
+ resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==}
+ 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.57.1_vwh6htx42aidho2qgfca5u5rwm
+ array-includes: 3.1.6
+ array.prototype.flat: 1.3.1
+ array.prototype.flatmap: 1.3.1
+ debug: 3.2.7
+ doctrine: 2.1.0
+ eslint: 8.37.0
+ eslint-import-resolver-node: 0.3.7
+ eslint-module-utils: 2.7.4_5iihppue53jnqu3izaqooslrtm
+ has: 1.0.3
+ is-core-module: 2.11.0
+ is-glob: 4.0.3
+ minimatch: 3.1.2
+ object.values: 1.1.6
+ resolve: 1.22.2
+ semver: 6.3.0
+ tsconfig-paths: 3.14.2
+ transitivePeerDependencies:
+ - eslint-import-resolver-typescript
+ - eslint-import-resolver-webpack
+ - supports-color
+ dev: true
+
+ /eslint-plugin-n/15.7.0_eslint@8.37.0:
+ resolution: {integrity: sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==}
+ engines: {node: '>=12.22.0'}
+ peerDependencies:
+ eslint: '>=7.0.0'
+ dependencies:
+ builtins: 5.0.1
+ eslint: 8.37.0
+ eslint-plugin-es: 4.1.0_eslint@8.37.0
+ eslint-utils: 3.0.0_eslint@8.37.0
+ ignore: 5.2.4
+ is-core-module: 2.11.0
+ minimatch: 3.1.2
+ resolve: 1.22.2
+ semver: 7.3.8
+ dev: true
+
+ /eslint-plugin-node/11.1.0_eslint@8.37.0:
+ resolution: {integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==}
+ engines: {node: '>=8.10.0'}
+ peerDependencies:
+ eslint: '>=5.16.0'
+ dependencies:
+ eslint: 8.37.0
+ eslint-plugin-es: 3.0.1_eslint@8.37.0
+ eslint-utils: 2.1.0
+ ignore: 5.2.4
+ minimatch: 3.1.2
+ resolve: 1.22.2
+ semver: 6.3.0
+ dev: true
+
+ /eslint-plugin-promise/6.1.1_eslint@8.37.0:
+ resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^7.0.0 || ^8.0.0
+ dependencies:
+ eslint: 8.37.0
+ dev: true
+
+ /eslint-plugin-unicorn/44.0.2_eslint@8.37.0:
+ resolution: {integrity: sha512-GLIDX1wmeEqpGaKcnMcqRvMVsoabeF0Ton0EX4Th5u6Kmf7RM9WBl705AXFEsns56ESkEs0uyelLuUTvz9Tr0w==}
+ engines: {node: '>=14.18'}
+ peerDependencies:
+ eslint: '>=8.23.1'
+ dependencies:
+ '@babel/helper-validator-identifier': 7.19.1
+ ci-info: 3.8.0
+ clean-regexp: 1.0.0
+ eslint: 8.37.0
+ eslint-utils: 3.0.0_eslint@8.37.0
+ esquery: 1.5.0
+ indent-string: 4.0.0
+ is-builtin-module: 3.2.1
+ lodash: 4.17.21
+ pluralize: 8.0.0
+ read-pkg-up: 7.0.1
+ regexp-tree: 0.1.24
+ safe-regex: 2.1.1
+ semver: 7.3.8
+ strip-indent: 3.0.0
+ dev: true
+
+ /eslint-plugin-vue/9.10.0_eslint@8.37.0:
+ resolution: {integrity: sha512-2MgP31OBf8YilUvtakdVMc8xVbcMp7z7/iQj8LHVpXrSXHPXSJRUIGSPFI6b6pyCx/buKaFJ45ycqfHvQRiW2g==}
+ engines: {node: ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.2.0 || ^7.0.0 || ^8.0.0
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0_eslint@8.37.0
+ eslint: 8.37.0
+ natural-compare: 1.4.0
+ nth-check: 2.1.1
+ postcss-selector-parser: 6.0.11
+ semver: 7.3.8
+ vue-eslint-parser: 9.1.1_eslint@8.37.0
+ xml-name-validator: 4.0.0
+ transitivePeerDependencies:
+ - supports-color
+ 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.1.1:
+ resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 5.3.0
+
+ /eslint-utils/2.1.0:
+ resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==}
+ engines: {node: '>=6'}
+ dependencies:
+ eslint-visitor-keys: 1.3.0
+ dev: true
+
+ /eslint-utils/3.0.0_eslint@8.37.0:
+ resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==}
+ engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0}
+ peerDependencies:
+ eslint: '>=5'
+ dependencies:
+ eslint: 8.37.0
+ eslint-visitor-keys: 2.1.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.0:
+ resolution: {integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ /eslint/8.37.0:
+ resolution: {integrity: sha512-NU3Ps9nI05GUoVMxcZx1J8CNR6xOvUT4jAUMH5+z8lpp3aEdPVCImKw6PWG4PY+Vfkpr+jvMpxs/qoE7wq0sPw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ hasBin: true
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0_eslint@8.37.0
+ '@eslint-community/regexpp': 4.5.0
+ '@eslint/eslintrc': 2.0.2
+ '@eslint/js': 8.37.0
+ '@humanwhocodes/config-array': 0.11.8
+ '@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.1.1
+ eslint-visitor-keys: 3.4.0
+ espree: 9.5.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.20.0
+ grapheme-splitter: 1.0.4
+ ignore: 5.2.4
+ import-fresh: 3.3.0
+ imurmurhash: 0.1.4
+ is-glob: 4.0.3
+ is-path-inside: 3.0.3
+ js-sdsl: 4.4.0
+ 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.1
+ strip-ansi: 6.0.1
+ strip-json-comments: 3.1.1
+ text-table: 0.2.0
+ transitivePeerDependencies:
+ - supports-color
+
+ /esno/0.16.3:
+ resolution: {integrity: sha512-6slSBEV1lMKcX13DBifvnDFpNno5WXhw4j/ff7RI0y51BZiDqEe5dNhhjhIQ3iCOQuzsm2MbVzmwqbN78BBhPg==}
+ hasBin: true
+ dependencies:
+ tsx: 3.12.6
+ dev: true
+
+ /espree/9.5.1:
+ resolution: {integrity: sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ acorn: 8.8.2
+ acorn-jsx: 5.3.2_acorn@8.8.2
+ eslint-visitor-keys: 3.4.0
+
+ /esprima/4.0.1:
+ resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ /esquery/1.5.0:
+ resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
+ engines: {node: '>=0.10'}
+ dependencies:
+ estraverse: 5.3.0
+
+ /esrecurse/4.3.0:
+ resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
+ engines: {node: '>=4.0'}
+ dependencies:
+ estraverse: 5.3.0
+
+ /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'}
+
+ /estree-walker/0.6.1:
+ resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==}
+ 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.0
+
+ /esutils/2.0.3:
+ resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
+ engines: {node: '>=0.10.0'}
+
+ /etag/1.8.1:
+ resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
+ engines: {node: '>= 0.6'}
+
+ /eventemitter3/4.0.7:
+ resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
+
+ /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
+
+ /execa/6.1.0:
+ resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ cross-spawn: 7.0.3
+ get-stream: 6.0.1
+ human-signals: 3.0.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
+ dev: false
+
+ /execa/7.1.1:
+ resolution: {integrity: sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==}
+ 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
+ dev: true
+
+ /extend/3.0.2:
+ resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
+ dev: false
+
+ /external-editor/3.1.0:
+ resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==}
+ engines: {node: '>=4'}
+ dependencies:
+ chardet: 0.7.0
+ iconv-lite: 0.4.24
+ tmp: 0.0.33
+
+ /externality/1.0.0:
+ resolution: {integrity: sha512-MAU9ci3XdpqOX1aoIoyL2DMzW97P8LYeJxIUkfXhOfsrkH4KLHFaYDwKN0B2l6tqedVJWiTIJtWmxmZfa05vOQ==}
+ dependencies:
+ enhanced-resolve: 5.12.0
+ mlly: 1.2.0
+ pathe: 1.1.0
+ ufo: 1.1.1
+
+ /fast-deep-equal/3.1.3:
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+
+ /fast-glob/3.2.12:
+ resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==}
+ 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
+
+ /fast-json-stable-stringify/2.1.0:
+ resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
+
+ /fast-levenshtein/2.0.6:
+ resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
+
+ /fastq/1.15.0:
+ resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
+ dependencies:
+ reusify: 1.0.4
+
+ /fetch-blob/3.2.0:
+ resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==}
+ engines: {node: ^12.20 || >= 14.13}
+ dependencies:
+ node-domexception: 1.0.0
+ web-streams-polyfill: 3.2.1
+
+ /figures/5.0.0:
+ resolution: {integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==}
+ engines: {node: '>=14'}
+ dependencies:
+ escape-string-regexp: 5.0.0
+ is-unicode-supported: 1.3.0
+
+ /file-entry-cache/6.0.1:
+ resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
+ engines: {node: ^10.12.0 || >=12.0.0}
+ dependencies:
+ flat-cache: 3.0.4
+
+ /file-uri-to-path/1.0.0:
+ resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==}
+
+ /file-uri-to-path/2.0.0:
+ resolution: {integrity: sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg==}
+ engines: {node: '>= 6'}
+ dev: true
+
+ /fill-range/7.0.1:
+ resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ to-regex-range: 5.0.1
+
+ /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
+
+ /flat-cache/3.0.4:
+ resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==}
+ engines: {node: ^10.12.0 || >=12.0.0}
+ dependencies:
+ flatted: 3.2.7
+ rimraf: 3.0.2
+
+ /flat/5.0.2:
+ resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==}
+ hasBin: true
+
+ /flatted/3.2.7:
+ resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==}
+
+ /follow-redirects/1.15.2:
+ resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ debug: '*'
+ peerDependenciesMeta:
+ debug:
+ optional: true
+
+ /for-each/0.3.3:
+ resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
+ dependencies:
+ is-callable: 1.2.7
+
+ /form-data-encoder/2.1.4:
+ resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==}
+ engines: {node: '>= 14.17'}
+ 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
+
+ /formdata-polyfill/4.0.10:
+ resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==}
+ engines: {node: '>=12.20.0'}
+ dependencies:
+ fetch-blob: 3.2.0
+
+ /fraction.js/4.2.0:
+ resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==}
+
+ /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==}
+
+ /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
+
+ /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
+
+ /fs-extra/8.1.0:
+ resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==}
+ engines: {node: '>=6 <7 || >=8'}
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 4.0.0
+ universalify: 0.1.2
+ dev: true
+
+ /fs-minipass/2.1.0:
+ resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==}
+ engines: {node: '>= 8'}
+ dependencies:
+ minipass: 3.3.6
+
+ /fs-minipass/3.0.1:
+ resolution: {integrity: sha512-MhaJDcFRTuLidHrIttu0RDGyyXs/IYHVmlcxfLAEFIWjc1vdLAkdwT7Ace2u7DbitWC0toKMl5eJZRYNVreIMw==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ dependencies:
+ minipass: 4.2.5
+ dev: true
+
+ /fs.realpath/1.0.0:
+ resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
+
+ /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
+ optional: true
+
+ /ftp/0.3.10:
+ resolution: {integrity: sha512-faFVML1aBx2UoDStmLwv2Wptt4vw5x03xxX172nhA5Y5HBshW5JweqQ2W4xL4dezQTG8inJsuYcpPHHU3X5OTQ==}
+ engines: {node: '>=0.8.0'}
+ dependencies:
+ readable-stream: 1.1.14
+ xregexp: 2.0.0
+ dev: true
+
+ /function-bind/1.1.1:
+ resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
+
+ /function.prototype.name/1.1.5:
+ resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ es-abstract: 1.21.2
+ functions-have-names: 1.2.3
+ dev: true
+
+ /functions-have-names/1.2.3:
+ resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
+ dev: true
+
+ /gauge/3.0.2:
+ resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==}
+ engines: {node: '>=10'}
+ dependencies:
+ aproba: 2.0.0
+ color-support: 1.1.3
+ console-control-strings: 1.1.0
+ has-unicode: 2.0.1
+ object-assign: 4.1.1
+ signal-exit: 3.0.7
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wide-align: 1.1.5
+
+ /gauge/4.0.4:
+ resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==}
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ dependencies:
+ aproba: 2.0.0
+ color-support: 1.1.3
+ console-control-strings: 1.1.0
+ has-unicode: 2.0.1
+ signal-exit: 3.0.7
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wide-align: 1.1.5
+ 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.*}
+
+ /get-intrinsic/1.2.0:
+ resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==}
+ dependencies:
+ function-bind: 1.1.1
+ has: 1.0.3
+ has-symbols: 1.0.3
+
+ /get-port-please/3.0.1:
+ resolution: {integrity: sha512-R5pcVO8Z1+pVDu8Ml3xaJCEkBiiy1VQN9za0YqH8GIi1nIqD4IzQhzY6dDzMRtdS1lyiGlucRzm8IN8wtLIXng==}
+
+ /get-stream/5.2.0:
+ resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==}
+ engines: {node: '>=8'}
+ dependencies:
+ pump: 3.0.0
+ dev: true
+
+ /get-stream/6.0.1:
+ resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
+ engines: {node: '>=10'}
+
+ /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.0
+ dev: true
+
+ /get-tsconfig/4.5.0:
+ resolution: {integrity: sha512-MjhiaIWCJ1sAU4pIQ5i5OfOuHHxVo1oYeNsWTON7jxYkod8pHocXeh+SSbmu5OZZZK73B6cbJ2XADzXehLyovQ==}
+ dev: true
+
+ /get-uri/3.0.2:
+ resolution: {integrity: sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg==}
+ engines: {node: '>= 6'}
+ dependencies:
+ '@tootallnate/once': 1.1.2
+ data-uri-to-buffer: 3.0.1
+ debug: 4.3.4
+ file-uri-to-path: 2.0.0
+ fs-extra: 8.1.0
+ ftp: 0.3.10
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /giget/1.1.2:
+ resolution: {integrity: sha512-HsLoS07HiQ5oqvObOI+Qb2tyZH4Gj5nYGfF9qQcZNrPw+uEFhdXtgJr01aO2pWadGHucajYDLxxbtQkm97ON2A==}
+ hasBin: true
+ dependencies:
+ colorette: 2.0.19
+ defu: 6.1.2
+ https-proxy-agent: 5.0.1
+ mri: 1.2.0
+ node-fetch-native: 1.1.0
+ pathe: 1.1.0
+ tar: 6.1.13
+ transitivePeerDependencies:
+ - supports-color
+
+ /git-config-path/2.0.0:
+ resolution: {integrity: sha512-qc8h1KIQbJpp+241id3GuAtkdyJ+IK+LIVtkiFTRKRrmddDzs3SI9CvP1QYmWBFvm1I/PWRwj//of8bgAc0ltA==}
+ engines: {node: '>=4'}
+
+ /git-up/7.0.0:
+ resolution: {integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==}
+ dependencies:
+ is-ssh: 1.4.0
+ parse-url: 8.1.0
+
+ /git-url-parse/13.1.0:
+ resolution: {integrity: sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA==}
+ dependencies:
+ git-up: 7.0.0
+
+ /github-slugger/2.0.0:
+ resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==}
+ dev: false
+
+ /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
+
+ /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
+
+ /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
+
+ /glob/9.3.4:
+ resolution: {integrity: sha512-qaSc49hojMOv1EPM4EuyITjDSgSKI0rthoHnvE81tcOi1SCVndHko7auqxdQ14eiQG2NDBJBE86+2xIrbIvrbA==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ dependencies:
+ fs.realpath: 1.0.0
+ minimatch: 8.0.3
+ minipass: 4.2.5
+ path-scurry: 1.6.3
+ dev: true
+
+ /global-dirs/3.0.1:
+ resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==}
+ engines: {node: '>=10'}
+ dependencies:
+ ini: 2.0.0
+ dev: true
+
+ /globals/11.12.0:
+ resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
+ engines: {node: '>=4'}
+
+ /globals/13.20.0:
+ resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ type-fest: 0.20.2
+
+ /globalthis/1.0.3:
+ resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ define-properties: 1.2.0
+ dev: true
+
+ /globalyzer/0.1.0:
+ resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==}
+ 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.2.12
+ ignore: 5.2.4
+ merge2: 1.4.1
+ slash: 3.0.0
+ dev: true
+
+ /globby/13.1.3:
+ resolution: {integrity: sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ dir-glob: 3.0.1
+ fast-glob: 3.2.12
+ ignore: 5.2.4
+ merge2: 1.4.1
+ slash: 4.0.0
+
+ /globrex/0.1.2:
+ resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
+ dev: true
+
+ /gopd/1.0.1:
+ resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
+ dependencies:
+ get-intrinsic: 1.2.0
+
+ /got/11.8.6:
+ resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==}
+ engines: {node: '>=10.19.0'}
+ dependencies:
+ '@sindresorhus/is': 4.6.0
+ '@szmarczak/http-timer': 4.0.6
+ '@types/cacheable-request': 6.0.3
+ '@types/responselike': 1.0.0
+ cacheable-lookup: 5.0.4
+ cacheable-request: 7.0.2
+ decompress-response: 6.0.0
+ http2-wrapper: 1.0.3
+ lowercase-keys: 2.0.0
+ p-cancelable: 2.1.1
+ responselike: 2.0.1
+ dev: true
+
+ /got/12.6.0:
+ resolution: {integrity: sha512-WTcaQ963xV97MN3x0/CbAriXFZcXCfgxVp91I+Ze6pawQOa7SgzwSx2zIJJsX+kTajMnVs0xcFD1TxZKFqhdnQ==}
+ engines: {node: '>=14.16'}
+ dependencies:
+ '@sindresorhus/is': 5.3.0
+ '@szmarczak/http-timer': 5.0.1
+ cacheable-lookup: 7.0.0
+ cacheable-request: 10.2.9
+ decompress-response: 6.0.0
+ form-data-encoder: 2.1.4
+ get-stream: 6.0.1
+ http2-wrapper: 2.2.0
+ lowercase-keys: 3.0.0
+ p-cancelable: 3.0.0
+ responselike: 3.0.0
+ dev: true
+
+ /graceful-fs/4.2.10:
+ resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==}
+ dev: true
+
+ /graceful-fs/4.2.11:
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+
+ /grapheme-splitter/1.0.4:
+ resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==}
+
+ /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
+
+ /h3/1.6.4:
+ resolution: {integrity: sha512-uoDNeaoeDRwWBtwwi4siZ6l5sBmDJpnpcBssuAbvsaPBonl8vP7Ym4tFPe+tAvGM0GbUoC24wYcloCG+J9hqmA==}
+ dependencies:
+ cookie-es: 0.5.0
+ defu: 6.1.2
+ destr: 1.2.2
+ iron-webcrypto: 0.6.0
+ radix3: 1.0.1
+ ufo: 1.1.1
+ uncrypto: 0.1.2
+
+ /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'}
+
+ /has-property-descriptors/1.0.0:
+ resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==}
+ dependencies:
+ get-intrinsic: 1.2.0
+
+ /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==}
+
+ /has-yarn/3.0.0:
+ resolution: {integrity: sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ 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==}
+
+ /hast-util-from-parse5/7.1.2:
+ resolution: {integrity: sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==}
+ dependencies:
+ '@types/hast': 2.3.4
+ '@types/unist': 2.0.6
+ hastscript: 7.2.0
+ property-information: 6.2.0
+ vfile: 5.3.7
+ vfile-location: 4.1.0
+ web-namespaces: 2.0.1
+ dev: false
+
+ /hast-util-has-property/2.0.1:
+ resolution: {integrity: sha512-X2+RwZIMTMKpXUzlotatPzWj8bspCymtXH3cfG3iQKV+wPF53Vgaqxi/eLqGck0wKq1kS9nvoB1wchbCPEL8sg==}
+ dev: false
+
+ /hast-util-heading-rank/2.1.1:
+ resolution: {integrity: sha512-iAuRp+ESgJoRFJbSyaqsfvJDY6zzmFoEnL1gtz1+U8gKtGGj1p0CVlysuUAUjq95qlZESHINLThwJzNGmgGZxA==}
+ dependencies:
+ '@types/hast': 2.3.4
+ dev: false
+
+ /hast-util-is-element/2.1.3:
+ resolution: {integrity: sha512-O1bKah6mhgEq2WtVMk+Ta5K7pPMqsBBlmzysLdcwKVrqzZQ0CHqUPiIVspNhAG1rvxpvJjtGee17XfauZYKqVA==}
+ dependencies:
+ '@types/hast': 2.3.4
+ '@types/unist': 2.0.6
+ dev: false
+
+ /hast-util-parse-selector/3.1.1:
+ resolution: {integrity: sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==}
+ dependencies:
+ '@types/hast': 2.3.4
+ dev: false
+
+ /hast-util-raw/7.2.3:
+ resolution: {integrity: sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==}
+ dependencies:
+ '@types/hast': 2.3.4
+ '@types/parse5': 6.0.3
+ hast-util-from-parse5: 7.1.2
+ hast-util-to-parse5: 7.1.0
+ html-void-elements: 2.0.1
+ parse5: 6.0.1
+ unist-util-position: 4.0.4
+ unist-util-visit: 4.1.2
+ vfile: 5.3.7
+ web-namespaces: 2.0.1
+ zwitch: 2.0.4
+ dev: false
+
+ /hast-util-to-parse5/7.1.0:
+ resolution: {integrity: sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==}
+ dependencies:
+ '@types/hast': 2.3.4
+ comma-separated-tokens: 2.0.3
+ property-information: 6.2.0
+ space-separated-tokens: 2.0.2
+ web-namespaces: 2.0.1
+ zwitch: 2.0.4
+ dev: false
+
+ /hast-util-to-string/2.0.0:
+ resolution: {integrity: sha512-02AQ3vLhuH3FisaMM+i/9sm4OXGSq1UhOOCpTLLQtHdL3tZt7qil69r8M8iDkZYyC0HCFylcYoP+8IO7ddta1A==}
+ dependencies:
+ '@types/hast': 2.3.4
+ dev: false
+
+ /hastscript/7.2.0:
+ resolution: {integrity: sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==}
+ dependencies:
+ '@types/hast': 2.3.4
+ comma-separated-tokens: 2.0.3
+ hast-util-parse-selector: 3.1.1
+ property-information: 6.2.0
+ space-separated-tokens: 2.0.2
+ dev: false
+
+ /he/1.2.0:
+ resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
+ hasBin: true
+ dev: false
+
+ /header-case/2.0.4:
+ resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==}
+ dependencies:
+ capital-case: 1.0.4
+ tslib: 2.5.0
+ dev: false
+
+ /hogan.js/3.0.2:
+ resolution: {integrity: sha512-RqGs4wavGYJWE07t35JQccByczmNUXQT0E12ZYV1VKYu5UiAU9lsos/yBAcf840+zrUQQxgVduCR5/B8nNtibg==}
+ hasBin: true
+ dependencies:
+ mkdirp: 0.3.0
+ nopt: 1.0.10
+ dev: true
+
+ /hookable/5.5.3:
+ resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==}
+
+ /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
+
+ /htm/3.1.1:
+ resolution: {integrity: sha512-983Vyg8NwUE7JkZ6NmOqpCZ+sh1bKv2iYTlUkzlWmA5JD2acKoxd4KVxbMmxX/85mtfdnDmTFoNKcg5DGAvxNQ==}
+ dev: true
+
+ /html-tags/3.3.1:
+ resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==}
+ engines: {node: '>=8'}
+
+ /html-void-elements/2.0.1:
+ resolution: {integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==}
+ dev: false
+
+ /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/4.0.1:
+ resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==}
+ engines: {node: '>= 6'}
+ dependencies:
+ '@tootallnate/once': 1.1.2
+ agent-base: 6.0.2
+ debug: 4.3.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /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/1.18.1:
+ resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==}
+ engines: {node: '>=8.0.0'}
+ dependencies:
+ eventemitter3: 4.0.7
+ follow-redirects: 1.15.2
+ requires-port: 1.0.0
+ transitivePeerDependencies:
+ - debug
+
+ /http-shutdown/1.2.2:
+ resolution: {integrity: sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==}
+ engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
+
+ /http2-wrapper/1.0.3:
+ resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==}
+ engines: {node: '>=10.19.0'}
+ dependencies:
+ quick-lru: 5.1.1
+ resolve-alpn: 1.2.1
+ dev: true
+
+ /http2-wrapper/2.2.0:
+ resolution: {integrity: sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==}
+ engines: {node: '>=10.19.0'}
+ dependencies:
+ quick-lru: 5.1.1
+ resolve-alpn: 1.2.1
+ dev: true
+
+ /https-proxy-agent/5.0.1:
+ resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
+ engines: {node: '>= 6'}
+ dependencies:
+ agent-base: 6.0.2
+ debug: 4.3.4
+ transitivePeerDependencies:
+ - supports-color
+
+ /human-signals/2.1.0:
+ resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
+ engines: {node: '>=10.17.0'}
+
+ /human-signals/3.0.1:
+ resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==}
+ engines: {node: '>=12.20.0'}
+ dev: false
+
+ /human-signals/4.3.1:
+ resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==}
+ engines: {node: '>=14.18.0'}
+ dev: true
+
+ /humanize-ms/1.2.1:
+ resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==}
+ dependencies:
+ ms: 2.1.3
+ 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
+ optional: true
+
+ /ieee754/1.2.1:
+ resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
+
+ /ignore-walk/6.0.2:
+ resolution: {integrity: sha512-ezmQ1Dg2b3jVZh2Dh+ar6Eu2MqNSTkyb32HU2MAQQQX9tKM3q/UQ/9lf03lQ5hW+fOeoMnwxwkleZ0xcNp0/qg==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ dependencies:
+ minimatch: 7.4.5
+ dev: true
+
+ /ignore/5.2.4:
+ resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==}
+ engines: {node: '>= 4'}
+
+ /image-meta/0.1.1:
+ resolution: {integrity: sha512-+oXiHwOEPr1IE5zY0tcBLED/CYcre15J4nwL50x3o0jxWqEkyjrusiKP3YSU+tr9fvJp33ZcP5Gpj2295g3aEw==}
+ engines: {node: '>=10.18.0'}
+ 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
+
+ /import-lazy/4.0.0:
+ resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /imurmurhash/0.1.4:
+ resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
+ engines: {node: '>=0.8.19'}
+
+ /indent-string/4.0.0:
+ resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /infer-owner/1.0.4:
+ resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==}
+ dev: true
+
+ /inflight/1.0.6:
+ resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
+ dependencies:
+ once: 1.4.0
+ wrappy: 1.0.2
+
+ /inherits/2.0.4:
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+
+ /ini/1.3.8:
+ resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
+
+ /ini/2.0.0:
+ resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /inquirer/9.1.5:
+ resolution: {integrity: sha512-3ygAIh8gcZavV9bj6MTdYddG2zPSYswP808fKS46NOwlF0zZljVpnLCHODDqItWJDbDpLb3aouAxGaJbkxoppA==}
+ engines: {node: '>=14.18.0'}
+ dependencies:
+ ansi-escapes: 6.1.0
+ chalk: 5.2.0
+ cli-cursor: 4.0.0
+ cli-width: 4.0.0
+ external-editor: 3.1.0
+ figures: 5.0.0
+ lodash: 4.17.21
+ mute-stream: 1.0.0
+ ora: 6.3.0
+ run-async: 2.4.1
+ rxjs: 7.8.0
+ string-width: 5.1.2
+ strip-ansi: 7.0.1
+ through: 2.3.8
+ wrap-ansi: 8.1.0
+
+ /instantsearch.css/7.4.5:
+ resolution: {integrity: sha512-iIGBYjCokU93DDB8kbeztKtlu4qVEyTg1xvS6iSO1YvqRwkIZgf0tmsl/GytsLdZhuw8j4wEaeYsCzNbeJ/zEQ==}
+ dev: true
+
+ /instantsearch.js/4.54.0_algoliasearch@4.17.0:
+ resolution: {integrity: sha512-MU6ciQ3BAEVan/aZArSMk7Xz89XTsda5NRbOczNOF2z1oaVreF3XaF8oX0Kaj9APMm5/3d/PNB74rACNdkeRrw==}
+ peerDependencies:
+ algoliasearch: '>= 3.1 < 6'
+ dependencies:
+ '@algolia/events': 4.0.1
+ '@algolia/ui-components-highlight-vdom': 1.2.1
+ '@algolia/ui-components-shared': 1.2.1
+ '@types/dom-speech-recognition': 0.0.1
+ '@types/google.maps': 3.52.5
+ '@types/hogan.js': 3.0.1
+ '@types/qs': 6.9.7
+ algoliasearch: 4.17.0
+ algoliasearch-helper: 3.12.0_algoliasearch@4.17.0
+ hogan.js: 3.0.2
+ htm: 3.1.1
+ preact: 10.13.2
+ qs: 6.9.7
+ search-insights: 2.4.0
+ dev: true
+
+ /internal-slot/1.0.5:
+ resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ get-intrinsic: 1.2.0
+ has: 1.0.3
+ side-channel: 1.0.4
+ dev: true
+
+ /interpret/1.4.0:
+ resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==}
+ engines: {node: '>= 0.10'}
+ dev: true
+
+ /ioredis/5.3.1:
+ resolution: {integrity: sha512-C+IBcMysM6v52pTLItYMeV4Hz7uriGtoJdz7SSBDX6u+zwSYGirLdQh3L7t/OItWITcw3gTFMjJReYUwS4zihg==}
+ 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
+
+ /ip-regex/5.0.0:
+ resolution: {integrity: sha512-fOCG6lhoKKakwv+C6KdsOnGvgXnmgfmp0myi3bcNwj3qfwPAxRKWEuFhvEFF7ceYIz6+1jRZ+yguLFAmUNPEfw==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ /ip/1.1.8:
+ resolution: {integrity: sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==}
+ dev: true
+
+ /ip/2.0.0:
+ resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==}
+ dev: true
+
+ /iron-webcrypto/0.6.0:
+ resolution: {integrity: sha512-WYgEQttulX/+JTv1BTJFYY3OsAb+ZnCuA53IjppZMyiRsVdGeEuZ/k4fJrg77Rzn0pp9/PgWtXUF+5HndDA5SQ==}
+
+ /is-absolute-url/4.0.1:
+ resolution: {integrity: sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dev: false
+
+ /is-alphabetical/2.0.1:
+ resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==}
+ dev: false
+
+ /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: false
+
+ /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.0
+ is-typed-array: 1.1.10
+ dev: true
+
+ /is-arrayish/0.2.1:
+ resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
+ 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: false
+
+ /is-builtin-module/3.2.1:
+ resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==}
+ engines: {node: '>=6'}
+ dependencies:
+ builtin-modules: 3.3.0
+
+ /is-callable/1.2.7:
+ resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
+ engines: {node: '>= 0.4'}
+
+ /is-ci/3.0.1:
+ resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==}
+ hasBin: true
+ dependencies:
+ ci-info: 3.8.0
+ dev: true
+
+ /is-core-module/2.11.0:
+ resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==}
+ dependencies:
+ has: 1.0.3
+
+ /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: false
+
+ /is-docker/2.2.1:
+ resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
+ engines: {node: '>=8'}
+ hasBin: 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
+
+ /is-extglob/2.1.1:
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
+ engines: {node: '>=0.10.0'}
+
+ /is-fullwidth-code-point/3.0.0:
+ resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
+ engines: {node: '>=8'}
+
+ /is-generator-function/1.0.10:
+ resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.0
+ dev: false
+
+ /is-glob/4.0.3:
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-extglob: 2.1.1
+
+ /is-hexadecimal/2.0.1:
+ resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==}
+ dev: false
+
+ /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/0.4.0:
+ resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ global-dirs: 3.0.1
+ is-path-inside: 3.0.3
+ dev: true
+
+ /is-interactive/2.0.0:
+ resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==}
+ engines: {node: '>=12'}
+
+ /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==}
+
+ /is-nan/1.3.2:
+ resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ dev: false
+
+ /is-negative-zero/2.0.2:
+ resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /is-npm/6.0.0:
+ resolution: {integrity: sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ 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-obj/2.0.0:
+ resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /is-path-inside/3.0.3:
+ resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
+ engines: {node: '>=8'}
+
+ /is-plain-obj/4.1.0:
+ resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
+ engines: {node: '>=12'}
+ dev: false
+
+ /is-plain-object/5.0.0:
+ resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /is-primitive/3.0.1:
+ resolution: {integrity: sha512-GljRxhWvlCNRfZyORiH77FwdFwGcMO620o37EOYC0ORWdq+WYNVqW0w2Juzew4M+L81l6/QS3t5gkkihyRqv9w==}
+ engines: {node: '>=0.10.0'}
+
+ /is-promise/4.0.0:
+ resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==}
+
+ /is-reference/1.2.1:
+ resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==}
+ dependencies:
+ '@types/estree': 1.0.0
+
+ /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
+
+ /is-stream/2.0.1:
+ resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
+ engines: {node: '>=8'}
+
+ /is-stream/3.0.0:
+ resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ /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
+
+ /is-typedarray/1.0.0:
+ resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==}
+ dev: true
+
+ /is-unicode-supported/1.3.0:
+ resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==}
+ engines: {node: '>=12'}
+
+ /is-weakref/1.0.2:
+ resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
+ dependencies:
+ call-bind: 1.0.2
+ dev: true
+
+ /is-wsl/2.2.0:
+ resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
+ engines: {node: '>=8'}
+ dependencies:
+ is-docker: 2.2.1
+
+ /is-yarn-global/0.4.1:
+ resolution: {integrity: sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==}
+ engines: {node: '>=12'}
+ 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==}
+
+ /isarray/2.0.5:
+ resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
+ dev: true
+
+ /isexe/2.0.0:
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+
+ /issue-parser/6.0.0:
+ resolution: {integrity: sha512-zKa/Dxq2lGsBIXQ7CUZWTHfvxPC2ej0KfO7fIPqLlHB9J2hJ7rGhZ5rilhuufylr4RXYPzJUeFjKxz305OsNlA==}
+ engines: {node: '>=10.13'}
+ dependencies:
+ lodash.capitalize: 4.2.1
+ lodash.escaperegexp: 4.1.2
+ lodash.isplainobject: 4.0.6
+ lodash.isstring: 4.0.1
+ lodash.uniqby: 4.7.0
+ dev: true
+
+ /iterate-iterator/1.0.2:
+ resolution: {integrity: sha512-t91HubM4ZDQ70M9wqp+pcNpu8OyJ9UAtXntT/Bcsvp5tZMnz9vRa+IunKXeI8AnfZMTv0jNuVEmGeLSMjVvfPw==}
+ dev: true
+
+ /iterate-value/1.0.2:
+ resolution: {integrity: sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ==}
+ dependencies:
+ es-get-iterator: 1.1.3
+ iterate-iterator: 1.0.2
+ dev: true
+
+ /jiti/1.18.2:
+ resolution: {integrity: sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==}
+ hasBin: true
+
+ /js-sdsl/4.4.0:
+ resolution: {integrity: sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==}
+
+ /js-tokens/4.0.0:
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+
+ /js-yaml/4.1.0:
+ resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
+ hasBin: true
+ dependencies:
+ argparse: 2.0.1
+
+ /jsesc/2.5.2:
+ resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ /json-buffer/3.0.1:
+ resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
+ 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==}
+
+ /json-stable-stringify-without-jsonify/1.0.1:
+ resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
+
+ /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==}
+
+ /jsonfile/4.0.0:
+ resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
+ optionalDependencies:
+ graceful-fs: 4.2.11
+ dev: true
+
+ /jsonfile/6.1.0:
+ resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
+ dependencies:
+ universalify: 2.0.0
+ optionalDependencies:
+ graceful-fs: 4.2.11
+
+ /jsonparse/1.3.1:
+ resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==}
+ engines: {'0': node >= 0.2.0}
+ dev: true
+
+ /keyv/4.5.2:
+ resolution: {integrity: sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==}
+ dependencies:
+ json-buffer: 3.0.1
+ dev: true
+
+ /kleur/4.1.5:
+ resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /klona/2.0.6:
+ resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==}
+ engines: {node: '>= 8'}
+
+ /knitwork/1.0.0:
+ resolution: {integrity: sha512-dWl0Dbjm6Xm+kDxhPQJsCBTxrJzuGl0aP9rhr+TG8D3l+GL90N8O8lYUi7dTSAN2uuDqCtNgb6aEuQH5wsiV8Q==}
+
+ /kolorist/1.7.0:
+ resolution: {integrity: sha512-ymToLHqL02udwVdbkowNpzjFd6UzozMtshPQKVi5k1EjKRqKqBrOnE9QbLEb0/pV76SAiIT13hdL8R6suc+f3g==}
+ dev: true
+
+ /latest-version/7.0.0:
+ resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==}
+ engines: {node: '>=14.16'}
+ dependencies:
+ package-json: 8.1.0
+ dev: true
+
+ /launch-editor/2.6.0:
+ resolution: {integrity: sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==}
+ dependencies:
+ picocolors: 1.0.0
+ shell-quote: 1.8.0
+ dev: true
+
+ /lazystream/1.0.1:
+ resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==}
+ engines: {node: '>= 0.6.3'}
+ dependencies:
+ readable-stream: 2.3.8
+
+ /levn/0.3.0:
+ resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ prelude-ls: 1.1.2
+ type-check: 0.3.2
+ dev: true
+
+ /levn/0.4.1:
+ resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
+
+ /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
+
+ /listhen/1.0.4:
+ resolution: {integrity: sha512-r94k7kmXHb8e8wpv7+UP/qqhhD+j/9TgX19QKim2cEJuWCLwlTw+5BkCFmYyjhQ7Bt8KdVun/2DcD7MF2Fe3+g==}
+ dependencies:
+ clipboardy: 3.0.0
+ colorette: 2.0.19
+ defu: 6.1.2
+ get-port-please: 3.0.1
+ http-shutdown: 1.2.2
+ ip-regex: 5.0.0
+ node-forge: 1.3.1
+ ufo: 1.1.1
+
+ /local-pkg/0.4.3:
+ resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==}
+ engines: {node: '>=14'}
+
+ /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
+
+ /lodash._reinterpolate/3.0.0:
+ resolution: {integrity: sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==}
+
+ /lodash.capitalize/4.2.1:
+ resolution: {integrity: sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==}
+ dev: true
+
+ /lodash.debounce/4.0.8:
+ resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
+
+ /lodash.defaults/4.2.0:
+ resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==}
+
+ /lodash.difference/4.5.0:
+ resolution: {integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==}
+
+ /lodash.escaperegexp/4.1.2:
+ resolution: {integrity: sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==}
+ dev: true
+
+ /lodash.flatten/4.4.0:
+ resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==}
+
+ /lodash.isarguments/3.1.0:
+ resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==}
+
+ /lodash.isplainobject/4.0.6:
+ resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==}
+
+ /lodash.isstring/4.0.1:
+ resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==}
+ dev: true
+
+ /lodash.memoize/4.1.2:
+ resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==}
+
+ /lodash.merge/4.6.2:
+ resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+
+ /lodash.pick/4.4.0:
+ resolution: {integrity: sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==}
+
+ /lodash.template/4.5.0:
+ resolution: {integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==}
+ dependencies:
+ lodash._reinterpolate: 3.0.0
+ lodash.templatesettings: 4.2.0
+
+ /lodash.templatesettings/4.2.0:
+ resolution: {integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==}
+ dependencies:
+ lodash._reinterpolate: 3.0.0
+
+ /lodash.union/4.6.0:
+ resolution: {integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==}
+
+ /lodash.uniq/4.5.0:
+ resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==}
+
+ /lodash.uniqby/4.7.0:
+ resolution: {integrity: sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==}
+ dev: true
+
+ /lodash/4.17.21:
+ resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
+
+ /log-symbols/5.1.0:
+ resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==}
+ engines: {node: '>=12'}
+ dependencies:
+ chalk: 5.2.0
+ is-unicode-supported: 1.3.0
+
+ /longest-streak/3.1.0:
+ resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
+ dev: false
+
+ /lower-case/2.0.2:
+ resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
+ dependencies:
+ tslib: 2.5.0
+ dev: false
+
+ /lowercase-keys/2.0.0:
+ resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /lowercase-keys/3.0.0:
+ resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ 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
+
+ /lru-cache/7.18.3:
+ resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==}
+ engines: {node: '>=12'}
+
+ /macos-release/3.1.0:
+ resolution: {integrity: sha512-/M/R0gCDgM+Cv1IuBG1XGdfTFnMEG6PZeT+KGWHO/OG+imqmaD9CH5vHBTycEM3+Kc4uG2Il+tFAuUWLqQOeUA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dev: true
+
+ /magic-string/0.25.9:
+ resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
+ dependencies:
+ sourcemap-codec: 1.4.8
+
+ /magic-string/0.27.0:
+ resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==}
+ engines: {node: '>=12'}
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.4.15
+
+ /magic-string/0.30.0:
+ resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.4.15
+
+ /make-dir/3.1.0:
+ resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
+ engines: {node: '>=8'}
+ dependencies:
+ semver: 6.3.0
+
+ /make-fetch-happen/10.2.1:
+ resolution: {integrity: sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==}
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ dependencies:
+ agentkeepalive: 4.3.0
+ cacache: 16.1.3
+ http-cache-semantics: 4.1.1
+ http-proxy-agent: 5.0.0
+ https-proxy-agent: 5.0.1
+ is-lambda: 1.0.1
+ lru-cache: 7.18.3
+ minipass: 3.3.6
+ minipass-collect: 1.0.2
+ minipass-fetch: 2.1.2
+ minipass-flush: 1.0.5
+ minipass-pipeline: 1.2.4
+ negotiator: 0.6.3
+ promise-retry: 2.0.1
+ socks-proxy-agent: 7.0.0
+ ssri: 9.0.1
+ transitivePeerDependencies:
+ - bluebird
+ - supports-color
+ dev: true
+
+ /make-fetch-happen/11.0.3:
+ resolution: {integrity: sha512-oPLh5m10lRNNZDjJ2kP8UpboUx2uFXVaVweVe/lWut4iHWcQEmfqSVJt2ihZsFI8HbpwyyocaXbCAWf0g1ukIA==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ dependencies:
+ agentkeepalive: 4.3.0
+ cacache: 17.0.5
+ http-cache-semantics: 4.1.1
+ http-proxy-agent: 5.0.0
+ https-proxy-agent: 5.0.1
+ is-lambda: 1.0.1
+ lru-cache: 7.18.3
+ minipass: 4.2.5
+ minipass-fetch: 3.0.1
+ minipass-flush: 1.0.5
+ minipass-pipeline: 1.2.4
+ negotiator: 0.6.3
+ promise-retry: 2.0.1
+ socks-proxy-agent: 7.0.0
+ ssri: 10.0.2
+ transitivePeerDependencies:
+ - bluebird
+ - supports-color
+ dev: true
+
+ /markdown-table/3.0.3:
+ resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==}
+ dev: false
+
+ /mdast-squeeze-paragraphs/5.2.1:
+ resolution: {integrity: sha512-npINYQrt0E5AvSvM7ZxIIyrG/7DX+g8jKWcJMudrcjI+b1eNOKbbu+wTo6cKvy5IzH159IPfpWoRVH7kwEmnug==}
+ dependencies:
+ '@types/mdast': 3.0.11
+ unist-util-visit: 4.1.2
+ dev: false
+
+ /mdast-util-definitions/5.1.2:
+ resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==}
+ dependencies:
+ '@types/mdast': 3.0.11
+ '@types/unist': 2.0.6
+ unist-util-visit: 4.1.2
+ dev: false
+
+ /mdast-util-find-and-replace/2.2.2:
+ resolution: {integrity: sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==}
+ dependencies:
+ '@types/mdast': 3.0.11
+ escape-string-regexp: 5.0.0
+ unist-util-is: 5.2.1
+ unist-util-visit-parents: 5.1.3
+ dev: false
+
+ /mdast-util-from-markdown/1.3.0:
+ resolution: {integrity: sha512-HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g==}
+ dependencies:
+ '@types/mdast': 3.0.11
+ '@types/unist': 2.0.6
+ decode-named-character-reference: 1.0.2
+ mdast-util-to-string: 3.2.0
+ micromark: 3.1.0
+ micromark-util-decode-numeric-character-reference: 1.0.0
+ micromark-util-decode-string: 1.0.2
+ micromark-util-normalize-identifier: 1.0.0
+ micromark-util-symbol: 1.0.1
+ micromark-util-types: 1.0.2
+ unist-util-stringify-position: 3.0.3
+ uvu: 0.5.6
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /mdast-util-gfm-autolink-literal/1.0.3:
+ resolution: {integrity: sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==}
+ dependencies:
+ '@types/mdast': 3.0.11
+ ccount: 2.0.1
+ mdast-util-find-and-replace: 2.2.2
+ micromark-util-character: 1.1.0
+ dev: false
+
+ /mdast-util-gfm-footnote/1.0.2:
+ resolution: {integrity: sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==}
+ dependencies:
+ '@types/mdast': 3.0.11
+ mdast-util-to-markdown: 1.5.0
+ micromark-util-normalize-identifier: 1.0.0
+ dev: false
+
+ /mdast-util-gfm-strikethrough/1.0.3:
+ resolution: {integrity: sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==}
+ dependencies:
+ '@types/mdast': 3.0.11
+ mdast-util-to-markdown: 1.5.0
+ dev: false
+
+ /mdast-util-gfm-table/1.0.7:
+ resolution: {integrity: sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==}
+ dependencies:
+ '@types/mdast': 3.0.11
+ markdown-table: 3.0.3
+ mdast-util-from-markdown: 1.3.0
+ mdast-util-to-markdown: 1.5.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /mdast-util-gfm-task-list-item/1.0.2:
+ resolution: {integrity: sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==}
+ dependencies:
+ '@types/mdast': 3.0.11
+ mdast-util-to-markdown: 1.5.0
+ dev: false
+
+ /mdast-util-gfm/2.0.2:
+ resolution: {integrity: sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==}
+ dependencies:
+ mdast-util-from-markdown: 1.3.0
+ mdast-util-gfm-autolink-literal: 1.0.3
+ mdast-util-gfm-footnote: 1.0.2
+ mdast-util-gfm-strikethrough: 1.0.3
+ mdast-util-gfm-table: 1.0.7
+ mdast-util-gfm-task-list-item: 1.0.2
+ mdast-util-to-markdown: 1.5.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /mdast-util-phrasing/3.0.1:
+ resolution: {integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==}
+ dependencies:
+ '@types/mdast': 3.0.11
+ unist-util-is: 5.2.1
+ dev: false
+
+ /mdast-util-to-hast/12.3.0:
+ resolution: {integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==}
+ dependencies:
+ '@types/hast': 2.3.4
+ '@types/mdast': 3.0.11
+ mdast-util-definitions: 5.1.2
+ micromark-util-sanitize-uri: 1.1.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: false
+
+ /mdast-util-to-markdown/1.5.0:
+ resolution: {integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==}
+ dependencies:
+ '@types/mdast': 3.0.11
+ '@types/unist': 2.0.6
+ longest-streak: 3.1.0
+ mdast-util-phrasing: 3.0.1
+ mdast-util-to-string: 3.2.0
+ micromark-util-decode-string: 1.0.2
+ unist-util-visit: 4.1.2
+ zwitch: 2.0.4
+ dev: false
+
+ /mdast-util-to-string/3.2.0:
+ resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==}
+ dependencies:
+ '@types/mdast': 3.0.11
+ dev: false
+
+ /mdn-data/2.0.28:
+ resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==}
+
+ /mdn-data/2.0.30:
+ resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
+
+ /mdurl/1.0.1:
+ resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==}
+ dev: false
+
+ /memory-fs/0.5.0:
+ resolution: {integrity: sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==}
+ engines: {node: '>=4.3.0 <5.0.0 || >=5.10'}
+ dependencies:
+ errno: 0.1.8
+ readable-stream: 2.3.8
+
+ /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'}
+
+ /metadata-scraper/0.2.61:
+ resolution: {integrity: sha512-ECV8r10nIVgn7Y5vY8lnlvi9vF1YgYBJjn2R1zrOcKRe47ra9Yg25ZE1ejL3Equqi8u2Mp346KHqIcR4PLdyTA==}
+ dependencies:
+ domino: 2.1.6
+ got: 11.8.6
+ dev: true
+
+ /micromark-core-commonmark/1.0.6:
+ resolution: {integrity: sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==}
+ dependencies:
+ decode-named-character-reference: 1.0.2
+ micromark-factory-destination: 1.0.0
+ micromark-factory-label: 1.0.2
+ micromark-factory-space: 1.0.0
+ micromark-factory-title: 1.0.2
+ micromark-factory-whitespace: 1.0.0
+ micromark-util-character: 1.1.0
+ micromark-util-chunked: 1.0.0
+ micromark-util-classify-character: 1.0.0
+ micromark-util-html-tag-name: 1.1.0
+ micromark-util-normalize-identifier: 1.0.0
+ micromark-util-resolve-all: 1.0.0
+ micromark-util-subtokenize: 1.0.2
+ micromark-util-symbol: 1.0.1
+ micromark-util-types: 1.0.2
+ uvu: 0.5.6
+ dev: false
+
+ /micromark-extension-gfm-autolink-literal/1.0.3:
+ resolution: {integrity: sha512-i3dmvU0htawfWED8aHMMAzAVp/F0Z+0bPh3YrbTPPL1v4YAlCZpy5rBO5p0LPYiZo0zFVkoYh7vDU7yQSiCMjg==}
+ dependencies:
+ micromark-util-character: 1.1.0
+ micromark-util-sanitize-uri: 1.1.0
+ micromark-util-symbol: 1.0.1
+ micromark-util-types: 1.0.2
+ uvu: 0.5.6
+ dev: false
+
+ /micromark-extension-gfm-footnote/1.1.0:
+ resolution: {integrity: sha512-RWYce7j8+c0n7Djzv5NzGEGitNNYO3uj+h/XYMdS/JinH1Go+/Qkomg/rfxExFzYTiydaV6GLeffGO5qcJbMPA==}
+ dependencies:
+ micromark-core-commonmark: 1.0.6
+ micromark-factory-space: 1.0.0
+ micromark-util-character: 1.1.0
+ micromark-util-normalize-identifier: 1.0.0
+ micromark-util-sanitize-uri: 1.1.0
+ micromark-util-symbol: 1.0.1
+ micromark-util-types: 1.0.2
+ uvu: 0.5.6
+ dev: false
+
+ /micromark-extension-gfm-strikethrough/1.0.5:
+ resolution: {integrity: sha512-X0oI5eYYQVARhiNfbETy7BfLSmSilzN1eOuoRnrf9oUNsPRrWOAe9UqSizgw1vNxQBfOwL+n2610S3bYjVNi7w==}
+ dependencies:
+ micromark-util-chunked: 1.0.0
+ micromark-util-classify-character: 1.0.0
+ micromark-util-resolve-all: 1.0.0
+ micromark-util-symbol: 1.0.1
+ micromark-util-types: 1.0.2
+ uvu: 0.5.6
+ dev: false
+
+ /micromark-extension-gfm-table/1.0.5:
+ resolution: {integrity: sha512-xAZ8J1X9W9K3JTJTUL7G6wSKhp2ZYHrFk5qJgY/4B33scJzE2kpfRL6oiw/veJTbt7jiM/1rngLlOKPWr1G+vg==}
+ dependencies:
+ micromark-factory-space: 1.0.0
+ micromark-util-character: 1.1.0
+ micromark-util-symbol: 1.0.1
+ micromark-util-types: 1.0.2
+ uvu: 0.5.6
+ dev: false
+
+ /micromark-extension-gfm-tagfilter/1.0.2:
+ resolution: {integrity: sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g==}
+ dependencies:
+ micromark-util-types: 1.0.2
+ dev: false
+
+ /micromark-extension-gfm-task-list-item/1.0.4:
+ resolution: {integrity: sha512-9XlIUUVnYXHsFF2HZ9jby4h3npfX10S1coXTnV035QGPgrtNYQq3J6IfIvcCIUAJrrqBVi5BqA/LmaOMJqPwMQ==}
+ dependencies:
+ micromark-factory-space: 1.0.0
+ micromark-util-character: 1.1.0
+ micromark-util-symbol: 1.0.1
+ micromark-util-types: 1.0.2
+ uvu: 0.5.6
+ dev: false
+
+ /micromark-extension-gfm/2.0.1:
+ resolution: {integrity: sha512-p2sGjajLa0iYiGQdT0oelahRYtMWvLjy8J9LOCxzIQsllMCGLbsLW+Nc+N4vi02jcRJvedVJ68cjelKIO6bpDA==}
+ dependencies:
+ micromark-extension-gfm-autolink-literal: 1.0.3
+ micromark-extension-gfm-footnote: 1.1.0
+ micromark-extension-gfm-strikethrough: 1.0.5
+ micromark-extension-gfm-table: 1.0.5
+ micromark-extension-gfm-tagfilter: 1.0.2
+ micromark-extension-gfm-task-list-item: 1.0.4
+ micromark-util-combine-extensions: 1.0.0
+ micromark-util-types: 1.0.2
+ dev: false
+
+ /micromark-factory-destination/1.0.0:
+ resolution: {integrity: sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==}
+ dependencies:
+ micromark-util-character: 1.1.0
+ micromark-util-symbol: 1.0.1
+ micromark-util-types: 1.0.2
+ dev: false
+
+ /micromark-factory-label/1.0.2:
+ resolution: {integrity: sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==}
+ dependencies:
+ micromark-util-character: 1.1.0
+ micromark-util-symbol: 1.0.1
+ micromark-util-types: 1.0.2
+ uvu: 0.5.6
+ dev: false
+
+ /micromark-factory-space/1.0.0:
+ resolution: {integrity: sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==}
+ dependencies:
+ micromark-util-character: 1.1.0
+ micromark-util-types: 1.0.2
+ dev: false
+
+ /micromark-factory-title/1.0.2:
+ resolution: {integrity: sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==}
+ dependencies:
+ micromark-factory-space: 1.0.0
+ micromark-util-character: 1.1.0
+ micromark-util-symbol: 1.0.1
+ micromark-util-types: 1.0.2
+ uvu: 0.5.6
+ dev: false
+
+ /micromark-factory-whitespace/1.0.0:
+ resolution: {integrity: sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==}
+ dependencies:
+ micromark-factory-space: 1.0.0
+ micromark-util-character: 1.1.0
+ micromark-util-symbol: 1.0.1
+ micromark-util-types: 1.0.2
+ dev: false
+
+ /micromark-util-character/1.1.0:
+ resolution: {integrity: sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==}
+ dependencies:
+ micromark-util-symbol: 1.0.1
+ micromark-util-types: 1.0.2
+ dev: false
+
+ /micromark-util-chunked/1.0.0:
+ resolution: {integrity: sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==}
+ dependencies:
+ micromark-util-symbol: 1.0.1
+ dev: false
+
+ /micromark-util-classify-character/1.0.0:
+ resolution: {integrity: sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==}
+ dependencies:
+ micromark-util-character: 1.1.0
+ micromark-util-symbol: 1.0.1
+ micromark-util-types: 1.0.2
+ dev: false
+
+ /micromark-util-combine-extensions/1.0.0:
+ resolution: {integrity: sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==}
+ dependencies:
+ micromark-util-chunked: 1.0.0
+ micromark-util-types: 1.0.2
+ dev: false
+
+ /micromark-util-decode-numeric-character-reference/1.0.0:
+ resolution: {integrity: sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==}
+ dependencies:
+ micromark-util-symbol: 1.0.1
+ dev: false
+
+ /micromark-util-decode-string/1.0.2:
+ resolution: {integrity: sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==}
+ dependencies:
+ decode-named-character-reference: 1.0.2
+ micromark-util-character: 1.1.0
+ micromark-util-decode-numeric-character-reference: 1.0.0
+ micromark-util-symbol: 1.0.1
+ dev: false
+
+ /micromark-util-encode/1.0.1:
+ resolution: {integrity: sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==}
+ dev: false
+
+ /micromark-util-html-tag-name/1.1.0:
+ resolution: {integrity: sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==}
+ dev: false
+
+ /micromark-util-normalize-identifier/1.0.0:
+ resolution: {integrity: sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==}
+ dependencies:
+ micromark-util-symbol: 1.0.1
+ dev: false
+
+ /micromark-util-resolve-all/1.0.0:
+ resolution: {integrity: sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==}
+ dependencies:
+ micromark-util-types: 1.0.2
+ dev: false
+
+ /micromark-util-sanitize-uri/1.1.0:
+ resolution: {integrity: sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg==}
+ dependencies:
+ micromark-util-character: 1.1.0
+ micromark-util-encode: 1.0.1
+ micromark-util-symbol: 1.0.1
+ dev: false
+
+ /micromark-util-subtokenize/1.0.2:
+ resolution: {integrity: sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==}
+ dependencies:
+ micromark-util-chunked: 1.0.0
+ micromark-util-symbol: 1.0.1
+ micromark-util-types: 1.0.2
+ uvu: 0.5.6
+ dev: false
+
+ /micromark-util-symbol/1.0.1:
+ resolution: {integrity: sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==}
+ dev: false
+
+ /micromark-util-types/1.0.2:
+ resolution: {integrity: sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==}
+ dev: false
+
+ /micromark/3.1.0:
+ resolution: {integrity: sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==}
+ dependencies:
+ '@types/debug': 4.1.7
+ debug: 4.3.4
+ decode-named-character-reference: 1.0.2
+ micromark-core-commonmark: 1.0.6
+ micromark-factory-space: 1.0.0
+ micromark-util-character: 1.1.0
+ micromark-util-chunked: 1.0.0
+ micromark-util-combine-extensions: 1.0.0
+ micromark-util-decode-numeric-character-reference: 1.0.0
+ micromark-util-encode: 1.0.1
+ micromark-util-normalize-identifier: 1.0.0
+ micromark-util-resolve-all: 1.0.0
+ micromark-util-sanitize-uri: 1.1.0
+ micromark-util-subtokenize: 1.0.2
+ micromark-util-symbol: 1.0.1
+ micromark-util-types: 1.0.2
+ uvu: 0.5.6
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /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'}
+ dev: true
+
+ /mime-types/2.1.35:
+ resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ mime-db: 1.52.0
+ dev: true
+
+ /mime/1.6.0:
+ resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ /mime/2.5.2:
+ resolution: {integrity: sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==}
+ engines: {node: '>=4.0.0'}
+ hasBin: true
+
+ /mime/3.0.0:
+ resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==}
+ engines: {node: '>=10.0.0'}
+ hasBin: true
+
+ /mimic-fn/2.1.0:
+ resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
+ engines: {node: '>=6'}
+
+ /mimic-fn/4.0.0:
+ resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
+ engines: {node: '>=12'}
+
+ /mimic-response/1.0.1:
+ resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /mimic-response/3.1.0:
+ resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /mimic-response/4.0.0:
+ resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dev: true
+
+ /min-indent/1.0.1:
+ resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /minimatch/3.0.8:
+ resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==}
+ dependencies:
+ brace-expansion: 1.1.11
+
+ /minimatch/3.1.2:
+ resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+ dependencies:
+ brace-expansion: 1.1.11
+
+ /minimatch/5.1.6:
+ resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
+ engines: {node: '>=10'}
+ dependencies:
+ brace-expansion: 2.0.1
+
+ /minimatch/6.2.0:
+ resolution: {integrity: sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg==}
+ engines: {node: '>=10'}
+ dependencies:
+ brace-expansion: 2.0.1
+ dev: false
+
+ /minimatch/7.4.5:
+ resolution: {integrity: sha512-OzOamaOmNBJZUv2qqY1OSWa+++4YPpOkLgkc0w30Oov5ufKlWWXnFUl0l4dgmSv5Shq/zRVkEOXAe2NaqO4l5Q==}
+ engines: {node: '>=10'}
+ dependencies:
+ brace-expansion: 2.0.1
+ dev: true
+
+ /minimatch/8.0.3:
+ resolution: {integrity: sha512-tEEvU9TkZgnFDCtpnrEYnPsjT7iUx42aXfs4bzmQ5sMA09/6hZY0jeZcGkXyDagiBOvkUjNo8Viom+Me6+2x7g==}
+ 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/2.1.2:
+ resolution: {integrity: sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==}
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ dependencies:
+ minipass: 3.3.6
+ minipass-sized: 1.0.3
+ minizlib: 2.1.2
+ optionalDependencies:
+ encoding: 0.1.13
+ dev: true
+
+ /minipass-fetch/3.0.1:
+ resolution: {integrity: sha512-t9/wowtf7DYkwz8cfMSt0rMwiyNIBXf5CKZ3S5ZMqRqMYT0oLTp0x1WorMI9WTwvaPg21r1JbFxJMum8JrLGfw==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ dependencies:
+ minipass: 4.2.5
+ 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
+
+ /minipass/4.2.5:
+ resolution: {integrity: sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q==}
+ engines: {node: '>=8'}
+
+ /minizlib/2.1.2:
+ resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==}
+ engines: {node: '>= 8'}
+ dependencies:
+ minipass: 3.3.6
+ yallist: 4.0.0
+
+ /mitt/2.1.0:
+ resolution: {integrity: sha512-ILj2TpLiysu2wkBbWjAmww7TkZb65aiQO+DkVdUTBpBXq+MHYiETENkKFMtsJZX1Lf4pe4QOrTSjIfUwN5lRdg==}
+ dev: true
+
+ /mkdirp/0.3.0:
+ resolution: {integrity: sha512-OHsdUcVAQ6pOtg5JYWpCBo9W/GySVuwvP9hueRMW7UqshC0tbfzLv8wjySTPm3tfUZ/21CE9E1pJagOA91Pxew==}
+ deprecated: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
+ dev: true
+
+ /mkdirp/1.0.4:
+ resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ /mkdist/1.2.0_typescript@5.0.3:
+ resolution: {integrity: sha512-UTqu/bXmIk/+VKNVgufAeMyjUcNy1dn9Bl7wL1zZlCKVrpDgj/VllmZBeh3ZCC/2HWqUrt6frNFTKt9TRZbNvQ==}
+ hasBin: true
+ peerDependencies:
+ sass: ^1.60.0
+ typescript: '>=4.9.5'
+ peerDependenciesMeta:
+ sass:
+ optional: true
+ typescript:
+ optional: true
+ dependencies:
+ defu: 6.1.2
+ esbuild: 0.17.15
+ fs-extra: 11.1.1
+ globby: 13.1.3
+ jiti: 1.18.2
+ mlly: 1.2.0
+ mri: 1.2.0
+ pathe: 1.1.0
+ typescript: 5.0.3
+ dev: false
+
+ /mlly/1.2.0:
+ resolution: {integrity: sha512-+c7A3CV0KGdKcylsI6khWyts/CYrGTrRVo4R/I7u/cUsy0Conxa6LUhiEzVKIw14lc2L5aiO4+SeVe4TeGRKww==}
+ dependencies:
+ acorn: 8.8.2
+ pathe: 1.1.0
+ pkg-types: 1.0.2
+ ufo: 1.1.1
+
+ /mri/1.2.0:
+ resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
+ engines: {node: '>=4'}
+
+ /mrmime/1.0.1:
+ resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /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==}
+
+ /muggle-string/0.2.2:
+ resolution: {integrity: sha512-YVE1mIJ4VpUMqZObFndk9CJu6DBJR/GB13p3tXuNbwD4XExaI5EOuRl6BHeIDxIqXZVxSfAC+y6U1Z/IxCfKUg==}
+ dev: false
+
+ /mute-stream/1.0.0:
+ resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ /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
+
+ /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==}
+
+ /negotiator/0.6.3:
+ resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /netmask/2.0.2:
+ resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==}
+ engines: {node: '>= 0.4.0'}
+ dev: true
+
+ /new-github-release-url/2.0.0:
+ resolution: {integrity: sha512-NHDDGYudnvRutt/VhKFlX26IotXe1w0cmkDm6JGquh5bz/bDTw0LufSmH/GxTjEdpHEO+bVKFTwdrcGa/9XlKQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ type-fest: 2.19.0
+ dev: true
+
+ /nitropack/2.3.2:
+ resolution: {integrity: sha512-bps3OvC3JocB3Hl6/FUaQpbLw1Xsr6KXV3hTDnh54N0B0uAGWN9aF1LVHKBpWSS5JJvjwd+ZewOUFsPRM2NJ9Q==}
+ engines: {node: ^14.16.0 || ^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0}
+ hasBin: true
+ dependencies:
+ '@cloudflare/kv-asset-handler': 0.3.0
+ '@netlify/functions': 1.4.0
+ '@rollup/plugin-alias': 4.0.4_rollup@3.20.2
+ '@rollup/plugin-commonjs': 24.0.1_rollup@3.20.2
+ '@rollup/plugin-inject': 5.0.3_rollup@3.20.2
+ '@rollup/plugin-json': 6.0.0_rollup@3.20.2
+ '@rollup/plugin-node-resolve': 15.0.2_rollup@3.20.2
+ '@rollup/plugin-replace': 5.0.2_rollup@3.20.2
+ '@rollup/plugin-terser': 0.4.0_rollup@3.20.2
+ '@rollup/plugin-wasm': 6.1.2_rollup@3.20.2
+ '@rollup/pluginutils': 5.0.2_rollup@3.20.2
+ '@vercel/nft': 0.22.6
+ archiver: 5.3.1
+ c12: 1.2.0
+ chalk: 5.2.0
+ chokidar: 3.5.3
+ consola: 2.15.3
+ cookie-es: 0.5.0
+ defu: 6.1.2
+ destr: 1.2.2
+ dot-prop: 7.2.0
+ esbuild: 0.17.15
+ escape-string-regexp: 5.0.0
+ etag: 1.8.1
+ fs-extra: 11.1.1
+ globby: 13.1.3
+ gzip-size: 7.0.0
+ h3: 1.6.4
+ hookable: 5.5.3
+ http-proxy: 1.18.1
+ is-primitive: 3.0.1
+ jiti: 1.18.2
+ klona: 2.0.6
+ knitwork: 1.0.0
+ listhen: 1.0.4
+ mime: 3.0.0
+ mlly: 1.2.0
+ mri: 1.2.0
+ node-fetch-native: 1.1.0
+ ofetch: 1.0.1
+ ohash: 1.0.0
+ pathe: 1.1.0
+ perfect-debounce: 0.1.3
+ pkg-types: 1.0.2
+ pretty-bytes: 6.1.0
+ radix3: 1.0.1
+ rollup: 3.20.2
+ rollup-plugin-visualizer: 5.9.0_rollup@3.20.2
+ scule: 1.0.0
+ semver: 7.3.8
+ serve-placeholder: 2.0.1
+ serve-static: 1.15.0
+ source-map-support: 0.5.21
+ std-env: 3.3.2
+ ufo: 1.1.1
+ unenv: 1.2.2
+ unimport: 3.0.6_rollup@3.20.2
+ unstorage: 1.4.1
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@planetscale/database'
+ - debug
+ - encoding
+ - supports-color
+
+ /no-case/3.0.4:
+ resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
+ dependencies:
+ lower-case: 2.0.2
+ tslib: 2.5.0
+ dev: false
+
+ /node-domexception/1.0.0:
+ resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==}
+ engines: {node: '>=10.5.0'}
+
+ /node-emoji/1.11.0:
+ resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==}
+ dependencies:
+ lodash: 4.17.21
+ dev: false
+
+ /node-fetch-native/1.1.0:
+ resolution: {integrity: sha512-nl5goFCig93JZ9FIV8GHT9xpNqXbxQUzkOmKIMKmncsBH9jhg7qKex8hirpymkBFmNQ114chEEG5lS4wgK2I+Q==}
+
+ /node-fetch/2.6.9:
+ resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==}
+ engines: {node: 4.x || >=6.0.0}
+ peerDependencies:
+ encoding: ^0.1.0
+ peerDependenciesMeta:
+ encoding:
+ optional: true
+ dependencies:
+ whatwg-url: 5.0.0
+
+ /node-fetch/3.3.1:
+ resolution: {integrity: sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ data-uri-to-buffer: 4.0.1
+ fetch-blob: 3.2.0
+ formdata-polyfill: 4.0.10
+
+ /node-forge/1.3.1:
+ resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==}
+ engines: {node: '>= 6.13.0'}
+
+ /node-gyp-build/4.6.0:
+ resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==}
+ hasBin: true
+
+ /node-gyp/9.3.1:
+ resolution: {integrity: sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg==}
+ engines: {node: ^12.13 || ^14.13 || >=16}
+ hasBin: true
+ dependencies:
+ env-paths: 2.2.1
+ glob: 7.2.3
+ graceful-fs: 4.2.11
+ make-fetch-happen: 10.2.1
+ nopt: 6.0.0
+ npmlog: 6.0.2
+ rimraf: 3.0.2
+ semver: 7.3.8
+ tar: 6.1.13
+ which: 2.0.2
+ transitivePeerDependencies:
+ - bluebird
+ - supports-color
+ dev: true
+
+ /node-releases/2.0.10:
+ resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==}
+
+ /nopt/1.0.10:
+ resolution: {integrity: sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==}
+ hasBin: true
+ dependencies:
+ abbrev: 1.1.1
+ dev: true
+
+ /nopt/5.0.0:
+ resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==}
+ engines: {node: '>=6'}
+ hasBin: true
+ dependencies:
+ abbrev: 1.1.1
+
+ /nopt/6.0.0:
+ resolution: {integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==}
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ hasBin: true
+ dependencies:
+ abbrev: 1.1.1
+ 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.2
+ semver: 5.7.1
+ 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.11.0
+ semver: 7.3.8
+ 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'}
+
+ /normalize-url/6.1.0:
+ resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /normalize-url/8.0.0:
+ resolution: {integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==}
+ engines: {node: '>=14.16'}
+ 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.0
+ dev: true
+
+ /npm-install-checks/6.1.0:
+ resolution: {integrity: sha512-udSGENih/5xKh3Ex+L0PtZcOt0Pa+6ppDLnpG5D49/EhMja3LupaY9E/DtJTxyFBwE09ot7Fc+H4DywnZNWTVA==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ dependencies:
+ semver: 7.3.8
+ dev: true
+
+ /npm-normalize-package-bin/3.0.0:
+ resolution: {integrity: sha512-g+DPQSkusnk7HYXr75NtzkIP4+N81i3RPsGFidF3DzHd9MT9wWngmqoeg/fnHFz5MNdtG4w03s+QnhewSLTT2Q==}
+ 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.3.8
+ validate-npm-package-name: 5.0.0
+ dev: true
+
+ /npm-packlist/7.0.4:
+ resolution: {integrity: sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ dependencies:
+ ignore-walk: 6.0.2
+ dev: true
+
+ /npm-pick-manifest/8.0.1:
+ resolution: {integrity: sha512-mRtvlBjTsJvfCCdmPtiu2bdlx8d/KXtF7yNXNWe7G0Z36qWA9Ny5zXsI2PfBZEv7SXgoxTmNaTzGSbbzDZChoA==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ dependencies:
+ npm-install-checks: 6.1.0
+ npm-normalize-package-bin: 3.0.0
+ npm-package-arg: 10.1.0
+ semver: 7.3.8
+ dev: true
+
+ /npm-registry-fetch/14.0.3:
+ resolution: {integrity: sha512-YaeRbVNpnWvsGOjX2wk5s85XJ7l1qQBGAp724h8e2CZFFhMSuw9enom7K1mWVUtvXO1uUSFIAPofQK0pPN0ZcA==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ dependencies:
+ make-fetch-happen: 11.0.3
+ minipass: 4.2.5
+ minipass-fetch: 3.0.1
+ minipass-json-stream: 1.0.1
+ minizlib: 2.1.2
+ npm-package-arg: 10.1.0
+ proc-log: 3.0.0
+ transitivePeerDependencies:
+ - bluebird
+ - supports-color
+ dev: true
+
+ /npm-run-path/4.0.1:
+ resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
+ engines: {node: '>=8'}
+ dependencies:
+ path-key: 3.1.1
+
+ /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
+
+ /npmlog/6.0.2:
+ resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==}
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ dependencies:
+ are-we-there-yet: 3.0.1
+ console-control-strings: 1.1.0
+ gauge: 4.0.4
+ 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
+
+ /nuxi/3.3.3:
+ resolution: {integrity: sha512-j0wp7TS3u9DWxmSY+NHLyu5y4UkbWOhciDdc9uFdrTZKKYl7XYTAR6UoG9fpFEO7624eDqsAE0ASG4tbq6klkg==}
+ engines: {node: ^14.18.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0}
+ hasBin: true
+ optionalDependencies:
+ fsevents: 2.3.2
+
+ /nuxt-component-meta/0.5.1:
+ resolution: {integrity: sha512-vwx5wySyVX+QbFrNb3wLYNMPlADho8E66MO45d5i5fTlEkmhopVpQ9YXwlAvM3pLCPjupxG3R3D5rKpLDeitkw==}
+ dependencies:
+ '@nuxt/kit': 3.3.3
+ scule: 1.0.0
+ typescript: 5.0.3
+ vue-component-meta: 1.2.0_typescript@5.0.3
+ transitivePeerDependencies:
+ - rollup
+ - supports-color
+ dev: false
+
+ /nuxt-config-schema/0.4.5:
+ resolution: {integrity: sha512-Y5anu5puDfMJfDP7IYjXsn6Dvj262HtjZqa73jCBbFRCc5jnjrs+BEpJJmtPG32ZsqzO2+RL4oTNb3H6IfKZLQ==}
+ dependencies:
+ '@nuxt/kit': 3.3.3
+ changelogen: 0.4.1
+ defu: 6.1.2
+ jiti: 1.18.2
+ pathe: 1.1.0
+ untyped: 1.3.2
+ transitivePeerDependencies:
+ - rollup
+ - supports-color
+ dev: false
+
+ /nuxt-icon/0.3.3_vue@3.2.47:
+ resolution: {integrity: sha512-KdhJAigBGTP8/YIFZ3orwetk40AgLq6VQ5HRYuDLmv5hiDptor9Ro+WIdZggHw7nciRxZvDdQkEwi9B5G/jrkQ==}
+ dependencies:
+ '@iconify/vue': 4.1.1_vue@3.2.47
+ '@nuxt/kit': 3.3.3
+ nuxt-config-schema: 0.4.5
+ transitivePeerDependencies:
+ - rollup
+ - supports-color
+ - vue
+ dev: false
+
+ /nuxt/3.3.3_vwh6htx42aidho2qgfca5u5rwm:
+ resolution: {integrity: sha512-dsBOUzioESYT0O5t4E/t0i/EJagKcW0f2UF5lPe7BfH9UnicfLoC2u/3KxOND3hn/shCoJAQJlLIsPa4xsgQcg==}
+ engines: {node: ^14.18.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0}
+ hasBin: true
+ dependencies:
+ '@nuxt/devalue': 2.0.0
+ '@nuxt/kit': 3.3.3
+ '@nuxt/schema': 3.3.3
+ '@nuxt/telemetry': 2.1.10
+ '@nuxt/ui-templates': 1.1.1
+ '@nuxt/vite-builder': 3.3.3_jku7zo3jiqilurtsy7ee3rsame
+ '@unhead/ssr': 1.1.25
+ '@unhead/vue': 1.1.25_vue@3.2.47
+ '@vue/reactivity': 3.2.47
+ '@vue/shared': 3.2.47
+ chokidar: 3.5.3
+ cookie-es: 0.5.0
+ defu: 6.1.2
+ destr: 1.2.2
+ escape-string-regexp: 5.0.0
+ estree-walker: 3.0.3
+ fs-extra: 11.1.1
+ globby: 13.1.3
+ h3: 1.6.4
+ hash-sum: 2.0.0
+ hookable: 5.5.3
+ jiti: 1.18.2
+ knitwork: 1.0.0
+ magic-string: 0.30.0
+ mlly: 1.2.0
+ nitropack: 2.3.2
+ nuxi: 3.3.3
+ ofetch: 1.0.1
+ ohash: 1.0.0
+ pathe: 1.1.0
+ perfect-debounce: 0.1.3
+ scule: 1.0.0
+ strip-literal: 1.0.1
+ ufo: 1.1.1
+ unctx: 2.1.2
+ unenv: 1.2.2
+ unimport: 3.0.6
+ unplugin: 1.3.1
+ untyped: 1.3.2
+ vue: 3.2.47
+ vue-bundle-renderer: 1.0.3
+ vue-devtools-stub: 0.1.0
+ vue-router: 4.1.6_vue@3.2.47
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@planetscale/database'
+ - '@types/node'
+ - debug
+ - encoding
+ - eslint
+ - less
+ - meow
+ - optionator
+ - rollup
+ - sass
+ - stylelint
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ - typescript
+ - vls
+ - vti
+ - vue-tsc
+
+ /object-assign/4.1.1:
+ resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
+ engines: {node: '>=0.10.0'}
+
+ /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.2.0
+ dev: false
+
+ /object-keys/1.1.1:
+ resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
+ engines: {node: '>= 0.4'}
+
+ /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.2.0
+ has-symbols: 1.0.3
+ object-keys: 1.1.1
+ dev: true
+
+ /object.values/1.1.6:
+ resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ es-abstract: 1.21.2
+ dev: true
+
+ /ofetch/1.0.1:
+ resolution: {integrity: sha512-icBz2JYfEpt+wZz1FRoGcrMigjNKjzvufE26m9+yUiacRQRHwnNlGRPiDnW4op7WX/MR6aniwS8xw8jyVelF2g==}
+ dependencies:
+ destr: 1.2.2
+ node-fetch-native: 1.1.0
+ ufo: 1.1.1
+
+ /ohash/1.0.0:
+ resolution: {integrity: sha512-kxSyzq6tt+6EE/xCnD1XaFhCCjUNUaz3X30rJp6mnjGLXAAvuPFqohMdv0aScWzajR45C29HyBaXZ8jXBwnh9A==}
+
+ /on-finished/2.4.1:
+ resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ ee-first: 1.1.1
+
+ /once/1.4.0:
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
+ dependencies:
+ wrappy: 1.0.2
+
+ /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
+
+ /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
+
+ /optionator/0.8.3:
+ resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ deep-is: 0.1.4
+ fast-levenshtein: 2.0.6
+ levn: 0.3.0
+ prelude-ls: 1.1.2
+ type-check: 0.3.2
+ word-wrap: 1.2.3
+ dev: true
+
+ /optionator/0.9.1:
+ resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ deep-is: 0.1.4
+ fast-levenshtein: 2.0.6
+ levn: 0.4.1
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
+ word-wrap: 1.2.3
+
+ /ora/6.3.0:
+ resolution: {integrity: sha512-1/D8uRFY0ay2kgBpmAwmSA404w4OoPVhHMqRqtjvrcK/dnzcEZxMJ+V4DUbyICu8IIVRclHcOf5wlD1tMY4GUQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ chalk: 5.2.0
+ cli-cursor: 4.0.0
+ cli-spinners: 2.8.0
+ is-interactive: 2.0.0
+ is-unicode-supported: 1.3.0
+ log-symbols: 5.1.0
+ stdin-discarder: 0.1.0
+ strip-ansi: 7.0.1
+ wcwidth: 1.0.1
+
+ /os-name/5.1.0:
+ resolution: {integrity: sha512-YEIoAnM6zFmzw3PQ201gCVCIWbXNyKObGlVvpAVvraAeOHnlYVKFssbA/riRX5R40WA6kKrZ7Dr7dWzO3nKSeQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ macos-release: 3.1.0
+ windows-release: 5.1.0
+ dev: true
+
+ /os-tmpdir/1.0.2:
+ resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
+ engines: {node: '>=0.10.0'}
+
+ /p-cancelable/2.1.1:
+ resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /p-cancelable/3.0.0:
+ resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==}
+ engines: {node: '>=12.20'}
+ 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
+
+ /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
+
+ /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
+
+ /pac-proxy-agent/5.0.0:
+ resolution: {integrity: sha512-CcFG3ZtnxO8McDigozwE3AqAw15zDvGH+OjXO4kzf7IkEKkQ4gxQ+3sdF50WmhQ4P/bVusXcqNE2S3XrNURwzQ==}
+ engines: {node: '>= 8'}
+ dependencies:
+ '@tootallnate/once': 1.1.2
+ agent-base: 6.0.2
+ debug: 4.3.4
+ get-uri: 3.0.2
+ http-proxy-agent: 4.0.1
+ https-proxy-agent: 5.0.1
+ pac-resolver: 5.0.1
+ raw-body: 2.5.2
+ socks-proxy-agent: 5.0.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /pac-resolver/5.0.1:
+ resolution: {integrity: sha512-cy7u00ko2KVgBAjuhevqpPeHIkCIqPe1v24cydhWjmeuzaBfmUWFCZJ1iAh5TuVzVZoUzXIW7K8sMYOZ84uZ9Q==}
+ engines: {node: '>= 8'}
+ dependencies:
+ degenerator: 3.0.3
+ ip: 1.1.8
+ netmask: 2.0.2
+ dev: true
+
+ /package-json/8.1.0:
+ resolution: {integrity: sha512-hySwcV8RAWeAfPsXb9/HGSPn8lwDnv6fabH+obUZKX169QknRkRhPxd1yMubpKDskLFATkl3jHpNtVtDPFA0Wg==}
+ engines: {node: '>=14.16'}
+ dependencies:
+ got: 12.6.0
+ registry-auth-token: 5.0.2
+ registry-url: 6.0.1
+ semver: 7.3.8
+ dev: true
+
+ /pacote/15.1.1:
+ resolution: {integrity: sha512-eeqEe77QrA6auZxNHIp+1TzHQ0HBKf5V6c8zcaYZ134EJe1lCi+fjXATkNiEEfbG+e50nu02GLvUtmZcGOYabQ==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ hasBin: true
+ dependencies:
+ '@npmcli/git': 4.0.4
+ '@npmcli/installed-package-contents': 2.0.2
+ '@npmcli/promise-spawn': 6.0.2
+ '@npmcli/run-script': 6.0.0
+ cacache: 17.0.5
+ fs-minipass: 3.0.1
+ minipass: 4.2.5
+ npm-package-arg: 10.1.0
+ npm-packlist: 7.0.4
+ npm-pick-manifest: 8.0.1
+ npm-registry-fetch: 14.0.3
+ proc-log: 3.0.0
+ promise-retry: 2.0.1
+ read-package-json: 6.0.1
+ read-package-json-fast: 3.0.2
+ sigstore: 1.2.0
+ ssri: 10.0.2
+ tar: 6.1.13
+ transitivePeerDependencies:
+ - bluebird
+ - supports-color
+ dev: true
+
+ /paneer/0.1.0:
+ resolution: {integrity: sha512-SZfJe/y9fbpeXZU+Kf7cSG2G7rnGP50hUYzCvcWyhp7hYzA3YXGthpkGfv6NSt0oo6QbcRyKwycg/6dpG5p8aw==}
+ deprecated: Please migrate to https://github.com/unjs/magicast
+ dependencies:
+ '@babel/parser': 7.21.4
+ '@types/estree': 1.0.0
+ recast: 0.22.0
+ dev: false
+
+ /param-case/3.0.4:
+ resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==}
+ dependencies:
+ dot-case: 3.0.4
+ tslib: 2.5.0
+ dev: false
+
+ /parent-module/1.0.1:
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
+ engines: {node: '>=6'}
+ dependencies:
+ callsites: 3.1.0
+
+ /parse-entities/4.0.1:
+ resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==}
+ dependencies:
+ '@types/unist': 2.0.6
+ 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: false
+
+ /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
+
+ /parse-json/5.2.0:
+ resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
+ engines: {node: '>=8'}
+ dependencies:
+ '@babel/code-frame': 7.21.4
+ error-ex: 1.3.2
+ json-parse-even-better-errors: 2.3.1
+ lines-and-columns: 1.2.4
+ dev: true
+
+ /parse-path/7.0.0:
+ resolution: {integrity: sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==}
+ dependencies:
+ protocols: 2.0.1
+
+ /parse-url/8.1.0:
+ resolution: {integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==}
+ dependencies:
+ parse-path: 7.0.0
+
+ /parse5/6.0.1:
+ resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==}
+ dev: false
+
+ /parseurl/1.3.3:
+ resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
+ engines: {node: '>= 0.8'}
+
+ /pascal-case/3.1.2:
+ resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==}
+ dependencies:
+ no-case: 3.0.4
+ tslib: 2.5.0
+ dev: false
+
+ /path-case/3.0.4:
+ resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==}
+ dependencies:
+ dot-case: 3.0.4
+ tslib: 2.5.0
+ dev: false
+
+ /path-exists/4.0.0:
+ resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
+ engines: {node: '>=8'}
+
+ /path-is-absolute/1.0.1:
+ resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
+ engines: {node: '>=0.10.0'}
+
+ /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==}
+
+ /path-scurry/1.6.3:
+ resolution: {integrity: sha512-RAmB+n30SlN+HnNx6EbcpoDy9nwdpcGPnEKrJnu6GZoDWBdIjo1UQMVtW2ybtC7LC2oKLcMq8y5g8WnKLiod9g==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ dependencies:
+ lru-cache: 7.18.3
+ minipass: 4.2.5
+ dev: true
+
+ /path-type/4.0.0:
+ resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
+ engines: {node: '>=8'}
+
+ /pathe/1.1.0:
+ resolution: {integrity: sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==}
+
+ /perfect-debounce/0.1.3:
+ resolution: {integrity: sha512-NOT9AcKiDGpnV/HBhI22Str++XWcErO/bALvHCuhv33owZW/CjH8KAFLZDCmu3727sihe0wTxpDhyGc6M8qacQ==}
+
+ /picocolors/1.0.0:
+ resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
+
+ /picomatch/2.3.1:
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
+ engines: {node: '>=8.6'}
+
+ /pify/2.3.0:
+ resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
+ engines: {node: '>=0.10.0'}
+
+ /pinceau/0.18.8:
+ resolution: {integrity: sha512-aVIRYxz80nweDjabJzauKtsSVS48JdWWVwWnHxG/e1HI9/aV0/RmdTD3P/8KXfYZ9OySl3MjCgUc7MZb+IwwEw==}
+ dependencies:
+ '@unocss/reset': 0.50.6
+ '@volar/vue-language-core': 1.3.12
+ acorn: 8.8.2
+ chroma-js: 2.4.2
+ consola: 2.15.3
+ csstype: 3.1.2
+ defu: 6.1.2
+ magic-string: 0.30.0
+ nanoid: 4.0.2
+ ohash: 1.0.0
+ paneer: 0.1.0
+ pathe: 1.1.0
+ postcss-custom-properties: 13.1.4
+ postcss-dark-theme-class: 0.7.3
+ postcss-nested: 6.0.1
+ recast: 0.22.0
+ scule: 1.0.0
+ style-dictionary-esm: 1.3.7
+ unbuild: 1.2.0
+ unplugin: 1.3.1
+ transitivePeerDependencies:
+ - postcss
+ - sass
+ - supports-color
+ dev: false
+
+ /pkg-types/1.0.2:
+ resolution: {integrity: sha512-hM58GKXOcj8WTqUXnsQyJYXdeAPbythQgEF3nTcEo+nkD49chjQ9IKm/QJy9xf6JakXptz86h7ecP2024rrLaQ==}
+ dependencies:
+ jsonc-parser: 3.2.0
+ mlly: 1.2.0
+ pathe: 1.1.0
+
+ /plausible-tracker/0.3.8:
+ resolution: {integrity: sha512-lmOWYQ7s9KOUJ1R+YTOR3HrjdbxIS2Z4de0P/Jx2dQPteznJl2eX3tXxKClpvbfyGP59B5bbhW8ftN59HbbFSg==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /pluralize/8.0.0:
+ resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /postcss-calc/8.2.4_postcss@8.4.21:
+ resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==}
+ peerDependencies:
+ postcss: ^8.2.2
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ postcss: 8.4.21
+ postcss-selector-parser: 6.0.11
+ postcss-value-parser: 4.2.0
+
+ /postcss-colormin/6.0.0_postcss@8.4.21:
+ resolution: {integrity: sha512-EuO+bAUmutWoZYgHn2T1dG1pPqHU6L4TjzPlu4t1wZGXQ/fxV16xg2EJmYi0z+6r+MGV1yvpx1BHkUaRrPa2bw==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ browserslist: 4.21.5
+ caniuse-api: 3.0.0
+ colord: 2.9.3
+ postcss: 8.4.21
+ postcss-value-parser: 4.2.0
+
+ /postcss-convert-values/6.0.0_postcss@8.4.21:
+ resolution: {integrity: sha512-U5D8QhVwqT++ecmy8rnTb+RL9n/B806UVaS3m60lqle4YDFcpbS3ae5bTQIh3wOGUSDHSEtMYLs/38dNG7EYFw==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ browserslist: 4.21.5
+ postcss: 8.4.21
+ postcss-value-parser: 4.2.0
+
+ /postcss-custom-properties/13.1.4:
+ resolution: {integrity: sha512-iSAdaZrM3KMec8cOSzeTUNXPYDlhqsMJHpt62yrjwG6nAnMtRHPk5JdMzGosBJtqEahDolvD5LNbcq+EZ78o5g==}
+ engines: {node: ^14 || ^16 || >=18}
+ peerDependencies:
+ postcss: ^8.4
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ '@csstools/cascade-layer-name-parser': 1.0.1_eu5cdbcexitnvbdq5yia3g22um
+ '@csstools/css-parser-algorithms': 2.1.0_5vzy4lghjvuzkedkkk4tqwjftm
+ '@csstools/css-tokenizer': 2.1.0
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-dark-theme-class/0.7.3:
+ resolution: {integrity: sha512-M9vtfh8ORzQsVdT9BWb+xpEDAzC7nHBn7wVc988/JkEVLPupKcUnV0jw7RZ8sSj0ovpqN1POf6PLdt19JCHfhQ==}
+ engines: {node: '>=12.0'}
+ peerDependencies:
+ postcss: ^8.2.14
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dev: false
+
+ /postcss-discard-comments/6.0.0_postcss@8.4.21:
+ resolution: {integrity: sha512-p2skSGqzPMZkEQvJsgnkBhCn8gI7NzRH2683EEjrIkoMiwRELx68yoUJ3q3DGSGuQ8Ug9Gsn+OuDr46yfO+eFw==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ postcss: 8.4.21
+
+ /postcss-discard-duplicates/6.0.0_postcss@8.4.21:
+ resolution: {integrity: sha512-bU1SXIizMLtDW4oSsi5C/xHKbhLlhek/0/yCnoMQany9k3nPBq+Ctsv/9oMmyqbR96HYHxZcHyK2HR5P/mqoGA==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ postcss: 8.4.21
+
+ /postcss-discard-empty/6.0.0_postcss@8.4.21:
+ resolution: {integrity: sha512-b+h1S1VT6dNhpcg+LpyiUrdnEZfICF0my7HAKgJixJLW7BnNmpRH34+uw/etf5AhOlIhIAuXApSzzDzMI9K/gQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ postcss: 8.4.21
+
+ /postcss-discard-overridden/6.0.0_postcss@8.4.21:
+ resolution: {integrity: sha512-4VELwssYXDFigPYAZ8vL4yX4mUepF/oCBeeIT4OXsJPYOtvJumyz9WflmJWTfDwCUcpDR+z0zvCWBXgTx35SVw==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ postcss: 8.4.21
+
+ /postcss-import-resolver/2.0.0:
+ resolution: {integrity: sha512-y001XYgGvVwgxyxw9J1a5kqM/vtmIQGzx34g0A0Oy44MFcy/ZboZw1hu/iN3VYFjSTRzbvd7zZJJz0Kh0AGkTw==}
+ dependencies:
+ enhanced-resolve: 4.5.0
+
+ /postcss-import/15.1.0_postcss@8.4.21:
+ resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ postcss: ^8.0.0
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ postcss: 8.4.21
+ postcss-value-parser: 4.2.0
+ read-cache: 1.0.0
+ resolve: 1.22.2
+
+ /postcss-merge-longhand/6.0.0_postcss@8.4.21:
+ resolution: {integrity: sha512-4VSfd1lvGkLTLYcxFuISDtWUfFS4zXe0FpF149AyziftPFQIWxjvFSKhA4MIxMe4XM3yTDgQMbSNgzIVxChbIg==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ postcss: 8.4.21
+ postcss-value-parser: 4.2.0
+ stylehacks: 6.0.0_postcss@8.4.21
+
+ /postcss-merge-rules/6.0.0_postcss@8.4.21:
+ resolution: {integrity: sha512-rCXkklftzEkniyv3f4mRCQzxD6oE4Quyh61uyWTUbCJ26Pv2hoz+fivJSsSBWxDBeScR4fKCfF3HHTcD7Ybqnw==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ browserslist: 4.21.5
+ caniuse-api: 3.0.0
+ cssnano-utils: 4.0.0_postcss@8.4.21
+ postcss: 8.4.21
+ postcss-selector-parser: 6.0.11
+
+ /postcss-minify-font-values/6.0.0_postcss@8.4.21:
+ resolution: {integrity: sha512-zNRAVtyh5E8ndZEYXA4WS8ZYsAp798HiIQ1V2UF/C/munLp2r1UGHwf1+6JFu7hdEhJFN+W1WJQKBrtjhFgEnA==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ postcss: 8.4.21
+ postcss-value-parser: 4.2.0
+
+ /postcss-minify-gradients/6.0.0_postcss@8.4.21:
+ resolution: {integrity: sha512-wO0F6YfVAR+K1xVxF53ueZJza3L+R3E6cp0VwuXJQejnNUH0DjcAFe3JEBeTY1dLwGa0NlDWueCA1VlEfiKgAA==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ colord: 2.9.3
+ cssnano-utils: 4.0.0_postcss@8.4.21
+ postcss: 8.4.21
+ postcss-value-parser: 4.2.0
+
+ /postcss-minify-params/6.0.0_postcss@8.4.21:
+ resolution: {integrity: sha512-Fz/wMQDveiS0n5JPcvsMeyNXOIMrwF88n7196puSuQSWSa+/Ofc1gDOSY2xi8+A4PqB5dlYCKk/WfqKqsI+ReQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ browserslist: 4.21.5
+ cssnano-utils: 4.0.0_postcss@8.4.21
+ postcss: 8.4.21
+ postcss-value-parser: 4.2.0
+
+ /postcss-minify-selectors/6.0.0_postcss@8.4.21:
+ resolution: {integrity: sha512-ec/q9JNCOC2CRDNnypipGfOhbYPuUkewGwLnbv6omue/PSASbHSU7s6uSQ0tcFRVv731oMIx8k0SP4ZX6be/0g==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ postcss: 8.4.21
+ postcss-selector-parser: 6.0.11
+
+ /postcss-nested/6.0.1:
+ resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
+ engines: {node: '>=12.0'}
+ peerDependencies:
+ postcss: ^8.2.14
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ postcss-selector-parser: 6.0.11
+ dev: false
+
+ /postcss-normalize-charset/6.0.0_postcss@8.4.21:
+ resolution: {integrity: sha512-cqundwChbu8yO/gSWkuFDmKrCZ2vJzDAocheT2JTd0sFNA4HMGoKMfbk2B+J0OmO0t5GUkiAkSM5yF2rSLUjgQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ postcss: 8.4.21
+
+ /postcss-normalize-display-values/6.0.0_postcss@8.4.21:
+ resolution: {integrity: sha512-Qyt5kMrvy7dJRO3OjF7zkotGfuYALETZE+4lk66sziWSPzlBEt7FrUshV6VLECkI4EN8Z863O6Nci4NXQGNzYw==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ postcss: 8.4.21
+ postcss-value-parser: 4.2.0
+
+ /postcss-normalize-positions/6.0.0_postcss@8.4.21:
+ resolution: {integrity: sha512-mPCzhSV8+30FZyWhxi6UoVRYd3ZBJgTRly4hOkaSifo0H+pjDYcii/aVT4YE6QpOil15a5uiv6ftnY3rm0igPg==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ postcss: 8.4.21
+ postcss-value-parser: 4.2.0
+
+ /postcss-normalize-repeat-style/6.0.0_postcss@8.4.21:
+ resolution: {integrity: sha512-50W5JWEBiOOAez2AKBh4kRFm2uhrT3O1Uwdxz7k24aKtbD83vqmcVG7zoIwo6xI2FZ/HDlbrCopXhLeTpQib1A==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ postcss: 8.4.21
+ postcss-value-parser: 4.2.0
+
+ /postcss-normalize-string/6.0.0_postcss@8.4.21:
+ resolution: {integrity: sha512-KWkIB7TrPOiqb8ZZz6homet2KWKJwIlysF5ICPZrXAylGe2hzX/HSf4NTX2rRPJMAtlRsj/yfkrWGavFuB+c0w==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ postcss: 8.4.21
+ postcss-value-parser: 4.2.0
+
+ /postcss-normalize-timing-functions/6.0.0_postcss@8.4.21:
+ resolution: {integrity: sha512-tpIXWciXBp5CiFs8sem90IWlw76FV4oi6QEWfQwyeREVwUy39VSeSqjAT7X0Qw650yAimYW5gkl2Gd871N5SQg==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ postcss: 8.4.21
+ postcss-value-parser: 4.2.0
+
+ /postcss-normalize-unicode/6.0.0_postcss@8.4.21:
+ resolution: {integrity: sha512-ui5crYkb5ubEUDugDc786L/Me+DXp2dLg3fVJbqyAl0VPkAeALyAijF2zOsnZyaS1HyfPuMH0DwyY18VMFVNkg==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ browserslist: 4.21.5
+ postcss: 8.4.21
+ postcss-value-parser: 4.2.0
+
+ /postcss-normalize-url/6.0.0_postcss@8.4.21:
+ resolution: {integrity: sha512-98mvh2QzIPbb02YDIrYvAg4OUzGH7s1ZgHlD3fIdTHLgPLRpv1ZTKJDnSAKr4Rt21ZQFzwhGMXxpXlfrUBKFHw==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ postcss: 8.4.21
+ postcss-value-parser: 4.2.0
+
+ /postcss-normalize-whitespace/6.0.0_postcss@8.4.21:
+ resolution: {integrity: sha512-7cfE1AyLiK0+ZBG6FmLziJzqQCpTQY+8XjMhMAz8WSBSCsCNNUKujgIgjCAmDT3cJ+3zjTXFkoD15ZPsckArVw==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ postcss: 8.4.21
+ postcss-value-parser: 4.2.0
+
+ /postcss-ordered-values/6.0.0_postcss@8.4.21:
+ resolution: {integrity: sha512-K36XzUDpvfG/nWkjs6d1hRBydeIxGpKS2+n+ywlKPzx1nMYDYpoGbcjhj5AwVYJK1qV2/SDoDEnHzlPD6s3nMg==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ cssnano-utils: 4.0.0_postcss@8.4.21
+ postcss: 8.4.21
+ postcss-value-parser: 4.2.0
+
+ /postcss-reduce-initial/6.0.0_postcss@8.4.21:
+ resolution: {integrity: sha512-s2UOnidpVuXu6JiiI5U+fV2jamAw5YNA9Fdi/GRK0zLDLCfXmSGqQtzpUPtfN66RtCbb9fFHoyZdQaxOB3WxVA==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ browserslist: 4.21.5
+ caniuse-api: 3.0.0
+ postcss: 8.4.21
+
+ /postcss-reduce-transforms/6.0.0_postcss@8.4.21:
+ resolution: {integrity: sha512-FQ9f6xM1homnuy1wLe9lP1wujzxnwt1EwiigtWwuyf8FsqqXUDUp2Ulxf9A5yjlUOTdCJO6lonYjg1mgqIIi2w==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ postcss: 8.4.21
+ postcss-value-parser: 4.2.0
+
+ /postcss-selector-parser/6.0.11:
+ resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==}
+ engines: {node: '>=4'}
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+
+ /postcss-svgo/6.0.0_postcss@8.4.21:
+ resolution: {integrity: sha512-r9zvj/wGAoAIodn84dR/kFqwhINp5YsJkLoujybWG59grR/IHx+uQ2Zo+IcOwM0jskfYX3R0mo+1Kip1VSNcvw==}
+ engines: {node: ^14 || ^16 || >= 18}
+ peerDependencies:
+ postcss: ^8.2.15
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ postcss: 8.4.21
+ postcss-value-parser: 4.2.0
+ svgo: 3.0.2
+
+ /postcss-unique-selectors/6.0.0_postcss@8.4.21:
+ resolution: {integrity: sha512-EPQzpZNxOxP7777t73RQpZE5e9TrnCrkvp7AH7a0l89JmZiPnS82y216JowHXwpBCQitfyxrof9TK3rYbi7/Yw==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ postcss: 8.4.21
+ postcss-selector-parser: 6.0.11
+
+ /postcss-url/10.1.3_postcss@8.4.21:
+ resolution: {integrity: sha512-FUzyxfI5l2tKmXdYc6VTu3TWZsInayEKPbiyW+P6vmmIrrb4I6CGX0BFoewgYHLK+oIL5FECEK02REYRpBvUCw==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ postcss: ^8.0.0
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ make-dir: 3.1.0
+ mime: 2.5.2
+ minimatch: 3.0.8
+ postcss: 8.4.21
+ xxhashjs: 0.2.2
+
+ /postcss-value-parser/4.2.0:
+ resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
+
+ /postcss/8.4.21:
+ resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==}
+ engines: {node: ^10 || ^12 || >=14}
+ dependencies:
+ nanoid: 3.3.6
+ picocolors: 1.0.0
+ source-map-js: 1.0.2
+
+ /preact/10.13.2:
+ resolution: {integrity: sha512-q44QFLhOhty2Bd0Y46fnYW0gD/cbVM9dUVtNTDKPcdXSMA7jfY+Jpd6rk3GB0lcQss0z5s/6CmVP0Z/hV+g6pw==}
+ dev: true
+
+ /prelude-ls/1.1.2:
+ resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==}
+ engines: {node: '>= 0.8.0'}
+ dev: true
+
+ /prelude-ls/1.2.1:
+ resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
+ engines: {node: '>= 0.8.0'}
+
+ /pretty-bytes/6.1.0:
+ resolution: {integrity: sha512-Rk753HI8f4uivXi4ZCIYdhmG1V+WKzvRMg/X+M42a6t7D07RcmopXJMDNk6N++7Bl75URRGsb40ruvg7Hcp2wQ==}
+ engines: {node: ^14.13.1 || >=16.0.0}
+
+ /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==}
+
+ /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
+
+ /promise.allsettled/1.0.6:
+ resolution: {integrity: sha512-22wJUOD3zswWFqgwjNHa1965LvqTX87WPu/lreY2KSd7SVcERfuZ4GfUaOnJNnvtoIv2yXT/W00YIGMetXtFXg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ array.prototype.map: 1.0.5
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ es-abstract: 1.21.2
+ get-intrinsic: 1.2.0
+ iterate-value: 1.0.2
+ dev: true
+
+ /property-information/6.2.0:
+ resolution: {integrity: sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==}
+ dev: false
+
+ /proto-list/1.2.4:
+ resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==}
+ dev: true
+
+ /protocols/2.0.1:
+ resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==}
+
+ /proxy-agent/5.0.0:
+ resolution: {integrity: sha512-gkH7BkvLVkSfX9Dk27W6TyNOWWZWRilRfk1XxGNWOYJ2TuedAv1yFpCaU9QSBmBe716XOTNpYNOzhysyw8xn7g==}
+ engines: {node: '>= 8'}
+ dependencies:
+ agent-base: 6.0.2
+ debug: 4.3.4
+ http-proxy-agent: 4.0.1
+ https-proxy-agent: 5.0.1
+ lru-cache: 5.1.1
+ pac-proxy-agent: 5.0.0
+ proxy-from-env: 1.1.0
+ socks-proxy-agent: 5.0.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /proxy-from-env/1.1.0:
+ resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
+ dev: true
+
+ /prr/1.0.1:
+ resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==}
+
+ /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
+
+ /punycode/2.3.0:
+ resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==}
+ engines: {node: '>=6'}
+
+ /pupa/3.1.0:
+ resolution: {integrity: sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==}
+ engines: {node: '>=12.20'}
+ dependencies:
+ escape-goat: 4.0.0
+ dev: true
+
+ /qs/6.9.7:
+ resolution: {integrity: sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==}
+ engines: {node: '>=0.6'}
+ dev: true
+
+ /queue-microtask/1.2.3:
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+
+ /quick-lru/5.1.1:
+ resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /radix3/1.0.1:
+ resolution: {integrity: sha512-y+AcwZ3HcUIGc9zGsNVf5+BY/LxL+z+4h4J3/pp8jxSmy1STaCocPS3qrj4tA5ehUSzqtqK+0Aygvz/r/8vy4g==}
+
+ /randombytes/2.1.0:
+ resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
+ dependencies:
+ safe-buffer: 5.2.1
+
+ /range-parser/1.2.1:
+ resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
+ engines: {node: '>= 0.6'}
+
+ /raw-body/2.5.2:
+ resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ bytes: 3.1.2
+ http-errors: 2.0.0
+ iconv-lite: 0.4.24
+ unpipe: 1.0.0
+ dev: true
+
+ /rc/1.2.8:
+ resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==}
+ hasBin: true
+ dependencies:
+ deep-extend: 0.6.0
+ ini: 1.3.8
+ minimist: 1.2.8
+ strip-json-comments: 2.0.1
+ dev: true
+
+ /rc9/2.1.0:
+ resolution: {integrity: sha512-ROO9bv8PPqngWKoiUZU3JDQ4sugpdRs9DfwHnzDSxK25XtQn6BEHL6EOd/OtKuDT2qodrtNR+0WkPT6l0jxH5Q==}
+ dependencies:
+ defu: 6.1.2
+ destr: 1.2.2
+ flat: 5.0.2
+
+ /read-cache/1.0.0:
+ resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
+ dependencies:
+ pify: 2.3.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.0
+ dev: true
+
+ /read-package-json/6.0.1:
+ resolution: {integrity: sha512-AaHqXxfAVa+fNL07x8iAghfKOds/XXsu7zoouIVsbm7PEbQ3nMWXlvjcbrNLjElnUHWQtAo4QEa0RXuvD4XlpA==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ dependencies:
+ glob: 9.3.4
+ json-parse-even-better-errors: 3.0.0
+ normalize-package-data: 5.0.0
+ npm-normalize-package-bin: 3.0.0
+ 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.1.14:
+ resolution: {integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==}
+ dependencies:
+ core-util-is: 1.0.3
+ inherits: 2.0.4
+ isarray: 0.0.1
+ string_decoder: 0.10.31
+ dev: true
+
+ /readable-stream/2.3.8:
+ resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==}
+ dependencies:
+ core-util-is: 1.0.3
+ inherits: 2.0.4
+ isarray: 1.0.0
+ process-nextick-args: 2.0.1
+ safe-buffer: 5.1.2
+ string_decoder: 1.1.1
+ util-deprecate: 1.0.2
+
+ /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
+
+ /readdir-glob/1.1.3:
+ resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==}
+ dependencies:
+ minimatch: 5.1.6
+
+ /readdirp/3.6.0:
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
+ engines: {node: '>=8.10.0'}
+ dependencies:
+ picomatch: 2.3.1
+
+ /recast/0.22.0:
+ resolution: {integrity: sha512-5AAx+mujtXijsEavc5lWXBPQqrM4+Dl5qNH96N2aNeuJFUzpiiToKPsxQD/zAIJHspz7zz0maX0PCtCTFVlixQ==}
+ engines: {node: '>= 4'}
+ dependencies:
+ assert: 2.0.0
+ ast-types: 0.15.2
+ esprima: 4.0.1
+ source-map: 0.6.1
+ tslib: 2.5.0
+ dev: false
+
+ /rechoir/0.6.2:
+ resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==}
+ engines: {node: '>= 0.10'}
+ dependencies:
+ resolve: 1.22.2
+ dev: true
+
+ /redis-errors/1.2.0:
+ resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==}
+ engines: {node: '>=4'}
+
+ /redis-parser/3.0.0:
+ resolution: {integrity: sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==}
+ engines: {node: '>=4'}
+ dependencies:
+ redis-errors: 1.2.0
+
+ /regenerator-runtime/0.13.11:
+ resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
+ dev: true
+
+ /regexp-tree/0.1.24:
+ resolution: {integrity: sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw==}
+ 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.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
+
+ /registry-auth-token/5.0.2:
+ resolution: {integrity: sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==}
+ engines: {node: '>=14'}
+ dependencies:
+ '@pnpm/npm-conf': 2.1.1
+ dev: true
+
+ /registry-url/6.0.1:
+ resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==}
+ engines: {node: '>=12'}
+ dependencies:
+ rc: 1.2.8
+ dev: true
+
+ /rehype-external-links/2.0.1:
+ resolution: {integrity: sha512-u2dNypma+ps12SJWlS23zvbqwNx0Hl24t0YHXSM/6FCZj/pqWETCO3WyyrvALv4JYvRtuPjhiv2Lpen15ESqbA==}
+ dependencies:
+ '@types/hast': 2.3.4
+ extend: 3.0.2
+ is-absolute-url: 4.0.1
+ space-separated-tokens: 2.0.2
+ unified: 10.1.2
+ unist-util-visit: 4.1.2
+ dev: false
+
+ /rehype-raw/6.1.1:
+ resolution: {integrity: sha512-d6AKtisSRtDRX4aSPsJGTfnzrX2ZkHQLE5kiUuGOeEoLpbEulFF4hj0mLPbsa+7vmguDKOVVEQdHKDSwoaIDsQ==}
+ dependencies:
+ '@types/hast': 2.3.4
+ hast-util-raw: 7.2.3
+ unified: 10.1.2
+ dev: false
+
+ /rehype-slug/5.1.0:
+ resolution: {integrity: sha512-Gf91dJoXneiorNEnn+Phx97CO7oRMrpi+6r155tTxzGuLtm+QrI4cTwCa9e1rtePdL4i9tSO58PeSS6HWfgsiw==}
+ dependencies:
+ '@types/hast': 2.3.4
+ github-slugger: 2.0.0
+ hast-util-has-property: 2.0.1
+ hast-util-heading-rank: 2.1.1
+ hast-util-to-string: 2.0.0
+ unified: 10.1.2
+ unist-util-visit: 4.1.2
+ dev: false
+
+ /rehype-sort-attribute-values/4.0.0:
+ resolution: {integrity: sha512-+Y3OWTbbxSIutbXMVY7+aWFmcRyEvdz6HkghXAyVPjee1Y8HUi+/vryBL1UdEI9VknVBiGvphXAf5n6MDNOXOA==}
+ dependencies:
+ '@types/hast': 2.3.4
+ hast-util-is-element: 2.1.3
+ unified: 10.1.2
+ unist-util-visit: 4.1.2
+ dev: false
+
+ /rehype-sort-attributes/4.0.0:
+ resolution: {integrity: sha512-sCT58e12F+fJL8ZmvpEP2vAK7cpYffUAf0cMQjNfLIewWjMHMGo0Io+H8eztJoI1S9dvEm2XZT5zzchqe8gYJw==}
+ dependencies:
+ '@types/hast': 2.3.4
+ unified: 10.1.2
+ unist-util-visit: 4.1.2
+ dev: false
+
+ /release-it/15.10.1:
+ resolution: {integrity: sha512-Wkk4aFHSo27vQwHIlcEy77lJwnQlh4UDQckc53gh5tKo7F22mAUEAe8SYQZJcFh7icdkf0OV70onhB1dDmeClA==}
+ engines: {node: '>=14.9'}
+ hasBin: true
+ dependencies:
+ '@iarna/toml': 2.2.5
+ '@octokit/rest': 19.0.7
+ async-retry: 1.3.3
+ chalk: 5.2.0
+ cosmiconfig: 8.1.3
+ execa: 7.1.1
+ git-url-parse: 13.1.0
+ globby: 13.1.3
+ got: 12.6.0
+ inquirer: 9.1.5
+ is-ci: 3.0.1
+ issue-parser: 6.0.0
+ lodash: 4.17.21
+ mime-types: 2.1.35
+ new-github-release-url: 2.0.0
+ node-fetch: 3.3.1
+ open: 9.1.0
+ ora: 6.3.0
+ os-name: 5.1.0
+ promise.allsettled: 1.0.6
+ proxy-agent: 5.0.0
+ semver: 7.3.8
+ shelljs: 0.8.5
+ update-notifier: 6.0.2
+ url-join: 5.0.0
+ wildcard-match: 5.1.2
+ yargs-parser: 21.1.1
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: true
+
+ /remark-emoji/3.1.1:
+ resolution: {integrity: sha512-kVCTaHzX+/ls67mE8JsGd3ZX511p2FlAPmKhdGpRCb5z6GSwp+3sAIB5oTySIetPh7CtqfGf7JBUt5fyMjgOHw==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ emoticon: 4.0.1
+ mdast-util-find-and-replace: 2.2.2
+ node-emoji: 1.11.0
+ dev: false
+
+ /remark-gfm/3.0.1:
+ resolution: {integrity: sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==}
+ dependencies:
+ '@types/mdast': 3.0.11
+ mdast-util-gfm: 2.0.2
+ micromark-extension-gfm: 2.0.1
+ unified: 10.1.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /remark-mdc/1.1.3:
+ resolution: {integrity: sha512-ilYSkkQJhu5cUCEE2CJEncoMDoarP32ugfJpFWghXbnv3sWI3j2HtJuArc9tZzxN4ID6fngio3d8N87QfQAnRQ==}
+ dependencies:
+ flat: 5.0.2
+ js-yaml: 4.1.0
+ mdast-util-from-markdown: 1.3.0
+ mdast-util-to-markdown: 1.5.0
+ micromark: 3.1.0
+ micromark-core-commonmark: 1.0.6
+ micromark-factory-space: 1.0.0
+ micromark-factory-whitespace: 1.0.0
+ micromark-util-character: 1.1.0
+ parse-entities: 4.0.1
+ scule: 1.0.0
+ stringify-entities: 4.0.3
+ unist-util-visit: 4.1.2
+ unist-util-visit-parents: 5.1.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /remark-parse/10.0.1:
+ resolution: {integrity: sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==}
+ dependencies:
+ '@types/mdast': 3.0.11
+ mdast-util-from-markdown: 1.3.0
+ unified: 10.1.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /remark-rehype/10.1.0:
+ resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==}
+ dependencies:
+ '@types/hast': 2.3.4
+ '@types/mdast': 3.0.11
+ mdast-util-to-hast: 12.3.0
+ unified: 10.1.2
+ dev: false
+
+ /remark-squeeze-paragraphs/5.0.1:
+ resolution: {integrity: sha512-VWPAoa1bAAtU/aQfSLRZ7vOrwH9I02RhZTSo+e0LT3fVO9RKNCq/bwobIEBhxvNCt00JoQ7GwR3sYGhmD2/y6Q==}
+ dependencies:
+ '@types/mdast': 3.0.11
+ mdast-squeeze-paragraphs: 5.2.1
+ unified: 10.1.2
+ dev: false
+
+ /require-directory/2.1.1:
+ resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
+ engines: {node: '>=0.10.0'}
+
+ /requires-port/1.0.0:
+ resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
+
+ /resolve-alpn/1.2.1:
+ resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==}
+ dev: true
+
+ /resolve-from/4.0.0:
+ resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
+ engines: {node: '>=4'}
+
+ /resolve-from/5.0.0:
+ resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
+ engines: {node: '>=8'}
+
+ /resolve/1.22.2:
+ resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==}
+ hasBin: true
+ dependencies:
+ is-core-module: 2.11.0
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+
+ /responselike/2.0.1:
+ resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==}
+ dependencies:
+ lowercase-keys: 2.0.0
+ dev: true
+
+ /responselike/3.0.0:
+ resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==}
+ engines: {node: '>=14.16'}
+ dependencies:
+ lowercase-keys: 3.0.0
+ 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
+
+ /retry/0.12.0:
+ resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==}
+ engines: {node: '>= 4'}
+ dev: true
+
+ /retry/0.13.1:
+ resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==}
+ 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'}
+
+ /rimraf/3.0.2:
+ resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
+ hasBin: true
+ dependencies:
+ glob: 7.2.3
+
+ /rollup-plugin-dts/5.3.0_veck7oukgpukn72f5inxoyux7q:
+ resolution: {integrity: sha512-8FXp0ZkyZj1iU5klkIJYLjIq/YZSwBoERu33QBDxm/1yw5UU4txrEtcmMkrq+ZiKu3Q4qvPCNqc3ovX6rjqzbQ==}
+ engines: {node: '>=v14'}
+ peerDependencies:
+ rollup: ^3.0.0
+ typescript: ^4.1 || ^5.0
+ dependencies:
+ magic-string: 0.30.0
+ rollup: 3.20.2
+ typescript: 5.0.3
+ optionalDependencies:
+ '@babel/code-frame': 7.21.4
+ dev: false
+
+ /rollup-plugin-inject/3.0.2:
+ resolution: {integrity: sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==}
+ deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject.
+ dependencies:
+ estree-walker: 0.6.1
+ magic-string: 0.25.9
+ rollup-pluginutils: 2.8.2
+ dev: true
+
+ /rollup-plugin-node-polyfills/0.2.1:
+ resolution: {integrity: sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==}
+ dependencies:
+ rollup-plugin-inject: 3.0.2
+ dev: true
+
+ /rollup-plugin-visualizer/5.9.0:
+ resolution: {integrity: sha512-bbDOv47+Bw4C/cgs0czZqfm8L82xOZssk4ayZjG40y9zbXclNk7YikrZTDao6p7+HDiGxrN0b65SgZiVm9k1Cg==}
+ engines: {node: '>=14'}
+ hasBin: true
+ peerDependencies:
+ rollup: 2.x || 3.x
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ open: 8.4.2
+ picomatch: 2.3.1
+ source-map: 0.7.4
+ yargs: 17.7.1
+
+ /rollup-plugin-visualizer/5.9.0_rollup@3.20.2:
+ resolution: {integrity: sha512-bbDOv47+Bw4C/cgs0czZqfm8L82xOZssk4ayZjG40y9zbXclNk7YikrZTDao6p7+HDiGxrN0b65SgZiVm9k1Cg==}
+ 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: 3.20.2
+ source-map: 0.7.4
+ yargs: 17.7.1
+
+ /rollup-pluginutils/2.8.2:
+ resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==}
+ dependencies:
+ estree-walker: 0.6.1
+ dev: true
+
+ /rollup/3.20.2:
+ resolution: {integrity: sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg==}
+ engines: {node: '>=14.18.0', npm: '>=8.0.0'}
+ hasBin: true
+ optionalDependencies:
+ fsevents: 2.3.2
+
+ /run-applescript/5.0.0:
+ resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==}
+ engines: {node: '>=12'}
+ dependencies:
+ execa: 5.1.1
+ dev: true
+
+ /run-async/2.4.1:
+ resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==}
+ engines: {node: '>=0.12.0'}
+
+ /run-parallel/1.2.0:
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+ dependencies:
+ queue-microtask: 1.2.3
+
+ /rxjs/7.8.0:
+ resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==}
+ dependencies:
+ tslib: 2.5.0
+
+ /sade/1.8.1:
+ resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
+ engines: {node: '>=6'}
+ dependencies:
+ mri: 1.2.0
+ dev: false
+
+ /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.0
+ is-regex: 1.1.4
+ dev: true
+
+ /safe-regex/2.1.1:
+ resolution: {integrity: sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==}
+ dependencies:
+ regexp-tree: 0.1.24
+ dev: true
+
+ /safer-buffer/2.1.2:
+ resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
+
+ /scule/1.0.0:
+ resolution: {integrity: sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==}
+
+ /search-insights/2.4.0:
+ resolution: {integrity: sha512-AqXxWFEIZTfOf0brQLvoAZcotrVX0xR/VoPCzBxsTZF/yO+izIH1eFCtKizR/dGI8NCMOTdc7l90hAOI68dBbg==}
+ engines: {node: '>=8.16.0'}
+ dev: true
+
+ /semver-diff/4.0.0:
+ resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==}
+ engines: {node: '>=12'}
+ dependencies:
+ semver: 7.3.8
+ dev: true
+
+ /semver/5.7.1:
+ resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==}
+ hasBin: true
+ dev: true
+
+ /semver/6.3.0:
+ resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
+ hasBin: true
+
+ /semver/7.3.8:
+ resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ lru-cache: 6.0.0
+
+ /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
+
+ /sentence-case/3.0.4:
+ resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==}
+ dependencies:
+ no-case: 3.0.4
+ tslib: 2.5.0
+ upper-case-first: 2.0.2
+ dev: false
+
+ /serialize-javascript/6.0.1:
+ resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==}
+ dependencies:
+ randombytes: 2.1.0
+
+ /serve-placeholder/2.0.1:
+ resolution: {integrity: sha512-rUzLlXk4uPFnbEaIz3SW8VISTxMuONas88nYWjAWaM2W9VDbt9tyFOr3lq8RhVOFrT3XISoBw8vni5una8qMnQ==}
+ dependencies:
+ defu: 6.1.2
+
+ /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==}
+
+ /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.0:
+ resolution: {integrity: sha512-QHsz8GgQIGKlRi24yFc6a6lN69Idnx634w49ay6+jA5yFh7a1UY+4Rp6HPx/L/1zcEDPEij8cIsiqR6bQsE5VQ==}
+ dev: true
+
+ /shelljs/0.8.5:
+ resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==}
+ engines: {node: '>=4'}
+ hasBin: true
+ dependencies:
+ glob: 7.2.3
+ interpret: 1.4.0
+ rechoir: 0.6.2
+ dev: true
+
+ /shiki-es/0.2.0:
+ resolution: {integrity: sha512-RbRMD+IuJJseSZljDdne9ThrUYrwBwJR04FvN4VXpfsU3MNID5VJGHLAD5je/HGThCyEKNgH+nEkSFEWKD7C3Q==}
+ dev: false
+
+ /side-channel/1.0.4:
+ resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
+ dependencies:
+ call-bind: 1.0.2
+ get-intrinsic: 1.2.0
+ object-inspect: 1.12.3
+ dev: true
+
+ /signal-exit/3.0.7:
+ resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
+
+ /sigstore/1.2.0:
+ resolution: {integrity: sha512-Fr9+W1nkBSIZCkJQR7jDn/zI0UXNsVpp+7mDQkCnZOIxG9p6yNXBx9xntHsfUyYHE55XDkkVV3+rYbrkzAeesA==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ hasBin: true
+ dependencies:
+ '@sigstore/protobuf-specs': 0.1.0
+ make-fetch-happen: 11.0.3
+ tuf-js: 1.1.2
+ transitivePeerDependencies:
+ - bluebird
+ - supports-color
+ dev: true
+
+ /sirv/2.0.2:
+ resolution: {integrity: sha512-4Qog6aE29nIjAOKe/wowFTxOdmbEZKb+3tsLljaBRzJwtqto0BChD2zzH0LhgCSXiI+V7X+Y45v14wBZQ1TK3w==}
+ engines: {node: '>= 10'}
+ dependencies:
+ '@polka/url': 1.0.0-next.21
+ mrmime: 1.0.1
+ totalist: 3.0.1
+ 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'}
+
+ /slugify/1.6.6:
+ resolution: {integrity: sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==}
+ engines: {node: '>=8.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/0.0.6:
+ resolution: {integrity: sha512-V21+XeNni+tTyiST1MHsa84AQhT1aFZipzPpOFAVB8DkHzwJyjjAmt9bgwnuZiZWnIbMo2duE29wybxv/7HWUw==}
+
+ /snake-case/3.0.4:
+ resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==}
+ dependencies:
+ dot-case: 3.0.4
+ tslib: 2.5.0
+ dev: false
+
+ /socket.io-client/4.6.1:
+ resolution: {integrity: sha512-5UswCV6hpaRsNg5kkEHVcbBIXEYoVbMQaHJBXJCyEQ+CiFPV1NIOY0XOFWG4XR4GZcB8Kn6AsRs/9cy9TbqVMQ==}
+ engines: {node: '>=10.0.0'}
+ dependencies:
+ '@socket.io/component-emitter': 3.1.0
+ debug: 4.3.4
+ engine.io-client: 6.4.0
+ socket.io-parser: 4.2.2
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+ dev: false
+
+ /socket.io-parser/4.2.2:
+ resolution: {integrity: sha512-DJtziuKypFkMMHCm2uIshOYC7QaylbtzQwiMYDuCKy3OPkjLzu4B2vAhTlqipRHHzrI0NJeBAizTK7X+6m1jVw==}
+ engines: {node: '>=10.0.0'}
+ dependencies:
+ '@socket.io/component-emitter': 3.1.0
+ debug: 4.3.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /socks-proxy-agent/5.0.1:
+ resolution: {integrity: sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==}
+ engines: {node: '>= 6'}
+ dependencies:
+ agent-base: 6.0.2
+ debug: 4.3.4
+ socks: 2.7.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /socks-proxy-agent/7.0.0:
+ resolution: {integrity: sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==}
+ engines: {node: '>= 10'}
+ dependencies:
+ agent-base: 6.0.2
+ 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
+
+ /source-map-js/1.0.2:
+ resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
+ engines: {node: '>=0.10.0'}
+
+ /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'}
+
+ /sourcemap-codec/1.4.8:
+ resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
+ deprecated: Please use @jridgewell/sourcemap-codec instead
+
+ /space-separated-tokens/2.0.2:
+ resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
+ dev: false
+
+ /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
+
+ /ssri/10.0.2:
+ resolution: {integrity: sha512-LWMXUSh7fEfCXNBq4UnRzC4Qc5Y1PPg5ogmb+6HX837i2cKzjB133aYmQ4lgO0shVTcTQHquKp3v5bn898q3Sw==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ dependencies:
+ minipass: 4.2.5
+ dev: true
+
+ /ssri/9.0.1:
+ resolution: {integrity: sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==}
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ dependencies:
+ minipass: 3.3.6
+ dev: true
+
+ /standard-as-callback/2.1.0:
+ resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==}
+
+ /statuses/2.0.1:
+ resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
+ engines: {node: '>= 0.8'}
+
+ /std-env/3.3.2:
+ resolution: {integrity: sha512-uUZI65yrV2Qva5gqE0+A7uVAvO40iPo6jGhs7s8keRfHCmtg+uB2X6EiLGCI9IgL1J17xGhvoOqSz79lzICPTA==}
+
+ /stdin-discarder/0.1.0:
+ resolution: {integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ bl: 5.1.0
+
+ /stop-iteration-iterator/1.0.0:
+ resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ internal-slot: 1.0.5
+ dev: true
+
+ /storyblok-algolia-indexer/1.1.0:
+ resolution: {integrity: sha512-Kuy4FAzhdNC//LtZ+FJ3kZ92W9FVe7auUicAj4e2of5j4VE2BXYtg/TdAWtekjvA4vvzHYoYCt1sPPDe45n29A==}
+ dependencies:
+ algoliasearch: 4.17.0
+ axios: 1.3.5
+ storyblok-js-client: 5.10.2
+ transitivePeerDependencies:
+ - debug
+ dev: true
+
+ /storyblok-js-client/5.10.2:
+ resolution: {integrity: sha512-Im/xN9PApDvZbONPYv3SpzjfIfXK63uPf6/eYJPvdIWnzCiWY5hlc2UYkoCR4YoaQBBOEBP1UUcGr5QjesOULg==}
+ 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
+
+ /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.0.1
+
+ /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.21.2
+ 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.21.2
+ dev: true
+
+ /string.prototype.trimstart/1.0.6:
+ resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ es-abstract: 1.21.2
+ 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
+
+ /string_decoder/1.3.0:
+ resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
+ dependencies:
+ safe-buffer: 5.2.1
+
+ /stringify-entities/4.0.3:
+ resolution: {integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==}
+ dependencies:
+ character-entities-html4: 2.1.0
+ character-entities-legacy: 3.0.0
+ dev: false
+
+ /strip-ansi/6.0.1:
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
+ engines: {node: '>=8'}
+ dependencies:
+ ansi-regex: 5.0.1
+
+ /strip-ansi/7.0.1:
+ resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==}
+ 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-final-newline/2.0.0:
+ resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
+ engines: {node: '>=6'}
+
+ /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/2.0.1:
+ resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /strip-json-comments/3.1.1:
+ resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
+ engines: {node: '>=8'}
+
+ /strip-literal/1.0.1:
+ resolution: {integrity: sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==}
+ dependencies:
+ acorn: 8.8.2
+
+ /style-dictionary-esm/1.3.7:
+ resolution: {integrity: sha512-xO2o8sKGera0SMLCLtix1dPvgD2ZyX2VohZ09cGRRuXBb8HQObqhgDQw4dLW+qJy4gj7r4Mdhz9J1rS2p50xDw==}
+ engines: {node: '>=12.0.0'}
+ hasBin: true
+ dependencies:
+ chalk: 4.1.2
+ change-case: 4.1.2
+ commander: 10.0.0
+ consola: 2.15.3
+ glob: 8.1.0
+ jiti: 1.18.2
+ json5: 2.2.3
+ jsonc-parser: 3.2.0
+ lodash.template: 4.5.0
+ tinycolor2: 1.6.0
+ dev: false
+
+ /stylehacks/6.0.0_postcss@8.4.21:
+ resolution: {integrity: sha512-+UT589qhHPwz6mTlCLSt/vMNTJx8dopeJlZAlBMJPWA3ORqu6wmQY7FBXf+qD+FsqoBJODyqNxOUP3jdntFRdw==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ browserslist: 4.21.5
+ postcss: 8.4.21
+ postcss-selector-parser: 6.0.11
+
+ /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
+
+ /supports-preserve-symlinks-flag/1.0.0:
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
+ engines: {node: '>= 0.4'}
+
+ /svg-tags/1.0.0:
+ resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==}
+
+ /svgo/3.0.2:
+ resolution: {integrity: sha512-Z706C1U2pb1+JGP48fbazf3KxHrWOsLme6Rv7imFBn5EnuanDW1GPaA/P1/dvObE670JDePC3mnj0k0B7P0jjQ==}
+ 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
+ csso: 5.0.5
+ picocolors: 1.0.0
+
+ /synckit/0.8.5:
+ resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ dependencies:
+ '@pkgr/utils': 2.3.1
+ tslib: 2.5.0
+ dev: true
+
+ /tapable/1.1.3:
+ resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==}
+ engines: {node: '>=6'}
+
+ /tapable/2.2.1:
+ resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
+ engines: {node: '>=6'}
+
+ /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
+
+ /tar/6.1.13:
+ resolution: {integrity: sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==}
+ engines: {node: '>=10'}
+ dependencies:
+ chownr: 2.0.0
+ fs-minipass: 2.1.0
+ minipass: 4.2.5
+ minizlib: 2.1.2
+ mkdirp: 1.0.4
+ yallist: 4.0.0
+
+ /terser/5.16.8:
+ resolution: {integrity: sha512-QI5g1E/ef7d+PsDifb+a6nnVgC4F22Bg6T0xrBrz6iloVB4PUkkunp6V8nzoOOZJIzjWVdAGqCdlKlhLq/TbIA==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ '@jridgewell/source-map': 0.3.3
+ acorn: 8.8.2
+ commander: 2.20.3
+ source-map-support: 0.5.21
+
+ /text-table/0.2.0:
+ resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
+
+ /through/2.3.8:
+ resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
+
+ /tiny-glob/0.2.9:
+ resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==}
+ dependencies:
+ globalyzer: 0.1.0
+ globrex: 0.1.2
+ dev: true
+
+ /tiny-invariant/1.3.1:
+ resolution: {integrity: sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==}
+
+ /tinycolor2/1.6.0:
+ resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==}
+ dev: false
+
+ /titleize/3.0.0:
+ resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /tmp/0.0.33:
+ resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==}
+ engines: {node: '>=0.6.0'}
+ dependencies:
+ os-tmpdir: 1.0.2
+
+ /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'}
+
+ /totalist/3.0.1:
+ resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /tr46/0.0.3:
+ resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
+
+ /trim-lines/3.0.1:
+ resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
+ dev: false
+
+ /trough/2.1.0:
+ resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==}
+ dev: false
+
+ /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
+
+ /tslib/1.14.1:
+ resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
+ dev: true
+
+ /tslib/2.5.0:
+ resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==}
+
+ /tsutils/3.21.0_typescript@5.0.3:
+ 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.0.3
+ dev: true
+
+ /tsx/3.12.6:
+ resolution: {integrity: sha512-q93WgS3lBdHlPgS0h1i+87Pt6n9K/qULIMNYZo07nSeu2z5QE2CellcAZfofVXBo2tQg9av2ZcRMQ2S2i5oadQ==}
+ hasBin: true
+ dependencies:
+ '@esbuild-kit/cjs-loader': 2.4.2
+ '@esbuild-kit/core-utils': 3.1.0
+ '@esbuild-kit/esm-loader': 2.5.5
+ optionalDependencies:
+ fsevents: 2.3.2
+ dev: true
+
+ /tuf-js/1.1.2:
+ resolution: {integrity: sha512-gBfbnS6khluxjvoFCpRV0fhWT265xNfpiNXOcBX0Ze6HGbPhe93UG5V5DdKcgm/aXsMadnY76l/h6j63GmJS5g==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ dependencies:
+ '@tufjs/models': 1.0.1
+ make-fetch-happen: 11.0.3
+ transitivePeerDependencies:
+ - bluebird
+ - supports-color
+ dev: true
+
+ /type-check/0.3.2:
+ resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ prelude-ls: 1.1.2
+ dev: true
+
+ /type-check/0.4.0:
+ resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ prelude-ls: 1.2.1
+
+ /type-fest/0.20.2:
+ resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
+ engines: {node: '>=10'}
+
+ /type-fest/0.21.3:
+ resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
+ engines: {node: '>=10'}
+
+ /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: true
+
+ /type-fest/2.19.0:
+ resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==}
+ engines: {node: '>=12.20'}
+
+ /type-fest/3.8.0:
+ resolution: {integrity: sha512-FVNSzGQz9Th+/9R6Lvv7WIAkstylfHN2/JYxkyhhmKFYh9At2DST8t6L6Lref9eYO8PXFTfG9Sg1Agg0K3vq3Q==}
+ engines: {node: '>=14.16'}
+
+ /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.10
+ dev: true
+
+ /typedarray-to-buffer/3.1.5:
+ resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==}
+ dependencies:
+ is-typedarray: 1.0.0
+ dev: true
+
+ /typesafe-path/0.2.2:
+ resolution: {integrity: sha512-OJabfkAg1WLZSqJAJ0Z6Sdt3utnbzr/jh+NAHoyWHJe8CMSy79Gm085094M9nvTPy22KzTVn5Zq5mbapCI/hPA==}
+ dev: false
+
+ /typescript/5.0.3:
+ resolution: {integrity: sha512-xv8mOEDnigb/tN9PSMTwSEqAnUvkoXMQlicOb0IUVDBSQCgBSaAAROUZYy2IcUy5qU6XajK5jjjO7TMWqBTKZA==}
+ engines: {node: '>=12.20'}
+ hasBin: true
+
+ /ufo/1.1.1:
+ resolution: {integrity: sha512-MvlCc4GHrmZdAllBc0iUDowff36Q9Ndw/UzqmEKyrfSzokTd9ZCy1i+IIk5hrYKkjoYVQyNbrw7/F8XJ2rEwTg==}
+
+ /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
+
+ /unbuild/1.2.0:
+ resolution: {integrity: sha512-GcolNMBatav7FbRdLDR8BMbnYWMoKfxXdJIHibpBtx3GERN4GbbUD5h4RfGIFi+mjWPz4AphSz5gIg9FWNWw3Q==}
+ hasBin: true
+ dependencies:
+ '@rollup/plugin-alias': 4.0.4_rollup@3.20.2
+ '@rollup/plugin-commonjs': 24.0.1_rollup@3.20.2
+ '@rollup/plugin-json': 6.0.0_rollup@3.20.2
+ '@rollup/plugin-node-resolve': 15.0.2_rollup@3.20.2
+ '@rollup/plugin-replace': 5.0.2_rollup@3.20.2
+ '@rollup/pluginutils': 5.0.2_rollup@3.20.2
+ chalk: 5.2.0
+ consola: 2.15.3
+ defu: 6.1.2
+ esbuild: 0.17.15
+ globby: 13.1.3
+ hookable: 5.5.3
+ jiti: 1.18.2
+ magic-string: 0.30.0
+ mkdist: 1.2.0_typescript@5.0.3
+ mlly: 1.2.0
+ mri: 1.2.0
+ pathe: 1.1.0
+ pkg-types: 1.0.2
+ pretty-bytes: 6.1.0
+ rollup: 3.20.2
+ rollup-plugin-dts: 5.3.0_veck7oukgpukn72f5inxoyux7q
+ scule: 1.0.0
+ typescript: 5.0.3
+ untyped: 1.3.2
+ transitivePeerDependencies:
+ - sass
+ - supports-color
+ dev: false
+
+ /uncrypto/0.1.2:
+ resolution: {integrity: sha512-kuZwRKV615lEw/Xx3Iz56FKk3nOeOVGaVmw0eg+x4Mne28lCotNFbBhDW7dEBCBKyKbRQiCadEZeNAFPVC5cgw==}
+
+ /unctx/2.1.2:
+ resolution: {integrity: sha512-KK18aLRKe3OlbPyHbXAkIWSU3xK8GInomXfA7fzDMGFXQ1crX1UWrCzKesVXeUyHIayHUrnTvf87IPCKMyeKTg==}
+ dependencies:
+ acorn: 8.8.2
+ estree-walker: 3.0.3
+ magic-string: 0.27.0
+ unplugin: 1.3.1
+
+ /unenv/1.2.2:
+ resolution: {integrity: sha512-SYqIFLFC4wYtLyxD6RyAfoK/dkgvW85BfNdiYvroyfrL4cyLkoigSldSBBiUTgtxwb4pcE0zexw502DghVWeuA==}
+ dependencies:
+ defu: 6.1.2
+ mime: 3.0.0
+ node-fetch-native: 1.1.0
+ pathe: 1.1.0
+
+ /unhead/1.1.25:
+ resolution: {integrity: sha512-KtTBgtQjxICoOjA4dyxJfj5fYoYJeYFUt/J8ulaTzbvTsXM9K+ztYjI65nf2CPYYXRCRz/iEt8trqcsGlsB5TQ==}
+ dependencies:
+ '@unhead/dom': 1.1.25
+ '@unhead/schema': 1.1.25
+ '@unhead/shared': 1.1.25
+ hookable: 5.5.3
+
+ /unified/10.1.2:
+ resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==}
+ dependencies:
+ '@types/unist': 2.0.6
+ 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: false
+
+ /unimport/2.2.4:
+ resolution: {integrity: sha512-qMgmeEGqqrrmEtm0dqxMG37J6xBtrriqxq9hILvDb+e6l2F0yTnJomLoCCp0eghLR7bYGeBsUU5Y0oyiUYhViw==}
+ dependencies:
+ '@rollup/pluginutils': 5.0.2
+ escape-string-regexp: 5.0.0
+ fast-glob: 3.2.12
+ local-pkg: 0.4.3
+ magic-string: 0.27.0
+ mlly: 1.2.0
+ pathe: 1.1.0
+ pkg-types: 1.0.2
+ scule: 1.0.0
+ strip-literal: 1.0.1
+ unplugin: 1.3.1
+ transitivePeerDependencies:
+ - rollup
+ dev: false
+
+ /unimport/3.0.6:
+ resolution: {integrity: sha512-GYxGJ1Bri1oqx8VFDjdgooGzeK7jBk3bvhXmamTIpu3nONOcUMGwZbX7X0L5RA7OWMXpR4vzpSQP7pXUzJg1/Q==}
+ dependencies:
+ '@rollup/pluginutils': 5.0.2
+ escape-string-regexp: 5.0.0
+ fast-glob: 3.2.12
+ local-pkg: 0.4.3
+ magic-string: 0.30.0
+ mlly: 1.2.0
+ pathe: 1.1.0
+ pkg-types: 1.0.2
+ scule: 1.0.0
+ strip-literal: 1.0.1
+ unplugin: 1.3.1
+ transitivePeerDependencies:
+ - rollup
+
+ /unimport/3.0.6_rollup@3.20.2:
+ resolution: {integrity: sha512-GYxGJ1Bri1oqx8VFDjdgooGzeK7jBk3bvhXmamTIpu3nONOcUMGwZbX7X0L5RA7OWMXpR4vzpSQP7pXUzJg1/Q==}
+ dependencies:
+ '@rollup/pluginutils': 5.0.2_rollup@3.20.2
+ escape-string-regexp: 5.0.0
+ fast-glob: 3.2.12
+ local-pkg: 0.4.3
+ magic-string: 0.30.0
+ mlly: 1.2.0
+ pathe: 1.1.0
+ pkg-types: 1.0.2
+ scule: 1.0.0
+ strip-literal: 1.0.1
+ unplugin: 1.3.1
+ transitivePeerDependencies:
+ - rollup
+
+ /unique-filename/2.0.1:
+ resolution: {integrity: sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==}
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ dependencies:
+ unique-slug: 3.0.0
+ 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/3.0.0:
+ resolution: {integrity: sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==}
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ dependencies:
+ imurmurhash: 0.1.4
+ 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
+
+ /unique-string/3.0.0:
+ resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ crypto-random-string: 4.0.0
+ dev: true
+
+ /unist-builder/3.0.1:
+ resolution: {integrity: sha512-gnpOw7DIpCA0vpr6NqdPvTWnlPTApCTRzr+38E6hCWx3rz/cjo83SsKIlS1Z+L5ttScQ2AwutNnb8+tAvpb6qQ==}
+ dependencies:
+ '@types/unist': 2.0.6
+ dev: false
+
+ /unist-util-generated/2.0.1:
+ resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==}
+ dev: false
+
+ /unist-util-is/5.2.1:
+ resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==}
+ dependencies:
+ '@types/unist': 2.0.6
+ dev: false
+
+ /unist-util-position/4.0.4:
+ resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==}
+ dependencies:
+ '@types/unist': 2.0.6
+ dev: false
+
+ /unist-util-stringify-position/3.0.3:
+ resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==}
+ dependencies:
+ '@types/unist': 2.0.6
+ dev: false
+
+ /unist-util-visit-parents/5.1.3:
+ resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==}
+ dependencies:
+ '@types/unist': 2.0.6
+ unist-util-is: 5.2.1
+ dev: false
+
+ /unist-util-visit/4.1.2:
+ resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==}
+ dependencies:
+ '@types/unist': 2.0.6
+ unist-util-is: 5.2.1
+ unist-util-visit-parents: 5.1.3
+ dev: false
+
+ /universal-user-agent/6.0.0:
+ resolution: {integrity: sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==}
+ dev: true
+
+ /universalify/0.1.2:
+ resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
+ engines: {node: '>= 4.0.0'}
+ dev: true
+
+ /universalify/2.0.0:
+ resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==}
+ engines: {node: '>= 10.0.0'}
+
+ /unpipe/1.0.0:
+ resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
+ engines: {node: '>= 0.8'}
+ dev: true
+
+ /unplugin/1.3.1:
+ resolution: {integrity: sha512-h4uUTIvFBQRxUKS2Wjys6ivoeofGhxzTe2sRWlooyjHXVttcVfV/JiavNd3d4+jty0SVV0dxGw9AkY9MwiaCEw==}
+ dependencies:
+ acorn: 8.8.2
+ chokidar: 3.5.3
+ webpack-sources: 3.2.3
+ webpack-virtual-modules: 0.5.0
+
+ /unstorage/1.4.1:
+ resolution: {integrity: sha512-ETLczXBd7sjJZuA3oIzaYwhMShiGlo7cGx01Ww23x2ehlk6WiRR1YsmjDBipoiGorq8pX1RRoMQFp/n3me7QOg==}
+ peerDependencies:
+ '@azure/app-configuration': ^1.3.1
+ '@azure/cosmos': ^3.17.3
+ '@azure/data-tables': ^13.2.1
+ '@azure/identity': ^3.1.3
+ '@azure/keyvault-secrets': ^4.6.0
+ '@azure/storage-blob': ^12.13.0
+ '@planetscale/database': ^1.6.0
+ 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
+ '@planetscale/database':
+ optional: true
+ dependencies:
+ anymatch: 3.1.3
+ chokidar: 3.5.3
+ destr: 1.2.2
+ h3: 1.6.4
+ ioredis: 5.3.1
+ listhen: 1.0.4
+ lru-cache: 7.18.3
+ mri: 1.2.0
+ node-fetch-native: 1.1.0
+ ofetch: 1.0.1
+ ufo: 1.1.1
+ transitivePeerDependencies:
+ - supports-color
+
+ /untildify/4.0.0:
+ resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /untyped/1.3.2:
+ resolution: {integrity: sha512-z219Z65rOGD6jXIvIhpZFfwWdqQckB8sdZec2NO+TkcH1Bph7gL0hwLzRJs1KsOo4Jz4mF9guBXhsEnyEBGVfw==}
+ hasBin: true
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/standalone': 7.21.4
+ '@babel/types': 7.21.4
+ defu: 6.1.2
+ jiti: 1.18.2
+ mri: 1.2.0
+ scule: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ /update-browserslist-db/1.0.10_browserslist@4.21.5:
+ resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==}
+ hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
+ dependencies:
+ browserslist: 4.21.5
+ escalade: 3.1.1
+ picocolors: 1.0.0
+
+ /update-notifier/6.0.2:
+ resolution: {integrity: sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==}
+ engines: {node: '>=14.16'}
+ dependencies:
+ boxen: 7.0.2
+ chalk: 5.2.0
+ configstore: 6.0.0
+ has-yarn: 3.0.0
+ import-lazy: 4.0.0
+ is-ci: 3.0.1
+ is-installed-globally: 0.4.0
+ is-npm: 6.0.0
+ is-yarn-global: 0.4.1
+ latest-version: 7.0.0
+ pupa: 3.1.0
+ semver: 7.3.8
+ semver-diff: 4.0.0
+ xdg-basedir: 5.1.0
+ dev: true
+
+ /upper-case-first/2.0.2:
+ resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==}
+ dependencies:
+ tslib: 2.5.0
+ dev: false
+
+ /upper-case/2.0.2:
+ resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==}
+ dependencies:
+ tslib: 2.5.0
+ dev: false
+
+ /uri-js/4.4.1:
+ resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+ dependencies:
+ punycode: 2.3.0
+
+ /url-join/5.0.0:
+ resolution: {integrity: sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dev: true
+
+ /util-deprecate/1.0.2:
+ resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+
+ /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.10
+ which-typed-array: 1.1.9
+ dev: false
+
+ /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: false
+
+ /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
+
+ /vfile-location/4.1.0:
+ resolution: {integrity: sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==}
+ dependencies:
+ '@types/unist': 2.0.6
+ vfile: 5.3.7
+ dev: false
+
+ /vfile-message/3.1.4:
+ resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==}
+ dependencies:
+ '@types/unist': 2.0.6
+ unist-util-stringify-position: 3.0.3
+ dev: false
+
+ /vfile/5.3.7:
+ resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==}
+ dependencies:
+ '@types/unist': 2.0.6
+ is-buffer: 2.0.5
+ unist-util-stringify-position: 3.0.3
+ vfile-message: 3.1.4
+ dev: false
+
+ /vite-node/0.29.8:
+ resolution: {integrity: sha512-b6OtCXfk65L6SElVM20q5G546yu10/kNrhg08afEoWlFRJXFq9/6glsvSVY+aI6YeC1tu2TtAqI2jHEQmOmsFw==}
+ engines: {node: '>=v14.16.0'}
+ hasBin: true
+ dependencies:
+ cac: 6.7.14
+ debug: 4.3.4
+ mlly: 1.2.0
+ pathe: 1.1.0
+ picocolors: 1.0.0
+ vite: 4.2.1
+ transitivePeerDependencies:
+ - '@types/node'
+ - less
+ - sass
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+
+ /vite-plugin-checker/0.5.6_f5nufr4or4t7h35md6hcbavw34:
+ resolution: {integrity: sha512-ftRyON0gORUHDxcDt2BErmsikKSkfvl1i2DoP6Jt2zDO9InfvM6tqO1RkXhSjkaXEhKPea6YOnhFaZxW3BzudQ==}
+ 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: '*'
+ 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.21.4
+ ansi-escapes: 4.3.2
+ chalk: 4.1.2
+ chokidar: 3.5.3
+ commander: 8.3.0
+ eslint: 8.37.0
+ fast-glob: 3.2.12
+ fs-extra: 11.1.1
+ lodash.debounce: 4.0.8
+ lodash.pick: 4.4.0
+ npm-run-path: 4.0.1
+ strip-ansi: 6.0.1
+ tiny-invariant: 1.3.1
+ typescript: 5.0.3
+ vite: 4.2.1
+ vscode-languageclient: 7.0.0
+ vscode-languageserver: 7.0.0
+ vscode-languageserver-textdocument: 1.0.8
+ vscode-uri: 3.0.7
+
+ /vite-plugin-inspect/0.7.19:
+ resolution: {integrity: sha512-OdKObJGdzOMR7SuqykN/Rb6rVtMK1wp4EmUTM3xhTCuSR1K/oM7fi4CKeBWhpYSkqop7O4gVB/MOUk7+RO7gIQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ vite: ^3.1.0 || ^4.0.0
+ dependencies:
+ '@antfu/utils': 0.7.2
+ '@rollup/pluginutils': 5.0.2
+ debug: 4.3.4
+ fs-extra: 11.1.1
+ kolorist: 1.7.0
+ sirv: 2.0.2
+ ufo: 1.1.1
+ transitivePeerDependencies:
+ - rollup
+ - supports-color
+ dev: true
+
+ /vite-plugin-vue-inspector/3.4.0:
+ resolution: {integrity: sha512-gAdJ6fCPO7+PcUZJexgdOz27yuzQfEviBSS4c+zLLsItHdUq79oYgoWpPZwIYcE0FDFcAtz8dfG6I1ugWuykrw==}
+ peerDependencies:
+ vite: ^3.0.0-0 || ^4.0.0-0
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.21.4
+ '@babel/plugin-transform-typescript': 7.21.3_@babel+core@7.21.4
+ '@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.21.4
+ '@vue/compiler-dom': 3.2.47
+ esno: 0.16.3
+ kolorist: 1.7.0
+ magic-string: 0.30.0
+ shell-quote: 1.8.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /vite/4.2.1:
+ resolution: {integrity: sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ hasBin: true
+ peerDependencies:
+ '@types/node': '>= 14'
+ less: '*'
+ sass: '*'
+ stylus: '*'
+ sugarss: '*'
+ terser: ^5.4.0
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ less:
+ optional: true
+ sass:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+ dependencies:
+ esbuild: 0.17.15
+ postcss: 8.4.21
+ resolve: 1.22.2
+ rollup: 3.20.2
+ optionalDependencies:
+ fsevents: 2.3.2
+
+ /vm2/3.9.15:
+ resolution: {integrity: sha512-XqNqknHGw2avJo13gbIwLNZUumvrSHc9mLqoadFZTpo3KaNEJoe1I0lqTFhRXmXD7WkLyG01aaraXdXT0pa4ag==}
+ engines: {node: '>=6.0'}
+ hasBin: true
+ dependencies:
+ acorn: 8.8.2
+ acorn-walk: 8.2.0
+ dev: true
+
+ /vscode-jsonrpc/6.0.0:
+ resolution: {integrity: sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==}
+ engines: {node: '>=8.0.0 || >=10.0.0'}
+
+ /vscode-languageclient/7.0.0:
+ resolution: {integrity: sha512-P9AXdAPlsCgslpP9pRxYPqkNYV7Xq8300/aZDpO35j1fJm/ncize8iGswzYlcvFw5DQUx4eVk+KvfXdL0rehNg==}
+ engines: {vscode: ^1.52.0}
+ dependencies:
+ minimatch: 3.1.2
+ semver: 7.3.8
+ vscode-languageserver-protocol: 3.16.0
+
+ /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
+
+ /vscode-languageserver-textdocument/1.0.8:
+ resolution: {integrity: sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==}
+
+ /vscode-languageserver-types/3.16.0:
+ resolution: {integrity: sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==}
+
+ /vscode-languageserver/7.0.0:
+ resolution: {integrity: sha512-60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw==}
+ hasBin: true
+ dependencies:
+ vscode-languageserver-protocol: 3.16.0
+
+ /vscode-uri/3.0.7:
+ resolution: {integrity: sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==}
+
+ /vue-bundle-renderer/1.0.3:
+ resolution: {integrity: sha512-EfjX+5TTUl70bki9hPuVp+54JiZOvFIfoWBcfXsSwLzKEiDYyHNi5iX8srnqLIv3YRnvxgbntdcG1WPq0MvffQ==}
+ dependencies:
+ ufo: 1.1.1
+
+ /vue-component-meta/1.2.0_typescript@5.0.3:
+ resolution: {integrity: sha512-z+/pL4txu5qCULbGHFn6vOlSR1V5gFDGWkD64Z2yLlKtYr0Wlb9oOfWTaXxpSl7R+EiX7JusbTlek0szSYeH1g==}
+ peerDependencies:
+ typescript: '*'
+ dependencies:
+ '@volar/language-core': 1.3.0-alpha.0
+ '@volar/vue-language-core': 1.2.0
+ typesafe-path: 0.2.2
+ typescript: 5.0.3
+ dev: false
+
+ /vue-demi/0.13.11_vue@3.2.47:
+ resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==}
+ engines: {node: '>=12'}
+ hasBin: true
+ requiresBuild: true
+ peerDependencies:
+ '@vue/composition-api': ^1.0.0-rc.1
+ vue: ^3.0.0-0 || ^2.6.0
+ peerDependenciesMeta:
+ '@vue/composition-api':
+ optional: true
+ dependencies:
+ vue: 3.2.47
+ dev: false
+
+ /vue-devtools-stub/0.1.0:
+ resolution: {integrity: sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==}
+
+ /vue-eslint-parser/9.1.1_eslint@8.37.0:
+ resolution: {integrity: sha512-C2aI/r85Q6tYcz4dpgvrs4wH/MqVrRAVIdpYedrxnATDHHkb+TroeRcDpKWGZCx/OcECMWfz7tVwQ8e+Opy6rA==}
+ engines: {node: ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: '>=6.0.0'
+ dependencies:
+ debug: 4.3.4
+ eslint: 8.37.0
+ eslint-scope: 7.1.1
+ eslint-visitor-keys: 3.4.0
+ espree: 9.5.1
+ esquery: 1.5.0
+ lodash: 4.17.21
+ semver: 7.3.8
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /vue-instantsearch/4.8.9_sgca3xkoalmjpwv3g2coomurxu:
+ resolution: {integrity: sha512-TAapsZqtBZI0+UPe/kJv3vsoaE6VoFgHGdn50LGaeZdgLw5yQcCrestyAEPpBCfOW7I6InnapkflNK+5qI4GLA==}
+ peerDependencies:
+ '@vue/server-renderer': ^3.1.2
+ algoliasearch: '>= 3.32.0 < 5'
+ vue: ^2.6.0 || >=3.0.0-rc.0
+ vue-server-renderer: ^2.6.11
+ peerDependenciesMeta:
+ '@vue/server-renderer':
+ optional: true
+ vue-server-renderer:
+ optional: true
+ dependencies:
+ algoliasearch: 4.17.0
+ instantsearch.js: 4.54.0_algoliasearch@4.17.0
+ mitt: 2.1.0
+ vue: 3.2.47
+ dev: true
+
+ /vue-router/4.1.6_vue@3.2.47:
+ resolution: {integrity: sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==}
+ peerDependencies:
+ vue: ^3.2.0
+ dependencies:
+ '@vue/devtools-api': 6.5.0
+ vue: 3.2.47
+
+ /vue-template-compiler/2.7.14:
+ resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==}
+ dependencies:
+ de-indent: 1.0.2
+ he: 1.2.0
+ dev: false
+
+ /vue/3.2.47:
+ resolution: {integrity: sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==}
+ dependencies:
+ '@vue/compiler-dom': 3.2.47
+ '@vue/compiler-sfc': 3.2.47
+ '@vue/runtime-dom': 3.2.47
+ '@vue/server-renderer': 3.2.47_vue@3.2.47
+ '@vue/shared': 3.2.47
+
+ /wcwidth/1.0.1:
+ resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
+ dependencies:
+ defaults: 1.0.4
+
+ /web-namespaces/2.0.1:
+ resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==}
+ dev: false
+
+ /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==}
+
+ /webpack-sources/3.2.3:
+ resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
+ engines: {node: '>=10.13.0'}
+
+ /webpack-virtual-modules/0.5.0:
+ resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==}
+
+ /whatwg-url/5.0.0:
+ resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
+ dependencies:
+ tr46: 0.0.3
+ webidl-conversions: 3.0.1
+
+ /which-boxed-primitive/1.0.2:
+ resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
+ dependencies:
+ is-bigint: 1.0.4
+ is-boolean-object: 1.1.2
+ is-number-object: 1.0.7
+ is-string: 1.0.7
+ is-symbol: 1.0.4
+ dev: true
+
+ /which-typed-array/1.1.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
+
+ /which/2.0.2:
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
+ engines: {node: '>= 8'}
+ hasBin: true
+ dependencies:
+ isexe: 2.0.0
+
+ /which/3.0.0:
+ resolution: {integrity: sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ hasBin: true
+ dependencies:
+ isexe: 2.0.0
+ dev: true
+
+ /wide-align/1.1.5:
+ resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==}
+ dependencies:
+ string-width: 4.2.3
+
+ /widest-line/4.0.1:
+ resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==}
+ engines: {node: '>=12'}
+ dependencies:
+ string-width: 5.1.2
+ dev: true
+
+ /wildcard-match/5.1.2:
+ resolution: {integrity: sha512-qNXwI591Z88c8bWxp+yjV60Ch4F8Riawe3iGxbzquhy8Xs9m+0+SLFBGb/0yCTIDElawtaImC37fYZ+dr32KqQ==}
+ dev: true
+
+ /windows-release/5.1.0:
+ resolution: {integrity: sha512-CddHecz5dt0ngTjGPP1uYr9Tjl4qq5rEKNk8UGb8XCdngNXI+GRYvqelD055FdiUgqODZz3R/5oZWYldPtXQpA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ execa: 5.1.1
+ dev: true
+
+ /word-wrap/1.2.3:
+ resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==}
+ engines: {node: '>=0.10.0'}
+
+ /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
+
+ /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.0.1
+
+ /wrappy/1.0.2:
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+
+ /write-file-atomic/3.0.3:
+ resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==}
+ dependencies:
+ imurmurhash: 0.1.4
+ is-typedarray: 1.0.0
+ signal-exit: 3.0.7
+ typedarray-to-buffer: 3.1.5
+ dev: true
+
+ /ws/8.11.0:
+ resolution: {integrity: sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==}
+ 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: false
+
+ /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: false
+
+ /xdg-basedir/5.1.0:
+ resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /xml-name-validator/4.0.0:
+ resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /xmlhttprequest-ssl/2.0.0:
+ resolution: {integrity: sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==}
+ engines: {node: '>=0.4.0'}
+ dev: false
+
+ /xregexp/2.0.0:
+ resolution: {integrity: sha512-xl/50/Cf32VsGq/1R8jJE5ajH1yMCQkpmoS10QbFZWl2Oor4H0Me64Pu2yxvsRWK3m6soJbmGfzSR7BYmDcWAA==}
+ dev: true
+
+ /xxhashjs/0.2.2:
+ resolution: {integrity: sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==}
+ dependencies:
+ cuint: 0.2.2
+
+ /y18n/5.0.8:
+ resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
+ engines: {node: '>=10'}
+
+ /yallist/3.1.1:
+ resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
+
+ /yallist/4.0.0:
+ resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
+
+ /yargs-parser/21.1.1:
+ resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
+ engines: {node: '>=12'}
+
+ /yargs/17.7.1:
+ resolution: {integrity: sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==}
+ 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
+
+ /yocto-queue/0.1.0:
+ resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
+ engines: {node: '>=10'}
+
+ /zhead/2.0.4:
+ resolution: {integrity: sha512-V4R94t3ifk9AURym6OskbKcnowzgp5Z88tkoL/NF67vyryNxC62u6mx5F1Ux4oh4+YN7FFmKYEyWy6m5kfPH6g==}
+
+ /zip-stream/4.1.0:
+ resolution: {integrity: sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==}
+ engines: {node: '>= 10'}
+ dependencies:
+ archiver-utils: 2.1.0
+ compress-commons: 4.1.1
+ readable-stream: 3.6.2
+
+ /zwitch/2.0.4:
+ resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
+ dev: false
diff --git a/docs/renovate.json b/docs/renovate.json
new file mode 100644
index 0000000..57beb46
--- /dev/null
+++ b/docs/renovate.json
@@ -0,0 +1,6 @@
+{
+ "extends": ["@nuxtjs"],
+ "lockFileMaintenance": {
+ "enabled": true
+ }
+}
diff --git a/docs/tokens.config.ts b/docs/tokens.config.ts
new file mode 100644
index 0000000..6944496
--- /dev/null
+++ b/docs/tokens.config.ts
@@ -0,0 +1,168 @@
+import { defineTheme } from 'pinceau'
+
+export default defineTheme({
+ color: {
+ black: '#0B0A0A',
+ // Primary is modified lightblue
+ primary: {
+ 50: '#F1FCFF',
+ 100: '#DCF7FF',
+ 200: '#C5F2FF',
+ 300: '#82E3FF',
+ 400: '#55E1FF',
+ 500: '#1AD6FF',
+ 600: '#09A0C1',
+ 700: '#024757',
+ 800: '#00232B',
+ 900: '#001A1F'
+ },
+ gray: {
+ 50: '#FBFBFB',
+ 100: '#F6F5F4',
+ 200: '#ECEBE8',
+ 300: '#DBD9D3',
+ 400: '#ADA9A4',
+ 500: '#97948F',
+ 600: '#67635D',
+ 700: '#36332E',
+ 800: '#201E1B',
+ 900: '#121110'
+ },
+ red: {
+ 50: '#FFF9F8',
+ 100: '#FFF3F0',
+ 200: '#FFDED7',
+ 300: '#FFA692',
+ 400: '#FF7353',
+ 500: '#FF3B10',
+ 600: '#BB2402',
+ 700: '#701704',
+ 800: '#340A01',
+ 900: '#1C0301'
+ },
+ blue: {
+ 50: '#F2FAFF',
+ 100: '#DFF3FF',
+ 200: '#C6EAFF',
+ 300: '#A1DDFF',
+ 400: '#64C7FF',
+ 500: '#1AADFF',
+ 600: '#0069A6',
+ 700: '#014267',
+ 800: '#002235',
+ 900: '#00131D'
+ },
+ green: {
+ 50: '#ECFFF7',
+ 100: '#DEFFF1',
+ 200: '#C3FFE6',
+ 300: '#86FBCB',
+ 400: '#3CEEA5',
+ 500: '#0DD885',
+ 600: '#00B467',
+ 700: '#006037',
+ 800: '#002817',
+ 900: '#00190F'
+ },
+ yellow: {
+ 50: '#FFFCEE',
+ 100: '#FFF6D3',
+ 200: '#FFF0B1',
+ 300: '#FFE372',
+ 400: '#FFDC4E',
+ 500: '#FBCA05',
+ 600: '#CBA408',
+ 700: '#614E02',
+ 800: '#292100',
+ 900: '#1B1500'
+ },
+ shadow: {
+ initial: '{color.gray.400}',
+ dark: '{color.gray.800}'
+ }
+ },
+ shadow: {
+ xs: '0px 1px 2px 0px {color.shadow}',
+ sm: '0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}',
+ md: '0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}',
+ lg: '0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}',
+ xl: '0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}',
+ '2xl': '0px 25px 50px -12px {color.shadow}',
+ none: '0px 0px 0px 0px transparent'
+ },
+ docus: {
+ $schema: {
+ title: 'All the configurable tokens from Docus.',
+ tags: [
+ '@studioIcon material-symbols:docs'
+ ]
+ },
+ body: {
+ backgroundColor: {
+ initial: '{color.white}',
+ dark: '{color.black}'
+ },
+ color: {
+ initial: '{color.gray.800}',
+ dark: '{color.gray.200}'
+ },
+ fontFamily: '{font.sans}'
+ },
+ header: {
+ height: '64px',
+ logo: {
+ height: {
+ initial: '{space.6}',
+ sm: '{space.7}'
+ }
+ },
+ title: {
+ fontSize: '{fontSize.2xl}',
+ fontWeight: '{fontWeight.bold}',
+ color: {
+ static: {
+ initial: '{color.gray.900}',
+ dark: '{color.gray.100}',
+ },
+ hover: '{color.primary.500}',
+ }
+ }
+ },
+ footer: { height: { initial: '145px', sm: '100px' }, padding: '{space.4} 0' },
+ readableLine: '78ch',
+ loadingBar: {
+ height: '3px',
+ gradientColorStop1: '#00dc82',
+ gradientColorStop2: '#34cdfe',
+ gradientColorStop3: '#0047e1'
+ }
+ },
+ typography: {
+ color: {
+ primary: {
+ 50: '{color.primary.50}',
+ 100: '{color.primary.100}',
+ 200: '{color.primary.200}',
+ 300: '{color.primary.300}',
+ 400: '{color.primary.400}',
+ 500: '{color.primary.500}',
+ 600: '{color.primary.600}',
+ 700: '{color.primary.700}',
+ 800: '{color.primary.800}',
+ 900: '{color.primary.900}'
+ },
+ secondary: {
+ 50: '{color.gray.50}',
+ 100: '{color.gray.100}',
+ 200: '{color.gray.200}',
+ 300: '{color.gray.300}',
+ 400: '{color.gray.400}',
+ 500: '{color.gray.500}',
+ 600: '{color.gray.600}',
+ 700: '{color.gray.700}',
+ 800: '{color.gray.800}',
+ 900: '{color.gray.900}'
+ }
+ }
+ }
+})
diff --git a/docs/tsconfig.json b/docs/tsconfig.json
new file mode 100644
index 0000000..3cab56b
--- /dev/null
+++ b/docs/tsconfig.json
@@ -0,0 +1,3 @@
+{
+ "extends": "./.docs/.nuxt/tsconfig.json"
+}
diff --git a/envshare/.eslintrc.json b/envshare/.eslintrc.json
deleted file mode 100644
index bffb357..0000000
--- a/envshare/.eslintrc.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "extends": "next/core-web-vitals"
-}
diff --git a/envshare/.gitignore b/envshare/.gitignore
deleted file mode 100644
index a333bff..0000000
--- a/envshare/.gitignore
+++ /dev/null
@@ -1,36 +0,0 @@
-# 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*
-
-# local env files
-.env*
-
-# vercel
-.vercel
-
-# typescript
-*.tsbuildinfo
-next-env.d.ts
diff --git a/envshare/README.md b/envshare/README.md
deleted file mode 100644
index f890f9d..0000000
--- a/envshare/README.md
+++ /dev/null
@@ -1,139 +0,0 @@
-<div align="center">
- <h1 align="center">EnvShare</h1>
- <h5>Share Environment Variables Securely</h5>
-</div>
-
-<div align="center">
- <a href="https://envshare.dev">envshare.dev</a>
-</div>
-<br/>
-
-EnvShare is a simple tool to share environment variables securely. It uses
-**AES-GCM** to encrypt your data before sending it to the server. The encryption
-key never leaves your browser.
-
-## Features
-
-- **Shareable Links:** Share your environment variables securely by sending a
- link
-- **End-to-End Encryption:** AES-GCM encryption is used to encrypt your data
- before sending it to the server
-- **Limit number of reads:** Limit the number of times a link can be read
-- **Auto Expire:** Automatically expire links and delete data after a certain
- time
-
-<br/>
-
-![](img/envshare.png)
-
-## Built with
-
-- [Next.js](https://nextjs.org)
-- [tailwindcss](https://tailwindcss.com)
-- Deployed on [Vercel](https://vercel.com?utm_source=envshare)
-- Data stored on [Upstash](https://upstash.com?utm_source=envshare)
-
-## Deploy your own
-
-Detailed instructions can be found [here](https://envshare.dev/deploy)
-
-All you need is a Redis database on Upstash and a Vercel account. Click the
-button below to clone and deploy:
-
-[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?demo-title=EnvShare&demo-description=Simple%20Next.js%20%2B%20Upstash%20app%20to%20share%20environment%20variables%20securely%20using%20AES-GCM%20encryption.&demo-url=https%3A%2F%2Fenvshare.dev%2F&demo-image=%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F5SaFBHXp5FBFJbsTzVqIJ3%2Ff0f8382369b7642fd8103debb9025c11%2Fenvshare.png&project-name=EnvShare&repository-name=envshare&repository-url=https%3A%2F%2Fgithub.com%2Fchronark%2Fenvshare&from=templates&integration-ids=oac_V3R1GIpkoJorr6fqyiwdhl17)
-
-
-## Sponsors
-
-<table>
-<tr>
-<td>
- <img width="1000" height="0">
- <a href="https://upstash.com/?utm_source=envshare" >
- <img src="https://raw.githubusercontent.com/upstash/sponsorship/master/redis.png" alt="Upstash" width="260" align="right">
- </a>
-<h3>Upstash: Serverless Database for Redis</h3>
-
-<ul>
- <li>Serverless Redis with global replication and durable storage</li>
- <li>Price scales to zero with per request pricing</li>
- <li>Built-in REST API designed for serverless and edge functions</li>
- </ul>
-
-[Start for free in 30 seconds!](https://upstash.com/?utm_source=envshare)
-
-</td>
-</tr>
-</table>
-
-## Configuration
-
-### Environment Variables
-
-`ENABLE_VERCEL_ANALYTICS` Any truthy value will enable Vercel Analytics. This is turned off by default
-
-## Contributing
-
-This repository uses `pnpm` to manage dependencies. Install it using
-`npm install -g pnpm`
-
-Please run `pnpm fmt` before committing to format the code.
-
-## Docs
-
-Docs in the README are temporary and will be moved to the website soon.
-
-### API
-
-#### Store a secret
-
-**PLEASE NEVER EVER UPLOAD UNENCRYPTED SECRETS.**
-
-This endpoint is only meant to store **already encrypted** secrets. The
-encrypted secrets are stored in plain text.
-
-```sh-session
-$ curl -XPOST -s https://envshare.dev/api/v1/secret -d "already-encrypted-secret"
-```
-
-You can add optional headers to configure the ttl and number of reads.
-
-```sh-session
-$ curl -XPOST -s https://envshare.dev/api/v1/secret -d "already-encrypted-secret" -H "envshare-ttl: 3600" -H "envshare-reads: 10"
-```
-
-- Omitting the `envshare-ttl` header will set a default of 30 days. Disable the
- ttl by setting it to 0. (`envshare-ttl: 0`)
-- Omitting the `envshare-reads` header will simply disable it and allow reading
- for an unlimited number of times.
-
-This endpoint returns a JSON response with the secret id:
-
-```json
-{
- "data": {
- "id": "HdPbXgpvUvNk43oxSdK97u",
- "ttl": 86400,
- "reads": 2,
- "expiresAt": "2023-01-19T20:47:28.383Z",
- "url": "http://envshare.dev/api/v1/secret/HdPbXgpvUvNk43oxSdK97u"
- }
-}
-```
-
-#### Retrieve a secret
-
-You need an id to retrieve a secret. The id is returned when you store a secret.
-
-```sh-session
-$ curl -s https://envshare.dev/api/v1/secret/HdPbXgpvUvNk43oxSdK97u
-```
-
-```json
-{
- "data": {
- "secret": "Hello",
- "remainingReads": 1
- }
-}
-```
diff --git a/envshare/app/[compositeKey]/page.tsx b/envshare/app/[compositeKey]/page.tsx
deleted file mode 100644
index d91f182..0000000
--- a/envshare/app/[compositeKey]/page.tsx
+++ /dev/null
@@ -1,7 +0,0 @@
-import { redirect } from "next/navigation";
-
-// This page is here for backwards compatibility with old links.
-// Old links were of the form /{compositeKey} and now they are of the form /unseal#{compositeKey}
-export default function Page(props: { params: { compositeKey: string } }) {
- return redirect(`/unseal#${props.params.compositeKey}`);
-}
diff --git a/envshare/app/components/analytics.tsx b/envshare/app/components/analytics.tsx
deleted file mode 100644
index ef6a2ae..0000000
--- a/envshare/app/components/analytics.tsx
+++ /dev/null
@@ -1,22 +0,0 @@
-"use client";
-import { Analytics as VercelAnalytics } from "@vercel/analytics/react";
-
-const track = ["/", "/share", "/deploy", "/unseal"];
-
-export function Analytics() {
- return (
- <VercelAnalytics
- beforeSend={(event) => {
- const url = new URL(event.url);
- if (!track.includes(url.pathname)) {
- url.pathname = "/__redacted";
- return {
- ...event,
- url: url.href,
- };
- }
- return event;
- }}
- />
- );
-}
diff --git a/envshare/app/components/error.tsx b/envshare/app/components/error.tsx
deleted file mode 100644
index acf36d7..0000000
--- a/envshare/app/components/error.tsx
+++ /dev/null
@@ -1,11 +0,0 @@
-type Props = {
- message: string;
-};
-
-export const ErrorMessage: React.FC<Props> = ({ message }) => {
- return (
- <div className="flex items-center justify-center my-8 lg:my-16">
- <span className="px-4 py-2 text-red-500 border rounded border-red-500/50 bg-red-500/10"> {message}</span>
- </div>
- );
-};
diff --git a/envshare/app/components/stats.tsx b/envshare/app/components/stats.tsx
deleted file mode 100644
index be1aa71..0000000
--- a/envshare/app/components/stats.tsx
+++ /dev/null
@@ -1,57 +0,0 @@
-import { Redis } from "@upstash/redis";
-
-const redis = Redis.fromEnv();
-export const revalidate = 60;
-
-export const Stats = asyncComponent(async () => {
- const [reads, writes] = await redis
- .pipeline()
- .get("envshare:metrics:reads")
- .get("envshare:metrics:writes")
- .exec<[number, number]>();
- const stars = await fetch("https://api.github.com/repos/retrofor/ChienDice")
- .then((res) => res.json())
- .then((json) => json.stargazers_count as number);
-
- const stats = [
- {
- label: "Documents Encrypted",
- value: writes,
- },
- {
- label: "Documents Decrypted",
- value: reads,
- },
- ] satisfies { label: string; value: number }[];
-
- if (stars) {
- stats.push({
- label: "GitHub Stars",
- value: stars,
- });
- }
-
- return (
- <section className="container mx-auto">
- <ul className="grid grid-cols-1 gap-4 sm:grid-cols-3 ">
- {stats.map(({ label, value }) => (
- <li
- key={label}
- className="flex items-center justify-between gap-2 px-4 py-3 overflow-hidden rounded m sm:flex-col"
- >
- <dd className="text-2xl font-bold tracking-tight text-center sm:text-5xl text-zinc-200">
- {Intl.NumberFormat("en-US", { notation: "compact" }).format(value)}
- </dd>
- <dt className="leading-6 text-center text-zinc-500">{label}</dt>
- </li>
- ))}
- </ul>
- </section>
- );
-});
-
-// stupid hack to make "server components" actually work with components
-// https://www.youtube.com/watch?v=h_9Vx6kio2s
-function asyncComponent<T, R>(fn: (arg: T) => Promise<R>): (arg: T) => R {
- return fn as (arg: T) => R;
-}
diff --git a/envshare/app/components/testimony.tsx b/envshare/app/components/testimony.tsx
deleted file mode 100644
index c48479a..0000000
--- a/envshare/app/components/testimony.tsx
+++ /dev/null
@@ -1,125 +0,0 @@
-"use client";
-import Image from "next/image";
-import Link from "next/link";
-import { Props } from "next/script";
-import React, { PropsWithChildren } from "react";
-
-const TwitterHandle: React.FC<PropsWithChildren> = ({ children }) => {
- return <span className="text-blue-500">{children}</span>;
-};
-
-const Author: React.FC<PropsWithChildren<{ href: string }>> = ({ children, href }) => (
- <Link target="_blank" rel="noopener noreferrer" href={href} className="duration-150 text-zinc-200 hover:text-zinc-50">
- {children}
- </Link>
-);
-
-const Title: React.FC<PropsWithChildren<{ href: string }>> = ({ children, href }) => (
- <Link
- target="_blank"
- rel="noopener noreferrer"
- href={href}
- className="text-sm duration-150 text-zinc-500 hover:text-zinc-300"
- >
- {children}
- </Link>
-);
-
-export const Testimonials = () => {
- const posts: {
- content: React.ReactNode;
- link: string;
- author: {
- name: React.ReactNode;
- title?: React.ReactNode;
- image: string;
- };
- }[] = [
- {
- content: (
- <div>
- <p>
- My cursory audit of <TwitterHandle>@chronark_</TwitterHandle>'s envshare:
- </p>
- <p>
- It is light, extremely functional, and does its symmetric block cipher correctly, unique initialization
- vectors, decryption keys derived securely.
- </p>
- <br />
- <p>Easily modified to remove minimal analytics. Superior to Privnote.</p>
- <br />
- <p>Self-hosting is easy. 👏</p>
- </div>
- ),
- link: "https://twitter.com/FrederikMarkor/status/1615299856205250560",
- author: {
- name: <Author href="https://jyunko.cn">HsiangNianian</Author>,
- title: <Title href="https://github.com/Hsiangianian">Owner/Contributor @简律纯</Title>,
- image: "https://github.com/HsiangNianian.png",
- },
- },
- // {
- // content: (
- // <div>
- // <p>I'm particularly chuffed about this launch, for a couple of reasons:</p>
- // <ul>
- // <li>
- // ◆ Built on <TwitterHandle>@nextjs</TwitterHandle> + <TwitterHandle>@upstash</TwitterHandle>, hosted on{" "}
- // <TwitterHandle>@vercel</TwitterHandle>
- // </li>
- // <li>◆ 100% free to use & open source</li>
- // <li>◆ One-click deploy via Vercel + Upstash integration</li>
- // </ul>
- // <p>Deploy your own → http://vercel.fyi/envshare</p>
- // </div>
- // ),
- // link: "https://twitter.com/steventey/status/1615035241772482567?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1615035241772482567%7Ctwgr%5E1db44bb10c690189e24c980fcd787299961c34c6%7Ctwcon%5Es1_&ref_url=https%3A%2F%2Fpublish.twitter.com%2F%3Fquery%3Dhttps3A2F2Ftwitter.com2Fsteventey2Fstatus2F1615035241772482567widget%3DTweet",
- // author: {
- // name: <Author href="https://twitter.com/steventey">Steven Tey</Author>,
- // title: <Title href="https://vercel.com">Senior Developer Advocate at Vercel</Title>,
- // image: "https://pbs.twimg.com/profile_images/1506792347840888834/dS-r50Je_400x400.jpg",
- // },
- // },
- // {
- // content: (
- // <div>
- // <p>
- // Congratulations on the launch <TwitterHandle>@chronark_</TwitterHandle>👏! This is such a valuable product
- // for developers. Icing on the cake is that it's open source! ✨
- // </p>
- // </div>
- // ),
- // link: "https://twitter.com/DesignSiddharth/status/1615293209164546048",
- // author: {
- // name: <Author href="https://twitter.com/DesignSiddharth">@DesignSiddharth</Author>,
- // image: "https://pbs.twimg.com/profile_images/1613772710009765888/MbSblJYf_400x400.jpg",
- // },
- // },
- ];
-
- return (
- <section className="container mx-auto">
- <ul role="list" className="grid max-w-2xl grid-cols-1 gap-16 mx-auto sm:gap-8 lg:max-w-none lg:grid-cols-3">
- {posts.map((post, i) => (
- <div
- key={i}
- className="flex flex-col justify-between duration-150 border rounded border-zinc-500/30 hover:border-zinc-300/30 hover:bg-zinc-900/30 group"
- >
- <Link href={post.link} className="whitespace-pre-line text text-zinc-500 p-6">
- {post.content}
- </Link>
- <div className="relative flex items-start justify-between p-6 duration-150 border-t bg-zinc-900/40 border-zinc-500/30 group-hover:border-zinc-300/30">
- <div>
- <div className="text-base font-display text-zinc-200">{post.author.name}</div>
- <div className="mt-1 text-sm text-zinc-500">{post.author.title}</div>
- </div>
- <div className="overflow-hidden rounded-full bg-zinc-50">
- <Image className="object-cover h-14 w-14" src={post.author.image} alt="" width={56} height={56} />
- </div>
- </div>
- </div>
- ))}
- </ul>
- </section>
- );
-};
diff --git a/envshare/app/components/title.tsx b/envshare/app/components/title.tsx
deleted file mode 100644
index b9b7f3c..0000000
--- a/envshare/app/components/title.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-import React, { PropsWithChildren } from "react";
-
-export const Title: React.FC<PropsWithChildren> = ({ children }): JSX.Element => {
- return (
- <h1 className="py-4 text-5xl font-bold text-center text-transparent bg-gradient-to-t bg-clip-text from-zinc-100/60 to-white">
- {children}
- </h1>
- );
-};
diff --git a/envshare/app/deploy/page.tsx b/envshare/app/deploy/page.tsx
deleted file mode 100644
index b515144..0000000
--- a/envshare/app/deploy/page.tsx
+++ /dev/null
@@ -1,89 +0,0 @@
-"use client";
-import { ArrowTopRightOnSquareIcon } from "@heroicons/react/20/solid";
-import Link from "next/link";
-import { Title } from "@components/title";
-import React from "react";
-const steps: {
- name: string;
- description: string | React.ReactNode;
- cta?: React.ReactNode;
-}[] = [
- {
- name: "Create a new Redis database on Upstash",
- description: (
- <>
- Upstash offers a serverless Redis database with a generous free tier of up to 10,000 requests per day. That's
- more than enough.
- <br />
- Click the button below to sign up and create a new Redis database on Upstash.
- </>
- ),
- cta: (
- <Link
- href="https://console.upstash.com/redis"
- className="flex items-center justify-center w-full gap-2 px-4 py-2 text-sm text-center transition-all duration-150 rounded text-zinc-800 hover:text-zinc-100 bg-zinc-200 hover:bg-transparent ring-1 ring-zinc-100"
- >
- <span>Create Database</span>
- <ArrowTopRightOnSquareIcon className="w-4 h-4" />
- </Link>
- ),
- },
- {
- name: "Copy the REST connection credentials",
- description: (
- <p>
- After creating the database, scroll to the bottom and make a note of <code>UPSTASH_REDIS_REST_URL</code> and{" "}
- <code>UPSTASH_REDIS_REST_TOKEN</code>, you need them in the next step
- </p>
- ),
- },
- {
- name: "Deploy to Vercel",
- description: "Deploy the app to Vercel and paste the connection credentials into the environment variables.",
- cta: (
- <Link
- href="https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fchronark%2Fenvshare&env=UPSTASH_REDIS_REST_URL,UPSTASH_REDIS_REST_TOKEN&demo-title=Share%20Environment%20Variables%20Securely&demo-url=https%3A%2F%2Fcryptic.vercel.app"
- className="flex items-center justify-center w-full gap-2 px-4 py-2 text-sm text-center transition-all duration-150 rounded text-zinc-800 hover:text-zinc-100 bg-zinc-200 hover:bg-transparent ring-1 ring-zinc-100"
- >
- <span>Deploy</span>
- <ArrowTopRightOnSquareIcon className="w-4 h-4" />
- </Link>
- ),
- },
-];
-
-export default function Deploy() {
- return (
- <div className="container px-8 mx-auto mt-16 lg:mt-32 ">
- <Title>Deploy EnvShare for Free</Title>
- <p className="mt-4 text-sm text-center text-zinc-600">
- You can deploy your own hosted version of EnvShare, you just need an Upstash and Vercel account.
- </p>
- <ol className="flex flex-col items-center justify-center mt-8 md:mt-16 xl:mt-24">
- {steps.map((step, stepIdx) => (
- <li key={step.name} className="relative flex flex-col items-center gap-4 pb-16 group md:gap-8 md:pb-24">
- <span
- className="absolute top-4 h-full w-0.5 bg-gradient-to-b from-blue-500/60 via-blue-500/10 to-transparent"
- aria-hidden="true"
- />
- <span className="flex items-center h-9" aria-hidden="true">
- <span className="relative z-10 flex items-center justify-center w-8 h-8 text-sm text-blue-400 duration-150 border border-blue-400 rounded-full bg-zinc-900 group-hover:border-blue-500 drop-shadow-blue">
- {stepIdx + 1}
- </span>
- </span>
- <div className="z-10 flex flex-col items-center">
- <h2 className="text-xl font-medium duration-150 lg:text-2xl text-zinc-200 group-hover:text-white">
- {step.name}
- </h2>
-
- <div className="mt-4 text-sm text-center duration-1000 text-zinc-500 group-hover:text-zinc-400">
- {step.description}
- </div>
- <div className="w-full mt-8 md:w-auto">{step.cta}</div>
- </div>
- </li>
- ))}
- </ol>
- </div>
- );
-}
diff --git a/envshare/app/globals.css b/envshare/app/globals.css
deleted file mode 100644
index b764a11..0000000
--- a/envshare/app/globals.css
+++ /dev/null
@@ -1,15 +0,0 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
-
-@layer utilities {
- input[type="number"]::-webkit-inner-spin-button,
- input[type="number"]::-webkit-outer-spin-button {
- @apply appearance-none;
- }
-
-
- input[type="file"] {
- @apply appearance-none;
- }
-} \ No newline at end of file
diff --git a/envshare/app/head.tsx b/envshare/app/head.tsx
deleted file mode 100644
index aecaa44..0000000
--- a/envshare/app/head.tsx
+++ /dev/null
@@ -1,42 +0,0 @@
-export default function Head({ title, subtitle }: { title: string; subtitle: string }) {
- // Fallback tagline
- title ??= "Share Environment Variables Securely";
- subtitle ??= "EnvShare";
-
- const baseUrl = process.env.VERCEL_URL ? `https://${process.env.VERCEL_URL}` : "http://localhost:3000";
-
- const url = new URL("/api/v1/og", baseUrl);
- url.searchParams.set("title", title);
- url.searchParams.set("subtitle", subtitle);
-
- return (
- <>
- <title>EnvShare</title>
- <meta content="width=device-width, initial-scale=1" name="viewport" />
- <meta name="description" content={subtitle} />
- <meta name="theme-color" content="#000000" />
- <meta name="title" content={title} />
- <meta name="keywords" content="envshare, secure, secrets, share, environment, variables" />
- <meta name="language" content="English" />
- <meta name="revisit-after" content="7 days" />
- <meta name="robots" content="all" />
- <meta httpEquiv="Content-Type" content="text/html; charset=utf-8" />
-
- {/* Open Graph / Facebook */}
- <meta property="og:type" content="website" />
- <meta property="og:url" content={baseUrl} />
- <meta property='og:image' content={url.toString()} />
- <meta property='og:title' content={title} />
- <meta property='og:description' content={subtitle} />
- <meta property="og:image:width" content="1200" />
- <meta property="og:image:height" content="630" />
-
- {/* Twitter */}
- <meta property="twitter:card" content="summary_large_image" />
- <meta property="twitter:url" content={baseUrl} />
- <meta property="twitter:title" content={title} />
- <meta property="twitter:description" content={subtitle} />
- <meta property="twitter:image" content={url.toString()} />
- </>
- );
-}
diff --git a/envshare/app/header.tsx b/envshare/app/header.tsx
deleted file mode 100644
index 9d6a3fe..0000000
--- a/envshare/app/header.tsx
+++ /dev/null
@@ -1,59 +0,0 @@
-"use client";
-import React from "react";
-import Link from "next/link";
-import { usePathname } from "next/navigation";
-
-const navigation = [
- {
- name: "Share",
- href: "/share",
- },
- {
- name: "Unseal",
- href: "/unseal",
- },
- // {
- // name: "Deploy",
- // href: "/deploy",
- // },
- {
- name: "GitHub",
- href: "https://github.com/retrofor/ChienDice",
- external: true,
- },
-] satisfies { name: string; href: string; external?: boolean }[];
-
-export const Header: React.FC = () => {
- const pathname = usePathname();
- return (
- <header className="top-0 z-30 w-full px-4 sm:fixed backdrop-blur bh-zinc-900/50">
- <div className="container mx-auto">
- <div className="flex flex-col items-center justify-between gap-2 pt-6 sm:h-20 sm:flex-row sm:pt-0">
- <Link href="/" className="text-2xl font-semibold duration-150 text-zinc-100 hover:text-white">
- EnvShare
- </Link>
- {/* Desktop navigation */}
- <nav className="flex items-center grow">
- <ul className="flex flex-wrap items-center justify-end gap-4 grow">
- {navigation.map((item) => (
- <li className="" key={item.href}>
- <Link
- className={`flex items-center px-3 py-2 duration-150 text-sm sm:text-base hover:text-zinc-50
- ${pathname === item.href ? "text-zinc-200" : "text-zinc-400"}`}
- href={item.href}
- target={item.external ? "_blank" : undefined}
- rel={item.external ? "noopener noreferrer" : undefined}
- >
- {item.name}
- </Link>
- </li>
- ))}
- </ul>
- </nav>
- </div>
- </div>
-
- {/* Fancy fading bottom border */}
- </header>
- );
-};
diff --git a/envshare/app/layout.tsx b/envshare/app/layout.tsx
deleted file mode 100644
index e7d8419..0000000
--- a/envshare/app/layout.tsx
+++ /dev/null
@@ -1,58 +0,0 @@
-import "./globals.css";
-import { Inter } from "@next/font/google";
-import Link from "next/link";
-import { Header } from "./header";
-
-import { Analytics } from "@components/analytics";
-const inter = Inter({ subsets: ["latin"], variable: "--font-inter" });
-
-export default function RootLayout({
- children,
-}: {
- children: React.ReactNode;
-}) {
- return (
- <html lang="en" className={inter.variable}>
- <head />
- <body className="relative min-h-screen bg-black bg-gradient-to-tr from-zinc-900/50 to-zinc-700/30">
- {
- // Not everyone will want to host envshare on Vercel, so it makes sense to make this opt-in.
- process.env.ENABLE_VERCEL_ANALYTICS ? <Analytics /> : null
- }
-
- <Header />
-
- <main className=" min-h-[80vh] ">{children}</main>
-
- <footer className="bottom-0 border-t inset-2x-0 border-zinc-500/10">
- <div className="flex flex-col gap-1 px-6 py-12 mx-auto text-xs text-center text-zinc-700 max-w-7xl lg:px-8">
- <p>
- Built by{" "}
- <Link href="https://github.com/HsiangNianian" className="font-semibold duration-150 hover:text-zinc-200">
- @简律纯
- </Link>
- and{" "}
- <Link
- href="https://github.com/retrofor/ChienDice/graphs/contributors"
- className="underline duration-150 hover:text-zinc-200"
- >
- many others{" "}
- </Link>
- </p>
- <p>
- EnvShare is deployed on{" "}
- <Link target="_blank" href="https://vercel.com" className="underline duration-150 hover:text-zinc-200">
- Vercel
- </Link>{" "}
- and uses{" "}
- <Link target="_blank" href="https://upstash.com" className="underline duration-150 hover:text-zinc-200">
- Upstash
- </Link>{" "}
- for storing encrypted data.
- </p>
- </div>
- </footer>
- </body>
- </html>
- );
-}
diff --git a/envshare/app/page.tsx b/envshare/app/page.tsx
deleted file mode 100644
index 5cda54d..0000000
--- a/envshare/app/page.tsx
+++ /dev/null
@@ -1,50 +0,0 @@
-import Link from "next/link";
-import { Stats } from "./components/stats";
-import { Testimonials } from "./components/testimony";
-
-export default function Home() {
- return (
- <div className="flex flex-col gap-8 pb-8 md:gap-16 md:pb-16 xl:pb-24">
- <div className="flex flex-col items-center justify-center max-w-3xl px-8 mx-auto mt-8 sm:min-h-screen sm:mt-0 sm:px-0">
- <div className="hidden sm:mb-8 sm:flex sm:justify-center">
- <Link
- href="https://github.com/retrofor/ChienDice"
- className="text-zinc-400 relative overflow-hidden rounded-full py-1.5 px-4 text-sm leading-6 ring-1 ring-zinc-100/10 hover:ring-zinc-100/30 duration-150"
- >
- EnvShare is Open Source on{" "}
- <span className="font-semibold text-zinc-200">
- GitHub <span aria-hidden="true">&rarr;</span>
- </span>
- </Link>
- </div>
- <div>
- <h1 className="py-4 text-5xl font-bold tracking-tight text-center text-transparent bg-gradient-to-t bg-clip-text from-zinc-100/50 to-white sm:text-7xl">
- Share Environment Variables Securely
- </h1>
- <p className="mt-6 leading-5 text-zinc-600 sm:text-center">
- Your document is encrypted in your browser before being stored for a limited period of time and read
- operations. Unencrypted data never leaves your browser.
- </p>
- <div className="flex flex-col justify-center gap-4 mx-auto mt-8 sm:flex-row sm:max-w-lg ">
- {/* <Link
- href="/deploy"
- className="sm:w-1/2 sm:text-center inline-block space-x-2 rounded px-4 py-1.5 md:py-2 text-base font-semibold leading-7 text-white ring-1 ring-zinc-600 hover:bg-white hover:text-zinc-900 duration-150 hover:ring-white hover:drop-shadow-cta"
- >
- Deploy
- </Link> */}
- <Link
- href="/share"
- className="sm:w-1/2 sm:text-center inline-block transition-all space-x-2 rounded px-4 py-1.5 md:py-2 text-base font-semibold leading-7 text-zinc-800 bg-zinc-50 ring-1 ring-transparent hover:text-zinc-100 hover:ring-zinc-600/80 hover:bg-zinc-900/20 duration-150 hover:drop-shadow-cta"
- >
- <span>Share</span>
- <span aria-hidden="true">&rarr;</span>
- </Link>
- </div>
- </div>
- </div>
- <h2 className="py-4 text-3xl font-bold text-center text-zinc-300 ">Used and trusted by a growing community</h2>
- <Stats />
- <Testimonials />
- </div>
- );
-}
diff --git a/envshare/app/share/page.tsx b/envshare/app/share/page.tsx
deleted file mode 100644
index b6089f0..0000000
--- a/envshare/app/share/page.tsx
+++ /dev/null
@@ -1,227 +0,0 @@
-"use client";
-import { toBase58 } from "util/base58";
-import { useState, Fragment } from "react";
-import { Cog6ToothIcon, ClipboardDocumentIcon, ClipboardDocumentCheckIcon } from "@heroicons/react/24/outline";
-import { Title } from "@components/title";
-import { encrypt } from "pkg/encryption";
-import { ErrorMessage } from "@components/error";
-import { encodeCompositeKey } from "pkg/encoding";
-import { LATEST_KEY_VERSION } from "pkg/constants";
-
-export default function Home() {
- const [text, setText] = useState("");
- const [reads, setReads] = useState(999);
-
- const [ttl, setTtl] = useState(7);
- const [ttlMultiplier, setTtlMultiplier] = useState(60 * 60 * 24);
- const [loading, setLoading] = useState(false);
- const [error, setError] = useState("");
- const [copied, setCopied] = useState(false);
-
- const [link, setLink] = useState("");
-
- const onSubmit = async () => {
- try {
- setError("");
- setLink("");
- setLoading(true);
-
- const { encrypted, iv, key } = await encrypt(text);
-
- const { id } = (await fetch("/api/v1/store", {
- method: "POST",
- body: JSON.stringify({
- ttl: ttl * ttlMultiplier,
- reads,
- encrypted: toBase58(encrypted),
- iv: toBase58(iv),
- }),
- }).then((r) => r.json())) as { id: string };
-
- const compositeKey = encodeCompositeKey(LATEST_KEY_VERSION, id, key);
-
- const url = new URL(window.location.href);
- url.pathname = "/unseal";
- url.hash = compositeKey;
- setCopied(false);
- setLink(url.toString());
- } catch (e) {
- console.error(e);
- setError((e as Error).message);
- } finally {
- setLoading(false);
- }
- };
-
- return (
- <div className="container px-8 mx-auto mt-16 lg:mt-32 ">
- {error ? <ErrorMessage message={error} /> : null}
-
- {link ? (
- <div className="flex flex-col items-center justify-center w-full h-full mt-8 md:mt-16 xl:mt-32">
- <Title>Share this link with others</Title>
- <div className="relative flex items-stretch flex-grow mt-16 focus-within:z-10">
- <pre className="px-4 py-3 font-mono text-center bg-transparent border rounded border-zinc-600 focus:border-zinc-100/80 focus:ring-0 sm:text-sm text-zinc-100">
- {link}
- </pre>
- <button
- type="button"
- className="relative inline-flex items-center px-4 py-2 -ml-px space-x-2 text-sm font-medium duration-150 border text-zinc-700 border-zinc-300 rounded-r-md bg-zinc-50 hover focus:border-zinc-500 focus:outline-none focus:ring-1 focus:ring-zinc-500 hover:text-zinc-900 hover:bg-white"
- onClick={() => {
- navigator.clipboard.writeText(link);
- setCopied(true);
- }}
- >
- {copied ? (
- <ClipboardDocumentCheckIcon className="w-5 h-5" aria-hidden="true" />
- ) : (
- <ClipboardDocumentIcon className="w-5 h-5" aria-hidden="true" />
- )}{" "}
- <span>{copied ? "Copied" : "Copy"}</span>
- </button>
- </div>
- </div>
- ) : (
- <form
- className="max-w-3xl mx-auto"
- onSubmit={(e) => {
- e.preventDefault();
- if (text.length <= 0) return;
- onSubmit();
- }}
- >
- <Title>Encrypt and Share</Title>
-
- <pre className="px-4 py-3 mt-8 font-mono text-left bg-transparent border rounded border-zinc-600 focus:border-zinc-100/80 focus:ring-0 sm:text-sm text-zinc-100">
- <div className="flex items-start px-1 text-sm">
- <div aria-hidden="true" className="pr-4 font-mono border-r select-none border-zinc-300/5 text-zinc-700">
- {Array.from({
- length: text.split("\n").length,
- }).map((_, index) => (
- <Fragment key={index}>
- {(index + 1).toString().padStart(2, "0")}
- <br />
- </Fragment>
- ))}
- </div>
-
- <textarea
- id="text"
- name="text"
- value={text}
- minLength={1}
- onChange={(e) => setText(e.target.value)}
- rows={Math.max(5, text.split("\n").length)}
- placeholder="DATABASE_URL=postgres://postgres:postgres@localhost:5432/postgres"
- className="w-full p-0 text-base bg-transparent border-0 appearance-none resize-none hover:resize text-zinc-100 placeholder-zinc-500 focus:ring-0 sm:text-sm"
- />
- </div>
- </pre>
-
- <div className="flex flex-col items-center justify-center w-full gap-4 mt-4 sm:flex-row">
- <div className="w-full sm:w-1/5">
- <label
- className="flex items-center justify-center h-16 px-3 py-2 text-sm whitespace-no-wrap duration-150 border rounded hover:border-zinc-100/80 border-zinc-600 focus:border-zinc-100/80 focus:ring-0 text-zinc-100 hover:text-white hover:cursor-pointer "
- htmlFor="file_input"
- >
- Upload a file
- </label>
- <input
- className="hidden"
- id="file_input"
- type="file"
- onChange={(e) => {
- const file = e.target.files![0];
- if (file.size > 1024 * 16) {
- setError("File size must be less than 16kb");
- return;
- }
-
- const reader = new FileReader();
- reader.onload = (e) => {
- const t = e.target!.result as string;
- setText(t);
- };
- reader.readAsText(file);
- }}
- />
- </div>
-
- <div className="w-full h-16 px-3 py-2 duration-150 border rounded sm:w-2/5 hover:border-zinc-100/80 border-zinc-600 focus-within:border-zinc-100/80 focus-within:ring-0 ">
- <label htmlFor="reads" className="block text-xs font-medium text-zinc-100">
- READS
- </label>
- <input
- type="number"
- name="reads"
- id="reads"
- className="w-full p-0 text-base bg-transparent border-0 appearance-none text-zinc-100 placeholder-zinc-500 focus:ring-0 sm:text-sm"
- value={reads}
- onChange={(e) => setReads(e.target.valueAsNumber)}
- />
- </div>
- <div className="relative w-full h-16 px-3 py-2 duration-150 border rounded sm:w-2/5 hover:border-zinc-100/80 border-zinc-600 focus-within:border-zinc-100/80 focus-within:ring-0 ">
- <label htmlFor="reads" className="block text-xs font-medium text-zinc-100">
- TTL
- </label>
- <input
- type="number"
- name="reads"
- id="reads"
- className="w-full p-0 text-base bg-transparent border-0 appearance-none text-zinc-100 placeholder-zinc-500 focus:ring-0 sm:text-sm"
- value={ttl}
- onChange={(e) => setTtl(e.target.valueAsNumber)}
- />
- <div className="absolute inset-y-0 right-0 flex items-center">
- <label htmlFor="ttlMultiplier" className="sr-only" />
- <select
- id="ttlMultiplier"
- name="ttlMultiplier"
- className="h-full py-0 pl-2 bg-transparent border-0 border-transparent rounded pr-7 text-zinc-500 focus:ring-0 sm:text-sm"
- onChange={(e) => setTtlMultiplier(parseInt(e.target.value))}
- defaultValue={60 * 60 * 24}
- >
- <option value={60}>{ttl === 1 ? "Minute" : "Minutes"}</option>
- <option value={60 * 60}>{ttl === 1 ? "Hour" : "Hours"}</option>
- <option value={60 * 60 * 24}>{ttl === 1 ? "Day" : "Days"}</option>
- </select>
- </div>
- </div>
- </div>
- <button
- type="submit"
- disabled={loading || text.length <= 0}
- className={`mt-6 w-full h-12 inline-flex justify-center items-center transition-all rounded px-4 py-1.5 md:py-2 text-base font-semibold leading-7 bg-zinc-200 ring-1 ring-transparent duration-150 ${
- text.length <= 0
- ? "text-zinc-400 cursor-not-allowed"
- : "text-zinc-900 hover:text-zinc-100 hover:ring-zinc-600/80 hover:bg-zinc-900/20"
- } ${loading ? "animate-pulse" : ""}`}
- >
- <span>{loading ? <Cog6ToothIcon className="w-5 h-5 animate-spin" /> : "Share"}</span>
- </button>
-
- <div className="mt-8">
- <ul className="space-y-2 text-xs text-zinc-500">
- <li>
- <p>
- <span className="font-semibold text-zinc-400">Reads:</span> The number of reads determines how often
- the data can be shared, before it deletes itself. 0 means unlimited.
- </p>
- </li>
- <li>
- <p>
- <span className="font-semibold text-zinc-400">TTL:</span> You can add a TTL (time to live) to the
- data, to automatically delete it after a certain amount of time. 0 means no TTL.
- </p>
- </li>
- <p>
- Clicking Share will generate a new symmetrical key and encrypt your data before sending only the
- encrypted data to the server.
- </p>
- </ul>
- </div>
- </form>
- )}
- </div>
- );
-}
diff --git a/envshare/app/unseal/page.tsx b/envshare/app/unseal/page.tsx
deleted file mode 100644
index 0b63e6b..0000000
--- a/envshare/app/unseal/page.tsx
+++ /dev/null
@@ -1,159 +0,0 @@
-"use client";
-import React, { Fragment, useState, useEffect } from "react";
-import { ClipboardDocumentCheckIcon, ClipboardDocumentIcon, Cog6ToothIcon } from "@heroicons/react/24/outline";
-
-import { Title } from "@components/title";
-
-import { decodeCompositeKey } from "pkg/encoding";
-import { decrypt } from "pkg/encryption";
-import Link from "next/link";
-import { ErrorMessage } from "@components/error";
-
-export default function Unseal() {
- const [compositeKey, setCompositeKey] = useState<string>("");
- useEffect(() => {
- if (typeof window !== "undefined") {
- setCompositeKey(window.location.hash.replace(/^#/, ""));
- }
- }, []);
-
- const [text, setText] = useState<string | null>(null);
- const [loading, setLoading] = useState(false);
- const [remainingReads, setRemainingReads] = useState<number | null>(null);
- const [error, setError] = useState<string | null>(null);
- const [copied, setCopied] = useState(false);
-
- const onSubmit = async () => {
- try {
- setError(null);
- setText(null);
- setLoading(true);
-
- if (!compositeKey) {
- throw new Error("No id provided");
- }
-
- const { id, encryptionKey, version } = decodeCompositeKey(compositeKey);
- const res = await fetch(`/api/v1/load?id=${id}`);
- if (!res.ok) {
- throw new Error(await res.text());
- }
- const json = (await res.json()) as {
- iv: string;
- encrypted: string;
- remainingReads: number | null;
- };
- setRemainingReads(json.remainingReads);
-
- const decrypted = await decrypt(json.encrypted, encryptionKey, json.iv, version);
-
- setText(decrypted);
- } catch (e) {
- console.error(e);
- setError((e as Error).message);
- } finally {
- setLoading(false);
- }
- };
-
- return (
- <div className="container px-8 mx-auto mt-16 lg:mt-32 ">
- {error ? <ErrorMessage message={error} /> : null}
- {text ? (
- <div className="max-w-4xl mx-auto">
- {remainingReads !== null ? (
- <div className="text-sm text-center text-zinc-600">
- {remainingReads > 0 ? (
- <p>
- This document can be read <span className="text-zinc-100">{remainingReads}</span> more times.
- </p>
- ) : (
- <p className="text-zinc-400">
- This was the last time this document could be read. It was deleted from storage.
- </p>
- )}
- </div>
- ) : null}
- <pre className="px-4 py-3 mt-8 font-mono text-left bg-transparent border rounded border-zinc-600 focus:border-zinc-100/80 focus:ring-0 sm:text-sm text-zinc-100">
- <div className="flex items-start px-1 text-sm">
- <div aria-hidden="true" className="pr-4 font-mono border-r select-none border-zinc-300/5 text-zinc-700">
- {Array.from({
- length: text.split("\n").length,
- }).map((_, index) => (
- <Fragment key={index}>
- {(index + 1).toString().padStart(2, "0")}
- <br />
- </Fragment>
- ))}
- </div>
- <div>
- <pre className="flex overflow-x-auto">
- <code className="px-4 text-left">{text}</code>
- </pre>
- </div>
- </div>
- </pre>
-
- <div className="flex items-center justify-end gap-4 mt-4">
- <Link
- href="/share"
- type="button"
- className="relative inline-flex items-center px-4 py-2 -ml-px space-x-2 text-sm font-medium duration-150 border rounded text-zinc-300 border-zinc-300/40 hover:border-zinc-300 focus:outline-none hover:text-white"
- >
- Share another
- </Link>
- <button
- type="button"
- className="relative inline-flex items-center px-4 py-2 -ml-px space-x-2 text-sm font-medium duration-150 border rounded text-zinc-700 border-zinc-300 bg-zinc-50 hover focus:border-zinc-500 focus:outline-none hover:text-zinc-50 hover:bg-zinc-900"
- onClick={() => {
- navigator.clipboard.writeText(text);
- setCopied(true);
- }}
- >
- {copied ? (
- <ClipboardDocumentCheckIcon className="w-5 h-5" aria-hidden="true" />
- ) : (
- <ClipboardDocumentIcon className="w-5 h-5" aria-hidden="true" />
- )}{" "}
- <span>{copied ? "Copied" : "Copy"}</span>
- </button>
- </div>
- </div>
- ) : (
- <form
- className="max-w-3xl mx-auto "
- onSubmit={(e) => {
- e.preventDefault();
- onSubmit();
- }}
- >
- <Title>Decrypt a document</Title>
-
- <div className="px-3 py-2 mt-8 border rounded border-zinc-600 focus-within:border-zinc-100/80 focus-within:ring-0 ">
- <label htmlFor="id" className="block text-xs font-medium text-zinc-100">
- ID
- </label>
- <input
- type="text"
- name="compositeKey"
- id="compositeKey"
- className="w-full p-0 text-base bg-transparent border-0 appearance-none text-zinc-100 placeholder-zinc-500 focus:ring-0 sm:text-sm"
- value={compositeKey}
- onChange={(e) => setCompositeKey(e.target.value)}
- />
- </div>
-
- <button
- type="submit"
- disabled={loading}
- className={`mt-8 w-full h-12 inline-flex justify-center items-center transition-all rounded px-4 py-1.5 md:py-2 text-base font-semibold leading-7 text-zinc-800 bg-zinc-200 ring-1 duration-150 hover:text-black hover:drop-shadow-cta hover:bg-white ${
- loading ? "animate-pulse" : ""
- }`}
- >
- <span>{loading ? <Cog6ToothIcon className="w-5 h-5 animate-spin" /> : "Unseal"}</span>
- </button>
- </form>
- )}
- </div>
- );
-}
diff --git a/envshare/img/envshare.png b/envshare/img/envshare.png
deleted file mode 100644
index 0e3dbf2..0000000
--- a/envshare/img/envshare.png
+++ /dev/null
Binary files differ
diff --git a/envshare/jest.config.js b/envshare/jest.config.js
deleted file mode 100644
index 9c8fae4..0000000
--- a/envshare/jest.config.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/** @type {import('ts-jest').JestConfigWithTsJest} */
-module.exports = {
- preset: "ts-jest",
- testEnvironment: "node",
- injectGlobals: false,
-};
diff --git a/envshare/next.config.js b/envshare/next.config.js
deleted file mode 100644
index 73bfb7b..0000000
--- a/envshare/next.config.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/** @type {import('next').NextConfig} */
-const nextConfig = {
- experimental: {
- appDir: true,
- },
- images: {
- domains: ["twitter.com", "pbs.twimg.com"],
- },
-};
-
-module.exports = nextConfig;
diff --git a/envshare/package.json b/envshare/package.json
deleted file mode 100644
index d532535..0000000
--- a/envshare/package.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "name": "envshare",
- "version": "0.1.0",
- "private": true,
- "scripts": {
- "dev": "next dev",
- "build": "next build",
- "start": "next start",
- "lint": "next lint",
- "test": "jest --collect-coverage",
- "fmt": "pnpm rome check . --apply-suggested && pnpm rome format . --write"
- },
- "dependencies": {
- "@heroicons/react": "^2.0.13",
- "@next/font": "13.1.1",
- "@tailwindcss/forms": "^0.5.3",
- "@types/node": "18.11.18",
- "@types/react": "18.0.26",
- "@types/react-dom": "18.0.10",
- "@upstash/redis": "^1.19.1",
- "@vercel/analytics": "0.1.7-beta.1",
- "@vercel/og": "^0.0.27",
- "base-x": "^4.0.0",
- "eslint": "8.31.0",
- "eslint-config-next": "13.1.1",
- "next": "13.1.1",
- "react": "18.2.0",
- "react-dom": "18.2.0",
- "typescript": "4.9.4",
- "zod": "^3.20.2"
- },
- "devDependencies": {
- "@jest/globals": "^29.3.1",
- "@types/jest": "^29.2.5",
- "autoprefixer": "^10.4.13",
- "jest": "^29.3.1",
- "postcss": "^8.4.21",
- "rome": "^11.0.0",
- "tailwindcss": "^3.2.4",
- "ts-jest": "^29.0.5"
- }
-}
diff --git a/envshare/pages/api/v1/load.ts b/envshare/pages/api/v1/load.ts
deleted file mode 100644
index ddbfac0..0000000
--- a/envshare/pages/api/v1/load.ts
+++ /dev/null
@@ -1,36 +0,0 @@
-import { NextRequest, NextResponse } from "next/server";
-import { Redis } from "@upstash/redis";
-
-const redis = Redis.fromEnv();
-export default async function handler(req: NextRequest) {
- const url = new URL(req.url);
- const id = url.searchParams.get("id");
- if (!id) {
- return new NextResponse("id param is missing", { status: 400 });
- }
- const key = ["envshare", id].join(":");
-
- const [data, _] = await Promise.all([
- await redis.hgetall<{ encrypted: string; remainingReads: number | null; iv: string }>(key),
- await redis.incr("envshare:metrics:reads"),
- ]);
- if (!data) {
- return new NextResponse("Not Found", { status: 404 });
- }
- if (data.remainingReads !== null && data.remainingReads < 1) {
- await redis.del(key);
- return new NextResponse("Not Found", { status: 404 });
- }
-
- let remainingReads: number | null = null;
- if (data.remainingReads !== null) {
- // Decrement the number of reads and return the remaining reads
- remainingReads = await redis.hincrby(key, "remainingReads", -1);
- }
-
- return NextResponse.json({ iv: data.iv, encrypted: data.encrypted, remainingReads });
-}
-
-export const config = {
- runtime: "edge",
-};
diff --git a/envshare/pages/api/v1/og.tsx b/envshare/pages/api/v1/og.tsx
deleted file mode 100644
index dad6531..0000000
--- a/envshare/pages/api/v1/og.tsx
+++ /dev/null
@@ -1,64 +0,0 @@
-import { ImageResponse } from "@vercel/og";
-import { NextRequest } from "next/server";
-
-export const config = {
- runtime: "edge",
-};
-
-export default async function handler(req: NextRequest) {
- try {
- const { searchParams } = new URL(req.url);
- // Redundant fallback alternate tagline
- const title = searchParams.get("title") ?? "Share Environment Variables Securely";
- const subtitle = searchParams.get("subtitle") ?? "EnvShare";
-
- const inter = await fetch(new URL("../../../public/fonts/Inter-SemiBold.ttf", import.meta.url)).then((res) =>
- res.arrayBuffer(),
- );
-
- // TODO: Fix tailwind classes on this route
- return new ImageResponse(
- <div tw='w-[1200px] h-[630px] flex flex-col items-center justify-center text-center'>
- {/* backgroundImage: bg-gradient-to-tr from-zinc-900/50 to-zinc-700/30 */}
- <div
- tw="bg-black w-full h-full flex"
- style={{ backgroundImage: "linear-gradient(to top right, rgba(24,24,27,.5), rgba(63,63,70,.3))" }}
- >
- <div tw="flex flex-col text-3xl tracking-tight text-gray-300 w-full items-center h-full justify-center text-center">
- {/* font-semibold bg-gradient-to-t bg-clip-text from-zinc-100/50 to-white whitespace-pre */}
- <h1
- tw="text-white text-7xl"
- style={{
- color: "transparent",
- paddingLeft: "12rem",
- paddingRight: "12rem",
- backgroundImage: "linear-gradient(to top, rgba(244, 244, 245, .5), rgba(255,255,255,1))",
- backgroundClip: "text",
- }}
- >
- {title}
- </h1>
- <p tw="mt-4 font-bold">{subtitle}</p>
- </div>
- </div>
- </div>,
- {
- height: 630,
- width: 1200,
- emoji: "twemoji",
- fonts: [
- {
- name: "Inter",
- data: inter,
- style: "normal",
- },
- ],
- },
- );
- } catch (e) {
- console.log(`${(e as Error).message}`);
- return new Response("Failed to generate the image", {
- status: 500,
- });
- }
-}
diff --git a/envshare/pages/api/v1/secret/[id].ts b/envshare/pages/api/v1/secret/[id].ts
deleted file mode 100644
index 8b5f082..0000000
--- a/envshare/pages/api/v1/secret/[id].ts
+++ /dev/null
@@ -1,58 +0,0 @@
-import { NextRequest, NextResponse } from "next/server";
-import { Redis } from "@upstash/redis";
-import { z } from "zod";
-
-const responseValidation = z.union([
- z.object({
- data: z.object({
- remainingReads: z.number().int().optional(),
- secret: z.string(),
- }),
- }),
- z.object({
- error: z.string(),
- }),
-]);
-
-const redis = Redis.fromEnv();
-export default async function handler(req: NextRequest): Promise<NextResponse> {
- try {
- if (req.method !== "GET") {
- return NextResponse.json({ error: "Method Not Allowed" }, { status: 405 });
- }
- const id = new URL(req.url).searchParams.get("id");
- if (!id) {
- return NextResponse.json({ error: "Missing `id` parameter" }, { status: 400 });
- }
-
- const redisKey = ["envshare", id].join(":");
-
- const [data, _] = await Promise.all([
- await redis.hgetall<{ secret: string; remainingReads: number | null }>(redisKey),
- await redis.incr("envshare:metrics:reads"),
- ]);
-
- if (!data) {
- return NextResponse.json({ error: "Not Found" }, { status: 404 });
- }
- if (data.remainingReads !== null && data.remainingReads < 1) {
- await redis.del(redisKey);
- return NextResponse.json({ error: "Not Found" }, { status: 404 });
- }
-
- let remainingReads: number | null = null;
- if (data.remainingReads !== null) {
- // Decrement the number of reads and return the remaining reads
- remainingReads = await redis.hincrby(redisKey, "remainingReads", -1);
- }
-
- return NextResponse.json({ data: { secret: data.secret, remainingReads: remainingReads ?? undefined } });
- } catch (e) {
- console.error(e);
- return NextResponse.json({ error: "Internal Server Error" }, { status: 500 });
- }
-}
-
-export const config = {
- runtime: "edge",
-};
diff --git a/envshare/pages/api/v1/secret/index.ts b/envshare/pages/api/v1/secret/index.ts
deleted file mode 100644
index 423e7a0..0000000
--- a/envshare/pages/api/v1/secret/index.ts
+++ /dev/null
@@ -1,96 +0,0 @@
-import { NextRequest, NextResponse } from "next/server";
-import { Redis } from "@upstash/redis";
-import { generateId } from "pkg/id";
-import { z } from "zod";
-
-export const requestValidation = z.object({
- // ttl in seconds
- // defaults to 30 days
- // not more than 1 year
- // 0 means no expiration
- ttl: z
- .string()
- .nullable()
- .transform((v) => (v ? parseInt(v, 10) : 43260))
- .refine((v) => v >= 0 && v <= 30758400, "ttl must be between 0 and 30758400 seconds"),
-
- // number of reads before deletion
- // defaults to null (no limit)
- reads: z
- .string()
- .nullable()
- .transform((v) => (v ? parseInt(v, 10) : null))
- .refine((v) => v === null || v > 0, "reads must be greater than 0"),
- secret: z.string().min(1),
-});
-export const responseValidation = z.union([
- z.object({
- data: z.object({
- id: z.string(),
- ttl: z.number().optional(),
- reads: z.number().optional(),
- expiresAt: z.string(),
- url: z.string().url(),
- }),
- }),
- z.object({
- error: z.string(),
- }),
-]);
-
-const redis = Redis.fromEnv();
-
-export default async function handler(req: NextRequest): Promise<NextResponse> {
- try {
- if (req.method !== "POST") {
- return NextResponse.json({ error: "Method Not Allowed" }, { status: 405 });
- }
-
- const parsed = requestValidation.safeParse({
- ttl: req.headers.get("envshare-ttl"),
- reads: req.headers.get("envshare-reads"),
- secret: await req.text(),
- });
- if (!parsed.success) {
- return NextResponse.json({ error: JSON.parse(parsed.error.message) }, { status: 400 });
- }
- const { ttl, reads, secret } = parsed.data;
-
- const id = generateId();
- const rediskey = ["envshare", id].join(":");
-
- const tx = redis.multi();
-
- tx.hset(rediskey, {
- remainingReads: reads ?? null,
- secret,
- });
- tx.incr("envshare:metrics:writes");
- if (ttl > 0) {
- tx.expire(rediskey, ttl);
- }
-
- await tx.exec();
- const url = new URL(req.url);
- url.pathname = `/api/v1/secret/${id}`;
-
- return NextResponse.json(
- responseValidation.parse({
- data: {
- id,
- ttl: ttl > 0 ? ttl : undefined,
- reads: reads ?? undefined,
- expiresAt: ttl > 0 ? new Date(Date.now() + ttl * 1000).toISOString() : undefined,
- url: url.toString(),
- },
- }),
- );
- } catch (e) {
- console.error(e);
- return NextResponse.json({ error: "Internal Server Error" }, { status: 500 });
- }
-}
-
-export const config = {
- runtime: "edge",
-};
diff --git a/envshare/pages/api/v1/store.ts b/envshare/pages/api/v1/store.ts
deleted file mode 100644
index c35e9b4..0000000
--- a/envshare/pages/api/v1/store.ts
+++ /dev/null
@@ -1,38 +0,0 @@
-import { NextRequest, NextResponse } from "next/server";
-import { Redis } from "@upstash/redis";
-import { generateId } from "pkg/id";
-
-type Request = {
- encrypted: string;
- ttl?: number;
- reads: number;
- iv: string;
-};
-
-const redis = Redis.fromEnv();
-export default async function handler(req: NextRequest) {
- const { encrypted, ttl, reads, iv } = (await req.json()) as Request;
-
- const id = generateId();
- const key = ["envshare", id].join(":");
-
- const tx = redis.multi();
-
- tx.hset(key, {
- remainingReads: reads > 0 ? reads : null,
- encrypted,
- iv,
- });
- if (ttl) {
- tx.expire(key, ttl);
- }
- tx.incr("envshare:metrics:writes");
-
- await tx.exec();
-
- return NextResponse.json({ id });
-}
-
-export const config = {
- runtime: "edge",
-};
diff --git a/envshare/pkg/constants.ts b/envshare/pkg/constants.ts
deleted file mode 100644
index 09cc451..0000000
--- a/envshare/pkg/constants.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export const ID_LENGTH = 16;
-export const ENCRYPTION_KEY_LENGTH = 128;
-export const LATEST_KEY_VERSION = 2;
diff --git a/envshare/pkg/encoding.test.ts b/envshare/pkg/encoding.test.ts
deleted file mode 100644
index be0a7f8..0000000
--- a/envshare/pkg/encoding.test.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import { describe, it, expect, beforeAll } from "@jest/globals";
-import { decodeCompositeKey, encodeCompositeKey } from "./encoding";
-import { generateKey } from "./encryption";
-import { generateId } from "./id";
-import crypto from "node:crypto";
-
-beforeAll(() => {
- global.crypto = crypto.webcrypto;
-});
-describe("composite key encoding", () => {
- it("encodes and decodes composite keys", async () => {
- for (let i = 0; i < 10000; i++) {
- const id = generateId();
- const key = new Uint8Array(await crypto.subtle.exportKey("raw", await generateKey()));
-
- const encoded = encodeCompositeKey(1, id, key);
-
- const decoded = decodeCompositeKey(encoded);
- expect(decoded.id).toEqual(id);
- expect(decoded.encryptionKey).toEqual(key);
- }
- });
-});
diff --git a/envshare/pkg/encoding.ts b/envshare/pkg/encoding.ts
deleted file mode 100644
index 2025133..0000000
--- a/envshare/pkg/encoding.ts
+++ /dev/null
@@ -1,31 +0,0 @@
-import { fromBase58, toBase58 } from "../util/base58";
-import { ID_LENGTH, ENCRYPTION_KEY_LENGTH } from "./constants";
-/**
- * To share links easily, we encode the id, where the data is stored in redis, together with the secret encryption key.
- */
-export function encodeCompositeKey(version: number, id: string, encryptionKey: Uint8Array): string {
- if (version < 0 || version > 255) {
- throw new Error("Version must fit in a byte");
- }
- const compositeKey = new Uint8Array([version, ...fromBase58(id), ...encryptionKey]);
-
- return toBase58(compositeKey);
-}
-
-/**
- * To share links easily, we encode the id, where the data is stored in redis, together with the secret encryption key.
- */
-export function decodeCompositeKey(compositeKey: string): { id: string; encryptionKey: Uint8Array; version: number } {
- const decoded = fromBase58(compositeKey);
- const version = decoded.at(0);
-
- if (version === 1 || version === 2) {
- return {
- id: toBase58(decoded.slice(1, 1 + ID_LENGTH)),
- encryptionKey: decoded.slice(1 + ID_LENGTH, 1 + ID_LENGTH + ENCRYPTION_KEY_LENGTH),
- version,
- };
- }
-
- throw new Error(`Unsupported composite key version: ${version}`);
-}
diff --git a/envshare/pkg/encryption.test.ts b/envshare/pkg/encryption.test.ts
deleted file mode 100644
index 5d4cf15..0000000
--- a/envshare/pkg/encryption.test.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-import { describe, it, expect, beforeAll } from "@jest/globals";
-import { decrypt, encrypt } from "./encryption";
-import crypto from "node:crypto";
-import { toBase58 } from "../util/base58";
-
-beforeAll(() => {
- global.crypto = crypto.webcrypto;
-});
-describe("aes", () => {
- it("encrypts and decrypts correctly", async () => {
- for (let i = 0; i < 500; i++) {
- const buf = new Uint8Array(Math.ceil(Math.random() * 10 * i));
- crypto.getRandomValues(buf);
-
- const text = toBase58(buf);
-
- const { encrypted, key, iv } = await encrypt(text);
-
- const decrypted = await decrypt(toBase58(encrypted), key, toBase58(iv), 2);
-
- expect(decrypted).toEqual(text);
- }
- }, 30_000);
-});
diff --git a/envshare/pkg/encryption.ts b/envshare/pkg/encryption.ts
deleted file mode 100644
index c9f0e9d..0000000
--- a/envshare/pkg/encryption.ts
+++ /dev/null
@@ -1,51 +0,0 @@
-import { fromBase58 } from "../util/base58";
-
-export async function generateKey() {
- return await crypto.subtle.generateKey(
- {
- name: "AES-GCM",
- length: 128,
- },
- true,
- ["encrypt", "decrypt"],
- );
-}
-
-export async function encrypt(text: string): Promise<{ encrypted: Uint8Array; iv: Uint8Array; key: Uint8Array }> {
- const key = await generateKey();
-
- const iv = crypto.getRandomValues(new Uint8Array(16));
-
- const encryptedBuffer = await crypto.subtle.encrypt(
- {
- name: "AES-GCM",
- iv,
- },
- key,
- new TextEncoder().encode(text),
- );
-
- const exportedKey = await crypto.subtle.exportKey("raw", key);
- return {
- encrypted: new Uint8Array(encryptedBuffer),
- key: new Uint8Array(exportedKey),
- iv,
- };
-}
-
-export async function decrypt(encrypted: string, keyData: Uint8Array, iv: string, keyVersion: number): Promise<string> {
- const algorithm = keyVersion === 1 ? "AES-CBC" : "AES-GCM";
-
- const key = await crypto.subtle.importKey("raw", keyData, { name: algorithm, length: 128 }, false, ["decrypt"]);
-
- const decrypted = await crypto.subtle.decrypt(
- {
- name: algorithm,
- iv: fromBase58(iv),
- },
- key,
- fromBase58(encrypted),
- );
-
- return new TextDecoder().decode(decrypted);
-}
diff --git a/envshare/pkg/id.ts b/envshare/pkg/id.ts
deleted file mode 100644
index efdfb5e..0000000
--- a/envshare/pkg/id.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import { toBase58 } from "../util/base58";
-import { ID_LENGTH } from "./constants";
-
-export function generateId(): string {
- const bytes = new Uint8Array(ID_LENGTH);
- crypto.getRandomValues(bytes);
- return toBase58(bytes);
-}
diff --git a/envshare/pnpm-lock.yaml b/envshare/pnpm-lock.yaml
deleted file mode 100644
index 5f8eccc..0000000
--- a/envshare/pnpm-lock.yaml
+++ /dev/null
@@ -1,4505 +0,0 @@
-lockfileVersion: 5.4
-
-specifiers:
- '@heroicons/react': ^2.0.13
- '@jest/globals': ^29.3.1
- '@next/font': 13.1.1
- '@tailwindcss/forms': ^0.5.3
- '@types/jest': ^29.2.5
- '@types/node': 18.11.18
- '@types/react': 18.0.26
- '@types/react-dom': 18.0.10
- '@upstash/redis': ^1.19.1
- '@vercel/analytics': 0.1.7-beta.1
- '@vercel/og': ^0.0.27
- autoprefixer: ^10.4.13
- base-x: ^4.0.0
- eslint: 8.31.0
- eslint-config-next: 13.1.1
- jest: ^29.3.1
- next: 13.1.1
- postcss: ^8.4.21
- react: 18.2.0
- react-dom: 18.2.0
- rome: ^11.0.0
- tailwindcss: ^3.2.4
- ts-jest: ^29.0.5
- typescript: 4.9.4
- zod: ^3.20.2
-
-dependencies:
- '@heroicons/react': 2.0.13_react@18.2.0
- '@next/font': 13.1.1
- '@tailwindcss/forms': 0.5.3_tailwindcss@3.2.4
- '@types/node': 18.11.18
- '@types/react': 18.0.26
- '@types/react-dom': 18.0.10
- '@upstash/redis': 1.19.1
- '@vercel/analytics': 0.1.7-beta.1_react@18.2.0
- '@vercel/og': 0.0.27
- base-x: 4.0.0
- eslint: 8.31.0
- eslint-config-next: 13.1.1_iukboom6ndih5an6iafl45j2fe
- next: 13.1.1_biqbaboplfbrettd7655fr4n2y
- react: 18.2.0
- react-dom: 18.2.0_react@18.2.0
- typescript: 4.9.4
- zod: 3.20.2
-
-devDependencies:
- '@jest/globals': 29.3.1
- '@types/jest': 29.2.5
- autoprefixer: 10.4.13_postcss@8.4.21
- jest: 29.3.1_@types+node@18.11.18
- postcss: 8.4.21
- rome: 11.0.0
- tailwindcss: 3.2.4_postcss@8.4.21
- ts-jest: 29.0.5_p6ekqnroyms5nhqbfxosryz7rm
-
-packages:
-
- /@ampproject/remapping/2.2.0:
- resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==}
- engines: {node: '>=6.0.0'}
- dependencies:
- '@jridgewell/gen-mapping': 0.1.1
- '@jridgewell/trace-mapping': 0.3.17
- 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/compat-data/7.20.10:
- resolution: {integrity: sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==}
- engines: {node: '>=6.9.0'}
- dev: true
-
- /@babel/core/7.20.12:
- resolution: {integrity: sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@ampproject/remapping': 2.2.0
- '@babel/code-frame': 7.18.6
- '@babel/generator': 7.20.7
- '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12
- '@babel/helper-module-transforms': 7.20.11
- '@babel/helpers': 7.20.7
- '@babel/parser': 7.20.7
- '@babel/template': 7.20.7
- '@babel/traverse': 7.20.12
- '@babel/types': 7.20.7
- convert-source-map: 1.9.0
- debug: 4.3.4
- gensync: 1.0.0-beta.2
- json5: 2.2.3
- semver: 6.3.0
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@babel/generator/7.20.7:
- resolution: {integrity: sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.20.7
- '@jridgewell/gen-mapping': 0.3.2
- jsesc: 2.5.2
- dev: true
-
- /@babel/helper-compilation-targets/7.20.7_@babel+core@7.20.12:
- resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/compat-data': 7.20.10
- '@babel/core': 7.20.12
- '@babel/helper-validator-option': 7.18.6
- browserslist: 4.21.4
- lru-cache: 5.1.1
- semver: 6.3.0
- dev: true
-
- /@babel/helper-environment-visitor/7.18.9:
- resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==}
- engines: {node: '>=6.9.0'}
- dev: true
-
- /@babel/helper-function-name/7.19.0:
- resolution: {integrity: sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/template': 7.20.7
- '@babel/types': 7.20.7
- dev: true
-
- /@babel/helper-hoist-variables/7.18.6:
- resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.20.7
- dev: true
-
- /@babel/helper-module-imports/7.18.6:
- resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.20.7
- dev: true
-
- /@babel/helper-module-transforms/7.20.11:
- resolution: {integrity: sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/helper-environment-visitor': 7.18.9
- '@babel/helper-module-imports': 7.18.6
- '@babel/helper-simple-access': 7.20.2
- '@babel/helper-split-export-declaration': 7.18.6
- '@babel/helper-validator-identifier': 7.19.1
- '@babel/template': 7.20.7
- '@babel/traverse': 7.20.12
- '@babel/types': 7.20.7
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@babel/helper-plugin-utils/7.20.2:
- resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==}
- engines: {node: '>=6.9.0'}
- dev: true
-
- /@babel/helper-simple-access/7.20.2:
- resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.20.7
- dev: true
-
- /@babel/helper-split-export-declaration/7.18.6:
- resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.20.7
- dev: true
-
- /@babel/helper-string-parser/7.19.4:
- resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==}
- engines: {node: '>=6.9.0'}
- dev: true
-
- /@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-option/7.18.6:
- resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==}
- engines: {node: '>=6.9.0'}
- dev: true
-
- /@babel/helpers/7.20.7:
- resolution: {integrity: sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/template': 7.20.7
- '@babel/traverse': 7.20.12
- '@babel/types': 7.20.7
- 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/parser/7.20.7:
- resolution: {integrity: sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==}
- engines: {node: '>=6.0.0'}
- hasBin: true
- dependencies:
- '@babel/types': 7.20.7
- dev: true
-
- /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.20.12:
- resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.20.12
- '@babel/helper-plugin-utils': 7.20.2
- dev: true
-
- /@babel/plugin-syntax-bigint/7.8.3_@babel+core@7.20.12:
- resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.20.12
- '@babel/helper-plugin-utils': 7.20.2
- dev: true
-
- /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.20.12:
- resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.20.12
- '@babel/helper-plugin-utils': 7.20.2
- dev: true
-
- /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.20.12:
- resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.20.12
- '@babel/helper-plugin-utils': 7.20.2
- dev: true
-
- /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.20.12:
- resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.20.12
- '@babel/helper-plugin-utils': 7.20.2
- dev: true
-
- /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.20.12:
- resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.20.12
- '@babel/helper-plugin-utils': 7.20.2
- dev: true
-
- /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.20.12:
- resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.20.12
- '@babel/helper-plugin-utils': 7.20.2
- dev: true
-
- /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.20.12:
- resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.20.12
- '@babel/helper-plugin-utils': 7.20.2
- dev: true
-
- /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.20.12:
- resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.20.12
- '@babel/helper-plugin-utils': 7.20.2
- dev: true
-
- /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.20.12:
- resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.20.12
- '@babel/helper-plugin-utils': 7.20.2
- dev: true
-
- /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.20.12:
- resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.20.12
- '@babel/helper-plugin-utils': 7.20.2
- dev: true
-
- /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.20.12:
- resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.20.12
- '@babel/helper-plugin-utils': 7.20.2
- dev: true
-
- /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.20.12:
- resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.20.12
- '@babel/helper-plugin-utils': 7.20.2
- dev: true
-
- /@babel/plugin-syntax-typescript/7.20.0_@babel+core@7.20.12:
- resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.20.12
- '@babel/helper-plugin-utils': 7.20.2
- dev: true
-
- /@babel/runtime/7.20.7:
- resolution: {integrity: sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==}
- engines: {node: '>=6.9.0'}
- dependencies:
- regenerator-runtime: 0.13.11
- dev: false
-
- /@babel/template/7.20.7:
- resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/code-frame': 7.18.6
- '@babel/parser': 7.20.7
- '@babel/types': 7.20.7
- dev: true
-
- /@babel/traverse/7.20.12:
- resolution: {integrity: sha512-MsIbFN0u+raeja38qboyF8TIT7K0BFzz/Yd/77ta4MsUsmP2RAnidIlwq7d5HFQrH/OZJecGV6B71C4zAgpoSQ==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/code-frame': 7.18.6
- '@babel/generator': 7.20.7
- '@babel/helper-environment-visitor': 7.18.9
- '@babel/helper-function-name': 7.19.0
- '@babel/helper-hoist-variables': 7.18.6
- '@babel/helper-split-export-declaration': 7.18.6
- '@babel/parser': 7.20.7
- '@babel/types': 7.20.7
- debug: 4.3.4
- globals: 11.12.0
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@babel/types/7.20.7:
- resolution: {integrity: sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/helper-string-parser': 7.19.4
- '@babel/helper-validator-identifier': 7.19.1
- to-fast-properties: 2.0.0
- dev: true
-
- /@bcoe/v8-coverage/0.2.3:
- resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
- dev: true
-
- /@eslint/eslintrc/1.4.1:
- resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dependencies:
- ajv: 6.12.6
- debug: 4.3.4
- espree: 9.4.1
- globals: 13.19.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: false
-
- /@heroicons/react/2.0.13_react@18.2.0:
- resolution: {integrity: sha512-iSN5XwmagrnirWlYEWNPdCDj9aRYVD/lnK3JlsC9/+fqGF80k8C7rl+1HCvBX0dBoagKqOFBs6fMhJJ1hOg1EQ==}
- peerDependencies:
- react: '>= 16'
- dependencies:
- react: 18.2.0
- dev: false
-
- /@humanwhocodes/config-array/0.11.8:
- resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==}
- engines: {node: '>=10.10.0'}
- dependencies:
- '@humanwhocodes/object-schema': 1.2.1
- debug: 4.3.4
- minimatch: 3.1.2
- transitivePeerDependencies:
- - supports-color
- dev: false
-
- /@humanwhocodes/module-importer/1.0.1:
- resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
- engines: {node: '>=12.22'}
- dev: false
-
- /@humanwhocodes/object-schema/1.2.1:
- resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
- dev: false
-
- /@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.3.1:
- resolution: {integrity: sha512-IRE6GD47KwcqA09RIWrabKdHPiKDGgtAL31xDxbi/RjQMsr+lY+ppxmHwY0dUEV3qvvxZzoe5Hl0RXZJOjQNUg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/types': 29.3.1
- '@types/node': 18.11.18
- chalk: 4.1.2
- jest-message-util: 29.3.1
- jest-util: 29.3.1
- slash: 3.0.0
- dev: true
-
- /@jest/core/29.3.1:
- resolution: {integrity: sha512-0ohVjjRex985w5MmO5L3u5GR1O30DexhBSpuwx2P+9ftyqHdJXnk7IUWiP80oHMvt7ubHCJHxV0a0vlKVuZirw==}
- 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.3.1
- '@jest/reporters': 29.3.1
- '@jest/test-result': 29.3.1
- '@jest/transform': 29.3.1
- '@jest/types': 29.3.1
- '@types/node': 18.11.18
- ansi-escapes: 4.3.2
- chalk: 4.1.2
- ci-info: 3.7.1
- exit: 0.1.2
- graceful-fs: 4.2.10
- jest-changed-files: 29.2.0
- jest-config: 29.3.1_@types+node@18.11.18
- jest-haste-map: 29.3.1
- jest-message-util: 29.3.1
- jest-regex-util: 29.2.0
- jest-resolve: 29.3.1
- jest-resolve-dependencies: 29.3.1
- jest-runner: 29.3.1
- jest-runtime: 29.3.1
- jest-snapshot: 29.3.1
- jest-util: 29.3.1
- jest-validate: 29.3.1
- jest-watcher: 29.3.1
- micromatch: 4.0.5
- pretty-format: 29.3.1
- slash: 3.0.0
- strip-ansi: 6.0.1
- transitivePeerDependencies:
- - supports-color
- - ts-node
- dev: true
-
- /@jest/environment/29.3.1:
- resolution: {integrity: sha512-pMmvfOPmoa1c1QpfFW0nXYtNLpofqo4BrCIk6f2kW4JFeNlHV2t3vd+3iDLf31e2ot2Mec0uqZfmI+U0K2CFag==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/fake-timers': 29.3.1
- '@jest/types': 29.3.1
- '@types/node': 18.11.18
- jest-mock: 29.3.1
- dev: true
-
- /@jest/expect-utils/29.3.1:
- resolution: {integrity: sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- jest-get-type: 29.2.0
- dev: true
-
- /@jest/expect/29.3.1:
- resolution: {integrity: sha512-QivM7GlSHSsIAWzgfyP8dgeExPRZ9BIe2LsdPyEhCGkZkoyA+kGsoIzbKAfZCvvRzfZioKwPtCZIt5SaoxYCvg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- expect: 29.3.1
- jest-snapshot: 29.3.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@jest/fake-timers/29.3.1:
- resolution: {integrity: sha512-iHTL/XpnDlFki9Tq0Q1GGuVeQ8BHZGIYsvCO5eN/O/oJaRzofG9Xndd9HuSDBI/0ZS79pg0iwn07OMTQ7ngF2A==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/types': 29.3.1
- '@sinonjs/fake-timers': 9.1.2
- '@types/node': 18.11.18
- jest-message-util: 29.3.1
- jest-mock: 29.3.1
- jest-util: 29.3.1
- dev: true
-
- /@jest/globals/29.3.1:
- resolution: {integrity: sha512-cTicd134vOcwO59OPaB6AmdHQMCtWOe+/DitpTZVxWgMJ+YvXL1HNAmPyiGbSHmF/mXVBkvlm8YYtQhyHPnV6Q==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/environment': 29.3.1
- '@jest/expect': 29.3.1
- '@jest/types': 29.3.1
- jest-mock: 29.3.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@jest/reporters/29.3.1:
- resolution: {integrity: sha512-GhBu3YFuDrcAYW/UESz1JphEAbvUjaY2vShRZRoRY1mxpCMB3yGSJ4j9n0GxVlEOdCf7qjvUfBCrTUUqhVfbRA==}
- 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.3.1
- '@jest/test-result': 29.3.1
- '@jest/transform': 29.3.1
- '@jest/types': 29.3.1
- '@jridgewell/trace-mapping': 0.3.17
- '@types/node': 18.11.18
- chalk: 4.1.2
- collect-v8-coverage: 1.0.1
- exit: 0.1.2
- glob: 7.2.3
- graceful-fs: 4.2.10
- istanbul-lib-coverage: 3.2.0
- istanbul-lib-instrument: 5.2.1
- istanbul-lib-report: 3.0.0
- istanbul-lib-source-maps: 4.0.1
- istanbul-reports: 3.1.5
- jest-message-util: 29.3.1
- jest-util: 29.3.1
- jest-worker: 29.3.1
- slash: 3.0.0
- string-length: 4.0.2
- strip-ansi: 6.0.1
- v8-to-istanbul: 9.0.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@jest/schemas/29.0.0:
- resolution: {integrity: sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@sinclair/typebox': 0.24.51
- dev: true
-
- /@jest/source-map/29.2.0:
- resolution: {integrity: sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jridgewell/trace-mapping': 0.3.17
- callsites: 3.1.0
- graceful-fs: 4.2.10
- dev: true
-
- /@jest/test-result/29.3.1:
- resolution: {integrity: sha512-qeLa6qc0ddB0kuOZyZIhfN5q0e2htngokyTWsGriedsDhItisW7SDYZ7ceOe57Ii03sL988/03wAcBh3TChMGw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/console': 29.3.1
- '@jest/types': 29.3.1
- '@types/istanbul-lib-coverage': 2.0.4
- collect-v8-coverage: 1.0.1
- dev: true
-
- /@jest/test-sequencer/29.3.1:
- resolution: {integrity: sha512-IqYvLbieTv20ArgKoAMyhLHNrVHJfzO6ARZAbQRlY4UGWfdDnLlZEF0BvKOMd77uIiIjSZRwq3Jb3Fa3I8+2UA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/test-result': 29.3.1
- graceful-fs: 4.2.10
- jest-haste-map: 29.3.1
- slash: 3.0.0
- dev: true
-
- /@jest/transform/29.3.1:
- resolution: {integrity: sha512-8wmCFBTVGYqFNLWfcOWoVuMuKYPUBTnTMDkdvFtAYELwDOl9RGwOsvQWGPFxDJ8AWY9xM/8xCXdqmPK3+Q5Lug==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@babel/core': 7.20.12
- '@jest/types': 29.3.1
- '@jridgewell/trace-mapping': 0.3.17
- 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.10
- jest-haste-map: 29.3.1
- jest-regex-util: 29.2.0
- jest-util: 29.3.1
- micromatch: 4.0.5
- pirates: 4.0.5
- slash: 3.0.0
- write-file-atomic: 4.0.2
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@jest/types/29.3.1:
- resolution: {integrity: sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/schemas': 29.0.0
- '@types/istanbul-lib-coverage': 2.0.4
- '@types/istanbul-reports': 3.0.1
- '@types/node': 18.11.18
- '@types/yargs': 17.0.19
- chalk: 4.1.2
- dev: true
-
- /@jridgewell/gen-mapping/0.1.1:
- resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==}
- engines: {node: '>=6.0.0'}
- dependencies:
- '@jridgewell/set-array': 1.1.2
- '@jridgewell/sourcemap-codec': 1.4.14
- dev: true
-
- /@jridgewell/gen-mapping/0.3.2:
- resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==}
- engines: {node: '>=6.0.0'}
- dependencies:
- '@jridgewell/set-array': 1.1.2
- '@jridgewell/sourcemap-codec': 1.4.14
- '@jridgewell/trace-mapping': 0.3.17
- dev: true
-
- /@jridgewell/resolve-uri/3.1.0:
- resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==}
- engines: {node: '>=6.0.0'}
- dev: true
-
- /@jridgewell/set-array/1.1.2:
- resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
- engines: {node: '>=6.0.0'}
- dev: true
-
- /@jridgewell/sourcemap-codec/1.4.14:
- resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
- dev: true
-
- /@jridgewell/trace-mapping/0.3.17:
- resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==}
- dependencies:
- '@jridgewell/resolve-uri': 3.1.0
- '@jridgewell/sourcemap-codec': 1.4.14
- dev: true
-
- /@next/env/13.1.1:
- resolution: {integrity: sha512-vFMyXtPjSAiOXOywMojxfKIqE3VWN5RCAx+tT3AS3pcKjMLFTCJFUWsKv8hC+87Z1F4W3r68qTwDFZIFmd5Xkw==}
- dev: false
-
- /@next/eslint-plugin-next/13.1.1:
- resolution: {integrity: sha512-SBrOFS8PC3nQ5aeZmawJkjKkWjwK9RoxvBSv/86nZp0ubdoVQoko8r8htALd9ufp16NhacCdqhu9bzZLDWtALQ==}
- dependencies:
- glob: 7.1.7
- dev: false
-
- /@next/font/13.1.1:
- resolution: {integrity: sha512-amygRorS05hYK1/XQRZo5qBl7l2fpHnezeKU/cNveWU5QJg+sg8gMGkUXHtvesNKpiKIJshBRH1TzvO+2sKpvQ==}
- dev: false
-
- /@next/swc-android-arm-eabi/13.1.1:
- resolution: {integrity: sha512-qnFCx1kT3JTWhWve4VkeWuZiyjG0b5T6J2iWuin74lORCupdrNukxkq9Pm+Z7PsatxuwVJMhjUoYz7H4cWzx2A==}
- engines: {node: '>= 10'}
- cpu: [arm]
- os: [android]
- requiresBuild: true
- dev: false
- optional: true
-
- /@next/swc-android-arm64/13.1.1:
- resolution: {integrity: sha512-eCiZhTzjySubNqUnNkQCjU3Fh+ep3C6b5DCM5FKzsTH/3Gr/4Y7EiaPZKILbvnXmhWtKPIdcY6Zjx51t4VeTfA==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [android]
- requiresBuild: true
- dev: false
- optional: true
-
- /@next/swc-darwin-arm64/13.1.1:
- resolution: {integrity: sha512-9zRJSSIwER5tu9ADDkPw5rIZ+Np44HTXpYMr0rkM656IvssowPxmhK0rTreC1gpUCYwFsRbxarUJnJsTWiutPg==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: false
- optional: true
-
- /@next/swc-darwin-x64/13.1.1:
- resolution: {integrity: sha512-qWr9qEn5nrnlhB0rtjSdR00RRZEtxg4EGvicIipqZWEyayPxhUu6NwKiG8wZiYZCLfJ5KWr66PGSNeDMGlNaiA==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: false
- optional: true
-
- /@next/swc-freebsd-x64/13.1.1:
- resolution: {integrity: sha512-UwP4w/NcQ7V/VJEj3tGVszgb4pyUCt3lzJfUhjDMUmQbzG9LDvgiZgAGMYH6L21MoyAATJQPDGiAMWAPKsmumA==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [freebsd]
- requiresBuild: true
- dev: false
- optional: true
-
- /@next/swc-linux-arm-gnueabihf/13.1.1:
- resolution: {integrity: sha512-CnsxmKHco9sosBs1XcvCXP845Db+Wx1G0qouV5+Gr+HT/ZlDYEWKoHVDgnJXLVEQzq4FmHddBNGbXvgqM1Gfkg==}
- engines: {node: '>= 10'}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- dev: false
- optional: true
-
- /@next/swc-linux-arm64-gnu/13.1.1:
- resolution: {integrity: sha512-JfDq1eri5Dif+VDpTkONRd083780nsMCOKoFG87wA0sa4xL8LGcXIBAkUGIC1uVy9SMsr2scA9CySLD/i+Oqiw==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: false
- optional: true
-
- /@next/swc-linux-arm64-musl/13.1.1:
- resolution: {integrity: sha512-GA67ZbDq2AW0CY07zzGt07M5b5Yaq5qUpFIoW3UFfjOPgb0Sqf3DAW7GtFMK1sF4ROHsRDMGQ9rnT0VM2dVfKA==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: false
- optional: true
-
- /@next/swc-linux-x64-gnu/13.1.1:
- resolution: {integrity: sha512-nnjuBrbzvqaOJaV+XgT8/+lmXrSCOt1YYZn/irbDb2fR2QprL6Q7WJNgwsZNxiLSfLdv+2RJGGegBx9sLBEzGA==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: false
- optional: true
-
- /@next/swc-linux-x64-musl/13.1.1:
- resolution: {integrity: sha512-CM9xnAQNIZ8zf/igbIT/i3xWbQZYaF397H+JroF5VMOCUleElaMdQLL5riJml8wUfPoN3dtfn2s4peSr3azz/g==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: false
- optional: true
-
- /@next/swc-win32-arm64-msvc/13.1.1:
- resolution: {integrity: sha512-pzUHOGrbgfGgPlOMx9xk3QdPJoRPU+om84hqVoe6u+E0RdwOG0Ho/2UxCgDqmvpUrMab1Deltlt6RqcXFpnigQ==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [win32]
- requiresBuild: true
- dev: false
- optional: true
-
- /@next/swc-win32-ia32-msvc/13.1.1:
- resolution: {integrity: sha512-WeX8kVS46aobM9a7Xr/kEPcrTyiwJqQv/tbw6nhJ4fH9xNZ+cEcyPoQkwPo570dCOLz3Zo9S2q0E6lJ/EAUOBg==}
- engines: {node: '>= 10'}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
- dev: false
- optional: true
-
- /@next/swc-win32-x64-msvc/13.1.1:
- resolution: {integrity: sha512-mVF0/3/5QAc5EGVnb8ll31nNvf3BWpPY4pBb84tk+BfQglWLqc5AC9q1Ht/YMWiEgs8ALNKEQ3GQnbY0bJF2Gg==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: false
- optional: 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
-
- /@nodelib/fs.stat/2.0.5:
- resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
- engines: {node: '>= 8'}
-
- /@nodelib/fs.walk/1.2.8:
- resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
- engines: {node: '>= 8'}
- dependencies:
- '@nodelib/fs.scandir': 2.1.5
- fastq: 1.15.0
-
- /@pkgr/utils/2.3.1:
- resolution: {integrity: sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==}
- engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
- dependencies:
- cross-spawn: 7.0.3
- is-glob: 4.0.3
- open: 8.4.0
- picocolors: 1.0.0
- tiny-glob: 0.2.9
- tslib: 2.4.1
- dev: false
-
- /@resvg/resvg-wasm/2.0.0-alpha.4:
- resolution: {integrity: sha512-pWIG9a/x1ky8gXKRhPH1OPKpHFoMN1ISLbJ+O+gPXQHIAKhNd5I28RlWf7q576hAOQA9JZTlo3p/M2uyLzJmmw==}
- engines: {node: '>= 10'}
- dev: false
-
- /@rometools/cli-darwin-arm64/11.0.0:
- resolution: {integrity: sha512-F3vkdY+s3FLIEnAjSbyHTuIPB88cLpccimW4ecid5I7S6GzGG3iUJI4xT00JhH73K4P/qW20/9r+kH1T9Du8Xg==}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rometools/cli-darwin-x64/11.0.0:
- resolution: {integrity: sha512-X6jhtS6Iml4GOzgNtnLwIp/KXXhSdqeVyfv69m/AHnIzx3gQAjPZ7BPnJLvTCbhe4SKHL+uTZYFSCJpkUUKE6w==}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rometools/cli-linux-arm64/11.0.0:
- resolution: {integrity: sha512-dktTJJlTpmycBZ2TwhJBcAO8ztK8DdevdyZnFFxdYRvtmJgTjIsC2UFayf/SbKew8B8q1IhI0it+D6ihAeIpeg==}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rometools/cli-linux-x64/11.0.0:
- resolution: {integrity: sha512-WVcnXPNdWGUWo0p4NU8YzuthjYR7q+b4vRcjdxtP1DlpphZmSsoC/RSE85nEqRAz8hChcKUansVzOPM8BSsuGA==}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rometools/cli-win32-arm64/11.0.0:
- resolution: {integrity: sha512-tPj6RThQzS7Q45jqQll7NlTYvNcsg/BEP3LYiiazqSh9FAFnMkrV6ewUcMPKWyAfiyLs7jlz4rRvdNRUSygzfQ==}
- cpu: [arm64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rometools/cli-win32-x64/11.0.0:
- resolution: {integrity: sha512-bmBai8WHxYjsGk1+je7ZTfCUCWq30WJI3pQM8pzTA674lfGTZ9ymJoZwTaIMSO4rL5V9mlO6uLunsBKso9VqOg==}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rushstack/eslint-patch/1.2.0:
- resolution: {integrity: sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==}
- dev: false
-
- /@shuding/opentype.js/1.4.0-beta.0:
- resolution: {integrity: sha512-3NgmNyH3l/Hv6EvsWJbsvpcpUba6R8IREQ83nH83cyakCw7uM1arZKNfHwv1Wz6jgqrF/j4x5ELvR6PnK9nTcA==}
- engines: {node: '>= 8.0.0'}
- hasBin: true
- dependencies:
- fflate: 0.7.4
- string.prototype.codepointat: 0.2.1
- dev: false
-
- /@sinclair/typebox/0.24.51:
- resolution: {integrity: sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==}
- dev: true
-
- /@sinonjs/commons/1.8.6:
- resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==}
- dependencies:
- type-detect: 4.0.8
- dev: true
-
- /@sinonjs/fake-timers/9.1.2:
- resolution: {integrity: sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==}
- dependencies:
- '@sinonjs/commons': 1.8.6
- dev: true
-
- /@swc/helpers/0.4.14:
- resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==}
- dependencies:
- tslib: 2.4.1
- dev: false
-
- /@tailwindcss/forms/0.5.3_tailwindcss@3.2.4:
- resolution: {integrity: sha512-y5mb86JUoiUgBjY/o6FJSFZSEttfb3Q5gllE4xoKjAAD+vBrnIhE4dViwUuow3va8mpH4s9jyUbUbrRGoRdc2Q==}
- peerDependencies:
- tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1'
- dependencies:
- mini-svg-data-uri: 1.4.4
- tailwindcss: 3.2.4_postcss@8.4.21
- dev: false
-
- /@types/babel__core/7.1.20:
- resolution: {integrity: sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==}
- dependencies:
- '@babel/parser': 7.20.7
- '@babel/types': 7.20.7
- '@types/babel__generator': 7.6.4
- '@types/babel__template': 7.4.1
- '@types/babel__traverse': 7.18.3
- dev: true
-
- /@types/babel__generator/7.6.4:
- resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==}
- dependencies:
- '@babel/types': 7.20.7
- dev: true
-
- /@types/babel__template/7.4.1:
- resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==}
- dependencies:
- '@babel/parser': 7.20.7
- '@babel/types': 7.20.7
- dev: true
-
- /@types/babel__traverse/7.18.3:
- resolution: {integrity: sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==}
- dependencies:
- '@babel/types': 7.20.7
- dev: true
-
- /@types/graceful-fs/4.1.6:
- resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==}
- dependencies:
- '@types/node': 18.11.18
- 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.2.5:
- resolution: {integrity: sha512-H2cSxkKgVmqNHXP7TC2L/WUorrZu8ZigyRywfVzv6EyBlxj39n4C00hjXYQWsbwqgElaj/CiAeSRmk5GoaKTgw==}
- dependencies:
- expect: 29.3.1
- pretty-format: 29.3.1
- dev: true
-
- /@types/json5/0.0.29:
- resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
- dev: false
-
- /@types/node/18.11.18:
- resolution: {integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==}
-
- /@types/prettier/2.7.2:
- resolution: {integrity: sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==}
- dev: true
-
- /@types/prop-types/15.7.5:
- resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==}
- dev: false
-
- /@types/react-dom/18.0.10:
- resolution: {integrity: sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg==}
- dependencies:
- '@types/react': 18.0.26
- dev: false
-
- /@types/react/18.0.26:
- resolution: {integrity: sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==}
- dependencies:
- '@types/prop-types': 15.7.5
- '@types/scheduler': 0.16.2
- csstype: 3.1.1
- dev: false
-
- /@types/scheduler/0.16.2:
- resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==}
- dev: false
-
- /@types/stack-utils/2.0.1:
- resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==}
- dev: true
-
- /@types/yargs-parser/21.0.0:
- resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==}
- dev: true
-
- /@types/yargs/17.0.19:
- resolution: {integrity: sha512-cAx3qamwaYX9R0fzOIZAlFpo4A+1uBVCxqpKz9D26uTF4srRXaGTTsikQmaotCtNdbhzyUH7ft6p9ktz9s6UNQ==}
- dependencies:
- '@types/yargs-parser': 21.0.0
- dev: true
-
- /@typescript-eslint/parser/5.48.1_iukboom6ndih5an6iafl45j2fe:
- resolution: {integrity: sha512-4yg+FJR/V1M9Xoq56SF9Iygqm+r5LMXvheo6DQ7/yUWynQ4YfCRnsKuRgqH4EQ5Ya76rVwlEpw4Xu+TgWQUcdA==}
- 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.48.1
- '@typescript-eslint/types': 5.48.1
- '@typescript-eslint/typescript-estree': 5.48.1_typescript@4.9.4
- debug: 4.3.4
- eslint: 8.31.0
- typescript: 4.9.4
- transitivePeerDependencies:
- - supports-color
- dev: false
-
- /@typescript-eslint/scope-manager/5.48.1:
- resolution: {integrity: sha512-S035ueRrbxRMKvSTv9vJKIWgr86BD8s3RqoRZmsSh/s8HhIs90g6UlK8ZabUSjUZQkhVxt7nmZ63VJ9dcZhtDQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dependencies:
- '@typescript-eslint/types': 5.48.1
- '@typescript-eslint/visitor-keys': 5.48.1
- dev: false
-
- /@typescript-eslint/types/5.48.1:
- resolution: {integrity: sha512-xHyDLU6MSuEEdIlzrrAerCGS3T7AA/L8Hggd0RCYBi0w3JMvGYxlLlXHeg50JI9Tfg5MrtsfuNxbS/3zF1/ATg==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dev: false
-
- /@typescript-eslint/typescript-estree/5.48.1_typescript@4.9.4:
- resolution: {integrity: sha512-Hut+Osk5FYr+sgFh8J/FHjqX6HFcDzTlWLrFqGoK5kVUN3VBHF/QzZmAsIXCQ8T/W9nQNBTqalxi1P3LSqWnRA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
- dependencies:
- '@typescript-eslint/types': 5.48.1
- '@typescript-eslint/visitor-keys': 5.48.1
- debug: 4.3.4
- globby: 11.1.0
- is-glob: 4.0.3
- semver: 7.3.8
- tsutils: 3.21.0_typescript@4.9.4
- typescript: 4.9.4
- transitivePeerDependencies:
- - supports-color
- dev: false
-
- /@typescript-eslint/visitor-keys/5.48.1:
- resolution: {integrity: sha512-Ns0XBwmfuX7ZknznfXozgnydyR8F6ev/KEGePP4i74uL3ArsKbEhJ7raeKr1JSa997DBDwol/4a0Y+At82c9dA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dependencies:
- '@typescript-eslint/types': 5.48.1
- eslint-visitor-keys: 3.3.0
- dev: false
-
- /@upstash/redis/1.19.1:
- resolution: {integrity: sha512-oH621FYa8wEnBXWXabNssiKrpITK/x0grpisn2WaIvukH3oij+lB41B9uEGUzYS93RfQvGAsgEb23FYremqgZA==}
- dependencies:
- isomorphic-fetch: 3.0.0
- transitivePeerDependencies:
- - encoding
- dev: false
-
- /@vercel/analytics/0.1.7-beta.1_react@18.2.0:
- resolution: {integrity: sha512-7QRVBLhXboj8LK3qJ8rJRI20E6NyV4P31zW4yrWvyZLOP08Wzqb7n2CLPhq421HqZG9ztPi9rpEq5VfrrkQArQ==}
- peerDependencies:
- react: ^16.8||^17||^18
- dependencies:
- react: 18.2.0
- dev: false
-
- /@vercel/og/0.0.27:
- resolution: {integrity: sha512-cUk6HmfLmBOISAA8gvPRNUx3eVOSyXblxiuv3uN9UTxLwdalQzPlHC/0byvTMR1eVi0y1trD5u6um/4xiTqgOQ==}
- engines: {node: '>=16'}
- dependencies:
- '@resvg/resvg-wasm': 2.0.0-alpha.4
- satori: 0.0.46
- yoga-wasm-web: 0.3.0
- dev: false
-
- /acorn-jsx/5.3.2_acorn@8.8.1:
- resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
- peerDependencies:
- acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
- dependencies:
- acorn: 8.8.1
- dev: false
-
- /acorn-node/1.8.2:
- resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==}
- dependencies:
- acorn: 7.4.1
- acorn-walk: 7.2.0
- xtend: 4.0.2
-
- /acorn-walk/7.2.0:
- resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==}
- engines: {node: '>=0.4.0'}
-
- /acorn/7.4.1:
- resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
- engines: {node: '>=0.4.0'}
- hasBin: true
-
- /acorn/8.8.1:
- resolution: {integrity: sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==}
- engines: {node: '>=0.4.0'}
- hasBin: true
- dev: false
-
- /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: false
-
- /ansi-escapes/4.3.2:
- resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
- engines: {node: '>=8'}
- dependencies:
- type-fest: 0.21.3
- dev: true
-
- /ansi-regex/5.0.1:
- resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
- engines: {node: '>=8'}
-
- /ansi-styles/3.2.1:
- resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
- engines: {node: '>=4'}
- dependencies:
- color-convert: 1.9.3
- dev: true
-
- /ansi-styles/4.3.0:
- resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
- engines: {node: '>=8'}
- dependencies:
- color-convert: 2.0.1
-
- /ansi-styles/5.2.0:
- resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
- engines: {node: '>=10'}
- 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
-
- /arg/5.0.2:
- resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
-
- /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: false
-
- /aria-query/5.1.3:
- resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==}
- dependencies:
- deep-equal: 2.2.0
- dev: false
-
- /array-includes/3.1.6:
- resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.2
- define-properties: 1.1.4
- es-abstract: 1.21.1
- get-intrinsic: 1.1.3
- is-string: 1.0.7
- dev: false
-
- /array-union/2.1.0:
- resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
- engines: {node: '>=8'}
- dev: false
-
- /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.1.4
- es-abstract: 1.21.1
- es-shim-unscopables: 1.0.0
- dev: false
-
- /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.1.4
- es-abstract: 1.21.1
- es-shim-unscopables: 1.0.0
- dev: false
-
- /array.prototype.tosorted/1.1.1:
- resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==}
- dependencies:
- call-bind: 1.0.2
- define-properties: 1.1.4
- es-abstract: 1.21.1
- es-shim-unscopables: 1.0.0
- get-intrinsic: 1.1.3
- dev: false
-
- /ast-types-flow/0.0.7:
- resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==}
- dev: false
-
- /autoprefixer/10.4.13_postcss@8.4.21:
- resolution: {integrity: sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==}
- engines: {node: ^10 || ^12 || >=14}
- hasBin: true
- peerDependencies:
- postcss: ^8.1.0
- dependencies:
- browserslist: 4.21.4
- caniuse-lite: 1.0.30001442
- fraction.js: 4.2.0
- normalize-range: 0.1.2
- picocolors: 1.0.0
- postcss: 8.4.21
- postcss-value-parser: 4.2.0
- dev: true
-
- /available-typed-arrays/1.0.5:
- resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==}
- engines: {node: '>= 0.4'}
- dev: false
-
- /axe-core/4.6.2:
- resolution: {integrity: sha512-b1WlTV8+XKLj9gZy2DZXgQiyDp9xkkoe2a6U6UbYccScq2wgH/YwCeI2/Jq2mgo0HzQxqJOjWZBLeA/mqsk5Mg==}
- engines: {node: '>=4'}
- dev: false
-
- /axobject-query/3.1.1:
- resolution: {integrity: sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==}
- dependencies:
- deep-equal: 2.2.0
- dev: false
-
- /babel-jest/29.3.1_@babel+core@7.20.12:
- resolution: {integrity: sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- peerDependencies:
- '@babel/core': ^7.8.0
- dependencies:
- '@babel/core': 7.20.12
- '@jest/transform': 29.3.1
- '@types/babel__core': 7.1.20
- babel-plugin-istanbul: 6.1.1
- babel-preset-jest: 29.2.0_@babel+core@7.20.12
- chalk: 4.1.2
- graceful-fs: 4.2.10
- 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.20.2
- '@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.2.0:
- resolution: {integrity: sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@babel/template': 7.20.7
- '@babel/types': 7.20.7
- '@types/babel__core': 7.1.20
- '@types/babel__traverse': 7.18.3
- dev: true
-
- /babel-preset-current-node-syntax/1.0.1_@babel+core@7.20.12:
- resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.20.12
- '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.20.12
- '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.20.12
- '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.20.12
- '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.20.12
- '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.20.12
- '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.20.12
- '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.20.12
- '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.20.12
- '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.20.12
- '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.20.12
- '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.20.12
- '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.20.12
- dev: true
-
- /babel-preset-jest/29.2.0_@babel+core@7.20.12:
- resolution: {integrity: sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.20.12
- babel-plugin-jest-hoist: 29.2.0
- babel-preset-current-node-syntax: 1.0.1_@babel+core@7.20.12
- dev: true
-
- /balanced-match/1.0.2:
- resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
-
- /base-x/4.0.0:
- resolution: {integrity: sha512-FuwxlW4H5kh37X/oW59pwTzzTKRzfrrQwhmyspRM7swOEZcHtDZSCt45U6oKgtuFE+WYPblePMVIPR4RZrh/hw==}
- dev: false
-
- /binary-extensions/2.2.0:
- resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
- engines: {node: '>=8'}
-
- /brace-expansion/1.1.11:
- resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
- dependencies:
- balanced-match: 1.0.2
- concat-map: 0.0.1
-
- /braces/3.0.2:
- resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
- engines: {node: '>=8'}
- dependencies:
- fill-range: 7.0.1
-
- /browserslist/4.21.4:
- resolution: {integrity: sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==}
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
- hasBin: true
- dependencies:
- caniuse-lite: 1.0.30001442
- electron-to-chromium: 1.4.284
- node-releases: 2.0.8
- update-browserslist-db: 1.0.10_browserslist@4.21.4
- dev: true
-
- /bs-logger/0.2.6:
- resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==}
- engines: {node: '>= 6'}
- dependencies:
- fast-json-stable-stringify: 2.1.0
- dev: true
-
- /bser/2.1.1:
- resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
- dependencies:
- node-int64: 0.4.0
- dev: true
-
- /buffer-from/1.1.2:
- resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
- dev: true
-
- /call-bind/1.0.2:
- resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
- dependencies:
- function-bind: 1.1.1
- get-intrinsic: 1.1.3
- dev: false
-
- /callsites/3.1.0:
- resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
- engines: {node: '>=6'}
-
- /camelcase-css/2.0.1:
- resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
- engines: {node: '>= 6'}
-
- /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
-
- /camelize/1.0.1:
- resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==}
- dev: false
-
- /caniuse-lite/1.0.30001442:
- resolution: {integrity: sha512-239m03Pqy0hwxYPYR5JwOIxRJfLTWtle9FV8zosfV5pHg+/51uD4nxcUlM8+mWWGfwKtt8lJNHnD3cWw9VZ6ow==}
-
- /chalk/2.4.2:
- resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
- engines: {node: '>=4'}
- dependencies:
- ansi-styles: 3.2.1
- escape-string-regexp: 1.0.5
- supports-color: 5.5.0
- dev: true
-
- /chalk/4.1.2:
- resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
- engines: {node: '>=10'}
- dependencies:
- ansi-styles: 4.3.0
- supports-color: 7.2.0
-
- /char-regex/1.0.2:
- resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==}
- engines: {node: '>=10'}
- 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.2
-
- /ci-info/3.7.1:
- resolution: {integrity: sha512-4jYS4MOAaCIStSRwiuxc4B8MYhIe676yO1sYGzARnjXkWpmzZMMYxY6zu8WYWDhSuth5zhrQ1rhNSibyyvv4/w==}
- engines: {node: '>=8'}
- dev: true
-
- /cjs-module-lexer/1.2.2:
- resolution: {integrity: sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==}
- dev: true
-
- /client-only/0.0.1:
- resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
- dev: false
-
- /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
-
- /co/4.6.0:
- resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==}
- engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
- dev: true
-
- /collect-v8-coverage/1.0.1:
- resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==}
- dev: true
-
- /color-convert/1.9.3:
- resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
- dependencies:
- color-name: 1.1.3
- dev: true
-
- /color-convert/2.0.1:
- resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
- engines: {node: '>=7.0.0'}
- dependencies:
- color-name: 1.1.4
-
- /color-name/1.1.3:
- resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
- dev: true
-
- /color-name/1.1.4:
- resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
-
- /concat-map/0.0.1:
- resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
-
- /convert-source-map/1.9.0:
- resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
- dev: true
-
- /convert-source-map/2.0.0:
- resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
- 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-background-parser/0.1.0:
- resolution: {integrity: sha512-2EZLisiZQ+7m4wwur/qiYJRniHX4K5Tc9w93MT3AS0WS1u5kaZ4FKXlOTBhOjc+CgEgPiGY+fX1yWD8UwpEqUA==}
- dev: false
-
- /css-box-shadow/1.0.0-3:
- resolution: {integrity: sha512-9jaqR6e7Ohds+aWwmhe6wILJ99xYQbfmK9QQB9CcMjDbTxPZjwEmUQpU91OG05Xgm8BahT5fW+svbsQGjS/zPg==}
- dev: false
-
- /css-color-keywords/1.0.0:
- resolution: {integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==}
- engines: {node: '>=4'}
- dev: false
-
- /css-to-react-native/3.1.0:
- resolution: {integrity: sha512-AryfkFA29b4I3vG7N4kxFboq15DxwSXzhXM37XNEjwJMgjYIc8BcqfiprpAqX0zadI5PMByEIwAMzXxk5Vcc4g==}
- dependencies:
- camelize: 1.0.1
- css-color-keywords: 1.0.0
- postcss-value-parser: 4.2.0
- dev: false
-
- /cssesc/3.0.0:
- resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
- engines: {node: '>=4'}
- hasBin: true
-
- /csstype/3.1.1:
- resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==}
- dev: false
-
- /damerau-levenshtein/1.0.8:
- resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
- dev: false
-
- /debug/2.6.9:
- resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
- dependencies:
- ms: 2.0.0
- dev: false
-
- /debug/3.2.7:
- resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
- dependencies:
- ms: 2.1.3
- dev: false
-
- /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
-
- /dedent/0.7.0:
- resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==}
- dev: true
-
- /deep-equal/2.2.0:
- resolution: {integrity: sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==}
- dependencies:
- call-bind: 1.0.2
- es-get-iterator: 1.1.2
- get-intrinsic: 1.1.3
- is-arguments: 1.1.1
- is-array-buffer: 3.0.1
- is-date-object: 1.0.5
- is-regex: 1.1.4
- is-shared-array-buffer: 1.0.2
- 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: false
-
- /deep-is/0.1.4:
- resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
- dev: false
-
- /deepmerge/4.2.2:
- resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /define-lazy-prop/2.0.0:
- resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
- engines: {node: '>=8'}
- dev: false
-
- /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: false
-
- /defined/1.0.1:
- resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==}
-
- /detect-newline/3.1.0:
- resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==}
- engines: {node: '>=8'}
- dev: true
-
- /detective/5.2.1:
- resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==}
- engines: {node: '>=0.8.0'}
- hasBin: true
- dependencies:
- acorn-node: 1.8.2
- defined: 1.0.1
- minimist: 1.2.7
-
- /didyoumean/1.2.2:
- resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
-
- /diff-sequences/29.3.1:
- resolution: {integrity: sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dev: true
-
- /dir-glob/3.0.1:
- resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
- engines: {node: '>=8'}
- dependencies:
- path-type: 4.0.0
- dev: false
-
- /dlv/1.1.3:
- resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
-
- /doctrine/2.1.0:
- resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
- engines: {node: '>=0.10.0'}
- dependencies:
- esutils: 2.0.3
- dev: false
-
- /doctrine/3.0.0:
- resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
- engines: {node: '>=6.0.0'}
- dependencies:
- esutils: 2.0.3
- dev: false
-
- /electron-to-chromium/1.4.284:
- resolution: {integrity: sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==}
- dev: true
-
- /emittery/0.13.1:
- resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==}
- engines: {node: '>=12'}
- dev: true
-
- /emoji-regex/10.2.1:
- resolution: {integrity: sha512-97g6QgOk8zlDRdgq1WxwgTMgEWGVAQvB5Fdpgc1MkNy56la5SKP9GsMXKDOdqwn90/41a8yPwIGk1Y6WVbeMQA==}
- dev: false
-
- /emoji-regex/8.0.0:
- resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
- dev: true
-
- /emoji-regex/9.2.2:
- resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
- dev: false
-
- /enhanced-resolve/5.12.0:
- resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==}
- engines: {node: '>=10.13.0'}
- dependencies:
- graceful-fs: 4.2.10
- tapable: 2.2.1
- dev: false
-
- /error-ex/1.3.2:
- resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
- dependencies:
- is-arrayish: 0.2.1
- dev: true
-
- /es-abstract/1.21.1:
- resolution: {integrity: sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==}
- engines: {node: '>= 0.4'}
- dependencies:
- available-typed-arrays: 1.0.5
- call-bind: 1.0.2
- es-set-tostringtag: 2.0.1
- es-to-primitive: 1.2.1
- function-bind: 1.1.1
- function.prototype.name: 1.1.5
- get-intrinsic: 1.1.3
- 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.4
- is-array-buffer: 3.0.1
- 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.10
- is-weakref: 1.0.2
- object-inspect: 1.12.2
- object-keys: 1.1.1
- object.assign: 4.1.4
- regexp.prototype.flags: 1.4.3
- safe-regex-test: 1.0.0
- string.prototype.trimend: 1.0.6
- string.prototype.trimstart: 1.0.6
- typed-array-length: 1.0.4
- unbox-primitive: 1.0.2
- which-typed-array: 1.1.9
- dev: false
-
- /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: false
-
- /es-set-tostringtag/2.0.1:
- resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==}
- engines: {node: '>= 0.4'}
- dependencies:
- get-intrinsic: 1.1.3
- has: 1.0.3
- has-tostringtag: 1.0.0
- dev: false
-
- /es-shim-unscopables/1.0.0:
- resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==}
- dependencies:
- has: 1.0.3
- dev: false
-
- /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: false
-
- /escalade/3.1.1:
- resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
- engines: {node: '>=6'}
- dev: true
-
- /escape-string-regexp/1.0.5:
- resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
- engines: {node: '>=0.8.0'}
- dev: true
-
- /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: false
-
- /eslint-config-next/13.1.1_iukboom6ndih5an6iafl45j2fe:
- resolution: {integrity: sha512-/5S2XGWlGaiqrRhzpn51ux5JUSLwx8PVK2keLi5xk7QmhfYB8PqE6R6SlVw6hgnf/VexvUXSrlNJ/su00NhtHQ==}
- peerDependencies:
- eslint: ^7.23.0 || ^8.0.0
- typescript: '>=3.3.1'
- peerDependenciesMeta:
- typescript:
- optional: true
- dependencies:
- '@next/eslint-plugin-next': 13.1.1
- '@rushstack/eslint-patch': 1.2.0
- '@typescript-eslint/parser': 5.48.1_iukboom6ndih5an6iafl45j2fe
- eslint: 8.31.0
- eslint-import-resolver-node: 0.3.6
- eslint-import-resolver-typescript: 3.5.3_ol7jqilc3wemtdbq3nzhywgxq4
- eslint-plugin-import: 2.26.0_2ac3tknkazjoq5fxmuugu665ny
- eslint-plugin-jsx-a11y: 6.7.0_eslint@8.31.0
- eslint-plugin-react: 7.32.0_eslint@8.31.0
- eslint-plugin-react-hooks: 4.6.0_eslint@8.31.0
- typescript: 4.9.4
- transitivePeerDependencies:
- - eslint-import-resolver-webpack
- - supports-color
- dev: false
-
- /eslint-import-resolver-node/0.3.6:
- resolution: {integrity: sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==}
- dependencies:
- debug: 3.2.7
- resolve: 1.22.1
- transitivePeerDependencies:
- - supports-color
- dev: false
-
- /eslint-import-resolver-typescript/3.5.3_ol7jqilc3wemtdbq3nzhywgxq4:
- resolution: {integrity: sha512-njRcKYBc3isE42LaTcJNVANR3R99H9bAxBDMNDr2W7yq5gYPxbU3MkdhsQukxZ/Xg9C2vcyLlDsbKfRDg0QvCQ==}
- engines: {node: ^14.18.0 || >=16.0.0}
- peerDependencies:
- eslint: '*'
- eslint-plugin-import: '*'
- dependencies:
- debug: 4.3.4
- enhanced-resolve: 5.12.0
- eslint: 8.31.0
- eslint-plugin-import: 2.26.0_2ac3tknkazjoq5fxmuugu665ny
- get-tsconfig: 4.3.0
- globby: 13.1.3
- is-core-module: 2.11.0
- is-glob: 4.0.3
- synckit: 0.8.4
- transitivePeerDependencies:
- - supports-color
- dev: false
-
- /eslint-module-utils/2.7.4_abt7jfzvvcdxs33zeu2dhrntyi:
- resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==}
- 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.48.1_iukboom6ndih5an6iafl45j2fe
- debug: 3.2.7
- eslint: 8.31.0
- eslint-import-resolver-node: 0.3.6
- eslint-import-resolver-typescript: 3.5.3_ol7jqilc3wemtdbq3nzhywgxq4
- transitivePeerDependencies:
- - supports-color
- dev: false
-
- /eslint-plugin-import/2.26.0_2ac3tknkazjoq5fxmuugu665ny:
- resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==}
- 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.48.1_iukboom6ndih5an6iafl45j2fe
- array-includes: 3.1.6
- array.prototype.flat: 1.3.1
- debug: 2.6.9
- doctrine: 2.1.0
- eslint: 8.31.0
- eslint-import-resolver-node: 0.3.6
- eslint-module-utils: 2.7.4_abt7jfzvvcdxs33zeu2dhrntyi
- has: 1.0.3
- is-core-module: 2.11.0
- is-glob: 4.0.3
- minimatch: 3.1.2
- object.values: 1.1.6
- resolve: 1.22.1
- tsconfig-paths: 3.14.1
- transitivePeerDependencies:
- - eslint-import-resolver-typescript
- - eslint-import-resolver-webpack
- - supports-color
- dev: false
-
- /eslint-plugin-jsx-a11y/6.7.0_eslint@8.31.0:
- resolution: {integrity: sha512-EGGRKhzejSzXKtjmEjWNtr4SK/DkMkSzkBH7g7e7moBDXZXrqaUIxkmD7uF93upMysc4dKYEJwupu7Dff+ShwA==}
- engines: {node: '>=4.0'}
- peerDependencies:
- eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
- dependencies:
- '@babel/runtime': 7.20.7
- aria-query: 5.1.3
- array-includes: 3.1.6
- array.prototype.flatmap: 1.3.1
- ast-types-flow: 0.0.7
- axe-core: 4.6.2
- axobject-query: 3.1.1
- damerau-levenshtein: 1.0.8
- emoji-regex: 9.2.2
- eslint: 8.31.0
- has: 1.0.3
- jsx-ast-utils: 3.3.3
- language-tags: 1.0.5
- minimatch: 3.1.2
- object.entries: 1.1.6
- object.fromentries: 2.0.6
- semver: 6.3.0
- dev: false
-
- /eslint-plugin-react-hooks/4.6.0_eslint@8.31.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.31.0
- dev: false
-
- /eslint-plugin-react/7.32.0_eslint@8.31.0:
- resolution: {integrity: sha512-vSBi1+SrPiLZCGvxpiZIa28fMEUaMjXtCplrvxcIxGzmFiYdsXQDwInEjuv5/i/2CTTxbkS87tE8lsQ0Qxinbw==}
- engines: {node: '>=4'}
- peerDependencies:
- eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
- dependencies:
- array-includes: 3.1.6
- array.prototype.flatmap: 1.3.1
- array.prototype.tosorted: 1.1.1
- doctrine: 2.1.0
- eslint: 8.31.0
- estraverse: 5.3.0
- jsx-ast-utils: 3.3.3
- minimatch: 3.1.2
- object.entries: 1.1.6
- object.fromentries: 2.0.6
- object.hasown: 1.1.2
- object.values: 1.1.6
- prop-types: 15.8.1
- resolve: 2.0.0-next.4
- semver: 6.3.0
- string.prototype.matchall: 4.0.8
- dev: false
-
- /eslint-scope/7.1.1:
- resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dependencies:
- esrecurse: 4.3.0
- estraverse: 5.3.0
- dev: false
-
- /eslint-utils/3.0.0_eslint@8.31.0:
- resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==}
- engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0}
- peerDependencies:
- eslint: '>=5'
- dependencies:
- eslint: 8.31.0
- eslint-visitor-keys: 2.1.0
- dev: false
-
- /eslint-visitor-keys/2.1.0:
- resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==}
- engines: {node: '>=10'}
- dev: false
-
- /eslint-visitor-keys/3.3.0:
- resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dev: false
-
- /eslint/8.31.0:
- resolution: {integrity: sha512-0tQQEVdmPZ1UtUKXjX7EMm9BlgJ08G90IhWh0PKDCb3ZLsgAOHI8fYSIzYVZej92zsgq+ft0FGsxhJ3xo2tbuA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- hasBin: true
- dependencies:
- '@eslint/eslintrc': 1.4.1
- '@humanwhocodes/config-array': 0.11.8
- '@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.1.1
- eslint-utils: 3.0.0_eslint@8.31.0
- eslint-visitor-keys: 3.3.0
- espree: 9.4.1
- esquery: 1.4.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.19.0
- grapheme-splitter: 1.0.4
- ignore: 5.2.4
- import-fresh: 3.3.0
- imurmurhash: 0.1.4
- is-glob: 4.0.3
- is-path-inside: 3.0.3
- js-sdsl: 4.2.0
- 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.1
- regexpp: 3.2.0
- strip-ansi: 6.0.1
- strip-json-comments: 3.1.1
- text-table: 0.2.0
- transitivePeerDependencies:
- - supports-color
- dev: false
-
- /espree/9.4.1:
- resolution: {integrity: sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dependencies:
- acorn: 8.8.1
- acorn-jsx: 5.3.2_acorn@8.8.1
- eslint-visitor-keys: 3.3.0
- dev: false
-
- /esprima/4.0.1:
- resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
- engines: {node: '>=4'}
- hasBin: true
- dev: true
-
- /esquery/1.4.0:
- resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==}
- engines: {node: '>=0.10'}
- dependencies:
- estraverse: 5.3.0
- dev: false
-
- /esrecurse/4.3.0:
- resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
- engines: {node: '>=4.0'}
- dependencies:
- estraverse: 5.3.0
- dev: false
-
- /estraverse/5.3.0:
- resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
- engines: {node: '>=4.0'}
- dev: false
-
- /esutils/2.0.3:
- resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
- engines: {node: '>=0.10.0'}
- 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
-
- /exit/0.1.2:
- resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==}
- engines: {node: '>= 0.8.0'}
- dev: true
-
- /expect/29.3.1:
- resolution: {integrity: sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/expect-utils': 29.3.1
- jest-get-type: 29.2.0
- jest-matcher-utils: 29.3.1
- jest-message-util: 29.3.1
- jest-util: 29.3.1
- dev: true
-
- /fast-deep-equal/3.1.3:
- resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
- dev: false
-
- /fast-glob/3.2.12:
- resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==}
- 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
-
- /fast-json-stable-stringify/2.1.0:
- resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
-
- /fast-levenshtein/2.0.6:
- resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
- dev: false
-
- /fastq/1.15.0:
- resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
- dependencies:
- reusify: 1.0.4
-
- /fb-watchman/2.0.2:
- resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==}
- dependencies:
- bser: 2.1.1
- dev: true
-
- /fflate/0.7.4:
- resolution: {integrity: sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==}
- dev: false
-
- /file-entry-cache/6.0.1:
- resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
- engines: {node: ^10.12.0 || >=12.0.0}
- dependencies:
- flat-cache: 3.0.4
- dev: false
-
- /fill-range/7.0.1:
- resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
- engines: {node: '>=8'}
- dependencies:
- to-regex-range: 5.0.1
-
- /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: false
-
- /flat-cache/3.0.4:
- resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==}
- engines: {node: ^10.12.0 || >=12.0.0}
- dependencies:
- flatted: 3.2.7
- rimraf: 3.0.2
- dev: false
-
- /flatted/3.2.7:
- resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==}
- dev: false
-
- /for-each/0.3.3:
- resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
- dependencies:
- is-callable: 1.2.7
- dev: false
-
- /fraction.js/4.2.0:
- resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==}
- dev: true
-
- /fs.realpath/1.0.0:
- resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
-
- /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
- optional: true
-
- /function-bind/1.1.1:
- resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
-
- /function.prototype.name/1.1.5:
- resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.2
- define-properties: 1.1.4
- es-abstract: 1.21.1
- functions-have-names: 1.2.3
- dev: false
-
- /functions-have-names/1.2.3:
- resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
- dev: false
-
- /gensync/1.0.0-beta.2:
- resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
- engines: {node: '>=6.9.0'}
- dev: true
-
- /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
- dev: false
-
- /get-package-type/0.1.0:
- resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==}
- engines: {node: '>=8.0.0'}
- dev: true
-
- /get-stream/6.0.1:
- resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
- engines: {node: '>=10'}
- dev: true
-
- /get-symbol-description/1.0.0:
- resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.2
- get-intrinsic: 1.1.3
- dev: false
-
- /get-tsconfig/4.3.0:
- resolution: {integrity: sha512-YCcF28IqSay3fqpIu5y3Krg/utCBHBeoflkZyHj/QcqI2nrLPC3ZegS9CmIo+hJb8K7aiGsuUl7PwWVjNG2HQQ==}
- dev: false
-
- /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
-
- /glob/7.1.7:
- resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==}
- 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: false
-
- /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
-
- /globals/11.12.0:
- resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
- engines: {node: '>=4'}
- dev: true
-
- /globals/13.19.0:
- resolution: {integrity: sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==}
- engines: {node: '>=8'}
- dependencies:
- type-fest: 0.20.2
- dev: false
-
- /globalthis/1.0.3:
- resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==}
- engines: {node: '>= 0.4'}
- dependencies:
- define-properties: 1.1.4
- dev: false
-
- /globalyzer/0.1.0:
- resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==}
- dev: false
-
- /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.2.12
- ignore: 5.2.4
- merge2: 1.4.1
- slash: 3.0.0
- dev: false
-
- /globby/13.1.3:
- resolution: {integrity: sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dependencies:
- dir-glob: 3.0.1
- fast-glob: 3.2.12
- ignore: 5.2.4
- merge2: 1.4.1
- slash: 4.0.0
- dev: false
-
- /globrex/0.1.2:
- resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
- dev: false
-
- /gopd/1.0.1:
- resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
- dependencies:
- get-intrinsic: 1.1.3
- dev: false
-
- /graceful-fs/4.2.10:
- resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==}
-
- /grapheme-splitter/1.0.4:
- resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==}
- dev: false
-
- /has-bigints/1.0.2:
- resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
- dev: false
-
- /has-flag/3.0.0:
- resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
- engines: {node: '>=4'}
- dev: true
-
- /has-flag/4.0.0:
- resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
- engines: {node: '>=8'}
-
- /has-property-descriptors/1.0.0:
- resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==}
- dependencies:
- get-intrinsic: 1.1.3
- dev: false
-
- /has-proto/1.0.1:
- resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==}
- engines: {node: '>= 0.4'}
- dev: false
-
- /has-symbols/1.0.3:
- resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
- engines: {node: '>= 0.4'}
- dev: false
-
- /has-tostringtag/1.0.0:
- resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- has-symbols: 1.0.3
- dev: false
-
- /has/1.0.3:
- resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
- engines: {node: '>= 0.4.0'}
- dependencies:
- function-bind: 1.1.1
-
- /html-escaper/2.0.2:
- resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
- dev: true
-
- /human-signals/2.1.0:
- resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
- engines: {node: '>=10.17.0'}
- dev: true
-
- /ignore/5.2.4:
- resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==}
- engines: {node: '>= 4'}
- dev: false
-
- /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: false
-
- /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
-
- /imurmurhash/0.1.4:
- resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
- engines: {node: '>=0.8.19'}
-
- /inflight/1.0.6:
- resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
- dependencies:
- once: 1.4.0
- wrappy: 1.0.2
-
- /inherits/2.0.4:
- resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
-
- /internal-slot/1.0.4:
- resolution: {integrity: sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- get-intrinsic: 1.1.3
- has: 1.0.3
- side-channel: 1.0.4
- dev: false
-
- /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
- dev: false
-
- /is-array-buffer/3.0.1:
- resolution: {integrity: sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==}
- dependencies:
- call-bind: 1.0.2
- get-intrinsic: 1.1.3
- is-typed-array: 1.1.10
- dev: false
-
- /is-arrayish/0.2.1:
- resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
- dev: true
-
- /is-bigint/1.0.4:
- resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
- dependencies:
- has-bigints: 1.0.2
- dev: false
-
- /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: false
-
- /is-callable/1.2.7:
- resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
- engines: {node: '>= 0.4'}
- dev: false
-
- /is-core-module/2.11.0:
- resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==}
- dependencies:
- has: 1.0.3
-
- /is-date-object/1.0.5:
- resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- has-tostringtag: 1.0.0
- dev: false
-
- /is-docker/2.2.1:
- resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
- engines: {node: '>=8'}
- hasBin: true
- dev: false
-
- /is-extglob/2.1.1:
- resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
- engines: {node: '>=0.10.0'}
-
- /is-fullwidth-code-point/3.0.0:
- resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
- engines: {node: '>=8'}
- dev: true
-
- /is-generator-fn/2.1.0:
- resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==}
- engines: {node: '>=6'}
- dev: true
-
- /is-glob/4.0.3:
- resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
- engines: {node: '>=0.10.0'}
- dependencies:
- is-extglob: 2.1.1
-
- /is-map/2.0.2:
- resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==}
- dev: false
-
- /is-negative-zero/2.0.2:
- resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==}
- engines: {node: '>= 0.4'}
- dev: false
-
- /is-number-object/1.0.7:
- resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- has-tostringtag: 1.0.0
- dev: false
-
- /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: false
-
- /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: false
-
- /is-set/2.0.2:
- resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==}
- dev: false
-
- /is-shared-array-buffer/1.0.2:
- resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==}
- dependencies:
- call-bind: 1.0.2
- dev: false
-
- /is-stream/2.0.1:
- resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
- engines: {node: '>=8'}
- dev: true
-
- /is-string/1.0.7:
- resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
- engines: {node: '>= 0.4'}
- dependencies:
- has-tostringtag: 1.0.0
- dev: false
-
- /is-symbol/1.0.4:
- resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
- engines: {node: '>= 0.4'}
- dependencies:
- has-symbols: 1.0.3
- dev: false
-
- /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: false
-
- /is-weakmap/2.0.1:
- resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==}
- dev: false
-
- /is-weakref/1.0.2:
- resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
- dependencies:
- call-bind: 1.0.2
- dev: false
-
- /is-weakset/2.0.2:
- resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==}
- dependencies:
- call-bind: 1.0.2
- get-intrinsic: 1.1.3
- dev: false
-
- /is-wsl/2.2.0:
- resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
- engines: {node: '>=8'}
- dependencies:
- is-docker: 2.2.1
- dev: false
-
- /isarray/2.0.5:
- resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
- dev: false
-
- /isexe/2.0.0:
- resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
-
- /isomorphic-fetch/3.0.0:
- resolution: {integrity: sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==}
- dependencies:
- node-fetch: 2.6.7
- whatwg-fetch: 3.6.2
- transitivePeerDependencies:
- - encoding
- dev: false
-
- /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.20.12
- '@babel/parser': 7.20.7
- '@istanbuljs/schema': 0.1.3
- istanbul-lib-coverage: 3.2.0
- semver: 6.3.0
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /istanbul-lib-report/3.0.0:
- resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==}
- engines: {node: '>=8'}
- dependencies:
- istanbul-lib-coverage: 3.2.0
- make-dir: 3.1.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.5:
- resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==}
- engines: {node: '>=8'}
- dependencies:
- html-escaper: 2.0.2
- istanbul-lib-report: 3.0.0
- dev: true
-
- /jest-changed-files/29.2.0:
- resolution: {integrity: sha512-qPVmLLyBmvF5HJrY7krDisx6Voi8DmlV3GZYX0aFNbaQsZeoz1hfxcCMbqDGuQCxU1dJy9eYc2xscE8QrCCYaA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- execa: 5.1.1
- p-limit: 3.1.0
- dev: true
-
- /jest-circus/29.3.1:
- resolution: {integrity: sha512-wpr26sEvwb3qQQbdlmei+gzp6yoSSoSL6GsLPxnuayZSMrSd5Ka7IjAvatpIernBvT2+Ic6RLTg+jSebScmasg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/environment': 29.3.1
- '@jest/expect': 29.3.1
- '@jest/test-result': 29.3.1
- '@jest/types': 29.3.1
- '@types/node': 18.11.18
- chalk: 4.1.2
- co: 4.6.0
- dedent: 0.7.0
- is-generator-fn: 2.1.0
- jest-each: 29.3.1
- jest-matcher-utils: 29.3.1
- jest-message-util: 29.3.1
- jest-runtime: 29.3.1
- jest-snapshot: 29.3.1
- jest-util: 29.3.1
- p-limit: 3.1.0
- pretty-format: 29.3.1
- slash: 3.0.0
- stack-utils: 2.0.6
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /jest-cli/29.3.1_@types+node@18.11.18:
- resolution: {integrity: sha512-TO/ewvwyvPOiBBuWZ0gm04z3WWP8TIK8acgPzE4IxgsLKQgb377NYGrQLc3Wl/7ndWzIH2CDNNsUjGxwLL43VQ==}
- 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.3.1
- '@jest/test-result': 29.3.1
- '@jest/types': 29.3.1
- chalk: 4.1.2
- exit: 0.1.2
- graceful-fs: 4.2.10
- import-local: 3.1.0
- jest-config: 29.3.1_@types+node@18.11.18
- jest-util: 29.3.1
- jest-validate: 29.3.1
- prompts: 2.4.2
- yargs: 17.6.2
- transitivePeerDependencies:
- - '@types/node'
- - supports-color
- - ts-node
- dev: true
-
- /jest-config/29.3.1_@types+node@18.11.18:
- resolution: {integrity: sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg==}
- 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.20.12
- '@jest/test-sequencer': 29.3.1
- '@jest/types': 29.3.1
- '@types/node': 18.11.18
- babel-jest: 29.3.1_@babel+core@7.20.12
- chalk: 4.1.2
- ci-info: 3.7.1
- deepmerge: 4.2.2
- glob: 7.2.3
- graceful-fs: 4.2.10
- jest-circus: 29.3.1
- jest-environment-node: 29.3.1
- jest-get-type: 29.2.0
- jest-regex-util: 29.2.0
- jest-resolve: 29.3.1
- jest-runner: 29.3.1
- jest-util: 29.3.1
- jest-validate: 29.3.1
- micromatch: 4.0.5
- parse-json: 5.2.0
- pretty-format: 29.3.1
- slash: 3.0.0
- strip-json-comments: 3.1.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /jest-diff/29.3.1:
- resolution: {integrity: sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- chalk: 4.1.2
- diff-sequences: 29.3.1
- jest-get-type: 29.2.0
- pretty-format: 29.3.1
- dev: true
-
- /jest-docblock/29.2.0:
- resolution: {integrity: sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- detect-newline: 3.1.0
- dev: true
-
- /jest-each/29.3.1:
- resolution: {integrity: sha512-qrZH7PmFB9rEzCSl00BWjZYuS1BSOH8lLuC0azQE9lQrAx3PWGKHTDudQiOSwIy5dGAJh7KA0ScYlCP7JxvFYA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/types': 29.3.1
- chalk: 4.1.2
- jest-get-type: 29.2.0
- jest-util: 29.3.1
- pretty-format: 29.3.1
- dev: true
-
- /jest-environment-node/29.3.1:
- resolution: {integrity: sha512-xm2THL18Xf5sIHoU7OThBPtuH6Lerd+Y1NLYiZJlkE3hbE+7N7r8uvHIl/FkZ5ymKXJe/11SQuf3fv4v6rUMag==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/environment': 29.3.1
- '@jest/fake-timers': 29.3.1
- '@jest/types': 29.3.1
- '@types/node': 18.11.18
- jest-mock: 29.3.1
- jest-util: 29.3.1
- dev: true
-
- /jest-get-type/29.2.0:
- resolution: {integrity: sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dev: true
-
- /jest-haste-map/29.3.1:
- resolution: {integrity: sha512-/FFtvoG1xjbbPXQLFef+WSU4yrc0fc0Dds6aRPBojUid7qlPqZvxdUBA03HW0fnVHXVCnCdkuoghYItKNzc/0A==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/types': 29.3.1
- '@types/graceful-fs': 4.1.6
- '@types/node': 18.11.18
- anymatch: 3.1.3
- fb-watchman: 2.0.2
- graceful-fs: 4.2.10
- jest-regex-util: 29.2.0
- jest-util: 29.3.1
- jest-worker: 29.3.1
- micromatch: 4.0.5
- walker: 1.0.8
- optionalDependencies:
- fsevents: 2.3.2
- dev: true
-
- /jest-leak-detector/29.3.1:
- resolution: {integrity: sha512-3DA/VVXj4zFOPagGkuqHnSQf1GZBmmlagpguxEERO6Pla2g84Q1MaVIB3YMxgUaFIaYag8ZnTyQgiZ35YEqAQA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- jest-get-type: 29.2.0
- pretty-format: 29.3.1
- dev: true
-
- /jest-matcher-utils/29.3.1:
- resolution: {integrity: sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- chalk: 4.1.2
- jest-diff: 29.3.1
- jest-get-type: 29.2.0
- pretty-format: 29.3.1
- dev: true
-
- /jest-message-util/29.3.1:
- resolution: {integrity: sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@babel/code-frame': 7.18.6
- '@jest/types': 29.3.1
- '@types/stack-utils': 2.0.1
- chalk: 4.1.2
- graceful-fs: 4.2.10
- micromatch: 4.0.5
- pretty-format: 29.3.1
- slash: 3.0.0
- stack-utils: 2.0.6
- dev: true
-
- /jest-mock/29.3.1:
- resolution: {integrity: sha512-H8/qFDtDVMFvFP4X8NuOT3XRDzOUTz+FeACjufHzsOIBAxivLqkB1PoLCaJx9iPPQ8dZThHPp/G3WRWyMgA3JA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/types': 29.3.1
- '@types/node': 18.11.18
- jest-util: 29.3.1
- dev: true
-
- /jest-pnp-resolver/1.2.3_jest-resolve@29.3.1:
- resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==}
- engines: {node: '>=6'}
- peerDependencies:
- jest-resolve: '*'
- peerDependenciesMeta:
- jest-resolve:
- optional: true
- dependencies:
- jest-resolve: 29.3.1
- dev: true
-
- /jest-regex-util/29.2.0:
- resolution: {integrity: sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dev: true
-
- /jest-resolve-dependencies/29.3.1:
- resolution: {integrity: sha512-Vk0cYq0byRw2WluNmNWGqPeRnZ3p3hHmjJMp2dyyZeYIfiBskwq4rpiuGFR6QGAdbj58WC7HN4hQHjf2mpvrLA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- jest-regex-util: 29.2.0
- jest-snapshot: 29.3.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /jest-resolve/29.3.1:
- resolution: {integrity: sha512-amXJgH/Ng712w3Uz5gqzFBBjxV8WFLSmNjoreBGMqxgCz5cH7swmBZzgBaCIOsvb0NbpJ0vgaSFdJqMdT+rADw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- chalk: 4.1.2
- graceful-fs: 4.2.10
- jest-haste-map: 29.3.1
- jest-pnp-resolver: 1.2.3_jest-resolve@29.3.1
- jest-util: 29.3.1
- jest-validate: 29.3.1
- resolve: 1.22.1
- resolve.exports: 1.1.1
- slash: 3.0.0
- dev: true
-
- /jest-runner/29.3.1:
- resolution: {integrity: sha512-oFvcwRNrKMtE6u9+AQPMATxFcTySyKfLhvso7Sdk/rNpbhg4g2GAGCopiInk1OP4q6gz3n6MajW4+fnHWlU3bA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/console': 29.3.1
- '@jest/environment': 29.3.1
- '@jest/test-result': 29.3.1
- '@jest/transform': 29.3.1
- '@jest/types': 29.3.1
- '@types/node': 18.11.18
- chalk: 4.1.2
- emittery: 0.13.1
- graceful-fs: 4.2.10
- jest-docblock: 29.2.0
- jest-environment-node: 29.3.1
- jest-haste-map: 29.3.1
- jest-leak-detector: 29.3.1
- jest-message-util: 29.3.1
- jest-resolve: 29.3.1
- jest-runtime: 29.3.1
- jest-util: 29.3.1
- jest-watcher: 29.3.1
- jest-worker: 29.3.1
- p-limit: 3.1.0
- source-map-support: 0.5.13
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /jest-runtime/29.3.1:
- resolution: {integrity: sha512-jLzkIxIqXwBEOZx7wx9OO9sxoZmgT2NhmQKzHQm1xwR1kNW/dn0OjxR424VwHHf1SPN6Qwlb5pp1oGCeFTQ62A==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/environment': 29.3.1
- '@jest/fake-timers': 29.3.1
- '@jest/globals': 29.3.1
- '@jest/source-map': 29.2.0
- '@jest/test-result': 29.3.1
- '@jest/transform': 29.3.1
- '@jest/types': 29.3.1
- '@types/node': 18.11.18
- chalk: 4.1.2
- cjs-module-lexer: 1.2.2
- collect-v8-coverage: 1.0.1
- glob: 7.2.3
- graceful-fs: 4.2.10
- jest-haste-map: 29.3.1
- jest-message-util: 29.3.1
- jest-mock: 29.3.1
- jest-regex-util: 29.2.0
- jest-resolve: 29.3.1
- jest-snapshot: 29.3.1
- jest-util: 29.3.1
- slash: 3.0.0
- strip-bom: 4.0.0
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /jest-snapshot/29.3.1:
- resolution: {integrity: sha512-+3JOc+s28upYLI2OJM4PWRGK9AgpsMs/ekNryUV0yMBClT9B1DF2u2qay8YxcQd338PPYSFNb0lsar1B49sLDA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@babel/core': 7.20.12
- '@babel/generator': 7.20.7
- '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.20.12
- '@babel/traverse': 7.20.12
- '@babel/types': 7.20.7
- '@jest/expect-utils': 29.3.1
- '@jest/transform': 29.3.1
- '@jest/types': 29.3.1
- '@types/babel__traverse': 7.18.3
- '@types/prettier': 2.7.2
- babel-preset-current-node-syntax: 1.0.1_@babel+core@7.20.12
- chalk: 4.1.2
- expect: 29.3.1
- graceful-fs: 4.2.10
- jest-diff: 29.3.1
- jest-get-type: 29.2.0
- jest-haste-map: 29.3.1
- jest-matcher-utils: 29.3.1
- jest-message-util: 29.3.1
- jest-util: 29.3.1
- natural-compare: 1.4.0
- pretty-format: 29.3.1
- semver: 7.3.8
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /jest-util/29.3.1:
- resolution: {integrity: sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/types': 29.3.1
- '@types/node': 18.11.18
- chalk: 4.1.2
- ci-info: 3.7.1
- graceful-fs: 4.2.10
- picomatch: 2.3.1
- dev: true
-
- /jest-validate/29.3.1:
- resolution: {integrity: sha512-N9Lr3oYR2Mpzuelp1F8negJR3YE+L1ebk1rYA5qYo9TTY3f9OWdptLoNSPP9itOCBIRBqjt/S5XHlzYglLN67g==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/types': 29.3.1
- camelcase: 6.3.0
- chalk: 4.1.2
- jest-get-type: 29.2.0
- leven: 3.1.0
- pretty-format: 29.3.1
- dev: true
-
- /jest-watcher/29.3.1:
- resolution: {integrity: sha512-RspXG2BQFDsZSRKGCT/NiNa8RkQ1iKAjrO0//soTMWx/QUt+OcxMqMSBxz23PYGqUuWm2+m2mNNsmj0eIoOaFg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/test-result': 29.3.1
- '@jest/types': 29.3.1
- '@types/node': 18.11.18
- ansi-escapes: 4.3.2
- chalk: 4.1.2
- emittery: 0.13.1
- jest-util: 29.3.1
- string-length: 4.0.2
- dev: true
-
- /jest-worker/29.3.1:
- resolution: {integrity: sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@types/node': 18.11.18
- jest-util: 29.3.1
- merge-stream: 2.0.0
- supports-color: 8.1.1
- dev: true
-
- /jest/29.3.1_@types+node@18.11.18:
- resolution: {integrity: sha512-6iWfL5DTT0Np6UYs/y5Niu7WIfNv/wRTtN5RSXt2DIEft3dx3zPuw/3WJQBCJfmEzvDiEKwoqMbGD9n49+qLSA==}
- 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.3.1
- '@jest/types': 29.3.1
- import-local: 3.1.0
- jest-cli: 29.3.1_@types+node@18.11.18
- transitivePeerDependencies:
- - '@types/node'
- - supports-color
- - ts-node
- dev: true
-
- /js-sdsl/4.2.0:
- resolution: {integrity: sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==}
- dev: false
-
- /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: false
-
- /jsesc/2.5.2:
- resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
- engines: {node: '>=4'}
- hasBin: true
- dev: true
-
- /json-parse-even-better-errors/2.3.1:
- resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
- dev: true
-
- /json-schema-traverse/0.4.1:
- resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
- dev: false
-
- /json-stable-stringify-without-jsonify/1.0.1:
- resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
- dev: false
-
- /json5/1.0.2:
- resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
- hasBin: true
- dependencies:
- minimist: 1.2.7
- dev: false
-
- /json5/2.2.3:
- resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
- engines: {node: '>=6'}
- hasBin: true
- dev: true
-
- /jsx-ast-utils/3.3.3:
- resolution: {integrity: sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==}
- engines: {node: '>=4.0'}
- dependencies:
- array-includes: 3.1.6
- object.assign: 4.1.4
- dev: false
-
- /kleur/3.0.3:
- resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
- engines: {node: '>=6'}
- dev: true
-
- /language-subtag-registry/0.3.22:
- resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==}
- dev: false
-
- /language-tags/1.0.5:
- resolution: {integrity: sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==}
- dependencies:
- language-subtag-registry: 0.3.22
- dev: false
-
- /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: false
-
- /lilconfig/2.0.6:
- resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==}
- engines: {node: '>=10'}
-
- /lines-and-columns/1.2.4:
- resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
- 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: false
-
- /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: false
-
- /loose-envify/1.4.0:
- resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
- hasBin: true
- dependencies:
- js-tokens: 4.0.0
- dev: false
-
- /lru-cache/5.1.1:
- resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
- dependencies:
- yallist: 3.1.1
- dev: true
-
- /lru-cache/6.0.0:
- resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
- engines: {node: '>=10'}
- dependencies:
- yallist: 4.0.0
-
- /make-dir/3.1.0:
- resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
- engines: {node: '>=8'}
- dependencies:
- semver: 6.3.0
- dev: true
-
- /make-error/1.3.6:
- resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
- dev: true
-
- /makeerror/1.0.12:
- resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
- dependencies:
- tmpl: 1.0.5
- dev: true
-
- /merge-stream/2.0.0:
- resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
- dev: true
-
- /merge2/1.4.1:
- resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
- engines: {node: '>= 8'}
-
- /micromatch/4.0.5:
- resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
- engines: {node: '>=8.6'}
- dependencies:
- braces: 3.0.2
- picomatch: 2.3.1
-
- /mimic-fn/2.1.0:
- resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
- engines: {node: '>=6'}
- dev: true
-
- /mini-svg-data-uri/1.4.4:
- resolution: {integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==}
- hasBin: true
- dev: false
-
- /minimatch/3.1.2:
- resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
- dependencies:
- brace-expansion: 1.1.11
-
- /minimist/1.2.7:
- resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==}
-
- /ms/2.0.0:
- resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
- dev: false
-
- /ms/2.1.2:
- resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
-
- /ms/2.1.3:
- resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
- dev: false
-
- /nanoid/3.3.4:
- resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==}
- engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
- hasBin: true
-
- /natural-compare/1.4.0:
- resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
-
- /next/13.1.1_biqbaboplfbrettd7655fr4n2y:
- resolution: {integrity: sha512-R5eBAaIa3X7LJeYvv1bMdGnAVF4fVToEjim7MkflceFPuANY3YyvFxXee/A+acrSYwYPvOvf7f6v/BM/48ea5w==}
- engines: {node: '>=14.6.0'}
- hasBin: true
- peerDependencies:
- fibers: '>= 3.1.0'
- node-sass: ^6.0.0 || ^7.0.0
- react: ^18.2.0
- react-dom: ^18.2.0
- sass: ^1.3.0
- peerDependenciesMeta:
- fibers:
- optional: true
- node-sass:
- optional: true
- sass:
- optional: true
- dependencies:
- '@next/env': 13.1.1
- '@swc/helpers': 0.4.14
- caniuse-lite: 1.0.30001442
- postcss: 8.4.14
- react: 18.2.0
- react-dom: 18.2.0_react@18.2.0
- styled-jsx: 5.1.1_react@18.2.0
- optionalDependencies:
- '@next/swc-android-arm-eabi': 13.1.1
- '@next/swc-android-arm64': 13.1.1
- '@next/swc-darwin-arm64': 13.1.1
- '@next/swc-darwin-x64': 13.1.1
- '@next/swc-freebsd-x64': 13.1.1
- '@next/swc-linux-arm-gnueabihf': 13.1.1
- '@next/swc-linux-arm64-gnu': 13.1.1
- '@next/swc-linux-arm64-musl': 13.1.1
- '@next/swc-linux-x64-gnu': 13.1.1
- '@next/swc-linux-x64-musl': 13.1.1
- '@next/swc-win32-arm64-msvc': 13.1.1
- '@next/swc-win32-ia32-msvc': 13.1.1
- '@next/swc-win32-x64-msvc': 13.1.1
- transitivePeerDependencies:
- - '@babel/core'
- - babel-plugin-macros
- dev: false
-
- /node-fetch/2.6.7:
- resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==}
- engines: {node: 4.x || >=6.0.0}
- peerDependencies:
- encoding: ^0.1.0
- peerDependenciesMeta:
- encoding:
- optional: true
- dependencies:
- whatwg-url: 5.0.0
- dev: false
-
- /node-int64/0.4.0:
- resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
- dev: true
-
- /node-releases/2.0.8:
- resolution: {integrity: sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==}
- 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-run-path/4.0.1:
- resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
- engines: {node: '>=8'}
- dependencies:
- path-key: 3.1.1
- dev: true
-
- /object-assign/4.1.1:
- resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
- engines: {node: '>=0.10.0'}
- dev: false
-
- /object-hash/3.0.0:
- resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
- engines: {node: '>= 6'}
-
- /object-inspect/1.12.2:
- resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==}
- dev: false
-
- /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: false
-
- /object-keys/1.1.1:
- resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
- engines: {node: '>= 0.4'}
- dev: false
-
- /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: false
-
- /object.entries/1.1.6:
- resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.2
- define-properties: 1.1.4
- es-abstract: 1.21.1
- dev: false
-
- /object.fromentries/2.0.6:
- resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.2
- define-properties: 1.1.4
- es-abstract: 1.21.1
- dev: false
-
- /object.hasown/1.1.2:
- resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==}
- dependencies:
- define-properties: 1.1.4
- es-abstract: 1.21.1
- dev: false
-
- /object.values/1.1.6:
- resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.2
- define-properties: 1.1.4
- es-abstract: 1.21.1
- dev: false
-
- /once/1.4.0:
- resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
- dependencies:
- wrappy: 1.0.2
-
- /onetime/5.1.2:
- resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
- engines: {node: '>=6'}
- dependencies:
- mimic-fn: 2.1.0
- dev: true
-
- /open/8.4.0:
- resolution: {integrity: sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==}
- engines: {node: '>=12'}
- dependencies:
- define-lazy-prop: 2.0.0
- is-docker: 2.2.1
- is-wsl: 2.2.0
- dev: false
-
- /optionator/0.9.1:
- resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==}
- engines: {node: '>= 0.8.0'}
- dependencies:
- deep-is: 0.1.4
- fast-levenshtein: 2.0.6
- levn: 0.4.1
- prelude-ls: 1.2.1
- type-check: 0.4.0
- word-wrap: 1.2.3
- dev: false
-
- /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
-
- /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: false
-
- /p-try/2.2.0:
- resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
- engines: {node: '>=6'}
- 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: false
-
- /parse-json/5.2.0:
- resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
- engines: {node: '>=8'}
- dependencies:
- '@babel/code-frame': 7.18.6
- error-ex: 1.3.2
- json-parse-even-better-errors: 2.3.1
- lines-and-columns: 1.2.4
- dev: true
-
- /path-exists/4.0.0:
- resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
- engines: {node: '>=8'}
-
- /path-is-absolute/1.0.1:
- resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
- engines: {node: '>=0.10.0'}
-
- /path-key/3.1.1:
- resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
- engines: {node: '>=8'}
-
- /path-parse/1.0.7:
- resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
-
- /path-type/4.0.0:
- resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
- engines: {node: '>=8'}
- dev: false
-
- /picocolors/1.0.0:
- resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
-
- /picomatch/2.3.1:
- resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
- engines: {node: '>=8.6'}
-
- /pify/2.3.0:
- resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
- engines: {node: '>=0.10.0'}
-
- /pirates/4.0.5:
- resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==}
- 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
-
- /postcss-import/14.1.0_postcss@8.4.21:
- resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==}
- engines: {node: '>=10.0.0'}
- peerDependencies:
- postcss: ^8.0.0
- dependencies:
- postcss: 8.4.21
- postcss-value-parser: 4.2.0
- read-cache: 1.0.0
- resolve: 1.22.1
-
- /postcss-js/4.0.0_postcss@8.4.21:
- resolution: {integrity: sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==}
- engines: {node: ^12 || ^14 || >= 16}
- peerDependencies:
- postcss: ^8.3.3
- dependencies:
- camelcase-css: 2.0.1
- postcss: 8.4.21
-
- /postcss-load-config/3.1.4_postcss@8.4.21:
- resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
- engines: {node: '>= 10'}
- peerDependencies:
- postcss: '>=8.0.9'
- ts-node: '>=9.0.0'
- peerDependenciesMeta:
- postcss:
- optional: true
- ts-node:
- optional: true
- dependencies:
- lilconfig: 2.0.6
- postcss: 8.4.21
- yaml: 1.10.2
-
- /postcss-nested/6.0.0_postcss@8.4.21:
- resolution: {integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==}
- engines: {node: '>=12.0'}
- peerDependencies:
- postcss: ^8.2.14
- dependencies:
- postcss: 8.4.21
- postcss-selector-parser: 6.0.11
-
- /postcss-selector-parser/6.0.11:
- resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==}
- engines: {node: '>=4'}
- dependencies:
- cssesc: 3.0.0
- util-deprecate: 1.0.2
-
- /postcss-value-parser/4.2.0:
- resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
-
- /postcss/8.4.14:
- resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==}
- engines: {node: ^10 || ^12 || >=14}
- dependencies:
- nanoid: 3.3.4
- picocolors: 1.0.0
- source-map-js: 1.0.2
- dev: false
-
- /postcss/8.4.21:
- resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==}
- engines: {node: ^10 || ^12 || >=14}
- dependencies:
- nanoid: 3.3.4
- 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: false
-
- /pretty-format/29.3.1:
- resolution: {integrity: sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/schemas': 29.0.0
- ansi-styles: 5.2.0
- react-is: 18.2.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: false
-
- /punycode/2.2.0:
- resolution: {integrity: sha512-LN6QV1IJ9ZhxWTNdktaPClrNfp8xdSAYS0Zk2ddX7XsXZAxckMHPCBcHRo0cTcEIgYPRiGEkmji3Idkh2yFtYw==}
- engines: {node: '>=6'}
- dev: false
-
- /queue-microtask/1.2.3:
- resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
-
- /quick-lru/5.1.1:
- resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
- engines: {node: '>=10'}
-
- /react-dom/18.2.0_react@18.2.0:
- resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
- peerDependencies:
- react: ^18.2.0
- dependencies:
- loose-envify: 1.4.0
- react: 18.2.0
- scheduler: 0.23.0
- dev: false
-
- /react-is/16.13.1:
- resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
- dev: false
-
- /react-is/18.2.0:
- resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==}
- dev: true
-
- /react/18.2.0:
- resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
- engines: {node: '>=0.10.0'}
- dependencies:
- loose-envify: 1.4.0
- dev: false
-
- /read-cache/1.0.0:
- resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
- dependencies:
- pify: 2.3.0
-
- /readdirp/3.6.0:
- resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
- engines: {node: '>=8.10.0'}
- dependencies:
- picomatch: 2.3.1
-
- /regenerator-runtime/0.13.11:
- resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
- dev: false
-
- /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: false
-
- /regexpp/3.2.0:
- resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==}
- engines: {node: '>=8'}
- dev: false
-
- /require-directory/2.1.1:
- resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
- engines: {node: '>=0.10.0'}
- 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: false
-
- /resolve-from/5.0.0:
- resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
- engines: {node: '>=8'}
- dev: true
-
- /resolve.exports/1.1.1:
- resolution: {integrity: sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==}
- engines: {node: '>=10'}
- dev: true
-
- /resolve/1.22.1:
- resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==}
- hasBin: true
- dependencies:
- is-core-module: 2.11.0
- path-parse: 1.0.7
- supports-preserve-symlinks-flag: 1.0.0
-
- /resolve/2.0.0-next.4:
- resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==}
- hasBin: true
- dependencies:
- is-core-module: 2.11.0
- path-parse: 1.0.7
- supports-preserve-symlinks-flag: 1.0.0
- dev: false
-
- /reusify/1.0.4:
- resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
- engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
-
- /rimraf/3.0.2:
- resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
- hasBin: true
- dependencies:
- glob: 7.2.3
- dev: false
-
- /rome/11.0.0:
- resolution: {integrity: sha512-rRo6JOwpMLc3OkeTDRXkrmrDqnxDvZ75GS4f0jLDBNmRgDXWbu0F8eVnJoRn+VbK2AE7vWvhVOMBjnWowcopkQ==}
- engines: {node: '>=14.*'}
- hasBin: true
- requiresBuild: true
- optionalDependencies:
- '@rometools/cli-darwin-arm64': 11.0.0
- '@rometools/cli-darwin-x64': 11.0.0
- '@rometools/cli-linux-arm64': 11.0.0
- '@rometools/cli-linux-x64': 11.0.0
- '@rometools/cli-win32-arm64': 11.0.0
- '@rometools/cli-win32-x64': 11.0.0
- dev: true
-
- /run-parallel/1.2.0:
- resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
- dependencies:
- queue-microtask: 1.2.3
-
- /safe-regex-test/1.0.0:
- resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==}
- dependencies:
- call-bind: 1.0.2
- get-intrinsic: 1.1.3
- is-regex: 1.1.4
- dev: false
-
- /satori/0.0.46:
- resolution: {integrity: sha512-7RfTz38MB0n8tzmRHtUh1y0K7609CLBHpYuyZuh9rpf9FyhOd2in+6EHuqu6ul/Jebn1qD1HdYKtAMjb7uiNAQ==}
- engines: {node: '>=16'}
- dependencies:
- '@shuding/opentype.js': 1.4.0-beta.0
- css-background-parser: 0.1.0
- css-box-shadow: 1.0.0-3
- css-to-react-native: 3.1.0
- emoji-regex: 10.2.1
- postcss-value-parser: 4.2.0
- yoga-wasm-web: 0.3.0
- dev: false
-
- /scheduler/0.23.0:
- resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
- dependencies:
- loose-envify: 1.4.0
- dev: false
-
- /semver/6.3.0:
- resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
- hasBin: true
-
- /semver/7.3.8:
- resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==}
- engines: {node: '>=10'}
- hasBin: true
- dependencies:
- lru-cache: 6.0.0
-
- /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'}
-
- /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
- dev: false
-
- /signal-exit/3.0.7:
- resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
- 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'}
-
- /slash/4.0.0:
- resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==}
- engines: {node: '>=12'}
- dev: false
-
- /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/0.6.1:
- resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /sprintf-js/1.0.3:
- resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
- dev: true
-
- /stack-utils/2.0.6:
- resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==}
- engines: {node: '>=10'}
- dependencies:
- escape-string-regexp: 2.0.0
- 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.prototype.codepointat/0.2.1:
- resolution: {integrity: sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==}
- dev: false
-
- /string.prototype.matchall/4.0.8:
- resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==}
- dependencies:
- call-bind: 1.0.2
- define-properties: 1.1.4
- es-abstract: 1.21.1
- get-intrinsic: 1.1.3
- has-symbols: 1.0.3
- internal-slot: 1.0.4
- regexp.prototype.flags: 1.4.3
- side-channel: 1.0.4
- dev: false
-
- /string.prototype.trimend/1.0.6:
- resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==}
- dependencies:
- call-bind: 1.0.2
- define-properties: 1.1.4
- es-abstract: 1.21.1
- dev: false
-
- /string.prototype.trimstart/1.0.6:
- resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==}
- dependencies:
- call-bind: 1.0.2
- define-properties: 1.1.4
- es-abstract: 1.21.1
- dev: false
-
- /strip-ansi/6.0.1:
- resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
- engines: {node: '>=8'}
- dependencies:
- ansi-regex: 5.0.1
-
- /strip-bom/3.0.0:
- resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
- engines: {node: '>=4'}
- dev: false
-
- /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-json-comments/3.1.1:
- resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
- engines: {node: '>=8'}
-
- /styled-jsx/5.1.1_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:
- client-only: 0.0.1
- react: 18.2.0
- dev: false
-
- /supports-color/5.5.0:
- resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
- engines: {node: '>=4'}
- dependencies:
- has-flag: 3.0.0
- dev: true
-
- /supports-color/7.2.0:
- resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
- engines: {node: '>=8'}
- dependencies:
- has-flag: 4.0.0
-
- /supports-color/8.1.1:
- resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
- engines: {node: '>=10'}
- dependencies:
- has-flag: 4.0.0
- dev: true
-
- /supports-preserve-symlinks-flag/1.0.0:
- resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
- engines: {node: '>= 0.4'}
-
- /synckit/0.8.4:
- resolution: {integrity: sha512-Dn2ZkzMdSX827QbowGbU/4yjWuvNaCoScLLoMo/yKbu+P4GBR6cRGKZH27k6a9bRzdqcyd1DE96pQtQ6uNkmyw==}
- engines: {node: ^14.18.0 || >=16.0.0}
- dependencies:
- '@pkgr/utils': 2.3.1
- tslib: 2.4.1
- dev: false
-
- /tailwindcss/3.2.4_postcss@8.4.21:
- resolution: {integrity: sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==}
- engines: {node: '>=12.13.0'}
- hasBin: true
- peerDependencies:
- postcss: ^8.0.9
- dependencies:
- arg: 5.0.2
- chokidar: 3.5.3
- color-name: 1.1.4
- detective: 5.2.1
- didyoumean: 1.2.2
- dlv: 1.1.3
- fast-glob: 3.2.12
- glob-parent: 6.0.2
- is-glob: 4.0.3
- lilconfig: 2.0.6
- micromatch: 4.0.5
- normalize-path: 3.0.0
- object-hash: 3.0.0
- picocolors: 1.0.0
- postcss: 8.4.21
- postcss-import: 14.1.0_postcss@8.4.21
- postcss-js: 4.0.0_postcss@8.4.21
- postcss-load-config: 3.1.4_postcss@8.4.21
- postcss-nested: 6.0.0_postcss@8.4.21
- postcss-selector-parser: 6.0.11
- postcss-value-parser: 4.2.0
- quick-lru: 5.1.1
- resolve: 1.22.1
- transitivePeerDependencies:
- - ts-node
-
- /tapable/2.2.1:
- resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
- engines: {node: '>=6'}
- dev: false
-
- /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: false
-
- /tiny-glob/0.2.9:
- resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==}
- dependencies:
- globalyzer: 0.1.0
- globrex: 0.1.2
- dev: false
-
- /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'}
- dev: true
-
- /to-regex-range/5.0.1:
- resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
- engines: {node: '>=8.0'}
- dependencies:
- is-number: 7.0.0
-
- /tr46/0.0.3:
- resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
- dev: false
-
- /ts-jest/29.0.5_p6ekqnroyms5nhqbfxosryz7rm:
- resolution: {integrity: sha512-PL3UciSgIpQ7f6XjVOmbi96vmDHUqAyqDr8YxzopDqX3kfgYtX1cuNeBjP+L9sFXi6nzsGGA6R3fP3DDDJyrxA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- hasBin: true
- peerDependencies:
- '@babel/core': '>=7.0.0-beta.0 <8'
- '@jest/types': ^29.0.0
- babel-jest: ^29.0.0
- esbuild: '*'
- jest: ^29.0.0
- typescript: '>=4.3'
- peerDependenciesMeta:
- '@babel/core':
- optional: true
- '@jest/types':
- optional: true
- babel-jest:
- optional: true
- esbuild:
- optional: true
- dependencies:
- bs-logger: 0.2.6
- fast-json-stable-stringify: 2.1.0
- jest: 29.3.1_@types+node@18.11.18
- jest-util: 29.3.1
- json5: 2.2.3
- lodash.memoize: 4.1.2
- make-error: 1.3.6
- semver: 7.3.8
- typescript: 4.9.4
- yargs-parser: 21.1.1
- dev: true
-
- /tsconfig-paths/3.14.1:
- resolution: {integrity: sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==}
- dependencies:
- '@types/json5': 0.0.29
- json5: 1.0.2
- minimist: 1.2.7
- strip-bom: 3.0.0
- dev: false
-
- /tslib/1.14.1:
- resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
- dev: false
-
- /tslib/2.4.1:
- resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==}
- dev: false
-
- /tsutils/3.21.0_typescript@4.9.4:
- 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: 4.9.4
- dev: false
-
- /type-check/0.4.0:
- resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
- engines: {node: '>= 0.8.0'}
- dependencies:
- prelude-ls: 1.2.1
- dev: false
-
- /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: false
-
- /type-fest/0.21.3:
- resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
- engines: {node: '>=10'}
- 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.10
- dev: false
-
- /typescript/4.9.4:
- resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==}
- engines: {node: '>=4.2.0'}
- hasBin: 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: false
-
- /update-browserslist-db/1.0.10_browserslist@4.21.4:
- resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==}
- hasBin: true
- peerDependencies:
- browserslist: '>= 4.21.0'
- dependencies:
- browserslist: 4.21.4
- escalade: 3.1.1
- picocolors: 1.0.0
- dev: true
-
- /uri-js/4.4.1:
- resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
- dependencies:
- punycode: 2.2.0
- dev: false
-
- /util-deprecate/1.0.2:
- resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
-
- /v8-to-istanbul/9.0.1:
- resolution: {integrity: sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==}
- engines: {node: '>=10.12.0'}
- dependencies:
- '@jridgewell/trace-mapping': 0.3.17
- '@types/istanbul-lib-coverage': 2.0.4
- convert-source-map: 1.9.0
- dev: true
-
- /walker/1.0.8:
- resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
- dependencies:
- makeerror: 1.0.12
- dev: true
-
- /webidl-conversions/3.0.1:
- resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
- dev: false
-
- /whatwg-fetch/3.6.2:
- resolution: {integrity: sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==}
- dev: false
-
- /whatwg-url/5.0.0:
- resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
- dependencies:
- tr46: 0.0.3
- webidl-conversions: 3.0.1
- dev: false
-
- /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: false
-
- /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: false
-
- /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: false
-
- /which/2.0.2:
- resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
- engines: {node: '>= 8'}
- hasBin: true
- dependencies:
- isexe: 2.0.0
-
- /word-wrap/1.2.3:
- resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==}
- engines: {node: '>=0.10.0'}
- dev: false
-
- /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
-
- /wrappy/1.0.2:
- resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
-
- /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
-
- /xtend/4.0.2:
- resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
- engines: {node: '>=0.4'}
-
- /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==}
- dev: true
-
- /yallist/4.0.0:
- resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
-
- /yaml/1.10.2:
- resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
- engines: {node: '>= 6'}
-
- /yargs-parser/21.1.1:
- resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
- engines: {node: '>=12'}
- dev: true
-
- /yargs/17.6.2:
- resolution: {integrity: sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==}
- 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'}
-
- /yoga-wasm-web/0.3.0:
- resolution: {integrity: sha512-rD3L4jyMlO1m+RWU60lNwZQK5zmzglCV5fI1gTRikmpv3YzmNIZQbjyfE6cMNb9Xaly/C1SwemYGbsiOekMvnQ==}
- dev: false
-
- /zod/3.20.2:
- resolution: {integrity: sha512-1MzNQdAvO+54H+EaK5YpyEy0T+Ejo/7YLHS93G3RnYWh5gaotGHwGeN/ZO687qEDU2y4CdStQYXVHIgrUl5UVQ==}
- dev: false
diff --git a/envshare/postcss.config.js b/envshare/postcss.config.js
deleted file mode 100644
index 12a703d..0000000
--- a/envshare/postcss.config.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- plugins: {
- tailwindcss: {},
- autoprefixer: {},
- },
-};
diff --git a/envshare/public/fonts/Inter-SemiBold.ttf b/envshare/public/fonts/Inter-SemiBold.ttf
deleted file mode 100644
index c6aeeb1..0000000
--- a/envshare/public/fonts/Inter-SemiBold.ttf
+++ /dev/null
Binary files differ
diff --git a/envshare/rome.json b/envshare/rome.json
deleted file mode 100644
index 6bc4929..0000000
--- a/envshare/rome.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "$schema": "./node_modules/rome/configuration_schema.json",
- "linter": {
- "enabled": true,
- "rules": {
- "recommended": true
- },
- "ignore": [
- "node_modules",
- ".next",
- "dist",
- ".turbo"
- ]
- },
- "formatter": {
- "enabled": true,
- "lineWidth": 120,
- "indentStyle": "space",
- "ignore": [
- "node_modules",
- ".next",
- "dist",
- ".turbo"
- ]
- }
-} \ No newline at end of file
diff --git a/envshare/tailwind.config.js b/envshare/tailwind.config.js
deleted file mode 100644
index 5ddfa06..0000000
--- a/envshare/tailwind.config.js
+++ /dev/null
@@ -1,18 +0,0 @@
-const defaultTheme = require("tailwindcss/defaultTheme");
-
-/** @type {import('tailwindcss').Config} */
-module.exports = {
- content: ["./app/**/*.{js,ts,jsx,tsx}", "./pages/**/*.{js,ts,jsx,tsx}", "./components/**/*.{js,ts,jsx,tsx}"],
- theme: {
- fontFamily: {
- sans: ["var(--font-inter)", ...defaultTheme.fontFamily.sans],
- },
- extend: {
- dropShadow: {
- cta: ["0 10px 15px rgba(219, 227, 248, 0.2)"],
- blue: ["0 10px 15px rgba(59, 130, 246, 0.2)"],
- },
- },
- },
- plugins: [require("@tailwindcss/forms")],
-};
diff --git a/envshare/tsconfig.json b/envshare/tsconfig.json
deleted file mode 100644
index fb1a26c..0000000
--- a/envshare/tsconfig.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "compilerOptions": {
- "target": "esnext",
- "lib": ["dom", "dom.iterable", "esnext"],
- "allowJs": true,
- "skipLibCheck": true,
- "strict": true,
- "forceConsistentCasingInFileNames": true,
- "noEmit": true,
- "esModuleInterop": true,
- "module": "esnext",
- "moduleResolution": "node",
- "resolveJsonModule": true,
- "isolatedModules": true,
- "jsx": "preserve",
- "incremental": true,
- "downlevelIteration": true,
- "baseUrl": ".",
- "paths": {
- "@components/*": ["./app/components/*"]
- },
- "plugins": [
- {
- "name": "next"
- }
- ]
- },
- "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
- "exclude": ["node_modules"]
-}
diff --git a/envshare/util/base58.ts b/envshare/util/base58.ts
deleted file mode 100644
index 7eeee95..0000000
--- a/envshare/util/base58.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import baseX from "base-x";
-
-const alphabet = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
-
-export const toBase58 = (b: Uint8Array) => baseX(alphabet).encode(b);
-
-export const fromBase58 = (s: string) => baseX(alphabet).decode(s);