├── src
├── connectors
│ ├── index.ts
│ ├── injected.ts
│ └── types.ts
├── index.ts
├── hooks
│ ├── index.ts
│ ├── useModel.ts
│ ├── useContext.ts
│ ├── useCompletion.ts
│ └── useConnect.ts
├── types
│ ├── declarations.d.ts
│ └── index.ts
└── context.ts
├── .prettierrc
├── vite.config.ts
├── index.html
├── example
├── index.tsx
└── app.tsx
├── tsconfig.json
├── package.json
├── .gitignore
├── .eslintrc
├── README.md
└── pnpm-lock.yaml
/src/connectors/index.ts:
--------------------------------------------------------------------------------
1 | export { InjectedConnector } from './injected'
2 | export type { Connector, Data } from './types'
3 |
--------------------------------------------------------------------------------
/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from './connectors'
2 | export * from './hooks'
3 | export * from './types'
4 | export { Provider } from './context'
5 |
--------------------------------------------------------------------------------
/src/hooks/index.ts:
--------------------------------------------------------------------------------
1 | export { useCompletion } from './useCompletion'
2 | export { useConnect } from './useConnect'
3 | export { useModel } from './useModel'
4 |
--------------------------------------------------------------------------------
/src/hooks/useModel.ts:
--------------------------------------------------------------------------------
1 | import { useContext } from './useContext'
2 |
3 | export const useModel = () => {
4 | const [state] = useContext()
5 | return state.data?.model
6 | }
7 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "arrowParens": "always",
3 | "endOfLine": "lf",
4 | "printWidth": 80,
5 | "semi": false,
6 | "singleQuote": true,
7 | "tabWidth": 2,
8 | "trailingComma": "all"
9 | }
--------------------------------------------------------------------------------
/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from "vite";
2 | import react from "@vitejs/plugin-react";
3 |
4 | // https://vitejs.dev/config/
5 | export default defineConfig({
6 | define: {
7 | global: "globalThis",
8 | },
9 | plugins: [react()],
10 | });
11 |
--------------------------------------------------------------------------------
/src/hooks/useContext.ts:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import { Context } from '../context'
3 |
4 | export const useContext = () => {
5 | const context = React.useContext(Context)
6 | if (!context) throw Error(`useContext must be used within a Provider`)
7 |
8 | return context
9 | }
10 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Wanda
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/example/index.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import * as ReactDOMClient from 'react-dom/client'
3 |
4 | import { App } from './app'
5 | import { InjectedConnector, Provider } from '@wanda-dev/react'
6 |
7 | const root = ReactDOMClient.createRoot(document.getElementById('root')!)
8 |
9 | root.render(
10 |
11 |
12 |
13 |
14 | ,
15 | )
16 |
--------------------------------------------------------------------------------
/src/hooks/useCompletion.ts:
--------------------------------------------------------------------------------
1 | import { useContext } from './useContext'
2 | import { CompletionOptions, Input } from '../types'
3 |
4 | export const useCompletion = () => {
5 | const [state] = useContext()
6 |
7 | const getCompletion = async (
8 | input: T,
9 | options?: CompletionOptions,
10 | ) => {
11 | const provider = await state.connector?.getProvider()
12 |
13 | if (!provider) {
14 | throw Error('No provider found')
15 | }
16 |
17 | return provider.getCompletion(input, options)
18 | }
19 |
20 | return { getCompletion }
21 | }
22 |
--------------------------------------------------------------------------------
/src/types/declarations.d.ts:
--------------------------------------------------------------------------------
1 | import {
2 | CompletionOptions,
3 | ErrorCode,
4 | EventType,
5 | Input,
6 | MessageOutput,
7 | ModelID,
8 | PromptInput,
9 | TextOutput,
10 | } from '.'
11 |
12 | interface WindowAiProvider {
13 | getCurrentModel: () => Promise
14 | getCompletion(
15 | input: T,
16 | options?: CompletionOptions,
17 | ): Promise
18 | addEventListener?(
19 | handler: (event: EventType, data: T | ErrorCode) => void,
20 | ): string
21 | }
22 |
23 | declare global {
24 | interface Window {
25 | ai?: WindowAiProvider
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "allowJs": false,
4 | "allowSyntheticDefaultImports": true,
5 | "esModuleInterop": false,
6 | "forceConsistentCasingInFileNames": true,
7 | "isolatedModules": true,
8 | "declaration": true,
9 | "declarationMap": true,
10 | "jsx": "react-jsx",
11 | "lib": ["DOM", "DOM.Iterable", "ESNext"],
12 | "module": "ESNext",
13 | "moduleResolution": "Node",
14 | "resolveJsonModule": true,
15 | "skipLibCheck": false,
16 | "strict": true,
17 | "target": "ESNext",
18 | "useDefineForClassFields": true,
19 | "types": ["node"],
20 | "outDir": "./dist"
21 | },
22 | "include": ["./src/**/*"],
23 | "exclude": ["node_modules"]
24 | }
25 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@wanda-dev/react",
3 | "version": "0.0.1",
4 | "scripts": {
5 | "dev": "vite",
6 | "build": "tsc",
7 | "serve": "vite preview"
8 | },
9 | "main": "dist/index.js",
10 | "types": "dist/index.d.ts",
11 | "keywords": [],
12 | "author": "",
13 | "license": "ISC",
14 | "peerDependencies": {
15 | "react": "^18.2.0",
16 | "react-dom": "^18.2.0"
17 | },
18 | "devDependencies": {
19 | "@types/node": "^18.15.11",
20 | "@types/react": "^18.0.34",
21 | "@types/react-dom": "^18.0.11",
22 | "@vitejs/plugin-react": "^3.1.0",
23 | "eslint": "^8.38.0",
24 | "eslint-config-prettier": "^8.8.0",
25 | "eslint-import-resolver-typescript": "^3.5.5",
26 | "eslint-plugin-eslint-comments": "^3.2.0",
27 | "eslint-plugin-import": "^2.27.5",
28 | "eslint-plugin-prettier": "^4.2.1",
29 | "eslint-plugin-react": "^7.32.2",
30 | "eslint-plugin-react-hooks": "^4.6.0",
31 | "prettier": "^2.8.7",
32 | "react": "^18.2.0",
33 | "react-dom": "^18.2.0",
34 | "typescript": "^5.0.4",
35 | "vite": "^4.2.1"
36 | },
37 | "dependencies": {
38 | "events": "^3.3.0"
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/src/types/index.ts:
--------------------------------------------------------------------------------
1 | export type Message = {
2 | role: 'system' | 'user' | 'assistant'
3 | content: string
4 | }
5 |
6 | export type PromptInput = {
7 | prompt: string
8 | }
9 |
10 | export type MessagesInput = {
11 | messages: Message[]
12 | }
13 |
14 | export type Input = PromptInput | MessagesInput
15 |
16 | export type TextOutput = {
17 | text: string
18 | }
19 |
20 | export type MessageOutput = {
21 | message: Message
22 | }
23 |
24 | export enum EventType {
25 | ModelChanged = 'model_changed',
26 | Error = 'error',
27 | }
28 |
29 | export enum ErrorCode {
30 | NotAuthenticated = 'NOT_AUTHENTICATED',
31 | PermissionDenied = 'PERMISSION_DENIED',
32 | RequestNotFound = 'REQUEST_NOT_FOUND',
33 | InvalidRequest = 'INVALID_REQUEST',
34 | ModelRejectedRequest = 'MODEL_REJECTED_REQUEST',
35 | }
36 |
37 | export enum ModelID {
38 | GPT3 = 'openai/gpt3.5',
39 | GPT4 = 'openai/gpt4',
40 | GPTNeo = 'together/gpt-neoxt-20B',
41 | Cohere = 'cohere/xlarge',
42 | Local = 'local',
43 | }
44 |
45 | export interface CompletionOptions {
46 | temperature?: number
47 | numOutputs?: number
48 | maxTokens?: number
49 | stopSequences?: string[]
50 | model?: ModelID
51 |
52 | onStreamResult?: (
53 | result: T extends PromptInput ? TextOutput : MessageOutput,
54 | error: string | null,
55 | ) => unknown
56 | }
57 |
--------------------------------------------------------------------------------
/src/hooks/useConnect.ts:
--------------------------------------------------------------------------------
1 | import { useCallback, useState } from 'react'
2 | import { useContext } from './useContext'
3 | import { Connector } from '../connectors'
4 |
5 | type UseConnectState = {
6 | connecting: boolean
7 | error?: Error
8 | }
9 |
10 | export const useConnect = () => {
11 | const [globalState, setGlobalState] = useContext()
12 | const [state, setState] = useState({ connecting: false })
13 |
14 | const connect = useCallback(
15 | async (connector: Connector) => {
16 | try {
17 | if (connector === globalState.connector) return
18 |
19 | setGlobalState((state) => ({ ...state, connector }))
20 | setState((state) => ({ ...state, connecting: true, error: undefined }))
21 | const data = await connector.activate()
22 | setGlobalState((state) => ({ ...state, data }))
23 | } catch (error) {
24 | console.error(error)
25 | setState((state) => ({ ...state, error: error as Error }))
26 | } finally {
27 | setState((state) => ({ ...state, connecting: false }))
28 | }
29 | },
30 | [globalState.connector, setGlobalState],
31 | )
32 |
33 | return [
34 | {
35 | connecting: state.connecting,
36 | connector: globalState.connector,
37 | connectors: globalState.connectors,
38 | error: state.error,
39 | },
40 | connect,
41 | ] as const
42 | }
43 |
--------------------------------------------------------------------------------
/example/app.tsx:
--------------------------------------------------------------------------------
1 | import React, { FormEvent, useState } from 'react'
2 |
3 | import { useCompletion, useConnect, useModel } from '@wanda-dev/react'
4 |
5 | export const App = () => {
6 | const [{ connectors, error }, connect] = useConnect()
7 | const model = useModel()
8 | const { getCompletion } = useCompletion()
9 | const [prompt, setPrompt] = useState('')
10 | const [output, setOutput] = useState('')
11 |
12 | async function handleSubmit(e: FormEvent) {
13 | e.preventDefault()
14 |
15 | const completion = await getCompletion({ prompt })
16 | setOutput(completion.text)
17 | }
18 |
19 | if (model) {
20 | return (
21 | <>
22 | You are currently connected to window.ai: {model}
23 |
24 |
33 |
34 | {output && (
35 | <>
36 | Output: {output}
37 | >
38 | )}
39 | >
40 | )
41 | }
42 |
43 | return (
44 |
45 | {connectors.map((connector) => (
46 |
49 | ))}
50 |
51 | {error && Failed to connect: {error.message}}
52 |
53 | )
54 | }
55 |
--------------------------------------------------------------------------------
/src/context.ts:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import { Connector, Data, InjectedConnector } from './connectors'
3 |
4 | type State = {
5 | connector?: Connector
6 | data?: Data
7 | error?: Error
8 | }
9 |
10 | type ContextValue = [
11 | {
12 | connectors: Connector[]
13 | connector?: State['connector']
14 | data?: State['data']
15 | },
16 | React.Dispatch>,
17 | ]
18 |
19 | export const Context = React.createContext(null)
20 |
21 | type Props = {
22 | connectors: Connector[]
23 | }
24 |
25 | export const Provider: React.FC> = ({
26 | children,
27 | connectors = [new InjectedConnector()],
28 | }) => {
29 | const [state, setState] = React.useState({})
30 |
31 | React.useEffect(() => {
32 | if (!state.connector) return
33 |
34 | const handleChange = (data: Data) => {
35 | setState((state) => ({ ...state, data }))
36 | }
37 |
38 | state.connector.on('change', handleChange)
39 |
40 | return () => {
41 | if (!state.connector) return
42 | state.connector.off('change', handleChange)
43 | }
44 | }, [state.connector])
45 |
46 | // Close connectors when unmounting
47 | React.useEffect(() => {
48 | return () => {
49 | if (!state.connector) return
50 | state.connector.deactivate()
51 | }
52 | }, [state.connector])
53 |
54 | const value = [
55 | {
56 | connectors,
57 | connector: state.connector,
58 | data: state.data,
59 | },
60 | setState,
61 | ] as ContextValue
62 |
63 | return React.createElement(Context.Provider, { value }, children)
64 | }
65 |
--------------------------------------------------------------------------------
/src/connectors/injected.ts:
--------------------------------------------------------------------------------
1 | import { ErrorCode, EventType, ModelID } from '../types'
2 | import { WindowAiProvider } from '../types/declarations'
3 | import { Connector, Data } from './types'
4 |
5 | export class InjectedConnector extends Connector {
6 | name = 'injected'
7 |
8 | constructor() {
9 | super()
10 |
11 | this.handleEvent = this.handleEvent.bind(this)
12 | }
13 |
14 | async activate(): Promise {
15 | if (!window.ai) throw Error(`window.ai not found`)
16 |
17 | if (window.ai.addEventListener) {
18 | window.ai.addEventListener(this.handleEvent)
19 | }
20 |
21 | try {
22 | const model = await window.ai.getCurrentModel()
23 | return { model, provider: window.ai }
24 | } catch (error) {
25 | throw Error(`activate failed`)
26 | }
27 | }
28 |
29 | deactivate(): void {
30 | // no-op
31 | // Disconnect event listeners here once window.ai upstream has removeEventListener
32 | }
33 |
34 | async getModel(): Promise {
35 | if (!window.ai) throw Error(`window.ai not found`)
36 |
37 | try {
38 | return await window.ai.getCurrentModel()
39 | } catch {
40 | throw Error('model not found')
41 | }
42 | }
43 |
44 | async getProvider(): Promise {
45 | if (!window.ai) throw Error(`window.ai not found`)
46 |
47 | return window.ai
48 | }
49 |
50 | private handleEvent(event: EventType, data: unknown) {
51 | if (event === EventType.ModelChanged) {
52 | this.emit('change', { model: (<{ model: ModelID }>data).model })
53 | } else if (event === EventType.Error) {
54 | this.emit('error', Error(data as ErrorCode))
55 | }
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/src/connectors/types.ts:
--------------------------------------------------------------------------------
1 | import EventEmitter from 'events'
2 | import { ModelID } from '../types'
3 | import { WindowAiProvider } from '../types/declarations'
4 |
5 | export type Data = {
6 | model?: ModelID
7 | provider?: WindowAiProvider
8 | }
9 |
10 | type EventMap = {
11 | change: Data
12 | disconnect: undefined
13 | error: Error
14 | }
15 |
16 | type EventKey = string & keyof T
17 | type EventReceiver = (params: T) => void
18 |
19 | interface IEmitter {
20 | on>(eventName: K, fn: EventReceiver): void
21 | off>(eventName: K, fn: EventReceiver): void
22 | emit>(
23 | eventName: K,
24 | ...params: T[K] extends undefined ? [undefined?] : [T[K]]
25 | ): void
26 | }
27 |
28 | export abstract class Emitter implements IEmitter {
29 | private emitter = new EventEmitter()
30 |
31 | on>(
32 | eventName: K,
33 | fn: EventReceiver,
34 | ): void {
35 | this.emitter.on(eventName, fn)
36 | }
37 |
38 | off>(
39 | eventName: K,
40 | fn: EventReceiver,
41 | ): void {
42 | this.emitter.off(eventName, fn)
43 | }
44 |
45 | emit>(
46 | eventName: K,
47 | ...params: EventMap[K] extends undefined ? [undefined?] : [EventMap[K]]
48 | ): void {
49 | this.emitter.emit(eventName, ...params)
50 | }
51 | }
52 |
53 | export abstract class Connector extends Emitter {
54 | abstract name: string
55 |
56 | abstract activate(): Promise
57 | abstract deactivate(): void
58 | abstract getModel(): Promise
59 | abstract getProvider(): Promise
60 | }
61 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | lerna-debug.log*
8 | .pnpm-debug.log*
9 |
10 | # Diagnostic reports (https://nodejs.org/api/report.html)
11 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
12 |
13 | # Runtime data
14 | pids
15 | *.pid
16 | *.seed
17 | *.pid.lock
18 |
19 | # Directory for instrumented libs generated by jscoverage/JSCover
20 | lib-cov
21 |
22 | # Coverage directory used by tools like istanbul
23 | coverage
24 | *.lcov
25 |
26 | # nyc test coverage
27 | .nyc_output
28 |
29 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
30 | .grunt
31 |
32 | # Bower dependency directory (https://bower.io/)
33 | bower_components
34 |
35 | # node-waf configuration
36 | .lock-wscript
37 |
38 | # Compiled binary addons (https://nodejs.org/api/addons.html)
39 | build/Release
40 |
41 | # Dependency directories
42 | node_modules/
43 | jspm_packages/
44 |
45 | # Snowpack dependency directory (https://snowpack.dev/)
46 | web_modules/
47 |
48 | # TypeScript cache
49 | *.tsbuildinfo
50 |
51 | # Optional npm cache directory
52 | .npm
53 |
54 | # Optional eslint cache
55 | .eslintcache
56 |
57 | # Optional stylelint cache
58 | .stylelintcache
59 |
60 | # Microbundle cache
61 | .rpt2_cache/
62 | .rts2_cache_cjs/
63 | .rts2_cache_es/
64 | .rts2_cache_umd/
65 |
66 | # Optional REPL history
67 | .node_repl_history
68 |
69 | # Output of 'npm pack'
70 | *.tgz
71 |
72 | # Yarn Integrity file
73 | .yarn-integrity
74 |
75 | # dotenv environment variable files
76 | .env
77 | .env.development.local
78 | .env.test.local
79 | .env.production.local
80 | .env.local
81 |
82 | # parcel-bundler cache (https://parceljs.org/)
83 | .cache
84 | .parcel-cache
85 |
86 | # Next.js build output
87 | .next
88 | out
89 |
90 | # Nuxt.js build / generate output
91 | .nuxt
92 | dist
93 |
94 | # Gatsby files
95 | .cache/
96 | # Comment in the public line in if your project uses Gatsby and not Next.js
97 | # https://nextjs.org/blog/next-9-1#public-directory-support
98 | # public
99 |
100 | # vuepress build output
101 | .vuepress/dist
102 |
103 | # vuepress v2.x temp and cache directory
104 | .temp
105 | .cache
106 |
107 | # Docusaurus cache and generated files
108 | .docusaurus
109 |
110 | # Serverless directories
111 | .serverless/
112 |
113 | # FuseBox cache
114 | .fusebox/
115 |
116 | # DynamoDB Local files
117 | .dynamodb/
118 |
119 | # TernJS port file
120 | .tern-port
121 |
122 | # Stores VSCode versions used for testing VSCode extensions
123 | .vscode-test
124 |
125 | # yarn v2
126 | .yarn/cache
127 | .yarn/unplugged
128 | .yarn/build-state.yml
129 | .yarn/install-state.gz
130 | .pnp.*
--------------------------------------------------------------------------------
/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "root": true,
3 | "parser": "@typescript-eslint/parser",
4 | "parserOptions": {
5 | "ecmaVersion": 8,
6 | "sourceType": "module",
7 | "ecmaFeatures": {
8 | "impliedStrict": true,
9 | "experimentalObjectRestSpread": true
10 | },
11 | "allowImportExportEverywhere": true
12 | },
13 | "plugins": ["@typescript-eslint", "import", "react", "jest"],
14 | "extends": [
15 | "eslint:recommended",
16 | "plugin:eslint-comments/recommended",
17 | "plugin:@typescript-eslint/recommended",
18 | "plugin:import/errors",
19 | "plugin:import/warnings",
20 | "plugin:import/typescript",
21 | "plugin:react/recommended",
22 | "plugin:react-hooks/recommended",
23 | "plugin:prettier/recommended",
24 | "prettier"
25 | ],
26 | "rules": {
27 | // `@typescript-eslint`
28 | // https://github.com/typescript-eslint/typescript-eslint
29 | "@typescript-eslint/explicit-module-boundary-types": "off",
30 | "@typescript-eslint/no-explicit-any": "off",
31 | "@typescript-eslint/no-unused-vars": [
32 | 2,
33 | {
34 | "argsIgnorePattern": "^_"
35 | }
36 | ],
37 | "@typescript-eslint/no-var-requires": "off",
38 | // `eslint-plugin-import`
39 | // https://github.com/benmosher/eslint-plugin-import
40 | "import/order": [
41 | "error",
42 | {
43 | "groups": ["external", "internal"],
44 | "newlines-between": "always-and-inside-groups"
45 | }
46 | ],
47 | "sort-imports": [
48 | "warn",
49 | {
50 | "ignoreCase": false,
51 | "ignoreDeclarationSort": true,
52 | "ignoreMemberSort": false
53 | }
54 | ],
55 | // `eslint-plugin-react`
56 | // https://github.com/yannickcr/eslint-plugin-react
57 | "react/display-name": "off",
58 | "react/jsx-boolean-value": ["warn", "never"],
59 | "react/jsx-curly-brace-presence": [
60 | "error",
61 | { "props": "never", "children": "ignore" }
62 | ],
63 | "react/jsx-sort-props": [
64 | "error",
65 | {
66 | "callbacksLast": true
67 | }
68 | ],
69 | "react/jsx-wrap-multilines": "error",
70 | "react/no-array-index-key": "error",
71 | "react/no-multi-comp": "off",
72 | "react/prop-types": "off",
73 | "react/self-closing-comp": "warn"
74 | },
75 | "settings": {
76 | "import/parsers": {
77 | "@typescript-eslint/parser": [".ts", ".tsx", ".d.ts"]
78 | },
79 | "import/resolver": {
80 | "typescript": {
81 | "alwaysTryTypes": true
82 | }
83 | },
84 | "react": {
85 | "version": "detect"
86 | }
87 | },
88 | "env": {
89 | "es6": true,
90 | "browser": true,
91 | "node": true,
92 | "jest": true
93 | }
94 | }
95 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Wanda - React Hooks for keyless AI
2 |
3 | **wanda** is a collection of React Hooks to get you up and running with keyless AI in a matter of minutes.
4 |
5 | ```
6 | npm install @wanda-dev/react
7 | ```
8 |
9 | ## Features
10 |
11 | - Hooks for working with injected `window.ai`
12 | - TypeScript ready
13 |
14 | ## Documentation
15 |
16 | ### Connectors
17 |
18 | Wanda makes the use of connectors to identify keyless AI wallets. For now, there is only one connector - `injected` - which supports [Window.AI](https://windowai.io).
19 |
20 | When setting up the context provider for Wanda in your React App, you need to supply a list of connectors you'd like to support. By default, it comes with the Injected Connector supported.
21 |
22 | ### Hooks
23 |
24 | #### `useConnect`
25 |
26 | The `useConnect` hook offers a way to connect to keyless AI through a given connector.
27 |
28 | ```tsx
29 | export function MyComponent() {
30 | const [{ connectors, error }, connect] = useConnect()
31 |
32 | return (
33 |
34 | {connectors.map((connector) => (
35 |
38 | ))}
39 |
40 | {error && Failed to connect: {error.message}}
41 |
42 | )
43 | }
44 | ```
45 |
46 | #### `useModel`
47 |
48 | The `useModel` hook provides the `ModelID` that is currently set as default through the connector.
49 |
50 | This is useful for displaying what model is being used currently on the frontend. It's also useful for detecting if `window.ai` is currently injected or not, as `model` will be undefined if not.
51 |
52 | ```tsx
53 | export function MyComponent() {
54 | const model = useModel();
55 |
56 | if (model) {
57 | return (
58 | You are currently connected to {model}
59 | )
60 | }
61 |
62 | return (
63 | // Show prompt to install window.ai
64 | )
65 | }
66 | ```
67 |
68 | #### `useCompletion`
69 |
70 | This is the main hook you will be using. It provides a function to request the connector to provide a completion to a given prompt. You can also pass it an `options` object to customize the request. Currently supports all options supported by `window.ai`
71 |
72 | ```tsx
73 | export function MyComponent() {
74 | const { getCompletion } = useCompletion()
75 | const [prompt, setPrompt] = useState('')
76 | const [output, setOutput] = useState('')
77 |
78 | async function handleSubmit(e: FormEvent) {
79 | e.preventDefault()
80 |
81 | const completion = await getCompletion({ prompt })
82 | setOutput(completion.text)
83 | }
84 |
85 | return (
86 | <>
87 |
96 |
97 | {output && (
98 | <>
99 | Output: {output}
100 | >
101 | )}
102 | >
103 | )
104 | }
105 | ```
106 |
107 | ### Examples
108 |
109 | Look in the `example` directory to see an example application using React.
110 |
111 | ## License
112 |
113 | This project is licensed under the MIT License.
114 |
115 | ## Authors
116 |
117 | - Haardik ([@haardikkk](https://twitter.com/haardikkk), [@haardikk21](https://github.com/haardikk21))
118 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '6.0'
2 |
3 | dependencies:
4 | events:
5 | specifier: ^3.3.0
6 | version: 3.3.0
7 |
8 | devDependencies:
9 | '@types/node':
10 | specifier: ^18.15.11
11 | version: 18.15.11
12 | '@types/react':
13 | specifier: ^18.0.34
14 | version: 18.0.34
15 | '@types/react-dom':
16 | specifier: ^18.0.11
17 | version: 18.0.11
18 | '@vitejs/plugin-react':
19 | specifier: ^3.1.0
20 | version: 3.1.0(vite@4.2.1)
21 | eslint:
22 | specifier: ^8.38.0
23 | version: 8.38.0
24 | eslint-config-prettier:
25 | specifier: ^8.8.0
26 | version: 8.8.0(eslint@8.38.0)
27 | eslint-import-resolver-typescript:
28 | specifier: ^3.5.5
29 | version: 3.5.5(eslint-plugin-import@2.27.5)(eslint@8.38.0)
30 | eslint-plugin-eslint-comments:
31 | specifier: ^3.2.0
32 | version: 3.2.0(eslint@8.38.0)
33 | eslint-plugin-import:
34 | specifier: ^2.27.5
35 | version: 2.27.5(eslint-import-resolver-typescript@3.5.5)(eslint@8.38.0)
36 | eslint-plugin-prettier:
37 | specifier: ^4.2.1
38 | version: 4.2.1(eslint-config-prettier@8.8.0)(eslint@8.38.0)(prettier@2.8.7)
39 | eslint-plugin-react:
40 | specifier: ^7.32.2
41 | version: 7.32.2(eslint@8.38.0)
42 | eslint-plugin-react-hooks:
43 | specifier: ^4.6.0
44 | version: 4.6.0(eslint@8.38.0)
45 | prettier:
46 | specifier: ^2.8.7
47 | version: 2.8.7
48 | react:
49 | specifier: ^18.2.0
50 | version: 18.2.0
51 | react-dom:
52 | specifier: ^18.2.0
53 | version: 18.2.0(react@18.2.0)
54 | typescript:
55 | specifier: ^5.0.4
56 | version: 5.0.4
57 | vite:
58 | specifier: ^4.2.1
59 | version: 4.2.1(@types/node@18.15.11)
60 |
61 | packages:
62 |
63 | /@ampproject/remapping@2.2.1:
64 | resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==}
65 | engines: {node: '>=6.0.0'}
66 | dependencies:
67 | '@jridgewell/gen-mapping': 0.3.3
68 | '@jridgewell/trace-mapping': 0.3.18
69 | dev: true
70 |
71 | /@babel/code-frame@7.21.4:
72 | resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==}
73 | engines: {node: '>=6.9.0'}
74 | dependencies:
75 | '@babel/highlight': 7.18.6
76 | dev: true
77 |
78 | /@babel/compat-data@7.21.4:
79 | resolution: {integrity: sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==}
80 | engines: {node: '>=6.9.0'}
81 | dev: true
82 |
83 | /@babel/core@7.21.4:
84 | resolution: {integrity: sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==}
85 | engines: {node: '>=6.9.0'}
86 | dependencies:
87 | '@ampproject/remapping': 2.2.1
88 | '@babel/code-frame': 7.21.4
89 | '@babel/generator': 7.21.4
90 | '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4)
91 | '@babel/helper-module-transforms': 7.21.2
92 | '@babel/helpers': 7.21.0
93 | '@babel/parser': 7.21.4
94 | '@babel/template': 7.20.7
95 | '@babel/traverse': 7.21.4
96 | '@babel/types': 7.21.4
97 | convert-source-map: 1.9.0
98 | debug: 4.3.4
99 | gensync: 1.0.0-beta.2
100 | json5: 2.2.3
101 | semver: 6.3.0
102 | transitivePeerDependencies:
103 | - supports-color
104 | dev: true
105 |
106 | /@babel/generator@7.21.4:
107 | resolution: {integrity: sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==}
108 | engines: {node: '>=6.9.0'}
109 | dependencies:
110 | '@babel/types': 7.21.4
111 | '@jridgewell/gen-mapping': 0.3.3
112 | '@jridgewell/trace-mapping': 0.3.18
113 | jsesc: 2.5.2
114 | dev: true
115 |
116 | /@babel/helper-compilation-targets@7.21.4(@babel/core@7.21.4):
117 | resolution: {integrity: sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==}
118 | engines: {node: '>=6.9.0'}
119 | peerDependencies:
120 | '@babel/core': ^7.0.0
121 | dependencies:
122 | '@babel/compat-data': 7.21.4
123 | '@babel/core': 7.21.4
124 | '@babel/helper-validator-option': 7.21.0
125 | browserslist: 4.21.5
126 | lru-cache: 5.1.1
127 | semver: 6.3.0
128 | dev: true
129 |
130 | /@babel/helper-environment-visitor@7.18.9:
131 | resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==}
132 | engines: {node: '>=6.9.0'}
133 | dev: true
134 |
135 | /@babel/helper-function-name@7.21.0:
136 | resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==}
137 | engines: {node: '>=6.9.0'}
138 | dependencies:
139 | '@babel/template': 7.20.7
140 | '@babel/types': 7.21.4
141 | dev: true
142 |
143 | /@babel/helper-hoist-variables@7.18.6:
144 | resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==}
145 | engines: {node: '>=6.9.0'}
146 | dependencies:
147 | '@babel/types': 7.21.4
148 | dev: true
149 |
150 | /@babel/helper-module-imports@7.21.4:
151 | resolution: {integrity: sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==}
152 | engines: {node: '>=6.9.0'}
153 | dependencies:
154 | '@babel/types': 7.21.4
155 | dev: true
156 |
157 | /@babel/helper-module-transforms@7.21.2:
158 | resolution: {integrity: sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==}
159 | engines: {node: '>=6.9.0'}
160 | dependencies:
161 | '@babel/helper-environment-visitor': 7.18.9
162 | '@babel/helper-module-imports': 7.21.4
163 | '@babel/helper-simple-access': 7.20.2
164 | '@babel/helper-split-export-declaration': 7.18.6
165 | '@babel/helper-validator-identifier': 7.19.1
166 | '@babel/template': 7.20.7
167 | '@babel/traverse': 7.21.4
168 | '@babel/types': 7.21.4
169 | transitivePeerDependencies:
170 | - supports-color
171 | dev: true
172 |
173 | /@babel/helper-plugin-utils@7.20.2:
174 | resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==}
175 | engines: {node: '>=6.9.0'}
176 | dev: true
177 |
178 | /@babel/helper-simple-access@7.20.2:
179 | resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==}
180 | engines: {node: '>=6.9.0'}
181 | dependencies:
182 | '@babel/types': 7.21.4
183 | dev: true
184 |
185 | /@babel/helper-split-export-declaration@7.18.6:
186 | resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==}
187 | engines: {node: '>=6.9.0'}
188 | dependencies:
189 | '@babel/types': 7.21.4
190 | dev: true
191 |
192 | /@babel/helper-string-parser@7.19.4:
193 | resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==}
194 | engines: {node: '>=6.9.0'}
195 | dev: true
196 |
197 | /@babel/helper-validator-identifier@7.19.1:
198 | resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==}
199 | engines: {node: '>=6.9.0'}
200 | dev: true
201 |
202 | /@babel/helper-validator-option@7.21.0:
203 | resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==}
204 | engines: {node: '>=6.9.0'}
205 | dev: true
206 |
207 | /@babel/helpers@7.21.0:
208 | resolution: {integrity: sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==}
209 | engines: {node: '>=6.9.0'}
210 | dependencies:
211 | '@babel/template': 7.20.7
212 | '@babel/traverse': 7.21.4
213 | '@babel/types': 7.21.4
214 | transitivePeerDependencies:
215 | - supports-color
216 | dev: true
217 |
218 | /@babel/highlight@7.18.6:
219 | resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==}
220 | engines: {node: '>=6.9.0'}
221 | dependencies:
222 | '@babel/helper-validator-identifier': 7.19.1
223 | chalk: 2.4.2
224 | js-tokens: 4.0.0
225 | dev: true
226 |
227 | /@babel/parser@7.21.4:
228 | resolution: {integrity: sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==}
229 | engines: {node: '>=6.0.0'}
230 | hasBin: true
231 | dependencies:
232 | '@babel/types': 7.21.4
233 | dev: true
234 |
235 | /@babel/plugin-transform-react-jsx-self@7.21.0(@babel/core@7.21.4):
236 | resolution: {integrity: sha512-f/Eq+79JEu+KUANFks9UZCcvydOOGMgF7jBrcwjHa5jTZD8JivnhCJYvmlhR/WTXBWonDExPoW0eO/CR4QJirA==}
237 | engines: {node: '>=6.9.0'}
238 | peerDependencies:
239 | '@babel/core': ^7.0.0-0
240 | dependencies:
241 | '@babel/core': 7.21.4
242 | '@babel/helper-plugin-utils': 7.20.2
243 | dev: true
244 |
245 | /@babel/plugin-transform-react-jsx-source@7.19.6(@babel/core@7.21.4):
246 | resolution: {integrity: sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==}
247 | engines: {node: '>=6.9.0'}
248 | peerDependencies:
249 | '@babel/core': ^7.0.0-0
250 | dependencies:
251 | '@babel/core': 7.21.4
252 | '@babel/helper-plugin-utils': 7.20.2
253 | dev: true
254 |
255 | /@babel/template@7.20.7:
256 | resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==}
257 | engines: {node: '>=6.9.0'}
258 | dependencies:
259 | '@babel/code-frame': 7.21.4
260 | '@babel/parser': 7.21.4
261 | '@babel/types': 7.21.4
262 | dev: true
263 |
264 | /@babel/traverse@7.21.4:
265 | resolution: {integrity: sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==}
266 | engines: {node: '>=6.9.0'}
267 | dependencies:
268 | '@babel/code-frame': 7.21.4
269 | '@babel/generator': 7.21.4
270 | '@babel/helper-environment-visitor': 7.18.9
271 | '@babel/helper-function-name': 7.21.0
272 | '@babel/helper-hoist-variables': 7.18.6
273 | '@babel/helper-split-export-declaration': 7.18.6
274 | '@babel/parser': 7.21.4
275 | '@babel/types': 7.21.4
276 | debug: 4.3.4
277 | globals: 11.12.0
278 | transitivePeerDependencies:
279 | - supports-color
280 | dev: true
281 |
282 | /@babel/types@7.21.4:
283 | resolution: {integrity: sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==}
284 | engines: {node: '>=6.9.0'}
285 | dependencies:
286 | '@babel/helper-string-parser': 7.19.4
287 | '@babel/helper-validator-identifier': 7.19.1
288 | to-fast-properties: 2.0.0
289 | dev: true
290 |
291 | /@esbuild/android-arm64@0.17.16:
292 | resolution: {integrity: sha512-QX48qmsEZW+gcHgTmAj+x21mwTz8MlYQBnzF6861cNdQGvj2jzzFjqH0EBabrIa/WVZ2CHolwMoqxVryqKt8+Q==}
293 | engines: {node: '>=12'}
294 | cpu: [arm64]
295 | os: [android]
296 | requiresBuild: true
297 | dev: true
298 | optional: true
299 |
300 | /@esbuild/android-arm@0.17.16:
301 | resolution: {integrity: sha512-baLqRpLe4JnKrUXLJChoTN0iXZH7El/mu58GE3WIA6/H834k0XWvLRmGLG8y8arTRS9hJJibPnF0tiGhmWeZgw==}
302 | engines: {node: '>=12'}
303 | cpu: [arm]
304 | os: [android]
305 | requiresBuild: true
306 | dev: true
307 | optional: true
308 |
309 | /@esbuild/android-x64@0.17.16:
310 | resolution: {integrity: sha512-G4wfHhrrz99XJgHnzFvB4UwwPxAWZaZBOFXh+JH1Duf1I4vIVfuYY9uVLpx4eiV2D/Jix8LJY+TAdZ3i40tDow==}
311 | engines: {node: '>=12'}
312 | cpu: [x64]
313 | os: [android]
314 | requiresBuild: true
315 | dev: true
316 | optional: true
317 |
318 | /@esbuild/darwin-arm64@0.17.16:
319 | resolution: {integrity: sha512-/Ofw8UXZxuzTLsNFmz1+lmarQI6ztMZ9XktvXedTbt3SNWDn0+ODTwxExLYQ/Hod91EZB4vZPQJLoqLF0jvEzA==}
320 | engines: {node: '>=12'}
321 | cpu: [arm64]
322 | os: [darwin]
323 | requiresBuild: true
324 | dev: true
325 | optional: true
326 |
327 | /@esbuild/darwin-x64@0.17.16:
328 | resolution: {integrity: sha512-SzBQtCV3Pdc9kyizh36Ol+dNVhkDyIrGb/JXZqFq8WL37LIyrXU0gUpADcNV311sCOhvY+f2ivMhb5Tuv8nMOQ==}
329 | engines: {node: '>=12'}
330 | cpu: [x64]
331 | os: [darwin]
332 | requiresBuild: true
333 | dev: true
334 | optional: true
335 |
336 | /@esbuild/freebsd-arm64@0.17.16:
337 | resolution: {integrity: sha512-ZqftdfS1UlLiH1DnS2u3It7l4Bc3AskKeu+paJSfk7RNOMrOxmeFDhLTMQqMxycP1C3oj8vgkAT6xfAuq7ZPRA==}
338 | engines: {node: '>=12'}
339 | cpu: [arm64]
340 | os: [freebsd]
341 | requiresBuild: true
342 | dev: true
343 | optional: true
344 |
345 | /@esbuild/freebsd-x64@0.17.16:
346 | resolution: {integrity: sha512-rHV6zNWW1tjgsu0dKQTX9L0ByiJHHLvQKrWtnz8r0YYJI27FU3Xu48gpK2IBj1uCSYhJ+pEk6Y0Um7U3rIvV8g==}
347 | engines: {node: '>=12'}
348 | cpu: [x64]
349 | os: [freebsd]
350 | requiresBuild: true
351 | dev: true
352 | optional: true
353 |
354 | /@esbuild/linux-arm64@0.17.16:
355 | resolution: {integrity: sha512-8yoZhGkU6aHu38WpaM4HrRLTFc7/VVD9Q2SvPcmIQIipQt2I/GMTZNdEHXoypbbGao5kggLcxg0iBKjo0SQYKA==}
356 | engines: {node: '>=12'}
357 | cpu: [arm64]
358 | os: [linux]
359 | requiresBuild: true
360 | dev: true
361 | optional: true
362 |
363 | /@esbuild/linux-arm@0.17.16:
364 | resolution: {integrity: sha512-n4O8oVxbn7nl4+m+ISb0a68/lcJClIbaGAoXwqeubj/D1/oMMuaAXmJVfFlRjJLu/ZvHkxoiFJnmbfp4n8cdSw==}
365 | engines: {node: '>=12'}
366 | cpu: [arm]
367 | os: [linux]
368 | requiresBuild: true
369 | dev: true
370 | optional: true
371 |
372 | /@esbuild/linux-ia32@0.17.16:
373 | resolution: {integrity: sha512-9ZBjlkdaVYxPNO8a7OmzDbOH9FMQ1a58j7Xb21UfRU29KcEEU3VTHk+Cvrft/BNv0gpWJMiiZ/f4w0TqSP0gLA==}
374 | engines: {node: '>=12'}
375 | cpu: [ia32]
376 | os: [linux]
377 | requiresBuild: true
378 | dev: true
379 | optional: true
380 |
381 | /@esbuild/linux-loong64@0.17.16:
382 | resolution: {integrity: sha512-TIZTRojVBBzdgChY3UOG7BlPhqJz08AL7jdgeeu+kiObWMFzGnQD7BgBBkWRwOtKR1i2TNlO7YK6m4zxVjjPRQ==}
383 | engines: {node: '>=12'}
384 | cpu: [loong64]
385 | os: [linux]
386 | requiresBuild: true
387 | dev: true
388 | optional: true
389 |
390 | /@esbuild/linux-mips64el@0.17.16:
391 | resolution: {integrity: sha512-UPeRuFKCCJYpBbIdczKyHLAIU31GEm0dZl1eMrdYeXDH+SJZh/i+2cAmD3A1Wip9pIc5Sc6Kc5cFUrPXtR0XHA==}
392 | engines: {node: '>=12'}
393 | cpu: [mips64el]
394 | os: [linux]
395 | requiresBuild: true
396 | dev: true
397 | optional: true
398 |
399 | /@esbuild/linux-ppc64@0.17.16:
400 | resolution: {integrity: sha512-io6yShgIEgVUhExJejJ21xvO5QtrbiSeI7vYUnr7l+v/O9t6IowyhdiYnyivX2X5ysOVHAuyHW+Wyi7DNhdw6Q==}
401 | engines: {node: '>=12'}
402 | cpu: [ppc64]
403 | os: [linux]
404 | requiresBuild: true
405 | dev: true
406 | optional: true
407 |
408 | /@esbuild/linux-riscv64@0.17.16:
409 | resolution: {integrity: sha512-WhlGeAHNbSdG/I2gqX2RK2gfgSNwyJuCiFHMc8s3GNEMMHUI109+VMBfhVqRb0ZGzEeRiibi8dItR3ws3Lk+cA==}
410 | engines: {node: '>=12'}
411 | cpu: [riscv64]
412 | os: [linux]
413 | requiresBuild: true
414 | dev: true
415 | optional: true
416 |
417 | /@esbuild/linux-s390x@0.17.16:
418 | resolution: {integrity: sha512-gHRReYsJtViir63bXKoFaQ4pgTyah4ruiMRQ6im9YZuv+gp3UFJkNTY4sFA73YDynmXZA6hi45en4BGhNOJUsw==}
419 | engines: {node: '>=12'}
420 | cpu: [s390x]
421 | os: [linux]
422 | requiresBuild: true
423 | dev: true
424 | optional: true
425 |
426 | /@esbuild/linux-x64@0.17.16:
427 | resolution: {integrity: sha512-mfiiBkxEbUHvi+v0P+TS7UnA9TeGXR48aK4XHkTj0ZwOijxexgMF01UDFaBX7Q6CQsB0d+MFNv9IiXbIHTNd4g==}
428 | engines: {node: '>=12'}
429 | cpu: [x64]
430 | os: [linux]
431 | requiresBuild: true
432 | dev: true
433 | optional: true
434 |
435 | /@esbuild/netbsd-x64@0.17.16:
436 | resolution: {integrity: sha512-n8zK1YRDGLRZfVcswcDMDM0j2xKYLNXqei217a4GyBxHIuPMGrrVuJ+Ijfpr0Kufcm7C1k/qaIrGy6eG7wvgmA==}
437 | engines: {node: '>=12'}
438 | cpu: [x64]
439 | os: [netbsd]
440 | requiresBuild: true
441 | dev: true
442 | optional: true
443 |
444 | /@esbuild/openbsd-x64@0.17.16:
445 | resolution: {integrity: sha512-lEEfkfsUbo0xC47eSTBqsItXDSzwzwhKUSsVaVjVji07t8+6KA5INp2rN890dHZeueXJAI8q0tEIfbwVRYf6Ew==}
446 | engines: {node: '>=12'}
447 | cpu: [x64]
448 | os: [openbsd]
449 | requiresBuild: true
450 | dev: true
451 | optional: true
452 |
453 | /@esbuild/sunos-x64@0.17.16:
454 | resolution: {integrity: sha512-jlRjsuvG1fgGwnE8Afs7xYDnGz0dBgTNZfgCK6TlvPH3Z13/P5pi6I57vyLE8qZYLrGVtwcm9UbUx1/mZ8Ukag==}
455 | engines: {node: '>=12'}
456 | cpu: [x64]
457 | os: [sunos]
458 | requiresBuild: true
459 | dev: true
460 | optional: true
461 |
462 | /@esbuild/win32-arm64@0.17.16:
463 | resolution: {integrity: sha512-TzoU2qwVe2boOHl/3KNBUv2PNUc38U0TNnzqOAcgPiD/EZxT2s736xfC2dYQbszAwo4MKzzwBV0iHjhfjxMimg==}
464 | engines: {node: '>=12'}
465 | cpu: [arm64]
466 | os: [win32]
467 | requiresBuild: true
468 | dev: true
469 | optional: true
470 |
471 | /@esbuild/win32-ia32@0.17.16:
472 | resolution: {integrity: sha512-B8b7W+oo2yb/3xmwk9Vc99hC9bNolvqjaTZYEfMQhzdpBsjTvZBlXQ/teUE55Ww6sg//wlcDjOaqldOKyigWdA==}
473 | engines: {node: '>=12'}
474 | cpu: [ia32]
475 | os: [win32]
476 | requiresBuild: true
477 | dev: true
478 | optional: true
479 |
480 | /@esbuild/win32-x64@0.17.16:
481 | resolution: {integrity: sha512-xJ7OH/nanouJO9pf03YsL9NAFQBHd8AqfrQd7Pf5laGyyTt/gToul6QYOA/i5i/q8y9iaM5DQFNTgpi995VkOg==}
482 | engines: {node: '>=12'}
483 | cpu: [x64]
484 | os: [win32]
485 | requiresBuild: true
486 | dev: true
487 | optional: true
488 |
489 | /@eslint-community/eslint-utils@4.4.0(eslint@8.38.0):
490 | resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
491 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
492 | peerDependencies:
493 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
494 | dependencies:
495 | eslint: 8.38.0
496 | eslint-visitor-keys: 3.4.0
497 | dev: true
498 |
499 | /@eslint-community/regexpp@4.5.0:
500 | resolution: {integrity: sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==}
501 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
502 | dev: true
503 |
504 | /@eslint/eslintrc@2.0.2:
505 | resolution: {integrity: sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==}
506 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
507 | dependencies:
508 | ajv: 6.12.6
509 | debug: 4.3.4
510 | espree: 9.5.1
511 | globals: 13.20.0
512 | ignore: 5.2.4
513 | import-fresh: 3.3.0
514 | js-yaml: 4.1.0
515 | minimatch: 3.1.2
516 | strip-json-comments: 3.1.1
517 | transitivePeerDependencies:
518 | - supports-color
519 | dev: true
520 |
521 | /@eslint/js@8.38.0:
522 | resolution: {integrity: sha512-IoD2MfUnOV58ghIHCiil01PcohxjbYR/qCxsoC+xNgUwh1EY8jOOrYmu3d3a71+tJJ23uscEV4X2HJWMsPJu4g==}
523 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
524 | dev: true
525 |
526 | /@humanwhocodes/config-array@0.11.8:
527 | resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==}
528 | engines: {node: '>=10.10.0'}
529 | dependencies:
530 | '@humanwhocodes/object-schema': 1.2.1
531 | debug: 4.3.4
532 | minimatch: 3.1.2
533 | transitivePeerDependencies:
534 | - supports-color
535 | dev: true
536 |
537 | /@humanwhocodes/module-importer@1.0.1:
538 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
539 | engines: {node: '>=12.22'}
540 | dev: true
541 |
542 | /@humanwhocodes/object-schema@1.2.1:
543 | resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
544 | dev: true
545 |
546 | /@jridgewell/gen-mapping@0.3.3:
547 | resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
548 | engines: {node: '>=6.0.0'}
549 | dependencies:
550 | '@jridgewell/set-array': 1.1.2
551 | '@jridgewell/sourcemap-codec': 1.4.15
552 | '@jridgewell/trace-mapping': 0.3.18
553 | dev: true
554 |
555 | /@jridgewell/resolve-uri@3.1.0:
556 | resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==}
557 | engines: {node: '>=6.0.0'}
558 | dev: true
559 |
560 | /@jridgewell/set-array@1.1.2:
561 | resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
562 | engines: {node: '>=6.0.0'}
563 | dev: true
564 |
565 | /@jridgewell/sourcemap-codec@1.4.14:
566 | resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
567 | dev: true
568 |
569 | /@jridgewell/sourcemap-codec@1.4.15:
570 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
571 | dev: true
572 |
573 | /@jridgewell/trace-mapping@0.3.18:
574 | resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==}
575 | dependencies:
576 | '@jridgewell/resolve-uri': 3.1.0
577 | '@jridgewell/sourcemap-codec': 1.4.14
578 | dev: true
579 |
580 | /@nodelib/fs.scandir@2.1.5:
581 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
582 | engines: {node: '>= 8'}
583 | dependencies:
584 | '@nodelib/fs.stat': 2.0.5
585 | run-parallel: 1.2.0
586 | dev: true
587 |
588 | /@nodelib/fs.stat@2.0.5:
589 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
590 | engines: {node: '>= 8'}
591 | dev: true
592 |
593 | /@nodelib/fs.walk@1.2.8:
594 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
595 | engines: {node: '>= 8'}
596 | dependencies:
597 | '@nodelib/fs.scandir': 2.1.5
598 | fastq: 1.15.0
599 | dev: true
600 |
601 | /@pkgr/utils@2.3.1:
602 | resolution: {integrity: sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==}
603 | engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
604 | dependencies:
605 | cross-spawn: 7.0.3
606 | is-glob: 4.0.3
607 | open: 8.4.2
608 | picocolors: 1.0.0
609 | tiny-glob: 0.2.9
610 | tslib: 2.5.0
611 | dev: true
612 |
613 | /@types/json5@0.0.29:
614 | resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
615 | dev: true
616 |
617 | /@types/node@18.15.11:
618 | resolution: {integrity: sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==}
619 | dev: true
620 |
621 | /@types/prop-types@15.7.5:
622 | resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==}
623 | dev: true
624 |
625 | /@types/react-dom@18.0.11:
626 | resolution: {integrity: sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==}
627 | dependencies:
628 | '@types/react': 18.0.34
629 | dev: true
630 |
631 | /@types/react@18.0.34:
632 | resolution: {integrity: sha512-NO1UO8941541CJl1BeOXi8a9dNKFK09Gnru5ZJqkm4Q3/WoQJtHvmwt0VX0SB9YCEwe7TfSSxDuaNmx6H2BAIQ==}
633 | dependencies:
634 | '@types/prop-types': 15.7.5
635 | '@types/scheduler': 0.16.3
636 | csstype: 3.1.2
637 | dev: true
638 |
639 | /@types/scheduler@0.16.3:
640 | resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==}
641 | dev: true
642 |
643 | /@vitejs/plugin-react@3.1.0(vite@4.2.1):
644 | resolution: {integrity: sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g==}
645 | engines: {node: ^14.18.0 || >=16.0.0}
646 | peerDependencies:
647 | vite: ^4.1.0-beta.0
648 | dependencies:
649 | '@babel/core': 7.21.4
650 | '@babel/plugin-transform-react-jsx-self': 7.21.0(@babel/core@7.21.4)
651 | '@babel/plugin-transform-react-jsx-source': 7.19.6(@babel/core@7.21.4)
652 | magic-string: 0.27.0
653 | react-refresh: 0.14.0
654 | vite: 4.2.1(@types/node@18.15.11)
655 | transitivePeerDependencies:
656 | - supports-color
657 | dev: true
658 |
659 | /acorn-jsx@5.3.2(acorn@8.8.2):
660 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
661 | peerDependencies:
662 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
663 | dependencies:
664 | acorn: 8.8.2
665 | dev: true
666 |
667 | /acorn@8.8.2:
668 | resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==}
669 | engines: {node: '>=0.4.0'}
670 | hasBin: true
671 | dev: true
672 |
673 | /ajv@6.12.6:
674 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
675 | dependencies:
676 | fast-deep-equal: 3.1.3
677 | fast-json-stable-stringify: 2.1.0
678 | json-schema-traverse: 0.4.1
679 | uri-js: 4.4.1
680 | dev: true
681 |
682 | /ansi-regex@5.0.1:
683 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
684 | engines: {node: '>=8'}
685 | dev: true
686 |
687 | /ansi-styles@3.2.1:
688 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
689 | engines: {node: '>=4'}
690 | dependencies:
691 | color-convert: 1.9.3
692 | dev: true
693 |
694 | /ansi-styles@4.3.0:
695 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
696 | engines: {node: '>=8'}
697 | dependencies:
698 | color-convert: 2.0.1
699 | dev: true
700 |
701 | /argparse@2.0.1:
702 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
703 | dev: true
704 |
705 | /array-buffer-byte-length@1.0.0:
706 | resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==}
707 | dependencies:
708 | call-bind: 1.0.2
709 | is-array-buffer: 3.0.2
710 | dev: true
711 |
712 | /array-includes@3.1.6:
713 | resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==}
714 | engines: {node: '>= 0.4'}
715 | dependencies:
716 | call-bind: 1.0.2
717 | define-properties: 1.2.0
718 | es-abstract: 1.21.2
719 | get-intrinsic: 1.2.0
720 | is-string: 1.0.7
721 | dev: true
722 |
723 | /array.prototype.flat@1.3.1:
724 | resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==}
725 | engines: {node: '>= 0.4'}
726 | dependencies:
727 | call-bind: 1.0.2
728 | define-properties: 1.2.0
729 | es-abstract: 1.21.2
730 | es-shim-unscopables: 1.0.0
731 | dev: true
732 |
733 | /array.prototype.flatmap@1.3.1:
734 | resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==}
735 | engines: {node: '>= 0.4'}
736 | dependencies:
737 | call-bind: 1.0.2
738 | define-properties: 1.2.0
739 | es-abstract: 1.21.2
740 | es-shim-unscopables: 1.0.0
741 | dev: true
742 |
743 | /array.prototype.tosorted@1.1.1:
744 | resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==}
745 | dependencies:
746 | call-bind: 1.0.2
747 | define-properties: 1.2.0
748 | es-abstract: 1.21.2
749 | es-shim-unscopables: 1.0.0
750 | get-intrinsic: 1.2.0
751 | dev: true
752 |
753 | /available-typed-arrays@1.0.5:
754 | resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==}
755 | engines: {node: '>= 0.4'}
756 | dev: true
757 |
758 | /balanced-match@1.0.2:
759 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
760 | dev: true
761 |
762 | /brace-expansion@1.1.11:
763 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
764 | dependencies:
765 | balanced-match: 1.0.2
766 | concat-map: 0.0.1
767 | dev: true
768 |
769 | /braces@3.0.2:
770 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
771 | engines: {node: '>=8'}
772 | dependencies:
773 | fill-range: 7.0.1
774 | dev: true
775 |
776 | /browserslist@4.21.5:
777 | resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==}
778 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
779 | hasBin: true
780 | dependencies:
781 | caniuse-lite: 1.0.30001477
782 | electron-to-chromium: 1.4.358
783 | node-releases: 2.0.10
784 | update-browserslist-db: 1.0.10(browserslist@4.21.5)
785 | dev: true
786 |
787 | /call-bind@1.0.2:
788 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
789 | dependencies:
790 | function-bind: 1.1.1
791 | get-intrinsic: 1.2.0
792 | dev: true
793 |
794 | /callsites@3.1.0:
795 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
796 | engines: {node: '>=6'}
797 | dev: true
798 |
799 | /caniuse-lite@1.0.30001477:
800 | resolution: {integrity: sha512-lZim4iUHhGcy5p+Ri/G7m84hJwncj+Kz7S5aD4hoQfslKZJgt0tHc/hafVbqHC5bbhHb+mrW2JOUHkI5KH7toQ==}
801 | dev: true
802 |
803 | /chalk@2.4.2:
804 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
805 | engines: {node: '>=4'}
806 | dependencies:
807 | ansi-styles: 3.2.1
808 | escape-string-regexp: 1.0.5
809 | supports-color: 5.5.0
810 | dev: true
811 |
812 | /chalk@4.1.2:
813 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
814 | engines: {node: '>=10'}
815 | dependencies:
816 | ansi-styles: 4.3.0
817 | supports-color: 7.2.0
818 | dev: true
819 |
820 | /color-convert@1.9.3:
821 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
822 | dependencies:
823 | color-name: 1.1.3
824 | dev: true
825 |
826 | /color-convert@2.0.1:
827 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
828 | engines: {node: '>=7.0.0'}
829 | dependencies:
830 | color-name: 1.1.4
831 | dev: true
832 |
833 | /color-name@1.1.3:
834 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
835 | dev: true
836 |
837 | /color-name@1.1.4:
838 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
839 | dev: true
840 |
841 | /concat-map@0.0.1:
842 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
843 | dev: true
844 |
845 | /convert-source-map@1.9.0:
846 | resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
847 | dev: true
848 |
849 | /cross-spawn@7.0.3:
850 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
851 | engines: {node: '>= 8'}
852 | dependencies:
853 | path-key: 3.1.1
854 | shebang-command: 2.0.0
855 | which: 2.0.2
856 | dev: true
857 |
858 | /csstype@3.1.2:
859 | resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==}
860 | dev: true
861 |
862 | /debug@3.2.7:
863 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
864 | peerDependencies:
865 | supports-color: '*'
866 | peerDependenciesMeta:
867 | supports-color:
868 | optional: true
869 | dependencies:
870 | ms: 2.1.3
871 | dev: true
872 |
873 | /debug@4.3.4:
874 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
875 | engines: {node: '>=6.0'}
876 | peerDependencies:
877 | supports-color: '*'
878 | peerDependenciesMeta:
879 | supports-color:
880 | optional: true
881 | dependencies:
882 | ms: 2.1.2
883 | dev: true
884 |
885 | /deep-is@0.1.4:
886 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
887 | dev: true
888 |
889 | /define-lazy-prop@2.0.0:
890 | resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
891 | engines: {node: '>=8'}
892 | dev: true
893 |
894 | /define-properties@1.2.0:
895 | resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==}
896 | engines: {node: '>= 0.4'}
897 | dependencies:
898 | has-property-descriptors: 1.0.0
899 | object-keys: 1.1.1
900 | dev: true
901 |
902 | /dir-glob@3.0.1:
903 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
904 | engines: {node: '>=8'}
905 | dependencies:
906 | path-type: 4.0.0
907 | dev: true
908 |
909 | /doctrine@2.1.0:
910 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
911 | engines: {node: '>=0.10.0'}
912 | dependencies:
913 | esutils: 2.0.3
914 | dev: true
915 |
916 | /doctrine@3.0.0:
917 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
918 | engines: {node: '>=6.0.0'}
919 | dependencies:
920 | esutils: 2.0.3
921 | dev: true
922 |
923 | /electron-to-chromium@1.4.358:
924 | resolution: {integrity: sha512-dbqpWy662dGVwq27q8i6+t5FPcQiFPs/VExXJ+/T9Xp9KUV0b5bvG+B/i07FNNr7PgcN3GhZQCZoYJ9EUfnIOg==}
925 | dev: true
926 |
927 | /enhanced-resolve@5.12.0:
928 | resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==}
929 | engines: {node: '>=10.13.0'}
930 | dependencies:
931 | graceful-fs: 4.2.11
932 | tapable: 2.2.1
933 | dev: true
934 |
935 | /es-abstract@1.21.2:
936 | resolution: {integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==}
937 | engines: {node: '>= 0.4'}
938 | dependencies:
939 | array-buffer-byte-length: 1.0.0
940 | available-typed-arrays: 1.0.5
941 | call-bind: 1.0.2
942 | es-set-tostringtag: 2.0.1
943 | es-to-primitive: 1.2.1
944 | function.prototype.name: 1.1.5
945 | get-intrinsic: 1.2.0
946 | get-symbol-description: 1.0.0
947 | globalthis: 1.0.3
948 | gopd: 1.0.1
949 | has: 1.0.3
950 | has-property-descriptors: 1.0.0
951 | has-proto: 1.0.1
952 | has-symbols: 1.0.3
953 | internal-slot: 1.0.5
954 | is-array-buffer: 3.0.2
955 | is-callable: 1.2.7
956 | is-negative-zero: 2.0.2
957 | is-regex: 1.1.4
958 | is-shared-array-buffer: 1.0.2
959 | is-string: 1.0.7
960 | is-typed-array: 1.1.10
961 | is-weakref: 1.0.2
962 | object-inspect: 1.12.3
963 | object-keys: 1.1.1
964 | object.assign: 4.1.4
965 | regexp.prototype.flags: 1.4.3
966 | safe-regex-test: 1.0.0
967 | string.prototype.trim: 1.2.7
968 | string.prototype.trimend: 1.0.6
969 | string.prototype.trimstart: 1.0.6
970 | typed-array-length: 1.0.4
971 | unbox-primitive: 1.0.2
972 | which-typed-array: 1.1.9
973 | dev: true
974 |
975 | /es-set-tostringtag@2.0.1:
976 | resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==}
977 | engines: {node: '>= 0.4'}
978 | dependencies:
979 | get-intrinsic: 1.2.0
980 | has: 1.0.3
981 | has-tostringtag: 1.0.0
982 | dev: true
983 |
984 | /es-shim-unscopables@1.0.0:
985 | resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==}
986 | dependencies:
987 | has: 1.0.3
988 | dev: true
989 |
990 | /es-to-primitive@1.2.1:
991 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
992 | engines: {node: '>= 0.4'}
993 | dependencies:
994 | is-callable: 1.2.7
995 | is-date-object: 1.0.5
996 | is-symbol: 1.0.4
997 | dev: true
998 |
999 | /esbuild@0.17.16:
1000 | resolution: {integrity: sha512-aeSuUKr9aFVY9Dc8ETVELGgkj4urg5isYx8pLf4wlGgB0vTFjxJQdHnNH6Shmx4vYYrOTLCHtRI5i1XZ9l2Zcg==}
1001 | engines: {node: '>=12'}
1002 | hasBin: true
1003 | requiresBuild: true
1004 | optionalDependencies:
1005 | '@esbuild/android-arm': 0.17.16
1006 | '@esbuild/android-arm64': 0.17.16
1007 | '@esbuild/android-x64': 0.17.16
1008 | '@esbuild/darwin-arm64': 0.17.16
1009 | '@esbuild/darwin-x64': 0.17.16
1010 | '@esbuild/freebsd-arm64': 0.17.16
1011 | '@esbuild/freebsd-x64': 0.17.16
1012 | '@esbuild/linux-arm': 0.17.16
1013 | '@esbuild/linux-arm64': 0.17.16
1014 | '@esbuild/linux-ia32': 0.17.16
1015 | '@esbuild/linux-loong64': 0.17.16
1016 | '@esbuild/linux-mips64el': 0.17.16
1017 | '@esbuild/linux-ppc64': 0.17.16
1018 | '@esbuild/linux-riscv64': 0.17.16
1019 | '@esbuild/linux-s390x': 0.17.16
1020 | '@esbuild/linux-x64': 0.17.16
1021 | '@esbuild/netbsd-x64': 0.17.16
1022 | '@esbuild/openbsd-x64': 0.17.16
1023 | '@esbuild/sunos-x64': 0.17.16
1024 | '@esbuild/win32-arm64': 0.17.16
1025 | '@esbuild/win32-ia32': 0.17.16
1026 | '@esbuild/win32-x64': 0.17.16
1027 | dev: true
1028 |
1029 | /escalade@3.1.1:
1030 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
1031 | engines: {node: '>=6'}
1032 | dev: true
1033 |
1034 | /escape-string-regexp@1.0.5:
1035 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
1036 | engines: {node: '>=0.8.0'}
1037 | dev: true
1038 |
1039 | /escape-string-regexp@4.0.0:
1040 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
1041 | engines: {node: '>=10'}
1042 | dev: true
1043 |
1044 | /eslint-config-prettier@8.8.0(eslint@8.38.0):
1045 | resolution: {integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==}
1046 | hasBin: true
1047 | peerDependencies:
1048 | eslint: '>=7.0.0'
1049 | dependencies:
1050 | eslint: 8.38.0
1051 | dev: true
1052 |
1053 | /eslint-import-resolver-node@0.3.7:
1054 | resolution: {integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==}
1055 | dependencies:
1056 | debug: 3.2.7
1057 | is-core-module: 2.12.0
1058 | resolve: 1.22.2
1059 | transitivePeerDependencies:
1060 | - supports-color
1061 | dev: true
1062 |
1063 | /eslint-import-resolver-typescript@3.5.5(eslint-plugin-import@2.27.5)(eslint@8.38.0):
1064 | resolution: {integrity: sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw==}
1065 | engines: {node: ^14.18.0 || >=16.0.0}
1066 | peerDependencies:
1067 | eslint: '*'
1068 | eslint-plugin-import: '*'
1069 | dependencies:
1070 | debug: 4.3.4
1071 | enhanced-resolve: 5.12.0
1072 | eslint: 8.38.0
1073 | eslint-module-utils: 2.7.4(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.38.0)
1074 | eslint-plugin-import: 2.27.5(eslint-import-resolver-typescript@3.5.5)(eslint@8.38.0)
1075 | get-tsconfig: 4.5.0
1076 | globby: 13.1.4
1077 | is-core-module: 2.12.0
1078 | is-glob: 4.0.3
1079 | synckit: 0.8.5
1080 | transitivePeerDependencies:
1081 | - '@typescript-eslint/parser'
1082 | - eslint-import-resolver-node
1083 | - eslint-import-resolver-webpack
1084 | - supports-color
1085 | dev: true
1086 |
1087 | /eslint-module-utils@2.7.4(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.38.0):
1088 | resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==}
1089 | engines: {node: '>=4'}
1090 | peerDependencies:
1091 | '@typescript-eslint/parser': '*'
1092 | eslint: '*'
1093 | eslint-import-resolver-node: '*'
1094 | eslint-import-resolver-typescript: '*'
1095 | eslint-import-resolver-webpack: '*'
1096 | peerDependenciesMeta:
1097 | '@typescript-eslint/parser':
1098 | optional: true
1099 | eslint:
1100 | optional: true
1101 | eslint-import-resolver-node:
1102 | optional: true
1103 | eslint-import-resolver-typescript:
1104 | optional: true
1105 | eslint-import-resolver-webpack:
1106 | optional: true
1107 | dependencies:
1108 | debug: 3.2.7
1109 | eslint: 8.38.0
1110 | eslint-import-resolver-node: 0.3.7
1111 | eslint-import-resolver-typescript: 3.5.5(eslint-plugin-import@2.27.5)(eslint@8.38.0)
1112 | transitivePeerDependencies:
1113 | - supports-color
1114 | dev: true
1115 |
1116 | /eslint-plugin-eslint-comments@3.2.0(eslint@8.38.0):
1117 | resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==}
1118 | engines: {node: '>=6.5.0'}
1119 | peerDependencies:
1120 | eslint: '>=4.19.1'
1121 | dependencies:
1122 | escape-string-regexp: 1.0.5
1123 | eslint: 8.38.0
1124 | ignore: 5.2.4
1125 | dev: true
1126 |
1127 | /eslint-plugin-import@2.27.5(eslint-import-resolver-typescript@3.5.5)(eslint@8.38.0):
1128 | resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==}
1129 | engines: {node: '>=4'}
1130 | peerDependencies:
1131 | '@typescript-eslint/parser': '*'
1132 | eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
1133 | peerDependenciesMeta:
1134 | '@typescript-eslint/parser':
1135 | optional: true
1136 | dependencies:
1137 | array-includes: 3.1.6
1138 | array.prototype.flat: 1.3.1
1139 | array.prototype.flatmap: 1.3.1
1140 | debug: 3.2.7
1141 | doctrine: 2.1.0
1142 | eslint: 8.38.0
1143 | eslint-import-resolver-node: 0.3.7
1144 | eslint-module-utils: 2.7.4(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.38.0)
1145 | has: 1.0.3
1146 | is-core-module: 2.12.0
1147 | is-glob: 4.0.3
1148 | minimatch: 3.1.2
1149 | object.values: 1.1.6
1150 | resolve: 1.22.2
1151 | semver: 6.3.0
1152 | tsconfig-paths: 3.14.2
1153 | transitivePeerDependencies:
1154 | - eslint-import-resolver-typescript
1155 | - eslint-import-resolver-webpack
1156 | - supports-color
1157 | dev: true
1158 |
1159 | /eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.8.0)(eslint@8.38.0)(prettier@2.8.7):
1160 | resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==}
1161 | engines: {node: '>=12.0.0'}
1162 | peerDependencies:
1163 | eslint: '>=7.28.0'
1164 | eslint-config-prettier: '*'
1165 | prettier: '>=2.0.0'
1166 | peerDependenciesMeta:
1167 | eslint-config-prettier:
1168 | optional: true
1169 | dependencies:
1170 | eslint: 8.38.0
1171 | eslint-config-prettier: 8.8.0(eslint@8.38.0)
1172 | prettier: 2.8.7
1173 | prettier-linter-helpers: 1.0.0
1174 | dev: true
1175 |
1176 | /eslint-plugin-react-hooks@4.6.0(eslint@8.38.0):
1177 | resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==}
1178 | engines: {node: '>=10'}
1179 | peerDependencies:
1180 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
1181 | dependencies:
1182 | eslint: 8.38.0
1183 | dev: true
1184 |
1185 | /eslint-plugin-react@7.32.2(eslint@8.38.0):
1186 | resolution: {integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==}
1187 | engines: {node: '>=4'}
1188 | peerDependencies:
1189 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
1190 | dependencies:
1191 | array-includes: 3.1.6
1192 | array.prototype.flatmap: 1.3.1
1193 | array.prototype.tosorted: 1.1.1
1194 | doctrine: 2.1.0
1195 | eslint: 8.38.0
1196 | estraverse: 5.3.0
1197 | jsx-ast-utils: 3.3.3
1198 | minimatch: 3.1.2
1199 | object.entries: 1.1.6
1200 | object.fromentries: 2.0.6
1201 | object.hasown: 1.1.2
1202 | object.values: 1.1.6
1203 | prop-types: 15.8.1
1204 | resolve: 2.0.0-next.4
1205 | semver: 6.3.0
1206 | string.prototype.matchall: 4.0.8
1207 | dev: true
1208 |
1209 | /eslint-scope@7.1.1:
1210 | resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==}
1211 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1212 | dependencies:
1213 | esrecurse: 4.3.0
1214 | estraverse: 5.3.0
1215 | dev: true
1216 |
1217 | /eslint-visitor-keys@3.4.0:
1218 | resolution: {integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==}
1219 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1220 | dev: true
1221 |
1222 | /eslint@8.38.0:
1223 | resolution: {integrity: sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg==}
1224 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1225 | hasBin: true
1226 | dependencies:
1227 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.38.0)
1228 | '@eslint-community/regexpp': 4.5.0
1229 | '@eslint/eslintrc': 2.0.2
1230 | '@eslint/js': 8.38.0
1231 | '@humanwhocodes/config-array': 0.11.8
1232 | '@humanwhocodes/module-importer': 1.0.1
1233 | '@nodelib/fs.walk': 1.2.8
1234 | ajv: 6.12.6
1235 | chalk: 4.1.2
1236 | cross-spawn: 7.0.3
1237 | debug: 4.3.4
1238 | doctrine: 3.0.0
1239 | escape-string-regexp: 4.0.0
1240 | eslint-scope: 7.1.1
1241 | eslint-visitor-keys: 3.4.0
1242 | espree: 9.5.1
1243 | esquery: 1.5.0
1244 | esutils: 2.0.3
1245 | fast-deep-equal: 3.1.3
1246 | file-entry-cache: 6.0.1
1247 | find-up: 5.0.0
1248 | glob-parent: 6.0.2
1249 | globals: 13.20.0
1250 | grapheme-splitter: 1.0.4
1251 | ignore: 5.2.4
1252 | import-fresh: 3.3.0
1253 | imurmurhash: 0.1.4
1254 | is-glob: 4.0.3
1255 | is-path-inside: 3.0.3
1256 | js-sdsl: 4.4.0
1257 | js-yaml: 4.1.0
1258 | json-stable-stringify-without-jsonify: 1.0.1
1259 | levn: 0.4.1
1260 | lodash.merge: 4.6.2
1261 | minimatch: 3.1.2
1262 | natural-compare: 1.4.0
1263 | optionator: 0.9.1
1264 | strip-ansi: 6.0.1
1265 | strip-json-comments: 3.1.1
1266 | text-table: 0.2.0
1267 | transitivePeerDependencies:
1268 | - supports-color
1269 | dev: true
1270 |
1271 | /espree@9.5.1:
1272 | resolution: {integrity: sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==}
1273 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1274 | dependencies:
1275 | acorn: 8.8.2
1276 | acorn-jsx: 5.3.2(acorn@8.8.2)
1277 | eslint-visitor-keys: 3.4.0
1278 | dev: true
1279 |
1280 | /esquery@1.5.0:
1281 | resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
1282 | engines: {node: '>=0.10'}
1283 | dependencies:
1284 | estraverse: 5.3.0
1285 | dev: true
1286 |
1287 | /esrecurse@4.3.0:
1288 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
1289 | engines: {node: '>=4.0'}
1290 | dependencies:
1291 | estraverse: 5.3.0
1292 | dev: true
1293 |
1294 | /estraverse@5.3.0:
1295 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
1296 | engines: {node: '>=4.0'}
1297 | dev: true
1298 |
1299 | /esutils@2.0.3:
1300 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
1301 | engines: {node: '>=0.10.0'}
1302 | dev: true
1303 |
1304 | /events@3.3.0:
1305 | resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
1306 | engines: {node: '>=0.8.x'}
1307 | dev: false
1308 |
1309 | /fast-deep-equal@3.1.3:
1310 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
1311 | dev: true
1312 |
1313 | /fast-diff@1.2.0:
1314 | resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==}
1315 | dev: true
1316 |
1317 | /fast-glob@3.2.12:
1318 | resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==}
1319 | engines: {node: '>=8.6.0'}
1320 | dependencies:
1321 | '@nodelib/fs.stat': 2.0.5
1322 | '@nodelib/fs.walk': 1.2.8
1323 | glob-parent: 5.1.2
1324 | merge2: 1.4.1
1325 | micromatch: 4.0.5
1326 | dev: true
1327 |
1328 | /fast-json-stable-stringify@2.1.0:
1329 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
1330 | dev: true
1331 |
1332 | /fast-levenshtein@2.0.6:
1333 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
1334 | dev: true
1335 |
1336 | /fastq@1.15.0:
1337 | resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
1338 | dependencies:
1339 | reusify: 1.0.4
1340 | dev: true
1341 |
1342 | /file-entry-cache@6.0.1:
1343 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
1344 | engines: {node: ^10.12.0 || >=12.0.0}
1345 | dependencies:
1346 | flat-cache: 3.0.4
1347 | dev: true
1348 |
1349 | /fill-range@7.0.1:
1350 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
1351 | engines: {node: '>=8'}
1352 | dependencies:
1353 | to-regex-range: 5.0.1
1354 | dev: true
1355 |
1356 | /find-up@5.0.0:
1357 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
1358 | engines: {node: '>=10'}
1359 | dependencies:
1360 | locate-path: 6.0.0
1361 | path-exists: 4.0.0
1362 | dev: true
1363 |
1364 | /flat-cache@3.0.4:
1365 | resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==}
1366 | engines: {node: ^10.12.0 || >=12.0.0}
1367 | dependencies:
1368 | flatted: 3.2.7
1369 | rimraf: 3.0.2
1370 | dev: true
1371 |
1372 | /flatted@3.2.7:
1373 | resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==}
1374 | dev: true
1375 |
1376 | /for-each@0.3.3:
1377 | resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
1378 | dependencies:
1379 | is-callable: 1.2.7
1380 | dev: true
1381 |
1382 | /fs.realpath@1.0.0:
1383 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
1384 | dev: true
1385 |
1386 | /fsevents@2.3.2:
1387 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
1388 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1389 | os: [darwin]
1390 | requiresBuild: true
1391 | dev: true
1392 | optional: true
1393 |
1394 | /function-bind@1.1.1:
1395 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
1396 | dev: true
1397 |
1398 | /function.prototype.name@1.1.5:
1399 | resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==}
1400 | engines: {node: '>= 0.4'}
1401 | dependencies:
1402 | call-bind: 1.0.2
1403 | define-properties: 1.2.0
1404 | es-abstract: 1.21.2
1405 | functions-have-names: 1.2.3
1406 | dev: true
1407 |
1408 | /functions-have-names@1.2.3:
1409 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
1410 | dev: true
1411 |
1412 | /gensync@1.0.0-beta.2:
1413 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
1414 | engines: {node: '>=6.9.0'}
1415 | dev: true
1416 |
1417 | /get-intrinsic@1.2.0:
1418 | resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==}
1419 | dependencies:
1420 | function-bind: 1.1.1
1421 | has: 1.0.3
1422 | has-symbols: 1.0.3
1423 | dev: true
1424 |
1425 | /get-symbol-description@1.0.0:
1426 | resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==}
1427 | engines: {node: '>= 0.4'}
1428 | dependencies:
1429 | call-bind: 1.0.2
1430 | get-intrinsic: 1.2.0
1431 | dev: true
1432 |
1433 | /get-tsconfig@4.5.0:
1434 | resolution: {integrity: sha512-MjhiaIWCJ1sAU4pIQ5i5OfOuHHxVo1oYeNsWTON7jxYkod8pHocXeh+SSbmu5OZZZK73B6cbJ2XADzXehLyovQ==}
1435 | dev: true
1436 |
1437 | /glob-parent@5.1.2:
1438 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
1439 | engines: {node: '>= 6'}
1440 | dependencies:
1441 | is-glob: 4.0.3
1442 | dev: true
1443 |
1444 | /glob-parent@6.0.2:
1445 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
1446 | engines: {node: '>=10.13.0'}
1447 | dependencies:
1448 | is-glob: 4.0.3
1449 | dev: true
1450 |
1451 | /glob@7.2.3:
1452 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
1453 | dependencies:
1454 | fs.realpath: 1.0.0
1455 | inflight: 1.0.6
1456 | inherits: 2.0.4
1457 | minimatch: 3.1.2
1458 | once: 1.4.0
1459 | path-is-absolute: 1.0.1
1460 | dev: true
1461 |
1462 | /globals@11.12.0:
1463 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
1464 | engines: {node: '>=4'}
1465 | dev: true
1466 |
1467 | /globals@13.20.0:
1468 | resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==}
1469 | engines: {node: '>=8'}
1470 | dependencies:
1471 | type-fest: 0.20.2
1472 | dev: true
1473 |
1474 | /globalthis@1.0.3:
1475 | resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==}
1476 | engines: {node: '>= 0.4'}
1477 | dependencies:
1478 | define-properties: 1.2.0
1479 | dev: true
1480 |
1481 | /globalyzer@0.1.0:
1482 | resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==}
1483 | dev: true
1484 |
1485 | /globby@13.1.4:
1486 | resolution: {integrity: sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==}
1487 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
1488 | dependencies:
1489 | dir-glob: 3.0.1
1490 | fast-glob: 3.2.12
1491 | ignore: 5.2.4
1492 | merge2: 1.4.1
1493 | slash: 4.0.0
1494 | dev: true
1495 |
1496 | /globrex@0.1.2:
1497 | resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
1498 | dev: true
1499 |
1500 | /gopd@1.0.1:
1501 | resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
1502 | dependencies:
1503 | get-intrinsic: 1.2.0
1504 | dev: true
1505 |
1506 | /graceful-fs@4.2.11:
1507 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
1508 | dev: true
1509 |
1510 | /grapheme-splitter@1.0.4:
1511 | resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==}
1512 | dev: true
1513 |
1514 | /has-bigints@1.0.2:
1515 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
1516 | dev: true
1517 |
1518 | /has-flag@3.0.0:
1519 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
1520 | engines: {node: '>=4'}
1521 | dev: true
1522 |
1523 | /has-flag@4.0.0:
1524 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
1525 | engines: {node: '>=8'}
1526 | dev: true
1527 |
1528 | /has-property-descriptors@1.0.0:
1529 | resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==}
1530 | dependencies:
1531 | get-intrinsic: 1.2.0
1532 | dev: true
1533 |
1534 | /has-proto@1.0.1:
1535 | resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==}
1536 | engines: {node: '>= 0.4'}
1537 | dev: true
1538 |
1539 | /has-symbols@1.0.3:
1540 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
1541 | engines: {node: '>= 0.4'}
1542 | dev: true
1543 |
1544 | /has-tostringtag@1.0.0:
1545 | resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==}
1546 | engines: {node: '>= 0.4'}
1547 | dependencies:
1548 | has-symbols: 1.0.3
1549 | dev: true
1550 |
1551 | /has@1.0.3:
1552 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
1553 | engines: {node: '>= 0.4.0'}
1554 | dependencies:
1555 | function-bind: 1.1.1
1556 | dev: true
1557 |
1558 | /ignore@5.2.4:
1559 | resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==}
1560 | engines: {node: '>= 4'}
1561 | dev: true
1562 |
1563 | /import-fresh@3.3.0:
1564 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
1565 | engines: {node: '>=6'}
1566 | dependencies:
1567 | parent-module: 1.0.1
1568 | resolve-from: 4.0.0
1569 | dev: true
1570 |
1571 | /imurmurhash@0.1.4:
1572 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
1573 | engines: {node: '>=0.8.19'}
1574 | dev: true
1575 |
1576 | /inflight@1.0.6:
1577 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
1578 | dependencies:
1579 | once: 1.4.0
1580 | wrappy: 1.0.2
1581 | dev: true
1582 |
1583 | /inherits@2.0.4:
1584 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
1585 | dev: true
1586 |
1587 | /internal-slot@1.0.5:
1588 | resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==}
1589 | engines: {node: '>= 0.4'}
1590 | dependencies:
1591 | get-intrinsic: 1.2.0
1592 | has: 1.0.3
1593 | side-channel: 1.0.4
1594 | dev: true
1595 |
1596 | /is-array-buffer@3.0.2:
1597 | resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==}
1598 | dependencies:
1599 | call-bind: 1.0.2
1600 | get-intrinsic: 1.2.0
1601 | is-typed-array: 1.1.10
1602 | dev: true
1603 |
1604 | /is-bigint@1.0.4:
1605 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
1606 | dependencies:
1607 | has-bigints: 1.0.2
1608 | dev: true
1609 |
1610 | /is-boolean-object@1.1.2:
1611 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
1612 | engines: {node: '>= 0.4'}
1613 | dependencies:
1614 | call-bind: 1.0.2
1615 | has-tostringtag: 1.0.0
1616 | dev: true
1617 |
1618 | /is-callable@1.2.7:
1619 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
1620 | engines: {node: '>= 0.4'}
1621 | dev: true
1622 |
1623 | /is-core-module@2.12.0:
1624 | resolution: {integrity: sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==}
1625 | dependencies:
1626 | has: 1.0.3
1627 | dev: true
1628 |
1629 | /is-date-object@1.0.5:
1630 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
1631 | engines: {node: '>= 0.4'}
1632 | dependencies:
1633 | has-tostringtag: 1.0.0
1634 | dev: true
1635 |
1636 | /is-docker@2.2.1:
1637 | resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
1638 | engines: {node: '>=8'}
1639 | hasBin: true
1640 | dev: true
1641 |
1642 | /is-extglob@2.1.1:
1643 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
1644 | engines: {node: '>=0.10.0'}
1645 | dev: true
1646 |
1647 | /is-glob@4.0.3:
1648 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
1649 | engines: {node: '>=0.10.0'}
1650 | dependencies:
1651 | is-extglob: 2.1.1
1652 | dev: true
1653 |
1654 | /is-negative-zero@2.0.2:
1655 | resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==}
1656 | engines: {node: '>= 0.4'}
1657 | dev: true
1658 |
1659 | /is-number-object@1.0.7:
1660 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
1661 | engines: {node: '>= 0.4'}
1662 | dependencies:
1663 | has-tostringtag: 1.0.0
1664 | dev: true
1665 |
1666 | /is-number@7.0.0:
1667 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1668 | engines: {node: '>=0.12.0'}
1669 | dev: true
1670 |
1671 | /is-path-inside@3.0.3:
1672 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
1673 | engines: {node: '>=8'}
1674 | dev: true
1675 |
1676 | /is-regex@1.1.4:
1677 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
1678 | engines: {node: '>= 0.4'}
1679 | dependencies:
1680 | call-bind: 1.0.2
1681 | has-tostringtag: 1.0.0
1682 | dev: true
1683 |
1684 | /is-shared-array-buffer@1.0.2:
1685 | resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==}
1686 | dependencies:
1687 | call-bind: 1.0.2
1688 | dev: true
1689 |
1690 | /is-string@1.0.7:
1691 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
1692 | engines: {node: '>= 0.4'}
1693 | dependencies:
1694 | has-tostringtag: 1.0.0
1695 | dev: true
1696 |
1697 | /is-symbol@1.0.4:
1698 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
1699 | engines: {node: '>= 0.4'}
1700 | dependencies:
1701 | has-symbols: 1.0.3
1702 | dev: true
1703 |
1704 | /is-typed-array@1.1.10:
1705 | resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==}
1706 | engines: {node: '>= 0.4'}
1707 | dependencies:
1708 | available-typed-arrays: 1.0.5
1709 | call-bind: 1.0.2
1710 | for-each: 0.3.3
1711 | gopd: 1.0.1
1712 | has-tostringtag: 1.0.0
1713 | dev: true
1714 |
1715 | /is-weakref@1.0.2:
1716 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
1717 | dependencies:
1718 | call-bind: 1.0.2
1719 | dev: true
1720 |
1721 | /is-wsl@2.2.0:
1722 | resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
1723 | engines: {node: '>=8'}
1724 | dependencies:
1725 | is-docker: 2.2.1
1726 | dev: true
1727 |
1728 | /isexe@2.0.0:
1729 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
1730 | dev: true
1731 |
1732 | /js-sdsl@4.4.0:
1733 | resolution: {integrity: sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==}
1734 | dev: true
1735 |
1736 | /js-tokens@4.0.0:
1737 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
1738 | dev: true
1739 |
1740 | /js-yaml@4.1.0:
1741 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
1742 | hasBin: true
1743 | dependencies:
1744 | argparse: 2.0.1
1745 | dev: true
1746 |
1747 | /jsesc@2.5.2:
1748 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
1749 | engines: {node: '>=4'}
1750 | hasBin: true
1751 | dev: true
1752 |
1753 | /json-schema-traverse@0.4.1:
1754 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
1755 | dev: true
1756 |
1757 | /json-stable-stringify-without-jsonify@1.0.1:
1758 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
1759 | dev: true
1760 |
1761 | /json5@1.0.2:
1762 | resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
1763 | hasBin: true
1764 | dependencies:
1765 | minimist: 1.2.8
1766 | dev: true
1767 |
1768 | /json5@2.2.3:
1769 | resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
1770 | engines: {node: '>=6'}
1771 | hasBin: true
1772 | dev: true
1773 |
1774 | /jsx-ast-utils@3.3.3:
1775 | resolution: {integrity: sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==}
1776 | engines: {node: '>=4.0'}
1777 | dependencies:
1778 | array-includes: 3.1.6
1779 | object.assign: 4.1.4
1780 | dev: true
1781 |
1782 | /levn@0.4.1:
1783 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
1784 | engines: {node: '>= 0.8.0'}
1785 | dependencies:
1786 | prelude-ls: 1.2.1
1787 | type-check: 0.4.0
1788 | dev: true
1789 |
1790 | /locate-path@6.0.0:
1791 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
1792 | engines: {node: '>=10'}
1793 | dependencies:
1794 | p-locate: 5.0.0
1795 | dev: true
1796 |
1797 | /lodash.merge@4.6.2:
1798 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
1799 | dev: true
1800 |
1801 | /loose-envify@1.4.0:
1802 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
1803 | hasBin: true
1804 | dependencies:
1805 | js-tokens: 4.0.0
1806 | dev: true
1807 |
1808 | /lru-cache@5.1.1:
1809 | resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
1810 | dependencies:
1811 | yallist: 3.1.1
1812 | dev: true
1813 |
1814 | /magic-string@0.27.0:
1815 | resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==}
1816 | engines: {node: '>=12'}
1817 | dependencies:
1818 | '@jridgewell/sourcemap-codec': 1.4.15
1819 | dev: true
1820 |
1821 | /merge2@1.4.1:
1822 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1823 | engines: {node: '>= 8'}
1824 | dev: true
1825 |
1826 | /micromatch@4.0.5:
1827 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
1828 | engines: {node: '>=8.6'}
1829 | dependencies:
1830 | braces: 3.0.2
1831 | picomatch: 2.3.1
1832 | dev: true
1833 |
1834 | /minimatch@3.1.2:
1835 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
1836 | dependencies:
1837 | brace-expansion: 1.1.11
1838 | dev: true
1839 |
1840 | /minimist@1.2.8:
1841 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
1842 | dev: true
1843 |
1844 | /ms@2.1.2:
1845 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
1846 | dev: true
1847 |
1848 | /ms@2.1.3:
1849 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
1850 | dev: true
1851 |
1852 | /nanoid@3.3.6:
1853 | resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==}
1854 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1855 | hasBin: true
1856 | dev: true
1857 |
1858 | /natural-compare@1.4.0:
1859 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
1860 | dev: true
1861 |
1862 | /node-releases@2.0.10:
1863 | resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==}
1864 | dev: true
1865 |
1866 | /object-assign@4.1.1:
1867 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
1868 | engines: {node: '>=0.10.0'}
1869 | dev: true
1870 |
1871 | /object-inspect@1.12.3:
1872 | resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==}
1873 | dev: true
1874 |
1875 | /object-keys@1.1.1:
1876 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
1877 | engines: {node: '>= 0.4'}
1878 | dev: true
1879 |
1880 | /object.assign@4.1.4:
1881 | resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==}
1882 | engines: {node: '>= 0.4'}
1883 | dependencies:
1884 | call-bind: 1.0.2
1885 | define-properties: 1.2.0
1886 | has-symbols: 1.0.3
1887 | object-keys: 1.1.1
1888 | dev: true
1889 |
1890 | /object.entries@1.1.6:
1891 | resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==}
1892 | engines: {node: '>= 0.4'}
1893 | dependencies:
1894 | call-bind: 1.0.2
1895 | define-properties: 1.2.0
1896 | es-abstract: 1.21.2
1897 | dev: true
1898 |
1899 | /object.fromentries@2.0.6:
1900 | resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==}
1901 | engines: {node: '>= 0.4'}
1902 | dependencies:
1903 | call-bind: 1.0.2
1904 | define-properties: 1.2.0
1905 | es-abstract: 1.21.2
1906 | dev: true
1907 |
1908 | /object.hasown@1.1.2:
1909 | resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==}
1910 | dependencies:
1911 | define-properties: 1.2.0
1912 | es-abstract: 1.21.2
1913 | dev: true
1914 |
1915 | /object.values@1.1.6:
1916 | resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==}
1917 | engines: {node: '>= 0.4'}
1918 | dependencies:
1919 | call-bind: 1.0.2
1920 | define-properties: 1.2.0
1921 | es-abstract: 1.21.2
1922 | dev: true
1923 |
1924 | /once@1.4.0:
1925 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
1926 | dependencies:
1927 | wrappy: 1.0.2
1928 | dev: true
1929 |
1930 | /open@8.4.2:
1931 | resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
1932 | engines: {node: '>=12'}
1933 | dependencies:
1934 | define-lazy-prop: 2.0.0
1935 | is-docker: 2.2.1
1936 | is-wsl: 2.2.0
1937 | dev: true
1938 |
1939 | /optionator@0.9.1:
1940 | resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==}
1941 | engines: {node: '>= 0.8.0'}
1942 | dependencies:
1943 | deep-is: 0.1.4
1944 | fast-levenshtein: 2.0.6
1945 | levn: 0.4.1
1946 | prelude-ls: 1.2.1
1947 | type-check: 0.4.0
1948 | word-wrap: 1.2.3
1949 | dev: true
1950 |
1951 | /p-limit@3.1.0:
1952 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
1953 | engines: {node: '>=10'}
1954 | dependencies:
1955 | yocto-queue: 0.1.0
1956 | dev: true
1957 |
1958 | /p-locate@5.0.0:
1959 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
1960 | engines: {node: '>=10'}
1961 | dependencies:
1962 | p-limit: 3.1.0
1963 | dev: true
1964 |
1965 | /parent-module@1.0.1:
1966 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
1967 | engines: {node: '>=6'}
1968 | dependencies:
1969 | callsites: 3.1.0
1970 | dev: true
1971 |
1972 | /path-exists@4.0.0:
1973 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
1974 | engines: {node: '>=8'}
1975 | dev: true
1976 |
1977 | /path-is-absolute@1.0.1:
1978 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
1979 | engines: {node: '>=0.10.0'}
1980 | dev: true
1981 |
1982 | /path-key@3.1.1:
1983 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
1984 | engines: {node: '>=8'}
1985 | dev: true
1986 |
1987 | /path-parse@1.0.7:
1988 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
1989 | dev: true
1990 |
1991 | /path-type@4.0.0:
1992 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
1993 | engines: {node: '>=8'}
1994 | dev: true
1995 |
1996 | /picocolors@1.0.0:
1997 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
1998 | dev: true
1999 |
2000 | /picomatch@2.3.1:
2001 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
2002 | engines: {node: '>=8.6'}
2003 | dev: true
2004 |
2005 | /postcss@8.4.21:
2006 | resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==}
2007 | engines: {node: ^10 || ^12 || >=14}
2008 | dependencies:
2009 | nanoid: 3.3.6
2010 | picocolors: 1.0.0
2011 | source-map-js: 1.0.2
2012 | dev: true
2013 |
2014 | /prelude-ls@1.2.1:
2015 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
2016 | engines: {node: '>= 0.8.0'}
2017 | dev: true
2018 |
2019 | /prettier-linter-helpers@1.0.0:
2020 | resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==}
2021 | engines: {node: '>=6.0.0'}
2022 | dependencies:
2023 | fast-diff: 1.2.0
2024 | dev: true
2025 |
2026 | /prettier@2.8.7:
2027 | resolution: {integrity: sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==}
2028 | engines: {node: '>=10.13.0'}
2029 | hasBin: true
2030 | dev: true
2031 |
2032 | /prop-types@15.8.1:
2033 | resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
2034 | dependencies:
2035 | loose-envify: 1.4.0
2036 | object-assign: 4.1.1
2037 | react-is: 16.13.1
2038 | dev: true
2039 |
2040 | /punycode@2.3.0:
2041 | resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==}
2042 | engines: {node: '>=6'}
2043 | dev: true
2044 |
2045 | /queue-microtask@1.2.3:
2046 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
2047 | dev: true
2048 |
2049 | /react-dom@18.2.0(react@18.2.0):
2050 | resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
2051 | peerDependencies:
2052 | react: ^18.2.0
2053 | dependencies:
2054 | loose-envify: 1.4.0
2055 | react: 18.2.0
2056 | scheduler: 0.23.0
2057 | dev: true
2058 |
2059 | /react-is@16.13.1:
2060 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
2061 | dev: true
2062 |
2063 | /react-refresh@0.14.0:
2064 | resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==}
2065 | engines: {node: '>=0.10.0'}
2066 | dev: true
2067 |
2068 | /react@18.2.0:
2069 | resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
2070 | engines: {node: '>=0.10.0'}
2071 | dependencies:
2072 | loose-envify: 1.4.0
2073 | dev: true
2074 |
2075 | /regexp.prototype.flags@1.4.3:
2076 | resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==}
2077 | engines: {node: '>= 0.4'}
2078 | dependencies:
2079 | call-bind: 1.0.2
2080 | define-properties: 1.2.0
2081 | functions-have-names: 1.2.3
2082 | dev: true
2083 |
2084 | /resolve-from@4.0.0:
2085 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
2086 | engines: {node: '>=4'}
2087 | dev: true
2088 |
2089 | /resolve@1.22.2:
2090 | resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==}
2091 | hasBin: true
2092 | dependencies:
2093 | is-core-module: 2.12.0
2094 | path-parse: 1.0.7
2095 | supports-preserve-symlinks-flag: 1.0.0
2096 | dev: true
2097 |
2098 | /resolve@2.0.0-next.4:
2099 | resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==}
2100 | hasBin: true
2101 | dependencies:
2102 | is-core-module: 2.12.0
2103 | path-parse: 1.0.7
2104 | supports-preserve-symlinks-flag: 1.0.0
2105 | dev: true
2106 |
2107 | /reusify@1.0.4:
2108 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
2109 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
2110 | dev: true
2111 |
2112 | /rimraf@3.0.2:
2113 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
2114 | hasBin: true
2115 | dependencies:
2116 | glob: 7.2.3
2117 | dev: true
2118 |
2119 | /rollup@3.20.2:
2120 | resolution: {integrity: sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg==}
2121 | engines: {node: '>=14.18.0', npm: '>=8.0.0'}
2122 | hasBin: true
2123 | optionalDependencies:
2124 | fsevents: 2.3.2
2125 | dev: true
2126 |
2127 | /run-parallel@1.2.0:
2128 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
2129 | dependencies:
2130 | queue-microtask: 1.2.3
2131 | dev: true
2132 |
2133 | /safe-regex-test@1.0.0:
2134 | resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==}
2135 | dependencies:
2136 | call-bind: 1.0.2
2137 | get-intrinsic: 1.2.0
2138 | is-regex: 1.1.4
2139 | dev: true
2140 |
2141 | /scheduler@0.23.0:
2142 | resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
2143 | dependencies:
2144 | loose-envify: 1.4.0
2145 | dev: true
2146 |
2147 | /semver@6.3.0:
2148 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
2149 | hasBin: true
2150 | dev: true
2151 |
2152 | /shebang-command@2.0.0:
2153 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
2154 | engines: {node: '>=8'}
2155 | dependencies:
2156 | shebang-regex: 3.0.0
2157 | dev: true
2158 |
2159 | /shebang-regex@3.0.0:
2160 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
2161 | engines: {node: '>=8'}
2162 | dev: true
2163 |
2164 | /side-channel@1.0.4:
2165 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
2166 | dependencies:
2167 | call-bind: 1.0.2
2168 | get-intrinsic: 1.2.0
2169 | object-inspect: 1.12.3
2170 | dev: true
2171 |
2172 | /slash@4.0.0:
2173 | resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==}
2174 | engines: {node: '>=12'}
2175 | dev: true
2176 |
2177 | /source-map-js@1.0.2:
2178 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
2179 | engines: {node: '>=0.10.0'}
2180 | dev: true
2181 |
2182 | /string.prototype.matchall@4.0.8:
2183 | resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==}
2184 | dependencies:
2185 | call-bind: 1.0.2
2186 | define-properties: 1.2.0
2187 | es-abstract: 1.21.2
2188 | get-intrinsic: 1.2.0
2189 | has-symbols: 1.0.3
2190 | internal-slot: 1.0.5
2191 | regexp.prototype.flags: 1.4.3
2192 | side-channel: 1.0.4
2193 | dev: true
2194 |
2195 | /string.prototype.trim@1.2.7:
2196 | resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==}
2197 | engines: {node: '>= 0.4'}
2198 | dependencies:
2199 | call-bind: 1.0.2
2200 | define-properties: 1.2.0
2201 | es-abstract: 1.21.2
2202 | dev: true
2203 |
2204 | /string.prototype.trimend@1.0.6:
2205 | resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==}
2206 | dependencies:
2207 | call-bind: 1.0.2
2208 | define-properties: 1.2.0
2209 | es-abstract: 1.21.2
2210 | dev: true
2211 |
2212 | /string.prototype.trimstart@1.0.6:
2213 | resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==}
2214 | dependencies:
2215 | call-bind: 1.0.2
2216 | define-properties: 1.2.0
2217 | es-abstract: 1.21.2
2218 | dev: true
2219 |
2220 | /strip-ansi@6.0.1:
2221 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
2222 | engines: {node: '>=8'}
2223 | dependencies:
2224 | ansi-regex: 5.0.1
2225 | dev: true
2226 |
2227 | /strip-bom@3.0.0:
2228 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
2229 | engines: {node: '>=4'}
2230 | dev: true
2231 |
2232 | /strip-json-comments@3.1.1:
2233 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
2234 | engines: {node: '>=8'}
2235 | dev: true
2236 |
2237 | /supports-color@5.5.0:
2238 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
2239 | engines: {node: '>=4'}
2240 | dependencies:
2241 | has-flag: 3.0.0
2242 | dev: true
2243 |
2244 | /supports-color@7.2.0:
2245 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
2246 | engines: {node: '>=8'}
2247 | dependencies:
2248 | has-flag: 4.0.0
2249 | dev: true
2250 |
2251 | /supports-preserve-symlinks-flag@1.0.0:
2252 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
2253 | engines: {node: '>= 0.4'}
2254 | dev: true
2255 |
2256 | /synckit@0.8.5:
2257 | resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==}
2258 | engines: {node: ^14.18.0 || >=16.0.0}
2259 | dependencies:
2260 | '@pkgr/utils': 2.3.1
2261 | tslib: 2.5.0
2262 | dev: true
2263 |
2264 | /tapable@2.2.1:
2265 | resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
2266 | engines: {node: '>=6'}
2267 | dev: true
2268 |
2269 | /text-table@0.2.0:
2270 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
2271 | dev: true
2272 |
2273 | /tiny-glob@0.2.9:
2274 | resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==}
2275 | dependencies:
2276 | globalyzer: 0.1.0
2277 | globrex: 0.1.2
2278 | dev: true
2279 |
2280 | /to-fast-properties@2.0.0:
2281 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
2282 | engines: {node: '>=4'}
2283 | dev: true
2284 |
2285 | /to-regex-range@5.0.1:
2286 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
2287 | engines: {node: '>=8.0'}
2288 | dependencies:
2289 | is-number: 7.0.0
2290 | dev: true
2291 |
2292 | /tsconfig-paths@3.14.2:
2293 | resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==}
2294 | dependencies:
2295 | '@types/json5': 0.0.29
2296 | json5: 1.0.2
2297 | minimist: 1.2.8
2298 | strip-bom: 3.0.0
2299 | dev: true
2300 |
2301 | /tslib@2.5.0:
2302 | resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==}
2303 | dev: true
2304 |
2305 | /type-check@0.4.0:
2306 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
2307 | engines: {node: '>= 0.8.0'}
2308 | dependencies:
2309 | prelude-ls: 1.2.1
2310 | dev: true
2311 |
2312 | /type-fest@0.20.2:
2313 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
2314 | engines: {node: '>=10'}
2315 | dev: true
2316 |
2317 | /typed-array-length@1.0.4:
2318 | resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==}
2319 | dependencies:
2320 | call-bind: 1.0.2
2321 | for-each: 0.3.3
2322 | is-typed-array: 1.1.10
2323 | dev: true
2324 |
2325 | /typescript@5.0.4:
2326 | resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==}
2327 | engines: {node: '>=12.20'}
2328 | hasBin: true
2329 | dev: true
2330 |
2331 | /unbox-primitive@1.0.2:
2332 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
2333 | dependencies:
2334 | call-bind: 1.0.2
2335 | has-bigints: 1.0.2
2336 | has-symbols: 1.0.3
2337 | which-boxed-primitive: 1.0.2
2338 | dev: true
2339 |
2340 | /update-browserslist-db@1.0.10(browserslist@4.21.5):
2341 | resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==}
2342 | hasBin: true
2343 | peerDependencies:
2344 | browserslist: '>= 4.21.0'
2345 | dependencies:
2346 | browserslist: 4.21.5
2347 | escalade: 3.1.1
2348 | picocolors: 1.0.0
2349 | dev: true
2350 |
2351 | /uri-js@4.4.1:
2352 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
2353 | dependencies:
2354 | punycode: 2.3.0
2355 | dev: true
2356 |
2357 | /vite@4.2.1(@types/node@18.15.11):
2358 | resolution: {integrity: sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg==}
2359 | engines: {node: ^14.18.0 || >=16.0.0}
2360 | hasBin: true
2361 | peerDependencies:
2362 | '@types/node': '>= 14'
2363 | less: '*'
2364 | sass: '*'
2365 | stylus: '*'
2366 | sugarss: '*'
2367 | terser: ^5.4.0
2368 | peerDependenciesMeta:
2369 | '@types/node':
2370 | optional: true
2371 | less:
2372 | optional: true
2373 | sass:
2374 | optional: true
2375 | stylus:
2376 | optional: true
2377 | sugarss:
2378 | optional: true
2379 | terser:
2380 | optional: true
2381 | dependencies:
2382 | '@types/node': 18.15.11
2383 | esbuild: 0.17.16
2384 | postcss: 8.4.21
2385 | resolve: 1.22.2
2386 | rollup: 3.20.2
2387 | optionalDependencies:
2388 | fsevents: 2.3.2
2389 | dev: true
2390 |
2391 | /which-boxed-primitive@1.0.2:
2392 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
2393 | dependencies:
2394 | is-bigint: 1.0.4
2395 | is-boolean-object: 1.1.2
2396 | is-number-object: 1.0.7
2397 | is-string: 1.0.7
2398 | is-symbol: 1.0.4
2399 | dev: true
2400 |
2401 | /which-typed-array@1.1.9:
2402 | resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==}
2403 | engines: {node: '>= 0.4'}
2404 | dependencies:
2405 | available-typed-arrays: 1.0.5
2406 | call-bind: 1.0.2
2407 | for-each: 0.3.3
2408 | gopd: 1.0.1
2409 | has-tostringtag: 1.0.0
2410 | is-typed-array: 1.1.10
2411 | dev: true
2412 |
2413 | /which@2.0.2:
2414 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
2415 | engines: {node: '>= 8'}
2416 | hasBin: true
2417 | dependencies:
2418 | isexe: 2.0.0
2419 | dev: true
2420 |
2421 | /word-wrap@1.2.3:
2422 | resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==}
2423 | engines: {node: '>=0.10.0'}
2424 | dev: true
2425 |
2426 | /wrappy@1.0.2:
2427 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
2428 | dev: true
2429 |
2430 | /yallist@3.1.1:
2431 | resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
2432 | dev: true
2433 |
2434 | /yocto-queue@0.1.0:
2435 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
2436 | engines: {node: '>=10'}
2437 | dev: true
2438 |
--------------------------------------------------------------------------------