├── .gitignore ├── .prettierrc ├── test ├── browser │ ├── runtime.js │ └── Logger.browser.test.ts └── node │ └── Logger.test.ts ├── ossjs.release.config.js ├── vitest.config.ts ├── tsconfig.json ├── tsup.config.ts ├── playwright.config.ts ├── src ├── colors.ts └── index.ts ├── LICENSE ├── .github └── workflows │ └── ci.yml ├── playwright.extend.ts ├── package.json ├── README.md └── pnpm-lock.yaml /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | build 3 | lib 4 | test-results -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "semi": false, 3 | "singleQuote": true, 4 | "arrowParens": "always" 5 | } 6 | -------------------------------------------------------------------------------- /test/browser/runtime.js: -------------------------------------------------------------------------------- 1 | import { Logger } from '@open-draft/logger' 2 | 3 | window.Logger = Logger 4 | -------------------------------------------------------------------------------- /ossjs.release.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | script: 'pnpm publish --no-git-checks --access public' 3 | } -------------------------------------------------------------------------------- /vitest.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | globals: true, 6 | dir: 'test/node', 7 | }, 8 | }) -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "esnext", 4 | "types": ["vitest/globals"], 5 | "moduleResolution": "nodenext" 6 | }, 7 | "include": ["src", "test"], 8 | "exclude": ["node_modules"] 9 | } -------------------------------------------------------------------------------- /tsup.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'tsup' 2 | 3 | export default defineConfig({ 4 | entry: ['src/index.ts'], 5 | platform: 'neutral', 6 | format: ['esm', 'cjs'], 7 | outDir: './lib', 8 | bundle: true, 9 | dts: true, 10 | }) 11 | -------------------------------------------------------------------------------- /playwright.config.ts: -------------------------------------------------------------------------------- 1 | import { Config } from '@playwright/test' 2 | 3 | const config: Config = { 4 | testDir: 'test/browser', 5 | use: { 6 | launchOptions: { 7 | devtools: true, 8 | }, 9 | }, 10 | forbidOnly: !!process.env.CI, 11 | fullyParallel: true, 12 | } 13 | 14 | export default config 15 | -------------------------------------------------------------------------------- /src/colors.ts: -------------------------------------------------------------------------------- 1 | export type ColorFunction = (text: string) => void 2 | 3 | export function yellow(text: string) { 4 | return `\x1b[33m${text}\x1b[0m` 5 | } 6 | 7 | export function blue(text: string) { 8 | return `\x1b[34m${text}\x1b[0m` 9 | } 10 | 11 | export function gray(text: string) { 12 | return `\x1b[90m${text}\x1b[0m` 13 | } 14 | 15 | export function red(text: string) { 16 | return `\x1b[31m${text}\x1b[0m` 17 | } 18 | 19 | export function green(text: string) { 20 | return `\x1b[32m${text}\x1b[0m` 21 | } 22 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023—present Artem Zakharchenko 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: ci 2 | 3 | on: 4 | push: 5 | branches: [main] 6 | pull_request: 7 | workflow_dispatch: 8 | 9 | jobs: 10 | build: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - name: Checkout 14 | uses: actions/checkout@v3 15 | with: 16 | fetch-depth: 0 17 | token: ${{ secrets.CI_GITHUB_TOKEN }} 18 | 19 | - name: Set up Node.js 20 | uses: actions/setup-node@v3 21 | with: 22 | node-version: 18 23 | always-auth: true 24 | registry-url: https://registry.npmjs.org 25 | 26 | - name: Setup Git 27 | run: | 28 | git config --local user.name "Artem Zakharchenko" 29 | git config --local user.email "kettanaito@gmail.com" 30 | 31 | - uses: pnpm/action-setup@v2 32 | with: 33 | version: 7.12 34 | 35 | - name: Install dependencies 36 | run: pnpm install 37 | 38 | - name: Build 39 | run: pnpm build 40 | 41 | - name: Node.js tests 42 | run: pnpm test:node 43 | 44 | - name: Browser tests 45 | run: pnpm test:browser 46 | 47 | - name: Release 48 | if: github.ref == 'refs/heads/main' 49 | run: pnpm release 50 | env: 51 | GITHUB_TOKEN: ${{ secrets.CI_GITHUB_TOKEN }} 52 | NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} 53 | -------------------------------------------------------------------------------- /playwright.extend.ts: -------------------------------------------------------------------------------- 1 | import { test as base, expect } from '@playwright/test' 2 | 3 | interface Fixtures { 4 | useFakeTimers(date: Date): void 5 | consoleMessages: Map> 6 | } 7 | 8 | const test = base.extend({ 9 | async useFakeTimers({ page }, use) { 10 | await use(async (date) => { 11 | const fakeNow = date.valueOf() 12 | 13 | await page.addInitScript(`{ 14 | // Extend Date constructor to default to fakeNow 15 | Date = class extends Date { 16 | constructor(...args) { 17 | if (args.length === 0) { 18 | super(${fakeNow}); 19 | } else { 20 | super(...args); 21 | } 22 | } 23 | } 24 | const __DateNowOffset = ${fakeNow} - Date.now(); 25 | const __DateNow = Date.now; 26 | Date.now = () => __DateNow() + __DateNowOffset; 27 | }`) 28 | }) 29 | }, 30 | async consoleMessages({ page }, use) { 31 | const messages = new Map() 32 | page.on('console', (message) => { 33 | const prevMessages = messages.get(message.type()) || [] 34 | const text = message 35 | .text() 36 | .replace( 37 | /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, 38 | '' 39 | ) 40 | messages.set(message.type(), prevMessages.concat(text)) 41 | }) 42 | 43 | await use(messages) 44 | 45 | messages.clear() 46 | }, 47 | }) 48 | 49 | export { test, expect } 50 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@open-draft/logger", 3 | "version": "0.3.0", 4 | "description": "Environment-agnostic, ESM-friendly logger for simple needs.", 5 | "main": "./lib/index.js", 6 | "module": "./lib/index.mjs", 7 | "types": "./lib/index.d.ts", 8 | "exports": { 9 | ".": { 10 | "types": "./lib/index.d.ts", 11 | "require": "./lib/index.js", 12 | "import": "./lib/index.mjs", 13 | "default": "./lib/index.js" 14 | }, 15 | "./package.json": "./package.json" 16 | }, 17 | "scripts": { 18 | "build": "tsup", 19 | "test": "pnpm test:node && pnpm test:browser", 20 | "test:node": "vitest run", 21 | "test:browser": "playwright test", 22 | "release": "release publish" 23 | }, 24 | "keywords": [ 25 | "log", 26 | "logger", 27 | "logging", 28 | "universal", 29 | "tiny" 30 | ], 31 | "files": [ 32 | "lib", 33 | "LICENSE", 34 | "README.md" 35 | ], 36 | "author": "Artem Zakharchenko", 37 | "license": "MIT", 38 | "repository": { 39 | "type": "git", 40 | "url": "https://github.com/open-draft/logger" 41 | }, 42 | "devDependencies": { 43 | "@ossjs/release": "^0.5.1", 44 | "@playwright/test": "^1.32.3", 45 | "@types/node": "^18.15.11", 46 | "playwright": "^1.32.3", 47 | "tsup": "^6.7.0", 48 | "typescript": "^5.0.3", 49 | "vitest": "^0.29.8", 50 | "webpack-http-server": "^0.5.0" 51 | }, 52 | "dependencies": { 53 | "is-node-process": "^1.2.0", 54 | "outvariant": "^1.4.0" 55 | } 56 | } -------------------------------------------------------------------------------- /test/node/Logger.test.ts: -------------------------------------------------------------------------------- 1 | vi.stubEnv('DEBUG', 'true') 2 | 3 | import { Logger } from '../../src/index' 4 | import * as colors from '../../src/colors' 5 | 6 | const logger = new Logger('parser') 7 | 8 | beforeAll(() => { 9 | vi.spyOn(process.stdout, 'write') 10 | vi.spyOn(process.stderr, 'write') 11 | vi.useFakeTimers() 12 | vi.setSystemTime(new Date(2023, 3, 1, 12, 34, 56, 789)) 13 | }) 14 | 15 | afterEach(() => { 16 | vi.resetAllMocks() 17 | }) 18 | 19 | afterAll(() => { 20 | vi.restoreAllMocks() 21 | vi.unstubAllEnvs() 22 | vi.useRealTimers() 23 | }) 24 | 25 | it('prints a single info message', () => { 26 | logger.info('hello world') 27 | 28 | expect(process.stdout.write).toHaveBeenCalledWith( 29 | `${colors.gray('12:34:56:789')} ${colors.blue('[parser]')} hello world\n` 30 | ) 31 | }) 32 | 33 | it('prints multiple info messages', () => { 34 | logger.info('hello world') 35 | logger.info('hello world') 36 | 37 | expect(process.stdout.write).toHaveBeenCalledWith( 38 | `${colors.gray('12:34:56:789')} ${colors.blue('[parser]')} hello world\n` 39 | ) 40 | expect(process.stdout.write).toHaveBeenCalledWith( 41 | `${colors.gray('12:34:56:789')} ${colors.blue('[parser]')} hello world\n` 42 | ) 43 | }) 44 | 45 | it('prints a success message', () => { 46 | logger.success('ok!') 47 | 48 | expect(process.stdout.write).toHaveBeenCalledWith( 49 | `${colors.green('12:34:56:789')} ${colors.green('✔ [parser]')} ok!\n` 50 | ) 51 | }) 52 | 53 | it('prints a warning message', () => { 54 | logger.warning('simple warning') 55 | 56 | expect(process.stderr.write).toHaveBeenCalledWith( 57 | `${colors.yellow('12:34:56:789')} ${colors.yellow( 58 | '⚠ [parser]' 59 | )} simple warning\n` 60 | ) 61 | }) 62 | 63 | it('prints an error message', () => { 64 | logger.error('oops') 65 | 66 | expect(process.stderr.write).toHaveBeenCalledWith( 67 | `${colors.red('12:34:56:789')} ${colors.red('✖ [parser]')} oops\n` 68 | ) 69 | }) 70 | 71 | it('supports positionals', () => { 72 | logger.debug('hello %s', 'world') 73 | expect(process.stdout.write).toHaveBeenCalledWith( 74 | `${colors.gray('12:34:56:789')} ${colors.gray('[parser]')} ${colors.gray( 75 | 'hello world' 76 | )}\n` 77 | ) 78 | 79 | logger.info('hello %s', 'world') 80 | expect(process.stdout.write).toHaveBeenCalledWith( 81 | `${colors.gray('12:34:56:789')} ${colors.blue('[parser]')} hello world\n` 82 | ) 83 | 84 | logger.success('hello %s', 'world') 85 | expect(process.stdout.write).toHaveBeenCalledWith( 86 | `${colors.green('12:34:56:789')} ${colors.green( 87 | '✔ [parser]' 88 | )} hello world\n` 89 | ) 90 | 91 | logger.warning('hello %s', 'world') 92 | expect(process.stderr.write).toHaveBeenCalledWith( 93 | `${colors.yellow('12:34:56:789')} ${colors.yellow( 94 | '⚠ [parser]' 95 | )} hello world\n` 96 | ) 97 | 98 | logger.error('hello %s', 'world') 99 | expect(process.stderr.write).toHaveBeenCalledWith( 100 | `${colors.red('12:34:56:789')} ${colors.red('✖ [parser]')} hello world\n` 101 | ) 102 | }) 103 | 104 | it('serializes the input message', () => { 105 | logger.info({ hello: 'world' }) 106 | expect(process.stdout.write).toHaveBeenCalledWith( 107 | `${colors.gray('12:34:56:789')} ${colors.blue( 108 | '[parser]' 109 | )} {"hello":"world"}\n` 110 | ) 111 | 112 | logger.info([1, 'two', { three: 3 }]) 113 | expect(process.stdout.write).toHaveBeenCalledWith( 114 | `${colors.gray('12:34:56:789')} ${colors.blue( 115 | '[parser]' 116 | )} [1,"two",{"three":3}]\n` 117 | ) 118 | }) 119 | -------------------------------------------------------------------------------- /test/browser/Logger.browser.test.ts: -------------------------------------------------------------------------------- 1 | import { Page } from '@playwright/test' 2 | import { WebpackHttpServer } from 'webpack-http-server' 3 | import { test, expect } from '../../playwright.extend' 4 | import { Logger as LoggerClass } from '../../src' 5 | 6 | declare namespace window { 7 | export const Logger: typeof LoggerClass 8 | } 9 | 10 | const webpackServer = new WebpackHttpServer({ 11 | webpackConfig: { 12 | resolve: { 13 | alias: { 14 | '@open-draft/logger': require.resolve('../..'), 15 | }, 16 | }, 17 | }, 18 | }) 19 | 20 | test.beforeAll(async () => { 21 | await webpackServer.listen() 22 | }) 23 | 24 | test.beforeEach(({ useFakeTimers }) => { 25 | useFakeTimers(new Date(2023, 3, 1, 12, 34, 56, 789)) 26 | }) 27 | 28 | test.afterAll(async () => { 29 | await webpackServer.close() 30 | }) 31 | 32 | async function loadRuntime(page: Page) { 33 | const compilation = await webpackServer.compile([ 34 | require.resolve('./runtime.js'), 35 | ]) 36 | 37 | await page.goto(compilation.previewUrl, { waitUntil: 'networkidle' }) 38 | } 39 | 40 | test('prints info messages', async ({ page, consoleMessages }) => { 41 | await loadRuntime(page) 42 | 43 | await page.evaluate(() => { 44 | globalThis.DEBUG = true 45 | 46 | const logger = new window.Logger('test') 47 | logger.info('first') 48 | logger.info('second') 49 | logger.info('third') 50 | }) 51 | 52 | expect(consoleMessages.get('log')).toEqual([ 53 | `12:34:56:789 [test] first`, 54 | `12:34:56:789 [test] second`, 55 | `12:34:56:789 [test] third`, 56 | ]) 57 | }) 58 | 59 | test('prints success messages', async ({ page, consoleMessages }) => { 60 | await loadRuntime(page) 61 | 62 | await page.evaluate(() => { 63 | globalThis.DEBUG = true 64 | 65 | const logger = new window.Logger('test') 66 | logger.success('first') 67 | logger.success('second') 68 | logger.success('third') 69 | }) 70 | 71 | expect(consoleMessages.get('log')).toEqual([ 72 | `12:34:56:789 ✔ [test] first`, 73 | `12:34:56:789 ✔ [test] second`, 74 | `12:34:56:789 ✔ [test] third`, 75 | ]) 76 | }) 77 | 78 | test('prints warning messages', async ({ page, consoleMessages }) => { 79 | await loadRuntime(page) 80 | 81 | await page.evaluate(() => { 82 | globalThis.DEBUG = true 83 | 84 | const logger = new window.Logger('test') 85 | logger.warning('double-check this') 86 | }) 87 | 88 | expect(consoleMessages.get('warning')).toEqual([ 89 | `12:34:56:789 ⚠ [test] double-check this`, 90 | ]) 91 | }) 92 | 93 | test('prints error messages', async ({ page, consoleMessages }) => { 94 | await loadRuntime(page) 95 | 96 | await page.evaluate(() => { 97 | globalThis.DEBUG = true 98 | 99 | const logger = new window.Logger('test') 100 | logger.error('something went wrong') 101 | }) 102 | 103 | expect(consoleMessages.get('error')).toEqual([ 104 | `12:34:56:789 ✖ [test] something went wrong`, 105 | ]) 106 | }) 107 | 108 | test('supports positionals', async ({ page, consoleMessages }) => { 109 | await loadRuntime(page) 110 | 111 | await page.evaluate(() => { 112 | globalThis.DEBUG = true 113 | 114 | const logger = new window.Logger('test') 115 | logger.debug('debug %d ("%s")', 123, 'abc', 'end') 116 | logger.info('info %d ("%s")', 123, 'abc', 'end') 117 | logger.success('success %d ("%s")', 123, 'abc', 'end') 118 | logger.warning('warning %d ("%s")', 123, 'abc', 'end') 119 | logger.error('error %d ("%s")', 123, 'abc', 'end') 120 | }) 121 | 122 | /** 123 | * @note Playwright doesn't expose the resolved console messages. 124 | * They are correctly printed to the console so asserting the 125 | * arguments is enough. 126 | */ 127 | expect(consoleMessages.get('log')).toEqual( 128 | expect.arrayContaining([`12:34:56:789 [test] debug %d ("%s") 123 abc end`]) 129 | ) 130 | expect(consoleMessages.get('log')).toEqual( 131 | expect.arrayContaining([`12:34:56:789 [test] info %d ("%s") 123 abc end`]) 132 | ) 133 | expect(consoleMessages.get('log')).toEqual( 134 | expect.arrayContaining([ 135 | `12:34:56:789 ✔ [test] success %d ("%s") 123 abc end`, 136 | ]) 137 | ) 138 | expect(consoleMessages.get('warning')).toEqual( 139 | expect.arrayContaining([ 140 | `12:34:56:789 ⚠ [test] warning %d ("%s") 123 abc end`, 141 | ]) 142 | ) 143 | expect(consoleMessages.get('error')).toEqual( 144 | expect.arrayContaining([ 145 | `12:34:56:789 ✖ [test] error %d ("%s") 123 abc end`, 146 | ]) 147 | ) 148 | }) 149 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Logger 2 | 3 | Environment-agnostic, ESM-friendly logger for simple needs. 4 | 5 | ## Why does this exist? 6 | 7 | I've been using `debug` for quite some time but wanted to migrate my projects to better ESM support. Alas, `debug` doesn't ship as ESM so I went and wrote this little logger just for my needs. You will likely see it printing useful data in Mock Service Worker and beyond. 8 | 9 | ## Installation 10 | 11 | ```sh 12 | npm install @open-draft/logger 13 | ``` 14 | 15 | ## Usage 16 | 17 | This package has the same API for both browser and Node.js and can run in those environments out of the box. 18 | 19 | ```js 20 | // app.js 21 | import { Logger } from '@open-draft/logger' 22 | 23 | const logger = new Logger('parser') 24 | 25 | logger.info('starting parsing...') 26 | logger.warning('found legacy document format') 27 | logger.success('parsed 120 documents!') 28 | ``` 29 | 30 | Logging is disabled by default. To enable logging, provide the `DEBUG` environment variable: 31 | 32 | ```sh 33 | DEBUG=1 node ./app.js 34 | ``` 35 | 36 | > You can also use `true` instead of `1`. You can also use a specific logger's name to enable [logger filtering](#logger-filtering). 37 | 38 | ## API 39 | 40 | - Class: `Logger` 41 | - [`new Logger(name)`](#new-loggername) 42 | - [`logger.debug(message, ...positionals)`](#loggerdebugmessage-positionals) 43 | - [`logger.info(message, ...positionals)`](#loggerinfomessage-positionals) 44 | - [`logger.success(message, ...positionals)`](#loggersuccessmessage-positionals) 45 | - [`logger.warning(message, ...positionals)`](#loggerwarningmessage-positionals) 46 | - [`logger.error(message, ...positionals)`](#loggererrormessage-positionals) 47 | - [`logger.extend(name)`](#loggerextendprefix) 48 | - [`logger.only(callback)`](#loggeronlycallback) 49 | 50 | ### `new Logger(name)` 51 | 52 | - `name` `string` the name of the logger. 53 | 54 | Creates a new instance of the logger. Each message printed by the logger will be prefixed with the given `name`. You can have multiple loggers with different names for different areas of your system. 55 | 56 | ```js 57 | const logger = new Logger('parser') 58 | ``` 59 | 60 | > You can nest loggers via [`logger.extend()`](#loggerextendprefix). 61 | 62 | ### `logger.debug(message, ...positionals)` 63 | 64 | - `message` `string` 65 | - `positionals` `unknown[]` 66 | 67 | Prints a debug message. 68 | 69 | ```js 70 | logger.debug('no duplicates found, skipping...') 71 | ``` 72 | 73 | ``` 74 | 12:34:56:789 [parser] no duplicates found, skipping... 75 | ``` 76 | 77 | ### `logger.info(message, ...positionals)` 78 | 79 | - `message` `string` 80 | - `positionals` `unknown[]` 81 | 82 | Prints an info message. 83 | 84 | ```js 85 | logger.info('new parse request') 86 | ``` 87 | 88 | ``` 89 | 12:34:56:789 [parser] new parse request 90 | ``` 91 | 92 | ### `logger.success(message, ...positionals)` 93 | 94 | - `message` `string` 95 | - `positionals` `unknown[]` 96 | 97 | Prints a success message. 98 | 99 | ```js 100 | logger.success('prased 123 documents!') 101 | ``` 102 | 103 | ``` 104 | 12:34:56:789 ✔ [parser] prased 123 documents! 105 | ``` 106 | 107 | ### `logger.warning(message, ...positionals)` 108 | 109 | - `message` `string` 110 | - `positionals` `unknown[]` 111 | 112 | Prints a warning. In Node.js, prints it to `process.stderr`. 113 | 114 | ```js 115 | logger.warning('found legacy document format') 116 | ``` 117 | 118 | ``` 119 | 12:34:56:789 ⚠ [parser] found legacy document format 120 | ``` 121 | 122 | ### `logger.error(message, ...positionals)` 123 | 124 | - `message` `string` 125 | - `positionals` `unknown[]` 126 | 127 | Prints an error. In Node.js, prints it to `process.stderr`. 128 | 129 | ```js 130 | logger.error('failed to parse document') 131 | ``` 132 | 133 | ``` 134 | 12:34:56:789 ✖ [parser] failed to parse document 135 | ``` 136 | 137 | ### `logger.extend(prefix)` 138 | 139 | - `prefix` `string` Additional prefix to append to the logger's name. 140 | 141 | Creates a new logger out of the current one. 142 | 143 | ```js 144 | const logger = new Logger('parser') 145 | 146 | function parseRequest(request) { 147 | const requestLogger = logger.extend(`${request.method} ${request.url}`) 148 | requestLogger.info('start parsing...') 149 | } 150 | ``` 151 | 152 | ``` 153 | 12:34:56:789 [parser] [GET https://example.com] start parsing... 154 | ``` 155 | 156 | ### `logger.only(callback)` 157 | 158 | Executes a given callback only when the logging is activated. Useful for computing additional information for logs. 159 | 160 | ```js 161 | logger.only(() => { 162 | const documentSize = getSizeBytes(document) 163 | logger.debug(`document size: ${documentSize}`) 164 | }) 165 | ``` 166 | 167 | > You can nest `logger.*` methods in the callback to `logger.only()`. 168 | 169 | ## Log levels 170 | 171 | You can specify the log levels to print using the `LOG_LEVEL` environment variable. 172 | 173 | There are the following log levels: 174 | 175 | - `debug` 176 | - `info` 177 | - `success` 178 | - `warning` 179 | - `error` 180 | 181 | > Providing no log level will print all the messages. 182 | 183 | Here's an example of how to print only warnings: 184 | 185 | ```js 186 | // app.js 187 | import { Logger } from '@open-draft/logger' 188 | 189 | const logger = new Logger('parser') 190 | 191 | logger.info('some info') 192 | logger.warning('some warning') 193 | logger.error('some error') 194 | ``` 195 | 196 | ```js 197 | LOG_LEVEL=warning node ./app.js 198 | ``` 199 | 200 | ``` 201 | 12:34:56:789 ⚠ [parser] some warning 202 | ``` 203 | 204 | ## Logger filtering 205 | 206 | You can only print a specific logger by providing its name as the `DEBUG` environment variable. 207 | 208 | ```js 209 | // app.js 210 | import { Logger } from '@open-draft/logger' 211 | 212 | const appLogger = new Logger('app') 213 | const parserLogger = new Logger('parser') 214 | 215 | appLogger.info('starting app...') 216 | parserLogger.info('creating a new parser...') 217 | ``` 218 | 219 | ```sh 220 | DEBUG=app node ./app.js 221 | ``` 222 | 223 | ``` 224 | 12:34:56:789 [app] starting app... 225 | ``` 226 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import { isNodeProcess } from 'is-node-process' 2 | import { format } from 'outvariant' 3 | import * as colors from './colors' 4 | 5 | const IS_NODE = isNodeProcess() 6 | 7 | export type LogLevel = 'debug' | 'info' | 'success' | 'warning' | 'error' 8 | 9 | export type LogColors = keyof typeof colors 10 | 11 | export interface LogEntry { 12 | timestamp: Date 13 | level: LogLevel 14 | message: any 15 | } 16 | 17 | export class Logger { 18 | private prefix: string 19 | 20 | constructor(private readonly name: string) { 21 | this.prefix = `[${this.name}]` 22 | 23 | const LOGGER_NAME = getVariable('DEBUG') 24 | const LOGGER_LEVEL = getVariable('LOG_LEVEL') as LogLevel | undefined 25 | 26 | const isLoggingEnabled = 27 | LOGGER_NAME === '1' || 28 | LOGGER_NAME === 'true' || 29 | (typeof LOGGER_NAME !== 'undefined' && this.name.startsWith(LOGGER_NAME)) 30 | 31 | if (isLoggingEnabled) { 32 | this.debug = isDefinedAndNotEquals(LOGGER_LEVEL, 'debug') 33 | ? noop 34 | : this.debug 35 | this.info = isDefinedAndNotEquals(LOGGER_LEVEL, 'info') ? noop : this.info 36 | this.success = isDefinedAndNotEquals(LOGGER_LEVEL, 'success') 37 | ? noop 38 | : this.success 39 | this.warning = isDefinedAndNotEquals(LOGGER_LEVEL, 'warning') 40 | ? noop 41 | : this.warning 42 | this.error = isDefinedAndNotEquals(LOGGER_LEVEL, 'error') 43 | ? noop 44 | : this.error 45 | } else { 46 | this.info = noop 47 | this.success = noop 48 | this.warning = noop 49 | this.error = noop 50 | this.only = noop 51 | } 52 | } 53 | 54 | public extend(domain: string): Logger { 55 | return new Logger(`${this.name}:${domain}`) 56 | } 57 | 58 | /** 59 | * Print a debug message. 60 | * @example 61 | * logger.debug('no duplicates found, creating a document...') 62 | */ 63 | public debug(message: any, ...positionals: Array): void { 64 | this.logEntry({ 65 | level: 'debug', 66 | message: colors.gray(message), 67 | positionals, 68 | prefix: this.prefix, 69 | colors: { 70 | prefix: 'gray', 71 | }, 72 | }) 73 | } 74 | 75 | /** 76 | * Print an info message. 77 | * @example 78 | * logger.info('start parsing...') 79 | */ 80 | public info(message: any, ...positionals: Array) { 81 | this.logEntry({ 82 | level: 'info', 83 | message, 84 | positionals, 85 | prefix: this.prefix, 86 | colors: { 87 | prefix: 'blue', 88 | }, 89 | }) 90 | 91 | const performance = new PerformanceEntry() 92 | 93 | return (message: any, ...positionals: Array) => { 94 | performance.measure() 95 | 96 | this.logEntry({ 97 | level: 'info', 98 | message: `${message} ${colors.gray(`${performance.deltaTime}ms`)}`, 99 | positionals, 100 | prefix: this.prefix, 101 | colors: { 102 | prefix: 'blue', 103 | }, 104 | }) 105 | } 106 | } 107 | 108 | /** 109 | * Print a success message. 110 | * @example 111 | * logger.success('successfully created document') 112 | */ 113 | public success(message: any, ...positionals: Array): void { 114 | this.logEntry({ 115 | level: 'info', 116 | message, 117 | positionals, 118 | prefix: `✔ ${this.prefix}`, 119 | colors: { 120 | timestamp: 'green', 121 | prefix: 'green', 122 | }, 123 | }) 124 | } 125 | 126 | /** 127 | * Print a warning. 128 | * @example 129 | * logger.warning('found legacy document format') 130 | */ 131 | public warning(message: any, ...positionals: Array): void { 132 | this.logEntry({ 133 | level: 'warning', 134 | message, 135 | positionals, 136 | prefix: `⚠ ${this.prefix}`, 137 | colors: { 138 | timestamp: 'yellow', 139 | prefix: 'yellow', 140 | }, 141 | }) 142 | } 143 | 144 | /** 145 | * Print an error message. 146 | * @example 147 | * logger.error('something went wrong') 148 | */ 149 | public error(message: any, ...positionals: Array): void { 150 | this.logEntry({ 151 | level: 'error', 152 | message, 153 | positionals, 154 | prefix: `✖ ${this.prefix}`, 155 | colors: { 156 | timestamp: 'red', 157 | prefix: 'red', 158 | }, 159 | }) 160 | } 161 | 162 | /** 163 | * Execute the given callback only when the logging is enabled. 164 | * This is skipped in its entirety and has no runtime cost otherwise. 165 | * This executes regardless of the log level. 166 | * @example 167 | * logger.only(() => { 168 | * logger.info('additional info') 169 | * }) 170 | */ 171 | public only(callback: () => void): void { 172 | callback() 173 | } 174 | 175 | private createEntry(level: LogLevel, message: unknown): LogEntry { 176 | return { 177 | timestamp: new Date(), 178 | level, 179 | message, 180 | } 181 | } 182 | 183 | private logEntry(args: { 184 | level: LogLevel 185 | message: unknown 186 | positionals?: Array 187 | prefix?: string 188 | colors?: { 189 | timestamp?: LogColors 190 | prefix?: LogColors 191 | message?: LogColors 192 | } 193 | }): void { 194 | const { 195 | level, 196 | message, 197 | prefix, 198 | colors: customColors, 199 | positionals = [], 200 | } = args 201 | const entry = this.createEntry(level, message) 202 | const timestampColor = customColors?.timestamp || 'gray' 203 | const prefixColor = customColors?.prefix || 'gray' 204 | const colorize = { 205 | timestamp: colors[timestampColor], 206 | prefix: colors[prefixColor], 207 | } 208 | 209 | const write = this.getWriter(level) 210 | 211 | write( 212 | [colorize.timestamp(this.formatTimestamp(entry.timestamp))] 213 | .concat(prefix != null ? colorize.prefix(prefix) : []) 214 | .concat(serializeInput(message)) 215 | .join(' '), 216 | ...positionals.map(serializeInput) 217 | ) 218 | } 219 | 220 | private formatTimestamp(timestamp: Date): string { 221 | return `${timestamp.toLocaleTimeString( 222 | 'en-GB' 223 | )}:${timestamp.getMilliseconds()}` 224 | } 225 | 226 | private getWriter(level: LogLevel) { 227 | switch (level) { 228 | case 'debug': 229 | case 'success': 230 | case 'info': { 231 | return log 232 | } 233 | case 'warning': { 234 | return warn 235 | } 236 | case 'error': { 237 | return error 238 | } 239 | } 240 | } 241 | } 242 | 243 | class PerformanceEntry { 244 | private readonly startTime: number 245 | public endTime: number 246 | public deltaTime: string 247 | 248 | constructor() { 249 | this.startTime = performance.now() 250 | } 251 | 252 | public measure(): void { 253 | this.endTime = performance.now() 254 | const deltaTime = this.endTime - this.startTime 255 | this.deltaTime = deltaTime.toFixed(2) 256 | } 257 | } 258 | 259 | const noop = () => void 0 260 | 261 | function log(message: string, ...positionals: Array): void { 262 | if (IS_NODE) { 263 | process.stdout.write(format(message, ...positionals) + '\n') 264 | return 265 | } 266 | 267 | console.log(message, ...positionals) 268 | } 269 | 270 | function warn(message: string, ...positionals: Array): void { 271 | if (IS_NODE) { 272 | process.stderr.write(format(message, ...positionals) + '\n') 273 | return 274 | } 275 | 276 | console.warn(message, ...positionals) 277 | } 278 | 279 | function error(message: string, ...positionals: Array): void { 280 | if (IS_NODE) { 281 | process.stderr.write(format(message, ...positionals) + '\n') 282 | return 283 | } 284 | 285 | console.error(message, ...positionals) 286 | } 287 | 288 | /** 289 | * Return an environmental variable value. 290 | * When run in the browser, returns the value of the global variable 291 | * of the same name. 292 | */ 293 | function getVariable(variableName: string): string | undefined { 294 | if (IS_NODE) { 295 | return process.env[variableName] 296 | } 297 | 298 | return globalThis[variableName]?.toString() 299 | } 300 | 301 | function isDefinedAndNotEquals( 302 | value: string | undefined, 303 | expected: string 304 | ): boolean { 305 | return value !== undefined && value !== expected 306 | } 307 | 308 | function serializeInput(message: any): string { 309 | if (typeof message === 'undefined') { 310 | return 'undefined' 311 | } 312 | 313 | if (message === null) { 314 | return 'null' 315 | } 316 | 317 | if (typeof message === 'string') { 318 | return message 319 | } 320 | 321 | if (typeof message === 'object') { 322 | return JSON.stringify(message) 323 | } 324 | 325 | return message.toString() 326 | } 327 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.4 2 | 3 | specifiers: 4 | '@ossjs/release': ^0.5.1 5 | '@playwright/test': ^1.32.3 6 | '@types/node': ^18.15.11 7 | is-node-process: ^1.2.0 8 | outvariant: ^1.4.0 9 | playwright: ^1.32.3 10 | tsup: ^6.7.0 11 | typescript: ^5.0.3 12 | vitest: ^0.29.8 13 | webpack-http-server: ^0.5.0 14 | 15 | dependencies: 16 | is-node-process: 1.2.0 17 | outvariant: 1.4.0 18 | 19 | devDependencies: 20 | '@ossjs/release': 0.5.1 21 | '@playwright/test': 1.32.3 22 | '@types/node': 18.15.11 23 | playwright: 1.32.3 24 | tsup: 6.7.0_typescript@5.0.3 25 | typescript: 5.0.3 26 | vitest: 0.29.8_playwright@1.32.3 27 | webpack-http-server: 0.5.0 28 | 29 | packages: 30 | 31 | /@babel/code-frame/7.21.4: 32 | resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==} 33 | engines: {node: '>=6.9.0'} 34 | dependencies: 35 | '@babel/highlight': 7.18.6 36 | dev: true 37 | 38 | /@babel/helper-validator-identifier/7.19.1: 39 | resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} 40 | engines: {node: '>=6.9.0'} 41 | dev: true 42 | 43 | /@babel/highlight/7.18.6: 44 | resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} 45 | engines: {node: '>=6.9.0'} 46 | dependencies: 47 | '@babel/helper-validator-identifier': 7.19.1 48 | chalk: 2.4.2 49 | js-tokens: 4.0.0 50 | dev: true 51 | 52 | /@esbuild/android-arm/0.17.14: 53 | resolution: {integrity: sha512-0CnlwnjDU8cks0yJLXfkaU/uoLyRf9VZJs4p1PskBr2AlAHeEsFEwJEo0of/Z3g+ilw5mpyDwThlxzNEIxOE4g==} 54 | engines: {node: '>=12'} 55 | cpu: [arm] 56 | os: [android] 57 | requiresBuild: true 58 | dev: true 59 | optional: true 60 | 61 | /@esbuild/android-arm64/0.17.14: 62 | resolution: {integrity: sha512-eLOpPO1RvtsP71afiFTvS7tVFShJBCT0txiv/xjFBo5a7R7Gjw7X0IgIaFoLKhqXYAXhahoXm7qAmRXhY4guJg==} 63 | engines: {node: '>=12'} 64 | cpu: [arm64] 65 | os: [android] 66 | requiresBuild: true 67 | dev: true 68 | optional: true 69 | 70 | /@esbuild/android-x64/0.17.14: 71 | resolution: {integrity: sha512-nrfQYWBfLGfSGLvRVlt6xi63B5IbfHm3tZCdu/82zuFPQ7zez4XjmRtF/wIRYbJQ/DsZrxJdEvYFE67avYXyng==} 72 | engines: {node: '>=12'} 73 | cpu: [x64] 74 | os: [android] 75 | requiresBuild: true 76 | dev: true 77 | optional: true 78 | 79 | /@esbuild/darwin-arm64/0.17.14: 80 | resolution: {integrity: sha512-eoSjEuDsU1ROwgBH/c+fZzuSyJUVXQTOIN9xuLs9dE/9HbV/A5IqdXHU1p2OfIMwBwOYJ9SFVGGldxeRCUJFyw==} 81 | engines: {node: '>=12'} 82 | cpu: [arm64] 83 | os: [darwin] 84 | requiresBuild: true 85 | dev: true 86 | optional: true 87 | 88 | /@esbuild/darwin-x64/0.17.14: 89 | resolution: {integrity: sha512-zN0U8RWfrDttdFNkHqFYZtOH8hdi22z0pFm0aIJPsNC4QQZv7je8DWCX5iA4Zx6tRhS0CCc0XC2m7wKsbWEo5g==} 90 | engines: {node: '>=12'} 91 | cpu: [x64] 92 | os: [darwin] 93 | requiresBuild: true 94 | dev: true 95 | optional: true 96 | 97 | /@esbuild/freebsd-arm64/0.17.14: 98 | resolution: {integrity: sha512-z0VcD4ibeZWVQCW1O7szaLxGsx54gcCnajEJMdYoYjLiq4g1jrP2lMq6pk71dbS5+7op/L2Aod+erw+EUr28/A==} 99 | engines: {node: '>=12'} 100 | cpu: [arm64] 101 | os: [freebsd] 102 | requiresBuild: true 103 | dev: true 104 | optional: true 105 | 106 | /@esbuild/freebsd-x64/0.17.14: 107 | resolution: {integrity: sha512-hd9mPcxfTgJlolrPlcXkQk9BMwNBvNBsVaUe5eNUqXut6weDQH8whcNaKNF2RO8NbpT6GY8rHOK2A9y++s+ehw==} 108 | engines: {node: '>=12'} 109 | cpu: [x64] 110 | os: [freebsd] 111 | requiresBuild: true 112 | dev: true 113 | optional: true 114 | 115 | /@esbuild/linux-arm/0.17.14: 116 | resolution: {integrity: sha512-BNTl+wSJ1omsH8s3TkQmIIIQHwvwJrU9u1ggb9XU2KTVM4TmthRIVyxSp2qxROJHhZuW/r8fht46/QE8hU8Qvg==} 117 | engines: {node: '>=12'} 118 | cpu: [arm] 119 | os: [linux] 120 | requiresBuild: true 121 | dev: true 122 | optional: true 123 | 124 | /@esbuild/linux-arm64/0.17.14: 125 | resolution: {integrity: sha512-FhAMNYOq3Iblcj9i+K0l1Fp/MHt+zBeRu/Qkf0LtrcFu3T45jcwB6A1iMsemQ42vR3GBhjNZJZTaCe3VFPbn9g==} 126 | engines: {node: '>=12'} 127 | cpu: [arm64] 128 | os: [linux] 129 | requiresBuild: true 130 | dev: true 131 | optional: true 132 | 133 | /@esbuild/linux-ia32/0.17.14: 134 | resolution: {integrity: sha512-91OK/lQ5y2v7AsmnFT+0EyxdPTNhov3y2CWMdizyMfxSxRqHazXdzgBKtlmkU2KYIc+9ZK3Vwp2KyXogEATYxQ==} 135 | engines: {node: '>=12'} 136 | cpu: [ia32] 137 | os: [linux] 138 | requiresBuild: true 139 | dev: true 140 | optional: true 141 | 142 | /@esbuild/linux-loong64/0.17.14: 143 | resolution: {integrity: sha512-vp15H+5NR6hubNgMluqqKza85HcGJgq7t6rMH7O3Y6ApiOWPkvW2AJfNojUQimfTp6OUrACUXfR4hmpcENXoMQ==} 144 | engines: {node: '>=12'} 145 | cpu: [loong64] 146 | os: [linux] 147 | requiresBuild: true 148 | dev: true 149 | optional: true 150 | 151 | /@esbuild/linux-mips64el/0.17.14: 152 | resolution: {integrity: sha512-90TOdFV7N+fgi6c2+GO9ochEkmm9kBAKnuD5e08GQMgMINOdOFHuYLPQ91RYVrnWwQ5683sJKuLi9l4SsbJ7Hg==} 153 | engines: {node: '>=12'} 154 | cpu: [mips64el] 155 | os: [linux] 156 | requiresBuild: true 157 | dev: true 158 | optional: true 159 | 160 | /@esbuild/linux-ppc64/0.17.14: 161 | resolution: {integrity: sha512-NnBGeoqKkTugpBOBZZoktQQ1Yqb7aHKmHxsw43NddPB2YWLAlpb7THZIzsRsTr0Xw3nqiPxbA1H31ZMOG+VVPQ==} 162 | engines: {node: '>=12'} 163 | cpu: [ppc64] 164 | os: [linux] 165 | requiresBuild: true 166 | dev: true 167 | optional: true 168 | 169 | /@esbuild/linux-riscv64/0.17.14: 170 | resolution: {integrity: sha512-0qdlKScLXA8MGVy21JUKvMzCYWovctuP8KKqhtE5A6IVPq4onxXhSuhwDd2g5sRCzNDlDjitc5sX31BzDoL5Fw==} 171 | engines: {node: '>=12'} 172 | cpu: [riscv64] 173 | os: [linux] 174 | requiresBuild: true 175 | dev: true 176 | optional: true 177 | 178 | /@esbuild/linux-s390x/0.17.14: 179 | resolution: {integrity: sha512-Hdm2Jo1yaaOro4v3+6/zJk6ygCqIZuSDJHdHaf8nVH/tfOuoEX5Riv03Ka15LmQBYJObUTNS1UdyoMk0WUn9Ww==} 180 | engines: {node: '>=12'} 181 | cpu: [s390x] 182 | os: [linux] 183 | requiresBuild: true 184 | dev: true 185 | optional: true 186 | 187 | /@esbuild/linux-x64/0.17.14: 188 | resolution: {integrity: sha512-8KHF17OstlK4DuzeF/KmSgzrTWQrkWj5boluiiq7kvJCiQVzUrmSkaBvcLB2UgHpKENO2i6BthPkmUhNDaJsVw==} 189 | engines: {node: '>=12'} 190 | cpu: [x64] 191 | os: [linux] 192 | requiresBuild: true 193 | dev: true 194 | optional: true 195 | 196 | /@esbuild/netbsd-x64/0.17.14: 197 | resolution: {integrity: sha512-nVwpqvb3yyXztxIT2+VsxJhB5GCgzPdk1n0HHSnchRAcxqKO6ghXwHhJnr0j/B+5FSyEqSxF4q03rbA2fKXtUQ==} 198 | engines: {node: '>=12'} 199 | cpu: [x64] 200 | os: [netbsd] 201 | requiresBuild: true 202 | dev: true 203 | optional: true 204 | 205 | /@esbuild/openbsd-x64/0.17.14: 206 | resolution: {integrity: sha512-1RZ7uQQ9zcy/GSAJL1xPdN7NDdOOtNEGiJalg/MOzeakZeTrgH/DoCkbq7TaPDiPhWqnDF+4bnydxRqQD7il6g==} 207 | engines: {node: '>=12'} 208 | cpu: [x64] 209 | os: [openbsd] 210 | requiresBuild: true 211 | dev: true 212 | optional: true 213 | 214 | /@esbuild/sunos-x64/0.17.14: 215 | resolution: {integrity: sha512-nqMjDsFwv7vp7msrwWRysnM38Sd44PKmW8EzV01YzDBTcTWUpczQg6mGao9VLicXSgW/iookNK6AxeogNVNDZA==} 216 | engines: {node: '>=12'} 217 | cpu: [x64] 218 | os: [sunos] 219 | requiresBuild: true 220 | dev: true 221 | optional: true 222 | 223 | /@esbuild/win32-arm64/0.17.14: 224 | resolution: {integrity: sha512-xrD0mccTKRBBIotrITV7WVQAwNJ5+1va6L0H9zN92v2yEdjfAN7864cUaZwJS7JPEs53bDTzKFbfqVlG2HhyKQ==} 225 | engines: {node: '>=12'} 226 | cpu: [arm64] 227 | os: [win32] 228 | requiresBuild: true 229 | dev: true 230 | optional: true 231 | 232 | /@esbuild/win32-ia32/0.17.14: 233 | resolution: {integrity: sha512-nXpkz9bbJrLLyUTYtRotSS3t5b+FOuljg8LgLdINWFs3FfqZMtbnBCZFUmBzQPyxqU87F8Av+3Nco/M3hEcu1w==} 234 | engines: {node: '>=12'} 235 | cpu: [ia32] 236 | os: [win32] 237 | requiresBuild: true 238 | dev: true 239 | optional: true 240 | 241 | /@esbuild/win32-x64/0.17.14: 242 | resolution: {integrity: sha512-gPQmsi2DKTaEgG14hc3CHXHp62k8g6qr0Pas+I4lUxRMugGSATh/Bi8Dgusoz9IQ0IfdrvLpco6kujEIBoaogA==} 243 | engines: {node: '>=12'} 244 | cpu: [x64] 245 | os: [win32] 246 | requiresBuild: true 247 | dev: true 248 | optional: true 249 | 250 | /@jridgewell/gen-mapping/0.3.3: 251 | resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} 252 | engines: {node: '>=6.0.0'} 253 | dependencies: 254 | '@jridgewell/set-array': 1.1.2 255 | '@jridgewell/sourcemap-codec': 1.4.15 256 | '@jridgewell/trace-mapping': 0.3.18 257 | dev: true 258 | 259 | /@jridgewell/resolve-uri/3.1.0: 260 | resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} 261 | engines: {node: '>=6.0.0'} 262 | dev: true 263 | 264 | /@jridgewell/set-array/1.1.2: 265 | resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} 266 | engines: {node: '>=6.0.0'} 267 | dev: true 268 | 269 | /@jridgewell/source-map/0.3.3: 270 | resolution: {integrity: sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==} 271 | dependencies: 272 | '@jridgewell/gen-mapping': 0.3.3 273 | '@jridgewell/trace-mapping': 0.3.18 274 | dev: true 275 | 276 | /@jridgewell/sourcemap-codec/1.4.14: 277 | resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} 278 | dev: true 279 | 280 | /@jridgewell/sourcemap-codec/1.4.15: 281 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} 282 | dev: true 283 | 284 | /@jridgewell/trace-mapping/0.3.18: 285 | resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} 286 | dependencies: 287 | '@jridgewell/resolve-uri': 3.1.0 288 | '@jridgewell/sourcemap-codec': 1.4.14 289 | dev: true 290 | 291 | /@nodelib/fs.scandir/2.1.5: 292 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 293 | engines: {node: '>= 8'} 294 | dependencies: 295 | '@nodelib/fs.stat': 2.0.5 296 | run-parallel: 1.2.0 297 | dev: true 298 | 299 | /@nodelib/fs.stat/2.0.5: 300 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 301 | engines: {node: '>= 8'} 302 | dev: true 303 | 304 | /@nodelib/fs.walk/1.2.8: 305 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 306 | engines: {node: '>= 8'} 307 | dependencies: 308 | '@nodelib/fs.scandir': 2.1.5 309 | fastq: 1.15.0 310 | dev: true 311 | 312 | /@open-draft/deferred-promise/2.1.0: 313 | resolution: {integrity: sha512-Rzd5JrXZX8zErHzgcGyngh4fmEbSHqTETdGj9rXtejlqMIgXFlyKBA7Jn1Xp0Ls0M0Y22+xHcWiEzbmdWl0BOA==} 314 | dev: true 315 | 316 | /@open-draft/until/2.0.0: 317 | resolution: {integrity: sha512-0zJhDjNR0aH1d68TiD6GnYr18dcuOiyTx8xV/I7fp9+z/VQ20e305aObW1/DO5/fiCOztscmvJsCjJDYDhFW6w==} 318 | dev: true 319 | 320 | /@ossjs/release/0.5.1: 321 | resolution: {integrity: sha512-pp1VL1sOK7+E8rVRhnNvCcof0l8cN256dYLypLN0yOFqk9KxALZ9Rb5/Xft+PkHbsZyeca7SOEnuaWxAqJUt9g==} 322 | hasBin: true 323 | dependencies: 324 | '@open-draft/deferred-promise': 2.1.0 325 | '@open-draft/until': 2.0.0 326 | '@types/conventional-commits-parser': 3.0.3 327 | '@types/issue-parser': 3.0.1 328 | '@types/node': 16.18.23 329 | '@types/node-fetch': 2.6.3 330 | '@types/rc': 1.2.1 331 | '@types/registry-auth-token': 4.2.1 332 | '@types/semver': 7.3.13 333 | '@types/yargs': 17.0.24 334 | conventional-commits-parser: 3.2.4 335 | get-stream: 6.0.1 336 | git-log-parser: 1.2.0 337 | issue-parser: 6.0.0 338 | node-fetch: 2.6.7 339 | outvariant: 1.4.0 340 | pino: 7.11.0 341 | pino-pretty: 7.6.1 342 | rc: 1.2.8 343 | registry-auth-token: 4.2.2 344 | semver: 7.4.0 345 | yargs: 17.7.1 346 | transitivePeerDependencies: 347 | - encoding 348 | dev: true 349 | 350 | /@playwright/test/1.32.3: 351 | resolution: {integrity: sha512-BvWNvK0RfBriindxhLVabi8BRe3X0J9EVjKlcmhxjg4giWBD/xleLcg2dz7Tx0agu28rczjNIPQWznwzDwVsZQ==} 352 | engines: {node: '>=14'} 353 | hasBin: true 354 | dependencies: 355 | '@types/node': 18.15.11 356 | playwright-core: 1.32.3 357 | optionalDependencies: 358 | fsevents: 2.3.2 359 | dev: true 360 | 361 | /@types/body-parser/1.19.2: 362 | resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} 363 | dependencies: 364 | '@types/connect': 3.4.35 365 | '@types/node': 18.15.11 366 | dev: true 367 | 368 | /@types/chai-subset/1.3.3: 369 | resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==} 370 | dependencies: 371 | '@types/chai': 4.3.4 372 | dev: true 373 | 374 | /@types/chai/4.3.4: 375 | resolution: {integrity: sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==} 376 | dev: true 377 | 378 | /@types/connect/3.4.35: 379 | resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} 380 | dependencies: 381 | '@types/node': 18.15.11 382 | dev: true 383 | 384 | /@types/conventional-commits-parser/3.0.3: 385 | resolution: {integrity: sha512-aoUKfRQYvGMH+spFpOTX9jO4nZoz9/BKp4hlHPxL3Cj2r2Xj+jEcwlXtFIyZr5uL8bh1nbWynDEYaAota+XqPg==} 386 | dependencies: 387 | '@types/node': 18.15.11 388 | dev: true 389 | 390 | /@types/eslint-scope/3.7.4: 391 | resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} 392 | dependencies: 393 | '@types/eslint': 8.37.0 394 | '@types/estree': 1.0.0 395 | dev: true 396 | 397 | /@types/eslint/8.37.0: 398 | resolution: {integrity: sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ==} 399 | dependencies: 400 | '@types/estree': 1.0.0 401 | '@types/json-schema': 7.0.11 402 | dev: true 403 | 404 | /@types/estree/1.0.0: 405 | resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} 406 | dev: true 407 | 408 | /@types/express-serve-static-core/4.17.33: 409 | resolution: {integrity: sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==} 410 | dependencies: 411 | '@types/node': 18.15.11 412 | '@types/qs': 6.9.7 413 | '@types/range-parser': 1.2.4 414 | dev: true 415 | 416 | /@types/express/4.17.17: 417 | resolution: {integrity: sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==} 418 | dependencies: 419 | '@types/body-parser': 1.19.2 420 | '@types/express-serve-static-core': 4.17.33 421 | '@types/qs': 6.9.7 422 | '@types/serve-static': 1.15.1 423 | dev: true 424 | 425 | /@types/issue-parser/3.0.1: 426 | resolution: {integrity: sha512-cdggbeJIxWoIB8CB57BvenONrQZcBuEf2uddxMRNIy2jgdcnSxnY71tQcNrxdqTG4VmQP5fdLLE9E+jCnMK0Fg==} 427 | dev: true 428 | 429 | /@types/json-schema/7.0.11: 430 | resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} 431 | dev: true 432 | 433 | /@types/mime/3.0.1: 434 | resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==} 435 | dev: true 436 | 437 | /@types/minimist/1.2.2: 438 | resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} 439 | dev: true 440 | 441 | /@types/mustache/4.2.2: 442 | resolution: {integrity: sha512-MUSpfpW0yZbTgjekDbH0shMYBUD+X/uJJJMm9LXN1d5yjl5lCY1vN/eWKD6D1tOtjA6206K0zcIPnUaFMurdNA==} 443 | dev: true 444 | 445 | /@types/node-fetch/2.6.3: 446 | resolution: {integrity: sha512-ETTL1mOEdq/sxUtgtOhKjyB2Irra4cjxksvcMUR5Zr4n+PxVhsCD9WS46oPbHL3et9Zde7CNRr+WUNlcHvsX+w==} 447 | dependencies: 448 | '@types/node': 18.15.11 449 | form-data: 3.0.1 450 | dev: true 451 | 452 | /@types/node/16.18.23: 453 | resolution: {integrity: sha512-XAMpaw1s1+6zM+jn2tmw8MyaRDIJfXxqmIQIS0HfoGYPuf7dUWeiUKopwq13KFX9lEp1+THGtlaaYx39Nxr58g==} 454 | dev: true 455 | 456 | /@types/node/18.15.11: 457 | resolution: {integrity: sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==} 458 | dev: true 459 | 460 | /@types/normalize-package-data/2.4.1: 461 | resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} 462 | dev: true 463 | 464 | /@types/qs/6.9.7: 465 | resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} 466 | dev: true 467 | 468 | /@types/range-parser/1.2.4: 469 | resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} 470 | dev: true 471 | 472 | /@types/rc/1.2.1: 473 | resolution: {integrity: sha512-+TRLFmHLnpoV0uw4O/PzqMbPT6bhQM0q2KO0l+R7M3sHYRndPpNL6kv8p7Ee9ZxgQ6noYB18/t+heQi7eijOHA==} 474 | dependencies: 475 | '@types/minimist': 1.2.2 476 | dev: true 477 | 478 | /@types/registry-auth-token/4.2.1: 479 | resolution: {integrity: sha512-VtTUcUaJGiJtlBKYwwFIOSvrcnuKmpPGO+x56XijNZnaDpnzKh2VwoTw5hewrOMW2BgjoU+uFbVAvSCW2FpWmA==} 480 | dev: true 481 | 482 | /@types/semver/7.3.13: 483 | resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} 484 | dev: true 485 | 486 | /@types/serve-static/1.15.1: 487 | resolution: {integrity: sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==} 488 | dependencies: 489 | '@types/mime': 3.0.1 490 | '@types/node': 18.15.11 491 | dev: true 492 | 493 | /@types/yargs-parser/21.0.0: 494 | resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} 495 | dev: true 496 | 497 | /@types/yargs/17.0.24: 498 | resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} 499 | dependencies: 500 | '@types/yargs-parser': 21.0.0 501 | dev: true 502 | 503 | /@vitest/expect/0.29.8: 504 | resolution: {integrity: sha512-xlcVXn5I5oTq6NiZSY3ykyWixBxr5mG8HYtjvpgg6KaqHm0mvhX18xuwl5YGxIRNt/A5jidd7CWcNHrSvgaQqQ==} 505 | dependencies: 506 | '@vitest/spy': 0.29.8 507 | '@vitest/utils': 0.29.8 508 | chai: 4.3.7 509 | dev: true 510 | 511 | /@vitest/runner/0.29.8: 512 | resolution: {integrity: sha512-FzdhnRDwEr/A3Oo1jtIk/B952BBvP32n1ObMEb23oEJNO+qO5cBet6M2XWIDQmA7BDKGKvmhUf2naXyp/2JEwQ==} 513 | dependencies: 514 | '@vitest/utils': 0.29.8 515 | p-limit: 4.0.0 516 | pathe: 1.1.0 517 | dev: true 518 | 519 | /@vitest/spy/0.29.8: 520 | resolution: {integrity: sha512-VdjBe9w34vOMl5I5mYEzNX8inTxrZ+tYUVk9jxaZJmHFwmDFC/GV3KBFTA/JKswr3XHvZL+FE/yq5EVhb6pSAw==} 521 | dependencies: 522 | tinyspy: 1.1.1 523 | dev: true 524 | 525 | /@vitest/utils/0.29.8: 526 | resolution: {integrity: sha512-qGzuf3vrTbnoY+RjjVVIBYfuWMjn3UMUqyQtdGNZ6ZIIyte7B37exj6LaVkrZiUTvzSadVvO/tJm8AEgbGCBPg==} 527 | dependencies: 528 | cli-truncate: 3.1.0 529 | diff: 5.1.0 530 | loupe: 2.3.6 531 | pretty-format: 27.5.1 532 | dev: true 533 | 534 | /@webassemblyjs/ast/1.11.1: 535 | resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==} 536 | dependencies: 537 | '@webassemblyjs/helper-numbers': 1.11.1 538 | '@webassemblyjs/helper-wasm-bytecode': 1.11.1 539 | dev: true 540 | 541 | /@webassemblyjs/floating-point-hex-parser/1.11.1: 542 | resolution: {integrity: sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==} 543 | dev: true 544 | 545 | /@webassemblyjs/helper-api-error/1.11.1: 546 | resolution: {integrity: sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==} 547 | dev: true 548 | 549 | /@webassemblyjs/helper-buffer/1.11.1: 550 | resolution: {integrity: sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==} 551 | dev: true 552 | 553 | /@webassemblyjs/helper-numbers/1.11.1: 554 | resolution: {integrity: sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==} 555 | dependencies: 556 | '@webassemblyjs/floating-point-hex-parser': 1.11.1 557 | '@webassemblyjs/helper-api-error': 1.11.1 558 | '@xtuc/long': 4.2.2 559 | dev: true 560 | 561 | /@webassemblyjs/helper-wasm-bytecode/1.11.1: 562 | resolution: {integrity: sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==} 563 | dev: true 564 | 565 | /@webassemblyjs/helper-wasm-section/1.11.1: 566 | resolution: {integrity: sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==} 567 | dependencies: 568 | '@webassemblyjs/ast': 1.11.1 569 | '@webassemblyjs/helper-buffer': 1.11.1 570 | '@webassemblyjs/helper-wasm-bytecode': 1.11.1 571 | '@webassemblyjs/wasm-gen': 1.11.1 572 | dev: true 573 | 574 | /@webassemblyjs/ieee754/1.11.1: 575 | resolution: {integrity: sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==} 576 | dependencies: 577 | '@xtuc/ieee754': 1.2.0 578 | dev: true 579 | 580 | /@webassemblyjs/leb128/1.11.1: 581 | resolution: {integrity: sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==} 582 | dependencies: 583 | '@xtuc/long': 4.2.2 584 | dev: true 585 | 586 | /@webassemblyjs/utf8/1.11.1: 587 | resolution: {integrity: sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==} 588 | dev: true 589 | 590 | /@webassemblyjs/wasm-edit/1.11.1: 591 | resolution: {integrity: sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==} 592 | dependencies: 593 | '@webassemblyjs/ast': 1.11.1 594 | '@webassemblyjs/helper-buffer': 1.11.1 595 | '@webassemblyjs/helper-wasm-bytecode': 1.11.1 596 | '@webassemblyjs/helper-wasm-section': 1.11.1 597 | '@webassemblyjs/wasm-gen': 1.11.1 598 | '@webassemblyjs/wasm-opt': 1.11.1 599 | '@webassemblyjs/wasm-parser': 1.11.1 600 | '@webassemblyjs/wast-printer': 1.11.1 601 | dev: true 602 | 603 | /@webassemblyjs/wasm-gen/1.11.1: 604 | resolution: {integrity: sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==} 605 | dependencies: 606 | '@webassemblyjs/ast': 1.11.1 607 | '@webassemblyjs/helper-wasm-bytecode': 1.11.1 608 | '@webassemblyjs/ieee754': 1.11.1 609 | '@webassemblyjs/leb128': 1.11.1 610 | '@webassemblyjs/utf8': 1.11.1 611 | dev: true 612 | 613 | /@webassemblyjs/wasm-opt/1.11.1: 614 | resolution: {integrity: sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==} 615 | dependencies: 616 | '@webassemblyjs/ast': 1.11.1 617 | '@webassemblyjs/helper-buffer': 1.11.1 618 | '@webassemblyjs/wasm-gen': 1.11.1 619 | '@webassemblyjs/wasm-parser': 1.11.1 620 | dev: true 621 | 622 | /@webassemblyjs/wasm-parser/1.11.1: 623 | resolution: {integrity: sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==} 624 | dependencies: 625 | '@webassemblyjs/ast': 1.11.1 626 | '@webassemblyjs/helper-api-error': 1.11.1 627 | '@webassemblyjs/helper-wasm-bytecode': 1.11.1 628 | '@webassemblyjs/ieee754': 1.11.1 629 | '@webassemblyjs/leb128': 1.11.1 630 | '@webassemblyjs/utf8': 1.11.1 631 | dev: true 632 | 633 | /@webassemblyjs/wast-printer/1.11.1: 634 | resolution: {integrity: sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==} 635 | dependencies: 636 | '@webassemblyjs/ast': 1.11.1 637 | '@xtuc/long': 4.2.2 638 | dev: true 639 | 640 | /@xtuc/ieee754/1.2.0: 641 | resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} 642 | dev: true 643 | 644 | /@xtuc/long/4.2.2: 645 | resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} 646 | dev: true 647 | 648 | /JSONStream/1.3.5: 649 | resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} 650 | hasBin: true 651 | dependencies: 652 | jsonparse: 1.3.1 653 | through: 2.3.8 654 | dev: true 655 | 656 | /accepts/1.3.8: 657 | resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} 658 | engines: {node: '>= 0.6'} 659 | dependencies: 660 | mime-types: 2.1.35 661 | negotiator: 0.6.3 662 | dev: true 663 | 664 | /acorn-import-assertions/1.8.0_acorn@8.8.2: 665 | resolution: {integrity: sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==} 666 | peerDependencies: 667 | acorn: ^8 668 | dependencies: 669 | acorn: 8.8.2 670 | dev: true 671 | 672 | /acorn-walk/8.2.0: 673 | resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} 674 | engines: {node: '>=0.4.0'} 675 | dev: true 676 | 677 | /acorn/8.8.2: 678 | resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} 679 | engines: {node: '>=0.4.0'} 680 | hasBin: true 681 | dev: true 682 | 683 | /ajv-keywords/3.5.2_ajv@6.12.6: 684 | resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} 685 | peerDependencies: 686 | ajv: ^6.9.1 687 | dependencies: 688 | ajv: 6.12.6 689 | dev: true 690 | 691 | /ajv/6.12.6: 692 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 693 | dependencies: 694 | fast-deep-equal: 3.1.3 695 | fast-json-stable-stringify: 2.1.0 696 | json-schema-traverse: 0.4.1 697 | uri-js: 4.4.1 698 | dev: true 699 | 700 | /ansi-regex/5.0.1: 701 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 702 | engines: {node: '>=8'} 703 | dev: true 704 | 705 | /ansi-regex/6.0.1: 706 | resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} 707 | engines: {node: '>=12'} 708 | dev: true 709 | 710 | /ansi-styles/3.2.1: 711 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 712 | engines: {node: '>=4'} 713 | dependencies: 714 | color-convert: 1.9.3 715 | dev: true 716 | 717 | /ansi-styles/4.3.0: 718 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 719 | engines: {node: '>=8'} 720 | dependencies: 721 | color-convert: 2.0.1 722 | dev: true 723 | 724 | /ansi-styles/5.2.0: 725 | resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} 726 | engines: {node: '>=10'} 727 | dev: true 728 | 729 | /ansi-styles/6.2.1: 730 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 731 | engines: {node: '>=12'} 732 | dev: true 733 | 734 | /any-promise/1.3.0: 735 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 736 | dev: true 737 | 738 | /anymatch/3.1.3: 739 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 740 | engines: {node: '>= 8'} 741 | dependencies: 742 | normalize-path: 3.0.0 743 | picomatch: 2.3.1 744 | dev: true 745 | 746 | /args/5.0.3: 747 | resolution: {integrity: sha512-h6k/zfFgusnv3i5TU08KQkVKuCPBtL/PWQbWkHUxvJrZ2nAyeaUupneemcrgn1xmqxPQsPIzwkUhOpoqPDRZuA==} 748 | engines: {node: '>= 6.0.0'} 749 | dependencies: 750 | camelcase: 5.0.0 751 | chalk: 2.4.2 752 | leven: 2.1.0 753 | mri: 1.1.4 754 | dev: true 755 | 756 | /argv-formatter/1.0.0: 757 | resolution: {integrity: sha512-F2+Hkm9xFaRg+GkaNnbwXNDV5O6pnCFEmqyhvfC/Ic5LbgOWjJh3L+mN/s91rxVL3znE7DYVpW0GJFT+4YBgWw==} 758 | dev: true 759 | 760 | /array-flatten/1.1.1: 761 | resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} 762 | dev: true 763 | 764 | /array-union/2.1.0: 765 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 766 | engines: {node: '>=8'} 767 | dev: true 768 | 769 | /arrify/1.0.1: 770 | resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} 771 | engines: {node: '>=0.10.0'} 772 | dev: true 773 | 774 | /assertion-error/1.1.0: 775 | resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} 776 | dev: true 777 | 778 | /asynckit/0.4.0: 779 | resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} 780 | dev: true 781 | 782 | /atomic-sleep/1.0.0: 783 | resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} 784 | engines: {node: '>=8.0.0'} 785 | dev: true 786 | 787 | /balanced-match/1.0.2: 788 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 789 | dev: true 790 | 791 | /binary-extensions/2.2.0: 792 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} 793 | engines: {node: '>=8'} 794 | dev: true 795 | 796 | /body-parser/1.20.1: 797 | resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} 798 | engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} 799 | dependencies: 800 | bytes: 3.1.2 801 | content-type: 1.0.5 802 | debug: 2.6.9 803 | depd: 2.0.0 804 | destroy: 1.2.0 805 | http-errors: 2.0.0 806 | iconv-lite: 0.4.24 807 | on-finished: 2.4.1 808 | qs: 6.11.0 809 | raw-body: 2.5.1 810 | type-is: 1.6.18 811 | unpipe: 1.0.0 812 | transitivePeerDependencies: 813 | - supports-color 814 | dev: true 815 | 816 | /brace-expansion/1.1.11: 817 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 818 | dependencies: 819 | balanced-match: 1.0.2 820 | concat-map: 0.0.1 821 | dev: true 822 | 823 | /braces/3.0.2: 824 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 825 | engines: {node: '>=8'} 826 | dependencies: 827 | fill-range: 7.0.1 828 | dev: true 829 | 830 | /browserslist/4.21.5: 831 | resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} 832 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 833 | hasBin: true 834 | dependencies: 835 | caniuse-lite: 1.0.30001478 836 | electron-to-chromium: 1.4.360 837 | node-releases: 2.0.10 838 | update-browserslist-db: 1.0.10_browserslist@4.21.5 839 | dev: true 840 | 841 | /buffer-from/1.1.2: 842 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 843 | dev: true 844 | 845 | /bundle-require/4.0.1_esbuild@0.17.14: 846 | resolution: {integrity: sha512-9NQkRHlNdNpDBGmLpngF3EFDcwodhMUuLz9PaWYciVcQF9SE4LFjM2DB/xV1Li5JiuDMv7ZUWuC3rGbqR0MAXQ==} 847 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 848 | peerDependencies: 849 | esbuild: '>=0.17' 850 | dependencies: 851 | esbuild: 0.17.14 852 | load-tsconfig: 0.2.5 853 | dev: true 854 | 855 | /bytes/3.1.2: 856 | resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} 857 | engines: {node: '>= 0.8'} 858 | dev: true 859 | 860 | /cac/6.7.14: 861 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} 862 | engines: {node: '>=8'} 863 | dev: true 864 | 865 | /call-bind/1.0.2: 866 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} 867 | dependencies: 868 | function-bind: 1.1.1 869 | get-intrinsic: 1.2.0 870 | dev: true 871 | 872 | /camelcase-keys/6.2.2: 873 | resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} 874 | engines: {node: '>=8'} 875 | dependencies: 876 | camelcase: 5.3.1 877 | map-obj: 4.3.0 878 | quick-lru: 4.0.1 879 | dev: true 880 | 881 | /camelcase/5.0.0: 882 | resolution: {integrity: sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==} 883 | engines: {node: '>=6'} 884 | dev: true 885 | 886 | /camelcase/5.3.1: 887 | resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} 888 | engines: {node: '>=6'} 889 | dev: true 890 | 891 | /caniuse-lite/1.0.30001478: 892 | resolution: {integrity: sha512-gMhDyXGItTHipJj2ApIvR+iVB5hd0KP3svMWWXDvZOmjzJJassGLMfxRkQCSYgGd2gtdL/ReeiyvMSFD1Ss6Mw==} 893 | dev: true 894 | 895 | /chai/4.3.7: 896 | resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==} 897 | engines: {node: '>=4'} 898 | dependencies: 899 | assertion-error: 1.1.0 900 | check-error: 1.0.2 901 | deep-eql: 4.1.3 902 | get-func-name: 2.0.0 903 | loupe: 2.3.6 904 | pathval: 1.1.1 905 | type-detect: 4.0.8 906 | dev: true 907 | 908 | /chalk/2.4.2: 909 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 910 | engines: {node: '>=4'} 911 | dependencies: 912 | ansi-styles: 3.2.1 913 | escape-string-regexp: 1.0.5 914 | supports-color: 5.5.0 915 | dev: true 916 | 917 | /check-error/1.0.2: 918 | resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==} 919 | dev: true 920 | 921 | /chokidar/3.5.3: 922 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} 923 | engines: {node: '>= 8.10.0'} 924 | dependencies: 925 | anymatch: 3.1.3 926 | braces: 3.0.2 927 | glob-parent: 5.1.2 928 | is-binary-path: 2.1.0 929 | is-glob: 4.0.3 930 | normalize-path: 3.0.0 931 | readdirp: 3.6.0 932 | optionalDependencies: 933 | fsevents: 2.3.2 934 | dev: true 935 | 936 | /chrome-trace-event/1.0.3: 937 | resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} 938 | engines: {node: '>=6.0'} 939 | dev: true 940 | 941 | /cli-truncate/3.1.0: 942 | resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} 943 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 944 | dependencies: 945 | slice-ansi: 5.0.0 946 | string-width: 5.1.2 947 | dev: true 948 | 949 | /cliui/8.0.1: 950 | resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} 951 | engines: {node: '>=12'} 952 | dependencies: 953 | string-width: 4.2.3 954 | strip-ansi: 6.0.1 955 | wrap-ansi: 7.0.0 956 | dev: true 957 | 958 | /color-convert/1.9.3: 959 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 960 | dependencies: 961 | color-name: 1.1.3 962 | dev: true 963 | 964 | /color-convert/2.0.1: 965 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 966 | engines: {node: '>=7.0.0'} 967 | dependencies: 968 | color-name: 1.1.4 969 | dev: true 970 | 971 | /color-name/1.1.3: 972 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 973 | dev: true 974 | 975 | /color-name/1.1.4: 976 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 977 | dev: true 978 | 979 | /colorette/2.0.19: 980 | resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} 981 | dev: true 982 | 983 | /combined-stream/1.0.8: 984 | resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} 985 | engines: {node: '>= 0.8'} 986 | dependencies: 987 | delayed-stream: 1.0.0 988 | dev: true 989 | 990 | /commander/2.20.3: 991 | resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} 992 | dev: true 993 | 994 | /commander/4.1.1: 995 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 996 | engines: {node: '>= 6'} 997 | dev: true 998 | 999 | /concat-map/0.0.1: 1000 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 1001 | dev: true 1002 | 1003 | /content-disposition/0.5.4: 1004 | resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} 1005 | engines: {node: '>= 0.6'} 1006 | dependencies: 1007 | safe-buffer: 5.2.1 1008 | dev: true 1009 | 1010 | /content-type/1.0.5: 1011 | resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} 1012 | engines: {node: '>= 0.6'} 1013 | dev: true 1014 | 1015 | /conventional-commits-parser/3.2.4: 1016 | resolution: {integrity: sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==} 1017 | engines: {node: '>=10'} 1018 | hasBin: true 1019 | dependencies: 1020 | JSONStream: 1.3.5 1021 | is-text-path: 1.0.1 1022 | lodash: 4.17.21 1023 | meow: 8.1.2 1024 | split2: 3.2.2 1025 | through2: 4.0.2 1026 | dev: true 1027 | 1028 | /cookie-signature/1.0.6: 1029 | resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} 1030 | dev: true 1031 | 1032 | /cookie/0.5.0: 1033 | resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} 1034 | engines: {node: '>= 0.6'} 1035 | dev: true 1036 | 1037 | /core-util-is/1.0.3: 1038 | resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} 1039 | dev: true 1040 | 1041 | /cross-spawn/7.0.3: 1042 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 1043 | engines: {node: '>= 8'} 1044 | dependencies: 1045 | path-key: 3.1.1 1046 | shebang-command: 2.0.0 1047 | which: 2.0.2 1048 | dev: true 1049 | 1050 | /dateformat/4.6.3: 1051 | resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} 1052 | dev: true 1053 | 1054 | /debug/2.6.9: 1055 | resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} 1056 | peerDependencies: 1057 | supports-color: '*' 1058 | peerDependenciesMeta: 1059 | supports-color: 1060 | optional: true 1061 | dependencies: 1062 | ms: 2.0.0 1063 | dev: true 1064 | 1065 | /debug/4.3.4: 1066 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 1067 | engines: {node: '>=6.0'} 1068 | peerDependencies: 1069 | supports-color: '*' 1070 | peerDependenciesMeta: 1071 | supports-color: 1072 | optional: true 1073 | dependencies: 1074 | ms: 2.1.2 1075 | dev: true 1076 | 1077 | /decamelize-keys/1.1.1: 1078 | resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} 1079 | engines: {node: '>=0.10.0'} 1080 | dependencies: 1081 | decamelize: 1.2.0 1082 | map-obj: 1.0.1 1083 | dev: true 1084 | 1085 | /decamelize/1.2.0: 1086 | resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} 1087 | engines: {node: '>=0.10.0'} 1088 | dev: true 1089 | 1090 | /deep-eql/4.1.3: 1091 | resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} 1092 | engines: {node: '>=6'} 1093 | dependencies: 1094 | type-detect: 4.0.8 1095 | dev: true 1096 | 1097 | /deep-extend/0.6.0: 1098 | resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} 1099 | engines: {node: '>=4.0.0'} 1100 | dev: true 1101 | 1102 | /delayed-stream/1.0.0: 1103 | resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} 1104 | engines: {node: '>=0.4.0'} 1105 | dev: true 1106 | 1107 | /depd/2.0.0: 1108 | resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} 1109 | engines: {node: '>= 0.8'} 1110 | dev: true 1111 | 1112 | /destroy/1.2.0: 1113 | resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} 1114 | engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} 1115 | dev: true 1116 | 1117 | /diff/5.1.0: 1118 | resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} 1119 | engines: {node: '>=0.3.1'} 1120 | dev: true 1121 | 1122 | /dir-glob/3.0.1: 1123 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 1124 | engines: {node: '>=8'} 1125 | dependencies: 1126 | path-type: 4.0.0 1127 | dev: true 1128 | 1129 | /duplexer2/0.1.4: 1130 | resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==} 1131 | dependencies: 1132 | readable-stream: 2.3.8 1133 | dev: true 1134 | 1135 | /duplexify/4.1.2: 1136 | resolution: {integrity: sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==} 1137 | dependencies: 1138 | end-of-stream: 1.4.4 1139 | inherits: 2.0.4 1140 | readable-stream: 3.6.2 1141 | stream-shift: 1.0.1 1142 | dev: true 1143 | 1144 | /eastasianwidth/0.2.0: 1145 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 1146 | dev: true 1147 | 1148 | /ee-first/1.1.1: 1149 | resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} 1150 | dev: true 1151 | 1152 | /electron-to-chromium/1.4.360: 1153 | resolution: {integrity: sha512-EP/jdF15S+l3iSSzgUpUqeazvkbVFXNuVxwwLMVUSie3lUeH1HH70gKe0IS7TASB/0h5QPG2bLMzv2jelSztIQ==} 1154 | dev: true 1155 | 1156 | /emoji-regex/8.0.0: 1157 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 1158 | dev: true 1159 | 1160 | /emoji-regex/9.2.2: 1161 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 1162 | dev: true 1163 | 1164 | /encodeurl/1.0.2: 1165 | resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} 1166 | engines: {node: '>= 0.8'} 1167 | dev: true 1168 | 1169 | /end-of-stream/1.4.4: 1170 | resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} 1171 | dependencies: 1172 | once: 1.4.0 1173 | dev: true 1174 | 1175 | /enhanced-resolve/5.12.0: 1176 | resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==} 1177 | engines: {node: '>=10.13.0'} 1178 | dependencies: 1179 | graceful-fs: 4.2.11 1180 | tapable: 2.2.1 1181 | dev: true 1182 | 1183 | /error-ex/1.3.2: 1184 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 1185 | dependencies: 1186 | is-arrayish: 0.2.1 1187 | dev: true 1188 | 1189 | /es-module-lexer/1.2.1: 1190 | resolution: {integrity: sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==} 1191 | dev: true 1192 | 1193 | /esbuild/0.17.14: 1194 | resolution: {integrity: sha512-vOO5XhmVj/1XQR9NQ1UPq6qvMYL7QFJU57J5fKBKBKxp17uDt5PgxFDb4A2nEiXhr1qQs4x0F5+66hVVw4ruNw==} 1195 | engines: {node: '>=12'} 1196 | hasBin: true 1197 | requiresBuild: true 1198 | optionalDependencies: 1199 | '@esbuild/android-arm': 0.17.14 1200 | '@esbuild/android-arm64': 0.17.14 1201 | '@esbuild/android-x64': 0.17.14 1202 | '@esbuild/darwin-arm64': 0.17.14 1203 | '@esbuild/darwin-x64': 0.17.14 1204 | '@esbuild/freebsd-arm64': 0.17.14 1205 | '@esbuild/freebsd-x64': 0.17.14 1206 | '@esbuild/linux-arm': 0.17.14 1207 | '@esbuild/linux-arm64': 0.17.14 1208 | '@esbuild/linux-ia32': 0.17.14 1209 | '@esbuild/linux-loong64': 0.17.14 1210 | '@esbuild/linux-mips64el': 0.17.14 1211 | '@esbuild/linux-ppc64': 0.17.14 1212 | '@esbuild/linux-riscv64': 0.17.14 1213 | '@esbuild/linux-s390x': 0.17.14 1214 | '@esbuild/linux-x64': 0.17.14 1215 | '@esbuild/netbsd-x64': 0.17.14 1216 | '@esbuild/openbsd-x64': 0.17.14 1217 | '@esbuild/sunos-x64': 0.17.14 1218 | '@esbuild/win32-arm64': 0.17.14 1219 | '@esbuild/win32-ia32': 0.17.14 1220 | '@esbuild/win32-x64': 0.17.14 1221 | dev: true 1222 | 1223 | /escalade/3.1.1: 1224 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} 1225 | engines: {node: '>=6'} 1226 | dev: true 1227 | 1228 | /escape-html/1.0.3: 1229 | resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} 1230 | dev: true 1231 | 1232 | /escape-string-regexp/1.0.5: 1233 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 1234 | engines: {node: '>=0.8.0'} 1235 | dev: true 1236 | 1237 | /eslint-scope/5.1.1: 1238 | resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} 1239 | engines: {node: '>=8.0.0'} 1240 | dependencies: 1241 | esrecurse: 4.3.0 1242 | estraverse: 4.3.0 1243 | dev: true 1244 | 1245 | /esrecurse/4.3.0: 1246 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1247 | engines: {node: '>=4.0'} 1248 | dependencies: 1249 | estraverse: 5.3.0 1250 | dev: true 1251 | 1252 | /estraverse/4.3.0: 1253 | resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} 1254 | engines: {node: '>=4.0'} 1255 | dev: true 1256 | 1257 | /estraverse/5.3.0: 1258 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1259 | engines: {node: '>=4.0'} 1260 | dev: true 1261 | 1262 | /etag/1.8.1: 1263 | resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} 1264 | engines: {node: '>= 0.6'} 1265 | dev: true 1266 | 1267 | /events/3.3.0: 1268 | resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} 1269 | engines: {node: '>=0.8.x'} 1270 | dev: true 1271 | 1272 | /execa/5.1.1: 1273 | resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} 1274 | engines: {node: '>=10'} 1275 | dependencies: 1276 | cross-spawn: 7.0.3 1277 | get-stream: 6.0.1 1278 | human-signals: 2.1.0 1279 | is-stream: 2.0.1 1280 | merge-stream: 2.0.0 1281 | npm-run-path: 4.0.1 1282 | onetime: 5.1.2 1283 | signal-exit: 3.0.7 1284 | strip-final-newline: 2.0.0 1285 | dev: true 1286 | 1287 | /express/4.18.2: 1288 | resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} 1289 | engines: {node: '>= 0.10.0'} 1290 | dependencies: 1291 | accepts: 1.3.8 1292 | array-flatten: 1.1.1 1293 | body-parser: 1.20.1 1294 | content-disposition: 0.5.4 1295 | content-type: 1.0.5 1296 | cookie: 0.5.0 1297 | cookie-signature: 1.0.6 1298 | debug: 2.6.9 1299 | depd: 2.0.0 1300 | encodeurl: 1.0.2 1301 | escape-html: 1.0.3 1302 | etag: 1.8.1 1303 | finalhandler: 1.2.0 1304 | fresh: 0.5.2 1305 | http-errors: 2.0.0 1306 | merge-descriptors: 1.0.1 1307 | methods: 1.1.2 1308 | on-finished: 2.4.1 1309 | parseurl: 1.3.3 1310 | path-to-regexp: 0.1.7 1311 | proxy-addr: 2.0.7 1312 | qs: 6.11.0 1313 | range-parser: 1.2.1 1314 | safe-buffer: 5.2.1 1315 | send: 0.18.0 1316 | serve-static: 1.15.0 1317 | setprototypeof: 1.2.0 1318 | statuses: 2.0.1 1319 | type-is: 1.6.18 1320 | utils-merge: 1.0.1 1321 | vary: 1.1.2 1322 | transitivePeerDependencies: 1323 | - supports-color 1324 | dev: true 1325 | 1326 | /fast-deep-equal/3.1.3: 1327 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1328 | dev: true 1329 | 1330 | /fast-glob/3.2.12: 1331 | resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} 1332 | engines: {node: '>=8.6.0'} 1333 | dependencies: 1334 | '@nodelib/fs.stat': 2.0.5 1335 | '@nodelib/fs.walk': 1.2.8 1336 | glob-parent: 5.1.2 1337 | merge2: 1.4.1 1338 | micromatch: 4.0.5 1339 | dev: true 1340 | 1341 | /fast-json-stable-stringify/2.1.0: 1342 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1343 | dev: true 1344 | 1345 | /fast-redact/3.1.2: 1346 | resolution: {integrity: sha512-+0em+Iya9fKGfEQGcd62Yv6onjBmmhV1uh86XVfOU8VwAe6kaFdQCWI9s0/Nnugx5Vd9tdbZ7e6gE2tR9dzXdw==} 1347 | engines: {node: '>=6'} 1348 | dev: true 1349 | 1350 | /fast-safe-stringify/2.1.1: 1351 | resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} 1352 | dev: true 1353 | 1354 | /fastq/1.15.0: 1355 | resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} 1356 | dependencies: 1357 | reusify: 1.0.4 1358 | dev: true 1359 | 1360 | /fill-range/7.0.1: 1361 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1362 | engines: {node: '>=8'} 1363 | dependencies: 1364 | to-regex-range: 5.0.1 1365 | dev: true 1366 | 1367 | /finalhandler/1.2.0: 1368 | resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} 1369 | engines: {node: '>= 0.8'} 1370 | dependencies: 1371 | debug: 2.6.9 1372 | encodeurl: 1.0.2 1373 | escape-html: 1.0.3 1374 | on-finished: 2.4.1 1375 | parseurl: 1.3.3 1376 | statuses: 2.0.1 1377 | unpipe: 1.0.0 1378 | transitivePeerDependencies: 1379 | - supports-color 1380 | dev: true 1381 | 1382 | /find-up/4.1.0: 1383 | resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} 1384 | engines: {node: '>=8'} 1385 | dependencies: 1386 | locate-path: 5.0.0 1387 | path-exists: 4.0.0 1388 | dev: true 1389 | 1390 | /form-data/3.0.1: 1391 | resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} 1392 | engines: {node: '>= 6'} 1393 | dependencies: 1394 | asynckit: 0.4.0 1395 | combined-stream: 1.0.8 1396 | mime-types: 2.1.35 1397 | dev: true 1398 | 1399 | /forwarded/0.2.0: 1400 | resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} 1401 | engines: {node: '>= 0.6'} 1402 | dev: true 1403 | 1404 | /fresh/0.5.2: 1405 | resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} 1406 | engines: {node: '>= 0.6'} 1407 | dev: true 1408 | 1409 | /fs-monkey/1.0.3: 1410 | resolution: {integrity: sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==} 1411 | dev: true 1412 | 1413 | /fs.realpath/1.0.0: 1414 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 1415 | dev: true 1416 | 1417 | /fsevents/2.3.2: 1418 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 1419 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1420 | os: [darwin] 1421 | requiresBuild: true 1422 | dev: true 1423 | optional: true 1424 | 1425 | /function-bind/1.1.1: 1426 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 1427 | dev: true 1428 | 1429 | /get-caller-file/2.0.5: 1430 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 1431 | engines: {node: 6.* || 8.* || >= 10.*} 1432 | dev: true 1433 | 1434 | /get-func-name/2.0.0: 1435 | resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==} 1436 | dev: true 1437 | 1438 | /get-intrinsic/1.2.0: 1439 | resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} 1440 | dependencies: 1441 | function-bind: 1.1.1 1442 | has: 1.0.3 1443 | has-symbols: 1.0.3 1444 | dev: true 1445 | 1446 | /get-stream/6.0.1: 1447 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} 1448 | engines: {node: '>=10'} 1449 | dev: true 1450 | 1451 | /git-log-parser/1.2.0: 1452 | resolution: {integrity: sha512-rnCVNfkTL8tdNryFuaY0fYiBWEBcgF748O6ZI61rslBvr2o7U65c2/6npCRqH40vuAhtgtDiqLTJjBVdrejCzA==} 1453 | dependencies: 1454 | argv-formatter: 1.0.0 1455 | spawn-error-forwarder: 1.0.0 1456 | split2: 1.0.0 1457 | stream-combiner2: 1.1.1 1458 | through2: 2.0.5 1459 | traverse: 0.6.7 1460 | dev: true 1461 | 1462 | /glob-parent/5.1.2: 1463 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1464 | engines: {node: '>= 6'} 1465 | dependencies: 1466 | is-glob: 4.0.3 1467 | dev: true 1468 | 1469 | /glob-to-regexp/0.4.1: 1470 | resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} 1471 | dev: true 1472 | 1473 | /glob/7.1.6: 1474 | resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} 1475 | dependencies: 1476 | fs.realpath: 1.0.0 1477 | inflight: 1.0.6 1478 | inherits: 2.0.4 1479 | minimatch: 3.1.2 1480 | once: 1.4.0 1481 | path-is-absolute: 1.0.1 1482 | dev: true 1483 | 1484 | /globby/11.1.0: 1485 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1486 | engines: {node: '>=10'} 1487 | dependencies: 1488 | array-union: 2.1.0 1489 | dir-glob: 3.0.1 1490 | fast-glob: 3.2.12 1491 | ignore: 5.2.4 1492 | merge2: 1.4.1 1493 | slash: 3.0.0 1494 | dev: true 1495 | 1496 | /graceful-fs/4.2.11: 1497 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 1498 | dev: true 1499 | 1500 | /hard-rejection/2.1.0: 1501 | resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} 1502 | engines: {node: '>=6'} 1503 | dev: true 1504 | 1505 | /has-flag/3.0.0: 1506 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 1507 | engines: {node: '>=4'} 1508 | dev: true 1509 | 1510 | /has-flag/4.0.0: 1511 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1512 | engines: {node: '>=8'} 1513 | dev: true 1514 | 1515 | /has-symbols/1.0.3: 1516 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 1517 | engines: {node: '>= 0.4'} 1518 | dev: true 1519 | 1520 | /has/1.0.3: 1521 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 1522 | engines: {node: '>= 0.4.0'} 1523 | dependencies: 1524 | function-bind: 1.1.1 1525 | dev: true 1526 | 1527 | /hosted-git-info/2.8.9: 1528 | resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} 1529 | dev: true 1530 | 1531 | /hosted-git-info/4.1.0: 1532 | resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} 1533 | engines: {node: '>=10'} 1534 | dependencies: 1535 | lru-cache: 6.0.0 1536 | dev: true 1537 | 1538 | /http-errors/2.0.0: 1539 | resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} 1540 | engines: {node: '>= 0.8'} 1541 | dependencies: 1542 | depd: 2.0.0 1543 | inherits: 2.0.4 1544 | setprototypeof: 1.2.0 1545 | statuses: 2.0.1 1546 | toidentifier: 1.0.1 1547 | dev: true 1548 | 1549 | /human-signals/2.1.0: 1550 | resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} 1551 | engines: {node: '>=10.17.0'} 1552 | dev: true 1553 | 1554 | /iconv-lite/0.4.24: 1555 | resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} 1556 | engines: {node: '>=0.10.0'} 1557 | dependencies: 1558 | safer-buffer: 2.1.2 1559 | dev: true 1560 | 1561 | /ignore/5.2.4: 1562 | resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} 1563 | engines: {node: '>= 4'} 1564 | dev: true 1565 | 1566 | /indent-string/4.0.0: 1567 | resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} 1568 | engines: {node: '>=8'} 1569 | dev: true 1570 | 1571 | /inflight/1.0.6: 1572 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1573 | dependencies: 1574 | once: 1.4.0 1575 | wrappy: 1.0.2 1576 | dev: true 1577 | 1578 | /inherits/2.0.4: 1579 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1580 | dev: true 1581 | 1582 | /ini/1.3.8: 1583 | resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} 1584 | dev: true 1585 | 1586 | /ipaddr.js/1.9.1: 1587 | resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} 1588 | engines: {node: '>= 0.10'} 1589 | dev: true 1590 | 1591 | /is-arrayish/0.2.1: 1592 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} 1593 | dev: true 1594 | 1595 | /is-binary-path/2.1.0: 1596 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1597 | engines: {node: '>=8'} 1598 | dependencies: 1599 | binary-extensions: 2.2.0 1600 | dev: true 1601 | 1602 | /is-core-module/2.11.0: 1603 | resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} 1604 | dependencies: 1605 | has: 1.0.3 1606 | dev: true 1607 | 1608 | /is-extglob/2.1.1: 1609 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1610 | engines: {node: '>=0.10.0'} 1611 | dev: true 1612 | 1613 | /is-fullwidth-code-point/3.0.0: 1614 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1615 | engines: {node: '>=8'} 1616 | dev: true 1617 | 1618 | /is-fullwidth-code-point/4.0.0: 1619 | resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} 1620 | engines: {node: '>=12'} 1621 | dev: true 1622 | 1623 | /is-glob/4.0.3: 1624 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1625 | engines: {node: '>=0.10.0'} 1626 | dependencies: 1627 | is-extglob: 2.1.1 1628 | dev: true 1629 | 1630 | /is-node-process/1.2.0: 1631 | resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==} 1632 | dev: false 1633 | 1634 | /is-number/7.0.0: 1635 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1636 | engines: {node: '>=0.12.0'} 1637 | dev: true 1638 | 1639 | /is-plain-obj/1.1.0: 1640 | resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} 1641 | engines: {node: '>=0.10.0'} 1642 | dev: true 1643 | 1644 | /is-stream/2.0.1: 1645 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} 1646 | engines: {node: '>=8'} 1647 | dev: true 1648 | 1649 | /is-text-path/1.0.1: 1650 | resolution: {integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==} 1651 | engines: {node: '>=0.10.0'} 1652 | dependencies: 1653 | text-extensions: 1.9.0 1654 | dev: true 1655 | 1656 | /isarray/1.0.0: 1657 | resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} 1658 | dev: true 1659 | 1660 | /isexe/2.0.0: 1661 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1662 | dev: true 1663 | 1664 | /issue-parser/6.0.0: 1665 | resolution: {integrity: sha512-zKa/Dxq2lGsBIXQ7CUZWTHfvxPC2ej0KfO7fIPqLlHB9J2hJ7rGhZ5rilhuufylr4RXYPzJUeFjKxz305OsNlA==} 1666 | engines: {node: '>=10.13'} 1667 | dependencies: 1668 | lodash.capitalize: 4.2.1 1669 | lodash.escaperegexp: 4.1.2 1670 | lodash.isplainobject: 4.0.6 1671 | lodash.isstring: 4.0.1 1672 | lodash.uniqby: 4.7.0 1673 | dev: true 1674 | 1675 | /jest-worker/27.5.1: 1676 | resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} 1677 | engines: {node: '>= 10.13.0'} 1678 | dependencies: 1679 | '@types/node': 18.15.11 1680 | merge-stream: 2.0.0 1681 | supports-color: 8.1.1 1682 | dev: true 1683 | 1684 | /joycon/3.1.1: 1685 | resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} 1686 | engines: {node: '>=10'} 1687 | dev: true 1688 | 1689 | /js-tokens/4.0.0: 1690 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1691 | dev: true 1692 | 1693 | /json-parse-even-better-errors/2.3.1: 1694 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} 1695 | dev: true 1696 | 1697 | /json-schema-traverse/0.4.1: 1698 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1699 | dev: true 1700 | 1701 | /jsonc-parser/3.2.0: 1702 | resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} 1703 | dev: true 1704 | 1705 | /jsonparse/1.3.1: 1706 | resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} 1707 | engines: {'0': node >= 0.2.0} 1708 | dev: true 1709 | 1710 | /kind-of/6.0.3: 1711 | resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} 1712 | engines: {node: '>=0.10.0'} 1713 | dev: true 1714 | 1715 | /leven/2.1.0: 1716 | resolution: {integrity: sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==} 1717 | engines: {node: '>=0.10.0'} 1718 | dev: true 1719 | 1720 | /lilconfig/2.1.0: 1721 | resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} 1722 | engines: {node: '>=10'} 1723 | dev: true 1724 | 1725 | /lines-and-columns/1.2.4: 1726 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 1727 | dev: true 1728 | 1729 | /load-tsconfig/0.2.5: 1730 | resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} 1731 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1732 | dev: true 1733 | 1734 | /loader-runner/4.3.0: 1735 | resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} 1736 | engines: {node: '>=6.11.5'} 1737 | dev: true 1738 | 1739 | /local-pkg/0.4.3: 1740 | resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} 1741 | engines: {node: '>=14'} 1742 | dev: true 1743 | 1744 | /locate-path/5.0.0: 1745 | resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} 1746 | engines: {node: '>=8'} 1747 | dependencies: 1748 | p-locate: 4.1.0 1749 | dev: true 1750 | 1751 | /lodash.capitalize/4.2.1: 1752 | resolution: {integrity: sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==} 1753 | dev: true 1754 | 1755 | /lodash.escaperegexp/4.1.2: 1756 | resolution: {integrity: sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==} 1757 | dev: true 1758 | 1759 | /lodash.isplainobject/4.0.6: 1760 | resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} 1761 | dev: true 1762 | 1763 | /lodash.isstring/4.0.1: 1764 | resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} 1765 | dev: true 1766 | 1767 | /lodash.sortby/4.7.0: 1768 | resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} 1769 | dev: true 1770 | 1771 | /lodash.uniqby/4.7.0: 1772 | resolution: {integrity: sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==} 1773 | dev: true 1774 | 1775 | /lodash/4.17.21: 1776 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 1777 | dev: true 1778 | 1779 | /loupe/2.3.6: 1780 | resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==} 1781 | dependencies: 1782 | get-func-name: 2.0.0 1783 | dev: true 1784 | 1785 | /lru-cache/6.0.0: 1786 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 1787 | engines: {node: '>=10'} 1788 | dependencies: 1789 | yallist: 4.0.0 1790 | dev: true 1791 | 1792 | /map-obj/1.0.1: 1793 | resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} 1794 | engines: {node: '>=0.10.0'} 1795 | dev: true 1796 | 1797 | /map-obj/4.3.0: 1798 | resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} 1799 | engines: {node: '>=8'} 1800 | dev: true 1801 | 1802 | /media-typer/0.3.0: 1803 | resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} 1804 | engines: {node: '>= 0.6'} 1805 | dev: true 1806 | 1807 | /memfs/3.5.0: 1808 | resolution: {integrity: sha512-yK6o8xVJlQerz57kvPROwTMgx5WtGwC2ZxDtOUsnGl49rHjYkfQoPNZPCKH73VdLE1BwBu/+Fx/NL8NYMUw2aA==} 1809 | engines: {node: '>= 4.0.0'} 1810 | dependencies: 1811 | fs-monkey: 1.0.3 1812 | dev: true 1813 | 1814 | /meow/8.1.2: 1815 | resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} 1816 | engines: {node: '>=10'} 1817 | dependencies: 1818 | '@types/minimist': 1.2.2 1819 | camelcase-keys: 6.2.2 1820 | decamelize-keys: 1.1.1 1821 | hard-rejection: 2.1.0 1822 | minimist-options: 4.1.0 1823 | normalize-package-data: 3.0.3 1824 | read-pkg-up: 7.0.1 1825 | redent: 3.0.0 1826 | trim-newlines: 3.0.1 1827 | type-fest: 0.18.1 1828 | yargs-parser: 20.2.9 1829 | dev: true 1830 | 1831 | /merge-descriptors/1.0.1: 1832 | resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} 1833 | dev: true 1834 | 1835 | /merge-stream/2.0.0: 1836 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 1837 | dev: true 1838 | 1839 | /merge2/1.4.1: 1840 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1841 | engines: {node: '>= 8'} 1842 | dev: true 1843 | 1844 | /methods/1.1.2: 1845 | resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} 1846 | engines: {node: '>= 0.6'} 1847 | dev: true 1848 | 1849 | /micromatch/4.0.5: 1850 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 1851 | engines: {node: '>=8.6'} 1852 | dependencies: 1853 | braces: 3.0.2 1854 | picomatch: 2.3.1 1855 | dev: true 1856 | 1857 | /mime-db/1.52.0: 1858 | resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} 1859 | engines: {node: '>= 0.6'} 1860 | dev: true 1861 | 1862 | /mime-types/2.1.35: 1863 | resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} 1864 | engines: {node: '>= 0.6'} 1865 | dependencies: 1866 | mime-db: 1.52.0 1867 | dev: true 1868 | 1869 | /mime/1.6.0: 1870 | resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} 1871 | engines: {node: '>=4'} 1872 | hasBin: true 1873 | dev: true 1874 | 1875 | /mimic-fn/2.1.0: 1876 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 1877 | engines: {node: '>=6'} 1878 | dev: true 1879 | 1880 | /min-indent/1.0.1: 1881 | resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} 1882 | engines: {node: '>=4'} 1883 | dev: true 1884 | 1885 | /minimatch/3.1.2: 1886 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1887 | dependencies: 1888 | brace-expansion: 1.1.11 1889 | dev: true 1890 | 1891 | /minimist-options/4.1.0: 1892 | resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} 1893 | engines: {node: '>= 6'} 1894 | dependencies: 1895 | arrify: 1.0.1 1896 | is-plain-obj: 1.1.0 1897 | kind-of: 6.0.3 1898 | dev: true 1899 | 1900 | /minimist/1.2.8: 1901 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 1902 | dev: true 1903 | 1904 | /mlly/1.2.0: 1905 | resolution: {integrity: sha512-+c7A3CV0KGdKcylsI6khWyts/CYrGTrRVo4R/I7u/cUsy0Conxa6LUhiEzVKIw14lc2L5aiO4+SeVe4TeGRKww==} 1906 | dependencies: 1907 | acorn: 8.8.2 1908 | pathe: 1.1.0 1909 | pkg-types: 1.0.2 1910 | ufo: 1.1.1 1911 | dev: true 1912 | 1913 | /mri/1.1.4: 1914 | resolution: {integrity: sha512-6y7IjGPm8AzlvoUrwAaw1tLnUBudaS3752vcd8JtrpGGQn+rXIe63LFVHm/YMwtqAuh+LJPCFdlLYPWM1nYn6w==} 1915 | engines: {node: '>=4'} 1916 | dev: true 1917 | 1918 | /ms/2.0.0: 1919 | resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} 1920 | dev: true 1921 | 1922 | /ms/2.1.2: 1923 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 1924 | dev: true 1925 | 1926 | /ms/2.1.3: 1927 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1928 | dev: true 1929 | 1930 | /mustache/4.2.0: 1931 | resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} 1932 | hasBin: true 1933 | dev: true 1934 | 1935 | /mz/2.7.0: 1936 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 1937 | dependencies: 1938 | any-promise: 1.3.0 1939 | object-assign: 4.1.1 1940 | thenify-all: 1.6.0 1941 | dev: true 1942 | 1943 | /nanoid/3.3.6: 1944 | resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} 1945 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1946 | hasBin: true 1947 | dev: true 1948 | 1949 | /negotiator/0.6.3: 1950 | resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} 1951 | engines: {node: '>= 0.6'} 1952 | dev: true 1953 | 1954 | /neo-async/2.6.2: 1955 | resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} 1956 | dev: true 1957 | 1958 | /node-fetch/2.6.7: 1959 | resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} 1960 | engines: {node: 4.x || >=6.0.0} 1961 | peerDependencies: 1962 | encoding: ^0.1.0 1963 | peerDependenciesMeta: 1964 | encoding: 1965 | optional: true 1966 | dependencies: 1967 | whatwg-url: 5.0.0 1968 | dev: true 1969 | 1970 | /node-releases/2.0.10: 1971 | resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} 1972 | dev: true 1973 | 1974 | /normalize-package-data/2.5.0: 1975 | resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} 1976 | dependencies: 1977 | hosted-git-info: 2.8.9 1978 | resolve: 1.22.1 1979 | semver: 5.7.1 1980 | validate-npm-package-license: 3.0.4 1981 | dev: true 1982 | 1983 | /normalize-package-data/3.0.3: 1984 | resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} 1985 | engines: {node: '>=10'} 1986 | dependencies: 1987 | hosted-git-info: 4.1.0 1988 | is-core-module: 2.11.0 1989 | semver: 7.4.0 1990 | validate-npm-package-license: 3.0.4 1991 | dev: true 1992 | 1993 | /normalize-path/3.0.0: 1994 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1995 | engines: {node: '>=0.10.0'} 1996 | dev: true 1997 | 1998 | /npm-run-path/4.0.1: 1999 | resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} 2000 | engines: {node: '>=8'} 2001 | dependencies: 2002 | path-key: 3.1.1 2003 | dev: true 2004 | 2005 | /object-assign/4.1.1: 2006 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 2007 | engines: {node: '>=0.10.0'} 2008 | dev: true 2009 | 2010 | /object-inspect/1.12.3: 2011 | resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} 2012 | dev: true 2013 | 2014 | /on-exit-leak-free/0.2.0: 2015 | resolution: {integrity: sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==} 2016 | dev: true 2017 | 2018 | /on-finished/2.4.1: 2019 | resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} 2020 | engines: {node: '>= 0.8'} 2021 | dependencies: 2022 | ee-first: 1.1.1 2023 | dev: true 2024 | 2025 | /once/1.4.0: 2026 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 2027 | dependencies: 2028 | wrappy: 1.0.2 2029 | dev: true 2030 | 2031 | /onetime/5.1.2: 2032 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 2033 | engines: {node: '>=6'} 2034 | dependencies: 2035 | mimic-fn: 2.1.0 2036 | dev: true 2037 | 2038 | /outvariant/1.4.0: 2039 | resolution: {integrity: sha512-AlWY719RF02ujitly7Kk/0QlV+pXGFDHrHf9O2OKqyqgBieaPOIeuSkL8sRK6j2WK+/ZAURq2kZsY0d8JapUiw==} 2040 | 2041 | /p-limit/2.3.0: 2042 | resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} 2043 | engines: {node: '>=6'} 2044 | dependencies: 2045 | p-try: 2.2.0 2046 | dev: true 2047 | 2048 | /p-limit/4.0.0: 2049 | resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} 2050 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 2051 | dependencies: 2052 | yocto-queue: 1.0.0 2053 | dev: true 2054 | 2055 | /p-locate/4.1.0: 2056 | resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} 2057 | engines: {node: '>=8'} 2058 | dependencies: 2059 | p-limit: 2.3.0 2060 | dev: true 2061 | 2062 | /p-try/2.2.0: 2063 | resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} 2064 | engines: {node: '>=6'} 2065 | dev: true 2066 | 2067 | /parse-json/5.2.0: 2068 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} 2069 | engines: {node: '>=8'} 2070 | dependencies: 2071 | '@babel/code-frame': 7.21.4 2072 | error-ex: 1.3.2 2073 | json-parse-even-better-errors: 2.3.1 2074 | lines-and-columns: 1.2.4 2075 | dev: true 2076 | 2077 | /parseurl/1.3.3: 2078 | resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} 2079 | engines: {node: '>= 0.8'} 2080 | dev: true 2081 | 2082 | /path-exists/4.0.0: 2083 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 2084 | engines: {node: '>=8'} 2085 | dev: true 2086 | 2087 | /path-is-absolute/1.0.1: 2088 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 2089 | engines: {node: '>=0.10.0'} 2090 | dev: true 2091 | 2092 | /path-key/3.1.1: 2093 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 2094 | engines: {node: '>=8'} 2095 | dev: true 2096 | 2097 | /path-parse/1.0.7: 2098 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 2099 | dev: true 2100 | 2101 | /path-to-regexp/0.1.7: 2102 | resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} 2103 | dev: true 2104 | 2105 | /path-type/4.0.0: 2106 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 2107 | engines: {node: '>=8'} 2108 | dev: true 2109 | 2110 | /pathe/1.1.0: 2111 | resolution: {integrity: sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==} 2112 | dev: true 2113 | 2114 | /pathval/1.1.1: 2115 | resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} 2116 | dev: true 2117 | 2118 | /picocolors/1.0.0: 2119 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 2120 | dev: true 2121 | 2122 | /picomatch/2.3.1: 2123 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 2124 | engines: {node: '>=8.6'} 2125 | dev: true 2126 | 2127 | /pino-abstract-transport/0.5.0: 2128 | resolution: {integrity: sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==} 2129 | dependencies: 2130 | duplexify: 4.1.2 2131 | split2: 4.2.0 2132 | dev: true 2133 | 2134 | /pino-pretty/7.6.1: 2135 | resolution: {integrity: sha512-H7N6ZYkiyrfwBGW9CSjx0uyO9Q2Lyt73881+OTYk8v3TiTdgN92QHrWlEq/LeWw5XtDP64jeSk3mnc6T+xX9/w==} 2136 | hasBin: true 2137 | dependencies: 2138 | args: 5.0.3 2139 | colorette: 2.0.19 2140 | dateformat: 4.6.3 2141 | fast-safe-stringify: 2.1.1 2142 | joycon: 3.1.1 2143 | on-exit-leak-free: 0.2.0 2144 | pino-abstract-transport: 0.5.0 2145 | pump: 3.0.0 2146 | readable-stream: 3.6.2 2147 | rfdc: 1.3.0 2148 | secure-json-parse: 2.7.0 2149 | sonic-boom: 2.8.0 2150 | strip-json-comments: 3.1.1 2151 | dev: true 2152 | 2153 | /pino-std-serializers/4.0.0: 2154 | resolution: {integrity: sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==} 2155 | dev: true 2156 | 2157 | /pino/7.11.0: 2158 | resolution: {integrity: sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==} 2159 | hasBin: true 2160 | dependencies: 2161 | atomic-sleep: 1.0.0 2162 | fast-redact: 3.1.2 2163 | on-exit-leak-free: 0.2.0 2164 | pino-abstract-transport: 0.5.0 2165 | pino-std-serializers: 4.0.0 2166 | process-warning: 1.0.0 2167 | quick-format-unescaped: 4.0.4 2168 | real-require: 0.1.0 2169 | safe-stable-stringify: 2.4.3 2170 | sonic-boom: 2.8.0 2171 | thread-stream: 0.15.2 2172 | dev: true 2173 | 2174 | /pirates/4.0.5: 2175 | resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} 2176 | engines: {node: '>= 6'} 2177 | dev: true 2178 | 2179 | /pkg-types/1.0.2: 2180 | resolution: {integrity: sha512-hM58GKXOcj8WTqUXnsQyJYXdeAPbythQgEF3nTcEo+nkD49chjQ9IKm/QJy9xf6JakXptz86h7ecP2024rrLaQ==} 2181 | dependencies: 2182 | jsonc-parser: 3.2.0 2183 | mlly: 1.2.0 2184 | pathe: 1.1.0 2185 | dev: true 2186 | 2187 | /playwright-core/1.32.3: 2188 | resolution: {integrity: sha512-SB+cdrnu74ZIn5Ogh/8278ngEh9NEEV0vR4sJFmK04h2iZpybfbqBY0bX6+BLYWVdV12JLLI+JEFtSnYgR+mWg==} 2189 | engines: {node: '>=14'} 2190 | hasBin: true 2191 | dev: true 2192 | 2193 | /playwright/1.32.3: 2194 | resolution: {integrity: sha512-h/ylpgoj6l/EjkfUDyx8cdOlfzC96itPpPe8BXacFkqpw/YsuxkpPyVbzEq4jw+bAJh5FLgh31Ljg2cR6HV3uw==} 2195 | engines: {node: '>=14'} 2196 | hasBin: true 2197 | requiresBuild: true 2198 | dependencies: 2199 | playwright-core: 1.32.3 2200 | dev: true 2201 | 2202 | /postcss-load-config/3.1.4: 2203 | resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} 2204 | engines: {node: '>= 10'} 2205 | peerDependencies: 2206 | postcss: '>=8.0.9' 2207 | ts-node: '>=9.0.0' 2208 | peerDependenciesMeta: 2209 | postcss: 2210 | optional: true 2211 | ts-node: 2212 | optional: true 2213 | dependencies: 2214 | lilconfig: 2.1.0 2215 | yaml: 1.10.2 2216 | dev: true 2217 | 2218 | /postcss/8.4.21: 2219 | resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} 2220 | engines: {node: ^10 || ^12 || >=14} 2221 | dependencies: 2222 | nanoid: 3.3.6 2223 | picocolors: 1.0.0 2224 | source-map-js: 1.0.2 2225 | dev: true 2226 | 2227 | /pretty-format/27.5.1: 2228 | resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} 2229 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 2230 | dependencies: 2231 | ansi-regex: 5.0.1 2232 | ansi-styles: 5.2.0 2233 | react-is: 17.0.2 2234 | dev: true 2235 | 2236 | /process-nextick-args/2.0.1: 2237 | resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} 2238 | dev: true 2239 | 2240 | /process-warning/1.0.0: 2241 | resolution: {integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==} 2242 | dev: true 2243 | 2244 | /proxy-addr/2.0.7: 2245 | resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} 2246 | engines: {node: '>= 0.10'} 2247 | dependencies: 2248 | forwarded: 0.2.0 2249 | ipaddr.js: 1.9.1 2250 | dev: true 2251 | 2252 | /pump/3.0.0: 2253 | resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} 2254 | dependencies: 2255 | end-of-stream: 1.4.4 2256 | once: 1.4.0 2257 | dev: true 2258 | 2259 | /punycode/2.3.0: 2260 | resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} 2261 | engines: {node: '>=6'} 2262 | dev: true 2263 | 2264 | /qs/6.11.0: 2265 | resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} 2266 | engines: {node: '>=0.6'} 2267 | dependencies: 2268 | side-channel: 1.0.4 2269 | dev: true 2270 | 2271 | /queue-microtask/1.2.3: 2272 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 2273 | dev: true 2274 | 2275 | /quick-format-unescaped/4.0.4: 2276 | resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} 2277 | dev: true 2278 | 2279 | /quick-lru/4.0.1: 2280 | resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} 2281 | engines: {node: '>=8'} 2282 | dev: true 2283 | 2284 | /randombytes/2.1.0: 2285 | resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} 2286 | dependencies: 2287 | safe-buffer: 5.2.1 2288 | dev: true 2289 | 2290 | /range-parser/1.2.1: 2291 | resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} 2292 | engines: {node: '>= 0.6'} 2293 | dev: true 2294 | 2295 | /raw-body/2.5.1: 2296 | resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} 2297 | engines: {node: '>= 0.8'} 2298 | dependencies: 2299 | bytes: 3.1.2 2300 | http-errors: 2.0.0 2301 | iconv-lite: 0.4.24 2302 | unpipe: 1.0.0 2303 | dev: true 2304 | 2305 | /rc/1.2.8: 2306 | resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} 2307 | hasBin: true 2308 | dependencies: 2309 | deep-extend: 0.6.0 2310 | ini: 1.3.8 2311 | minimist: 1.2.8 2312 | strip-json-comments: 2.0.1 2313 | dev: true 2314 | 2315 | /react-is/17.0.2: 2316 | resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} 2317 | dev: true 2318 | 2319 | /read-pkg-up/7.0.1: 2320 | resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} 2321 | engines: {node: '>=8'} 2322 | dependencies: 2323 | find-up: 4.1.0 2324 | read-pkg: 5.2.0 2325 | type-fest: 0.8.1 2326 | dev: true 2327 | 2328 | /read-pkg/5.2.0: 2329 | resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} 2330 | engines: {node: '>=8'} 2331 | dependencies: 2332 | '@types/normalize-package-data': 2.4.1 2333 | normalize-package-data: 2.5.0 2334 | parse-json: 5.2.0 2335 | type-fest: 0.6.0 2336 | dev: true 2337 | 2338 | /readable-stream/2.3.8: 2339 | resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} 2340 | dependencies: 2341 | core-util-is: 1.0.3 2342 | inherits: 2.0.4 2343 | isarray: 1.0.0 2344 | process-nextick-args: 2.0.1 2345 | safe-buffer: 5.1.2 2346 | string_decoder: 1.1.1 2347 | util-deprecate: 1.0.2 2348 | dev: true 2349 | 2350 | /readable-stream/3.6.2: 2351 | resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} 2352 | engines: {node: '>= 6'} 2353 | dependencies: 2354 | inherits: 2.0.4 2355 | string_decoder: 1.3.0 2356 | util-deprecate: 1.0.2 2357 | dev: true 2358 | 2359 | /readdirp/3.6.0: 2360 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 2361 | engines: {node: '>=8.10.0'} 2362 | dependencies: 2363 | picomatch: 2.3.1 2364 | dev: true 2365 | 2366 | /real-require/0.1.0: 2367 | resolution: {integrity: sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==} 2368 | engines: {node: '>= 12.13.0'} 2369 | dev: true 2370 | 2371 | /redent/3.0.0: 2372 | resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} 2373 | engines: {node: '>=8'} 2374 | dependencies: 2375 | indent-string: 4.0.0 2376 | strip-indent: 3.0.0 2377 | dev: true 2378 | 2379 | /registry-auth-token/4.2.2: 2380 | resolution: {integrity: sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==} 2381 | engines: {node: '>=6.0.0'} 2382 | dependencies: 2383 | rc: 1.2.8 2384 | dev: true 2385 | 2386 | /require-directory/2.1.1: 2387 | resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} 2388 | engines: {node: '>=0.10.0'} 2389 | dev: true 2390 | 2391 | /resolve-from/5.0.0: 2392 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} 2393 | engines: {node: '>=8'} 2394 | dev: true 2395 | 2396 | /resolve/1.22.1: 2397 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} 2398 | hasBin: true 2399 | dependencies: 2400 | is-core-module: 2.11.0 2401 | path-parse: 1.0.7 2402 | supports-preserve-symlinks-flag: 1.0.0 2403 | dev: true 2404 | 2405 | /reusify/1.0.4: 2406 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 2407 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 2408 | dev: true 2409 | 2410 | /rfdc/1.3.0: 2411 | resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} 2412 | dev: true 2413 | 2414 | /rollup/3.20.2: 2415 | resolution: {integrity: sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg==} 2416 | engines: {node: '>=14.18.0', npm: '>=8.0.0'} 2417 | hasBin: true 2418 | optionalDependencies: 2419 | fsevents: 2.3.2 2420 | dev: true 2421 | 2422 | /run-parallel/1.2.0: 2423 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 2424 | dependencies: 2425 | queue-microtask: 1.2.3 2426 | dev: true 2427 | 2428 | /safe-buffer/5.1.2: 2429 | resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} 2430 | dev: true 2431 | 2432 | /safe-buffer/5.2.1: 2433 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 2434 | dev: true 2435 | 2436 | /safe-stable-stringify/2.4.3: 2437 | resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} 2438 | engines: {node: '>=10'} 2439 | dev: true 2440 | 2441 | /safer-buffer/2.1.2: 2442 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 2443 | dev: true 2444 | 2445 | /schema-utils/3.1.1: 2446 | resolution: {integrity: sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==} 2447 | engines: {node: '>= 10.13.0'} 2448 | dependencies: 2449 | '@types/json-schema': 7.0.11 2450 | ajv: 6.12.6 2451 | ajv-keywords: 3.5.2_ajv@6.12.6 2452 | dev: true 2453 | 2454 | /secure-json-parse/2.7.0: 2455 | resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} 2456 | dev: true 2457 | 2458 | /semver/5.7.1: 2459 | resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} 2460 | hasBin: true 2461 | dev: true 2462 | 2463 | /semver/7.4.0: 2464 | resolution: {integrity: sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==} 2465 | engines: {node: '>=10'} 2466 | hasBin: true 2467 | dependencies: 2468 | lru-cache: 6.0.0 2469 | dev: true 2470 | 2471 | /send/0.18.0: 2472 | resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} 2473 | engines: {node: '>= 0.8.0'} 2474 | dependencies: 2475 | debug: 2.6.9 2476 | depd: 2.0.0 2477 | destroy: 1.2.0 2478 | encodeurl: 1.0.2 2479 | escape-html: 1.0.3 2480 | etag: 1.8.1 2481 | fresh: 0.5.2 2482 | http-errors: 2.0.0 2483 | mime: 1.6.0 2484 | ms: 2.1.3 2485 | on-finished: 2.4.1 2486 | range-parser: 1.2.1 2487 | statuses: 2.0.1 2488 | transitivePeerDependencies: 2489 | - supports-color 2490 | dev: true 2491 | 2492 | /serialize-javascript/6.0.1: 2493 | resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==} 2494 | dependencies: 2495 | randombytes: 2.1.0 2496 | dev: true 2497 | 2498 | /serve-static/1.15.0: 2499 | resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} 2500 | engines: {node: '>= 0.8.0'} 2501 | dependencies: 2502 | encodeurl: 1.0.2 2503 | escape-html: 1.0.3 2504 | parseurl: 1.3.3 2505 | send: 0.18.0 2506 | transitivePeerDependencies: 2507 | - supports-color 2508 | dev: true 2509 | 2510 | /setprototypeof/1.2.0: 2511 | resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} 2512 | dev: true 2513 | 2514 | /shebang-command/2.0.0: 2515 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 2516 | engines: {node: '>=8'} 2517 | dependencies: 2518 | shebang-regex: 3.0.0 2519 | dev: true 2520 | 2521 | /shebang-regex/3.0.0: 2522 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 2523 | engines: {node: '>=8'} 2524 | dev: true 2525 | 2526 | /side-channel/1.0.4: 2527 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} 2528 | dependencies: 2529 | call-bind: 1.0.2 2530 | get-intrinsic: 1.2.0 2531 | object-inspect: 1.12.3 2532 | dev: true 2533 | 2534 | /siginfo/2.0.0: 2535 | resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} 2536 | dev: true 2537 | 2538 | /signal-exit/3.0.7: 2539 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 2540 | dev: true 2541 | 2542 | /slash/3.0.0: 2543 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 2544 | engines: {node: '>=8'} 2545 | dev: true 2546 | 2547 | /slice-ansi/5.0.0: 2548 | resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} 2549 | engines: {node: '>=12'} 2550 | dependencies: 2551 | ansi-styles: 6.2.1 2552 | is-fullwidth-code-point: 4.0.0 2553 | dev: true 2554 | 2555 | /sonic-boom/2.8.0: 2556 | resolution: {integrity: sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==} 2557 | dependencies: 2558 | atomic-sleep: 1.0.0 2559 | dev: true 2560 | 2561 | /source-map-js/1.0.2: 2562 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 2563 | engines: {node: '>=0.10.0'} 2564 | dev: true 2565 | 2566 | /source-map-support/0.5.21: 2567 | resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} 2568 | dependencies: 2569 | buffer-from: 1.1.2 2570 | source-map: 0.6.1 2571 | dev: true 2572 | 2573 | /source-map/0.6.1: 2574 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 2575 | engines: {node: '>=0.10.0'} 2576 | dev: true 2577 | 2578 | /source-map/0.8.0-beta.0: 2579 | resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} 2580 | engines: {node: '>= 8'} 2581 | dependencies: 2582 | whatwg-url: 7.1.0 2583 | dev: true 2584 | 2585 | /spawn-error-forwarder/1.0.0: 2586 | resolution: {integrity: sha512-gRjMgK5uFjbCvdibeGJuy3I5OYz6VLoVdsOJdA6wV0WlfQVLFueoqMxwwYD9RODdgb6oUIvlRlsyFSiQkMKu0g==} 2587 | dev: true 2588 | 2589 | /spdx-correct/3.2.0: 2590 | resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} 2591 | dependencies: 2592 | spdx-expression-parse: 3.0.1 2593 | spdx-license-ids: 3.0.13 2594 | dev: true 2595 | 2596 | /spdx-exceptions/2.3.0: 2597 | resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} 2598 | dev: true 2599 | 2600 | /spdx-expression-parse/3.0.1: 2601 | resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} 2602 | dependencies: 2603 | spdx-exceptions: 2.3.0 2604 | spdx-license-ids: 3.0.13 2605 | dev: true 2606 | 2607 | /spdx-license-ids/3.0.13: 2608 | resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} 2609 | dev: true 2610 | 2611 | /split2/1.0.0: 2612 | resolution: {integrity: sha512-NKywug4u4pX/AZBB1FCPzZ6/7O+Xhz1qMVbzTvvKvikjO99oPN87SkK08mEY9P63/5lWjK+wgOOgApnTg5r6qg==} 2613 | dependencies: 2614 | through2: 2.0.5 2615 | dev: true 2616 | 2617 | /split2/3.2.2: 2618 | resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} 2619 | dependencies: 2620 | readable-stream: 3.6.2 2621 | dev: true 2622 | 2623 | /split2/4.2.0: 2624 | resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} 2625 | engines: {node: '>= 10.x'} 2626 | dev: true 2627 | 2628 | /stackback/0.0.2: 2629 | resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} 2630 | dev: true 2631 | 2632 | /statuses/2.0.1: 2633 | resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} 2634 | engines: {node: '>= 0.8'} 2635 | dev: true 2636 | 2637 | /std-env/3.3.2: 2638 | resolution: {integrity: sha512-uUZI65yrV2Qva5gqE0+A7uVAvO40iPo6jGhs7s8keRfHCmtg+uB2X6EiLGCI9IgL1J17xGhvoOqSz79lzICPTA==} 2639 | dev: true 2640 | 2641 | /stream-combiner2/1.1.1: 2642 | resolution: {integrity: sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==} 2643 | dependencies: 2644 | duplexer2: 0.1.4 2645 | readable-stream: 2.3.8 2646 | dev: true 2647 | 2648 | /stream-shift/1.0.1: 2649 | resolution: {integrity: sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==} 2650 | dev: true 2651 | 2652 | /string-width/4.2.3: 2653 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 2654 | engines: {node: '>=8'} 2655 | dependencies: 2656 | emoji-regex: 8.0.0 2657 | is-fullwidth-code-point: 3.0.0 2658 | strip-ansi: 6.0.1 2659 | dev: true 2660 | 2661 | /string-width/5.1.2: 2662 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 2663 | engines: {node: '>=12'} 2664 | dependencies: 2665 | eastasianwidth: 0.2.0 2666 | emoji-regex: 9.2.2 2667 | strip-ansi: 7.0.1 2668 | dev: true 2669 | 2670 | /string_decoder/1.1.1: 2671 | resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} 2672 | dependencies: 2673 | safe-buffer: 5.1.2 2674 | dev: true 2675 | 2676 | /string_decoder/1.3.0: 2677 | resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} 2678 | dependencies: 2679 | safe-buffer: 5.2.1 2680 | dev: true 2681 | 2682 | /strip-ansi/6.0.1: 2683 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 2684 | engines: {node: '>=8'} 2685 | dependencies: 2686 | ansi-regex: 5.0.1 2687 | dev: true 2688 | 2689 | /strip-ansi/7.0.1: 2690 | resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==} 2691 | engines: {node: '>=12'} 2692 | dependencies: 2693 | ansi-regex: 6.0.1 2694 | dev: true 2695 | 2696 | /strip-final-newline/2.0.0: 2697 | resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} 2698 | engines: {node: '>=6'} 2699 | dev: true 2700 | 2701 | /strip-indent/3.0.0: 2702 | resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} 2703 | engines: {node: '>=8'} 2704 | dependencies: 2705 | min-indent: 1.0.1 2706 | dev: true 2707 | 2708 | /strip-json-comments/2.0.1: 2709 | resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} 2710 | engines: {node: '>=0.10.0'} 2711 | dev: true 2712 | 2713 | /strip-json-comments/3.1.1: 2714 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 2715 | engines: {node: '>=8'} 2716 | dev: true 2717 | 2718 | /strip-literal/1.0.1: 2719 | resolution: {integrity: sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==} 2720 | dependencies: 2721 | acorn: 8.8.2 2722 | dev: true 2723 | 2724 | /sucrase/3.32.0: 2725 | resolution: {integrity: sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==} 2726 | engines: {node: '>=8'} 2727 | hasBin: true 2728 | dependencies: 2729 | '@jridgewell/gen-mapping': 0.3.3 2730 | commander: 4.1.1 2731 | glob: 7.1.6 2732 | lines-and-columns: 1.2.4 2733 | mz: 2.7.0 2734 | pirates: 4.0.5 2735 | ts-interface-checker: 0.1.13 2736 | dev: true 2737 | 2738 | /supports-color/5.5.0: 2739 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 2740 | engines: {node: '>=4'} 2741 | dependencies: 2742 | has-flag: 3.0.0 2743 | dev: true 2744 | 2745 | /supports-color/8.1.1: 2746 | resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} 2747 | engines: {node: '>=10'} 2748 | dependencies: 2749 | has-flag: 4.0.0 2750 | dev: true 2751 | 2752 | /supports-preserve-symlinks-flag/1.0.0: 2753 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 2754 | engines: {node: '>= 0.4'} 2755 | dev: true 2756 | 2757 | /tapable/2.2.1: 2758 | resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} 2759 | engines: {node: '>=6'} 2760 | dev: true 2761 | 2762 | /terser-webpack-plugin/5.3.7_webpack@5.79.0: 2763 | resolution: {integrity: sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==} 2764 | engines: {node: '>= 10.13.0'} 2765 | peerDependencies: 2766 | '@swc/core': '*' 2767 | esbuild: '*' 2768 | uglify-js: '*' 2769 | webpack: ^5.1.0 2770 | peerDependenciesMeta: 2771 | '@swc/core': 2772 | optional: true 2773 | esbuild: 2774 | optional: true 2775 | uglify-js: 2776 | optional: true 2777 | dependencies: 2778 | '@jridgewell/trace-mapping': 0.3.18 2779 | jest-worker: 27.5.1 2780 | schema-utils: 3.1.1 2781 | serialize-javascript: 6.0.1 2782 | terser: 5.16.9 2783 | webpack: 5.79.0 2784 | dev: true 2785 | 2786 | /terser/5.16.9: 2787 | resolution: {integrity: sha512-HPa/FdTB9XGI2H1/keLFZHxl6WNvAI4YalHGtDQTlMnJcoqSab1UwL4l1hGEhs6/GmLHBZIg/YgB++jcbzoOEg==} 2788 | engines: {node: '>=10'} 2789 | hasBin: true 2790 | dependencies: 2791 | '@jridgewell/source-map': 0.3.3 2792 | acorn: 8.8.2 2793 | commander: 2.20.3 2794 | source-map-support: 0.5.21 2795 | dev: true 2796 | 2797 | /text-extensions/1.9.0: 2798 | resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==} 2799 | engines: {node: '>=0.10'} 2800 | dev: true 2801 | 2802 | /thenify-all/1.6.0: 2803 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 2804 | engines: {node: '>=0.8'} 2805 | dependencies: 2806 | thenify: 3.3.1 2807 | dev: true 2808 | 2809 | /thenify/3.3.1: 2810 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 2811 | dependencies: 2812 | any-promise: 1.3.0 2813 | dev: true 2814 | 2815 | /thread-stream/0.15.2: 2816 | resolution: {integrity: sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==} 2817 | dependencies: 2818 | real-require: 0.1.0 2819 | dev: true 2820 | 2821 | /through/2.3.8: 2822 | resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} 2823 | dev: true 2824 | 2825 | /through2/2.0.5: 2826 | resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} 2827 | dependencies: 2828 | readable-stream: 2.3.8 2829 | xtend: 4.0.2 2830 | dev: true 2831 | 2832 | /through2/4.0.2: 2833 | resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} 2834 | dependencies: 2835 | readable-stream: 3.6.2 2836 | dev: true 2837 | 2838 | /tinybench/2.4.0: 2839 | resolution: {integrity: sha512-iyziEiyFxX4kyxSp+MtY1oCH/lvjH3PxFN8PGCDeqcZWAJ/i+9y+nL85w99PxVzrIvew/GSkSbDYtiGVa85Afg==} 2840 | dev: true 2841 | 2842 | /tinypool/0.4.0: 2843 | resolution: {integrity: sha512-2ksntHOKf893wSAH4z/+JbPpi92esw8Gn9N2deXX+B0EO92hexAVI9GIZZPx7P5aYo5KULfeOSt3kMOmSOy6uA==} 2844 | engines: {node: '>=14.0.0'} 2845 | dev: true 2846 | 2847 | /tinyspy/1.1.1: 2848 | resolution: {integrity: sha512-UVq5AXt/gQlti7oxoIg5oi/9r0WpF7DGEVwXgqWSMmyN16+e3tl5lIvTaOpJ3TAtu5xFzWccFRM4R5NaWHF+4g==} 2849 | engines: {node: '>=14.0.0'} 2850 | dev: true 2851 | 2852 | /to-regex-range/5.0.1: 2853 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 2854 | engines: {node: '>=8.0'} 2855 | dependencies: 2856 | is-number: 7.0.0 2857 | dev: true 2858 | 2859 | /toidentifier/1.0.1: 2860 | resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} 2861 | engines: {node: '>=0.6'} 2862 | dev: true 2863 | 2864 | /tr46/0.0.3: 2865 | resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} 2866 | dev: true 2867 | 2868 | /tr46/1.0.1: 2869 | resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} 2870 | dependencies: 2871 | punycode: 2.3.0 2872 | dev: true 2873 | 2874 | /traverse/0.6.7: 2875 | resolution: {integrity: sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==} 2876 | dev: true 2877 | 2878 | /tree-kill/1.2.2: 2879 | resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} 2880 | hasBin: true 2881 | dev: true 2882 | 2883 | /trim-newlines/3.0.1: 2884 | resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} 2885 | engines: {node: '>=8'} 2886 | dev: true 2887 | 2888 | /ts-interface-checker/0.1.13: 2889 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 2890 | dev: true 2891 | 2892 | /tsup/6.7.0_typescript@5.0.3: 2893 | resolution: {integrity: sha512-L3o8hGkaHnu5TdJns+mCqFsDBo83bJ44rlK7e6VdanIvpea4ArPcU3swWGsLVbXak1PqQx/V+SSmFPujBK+zEQ==} 2894 | engines: {node: '>=14.18'} 2895 | hasBin: true 2896 | peerDependencies: 2897 | '@swc/core': ^1 2898 | postcss: ^8.4.12 2899 | typescript: '>=4.1.0' 2900 | peerDependenciesMeta: 2901 | '@swc/core': 2902 | optional: true 2903 | postcss: 2904 | optional: true 2905 | typescript: 2906 | optional: true 2907 | dependencies: 2908 | bundle-require: 4.0.1_esbuild@0.17.14 2909 | cac: 6.7.14 2910 | chokidar: 3.5.3 2911 | debug: 4.3.4 2912 | esbuild: 0.17.14 2913 | execa: 5.1.1 2914 | globby: 11.1.0 2915 | joycon: 3.1.1 2916 | postcss-load-config: 3.1.4 2917 | resolve-from: 5.0.0 2918 | rollup: 3.20.2 2919 | source-map: 0.8.0-beta.0 2920 | sucrase: 3.32.0 2921 | tree-kill: 1.2.2 2922 | typescript: 5.0.3 2923 | transitivePeerDependencies: 2924 | - supports-color 2925 | - ts-node 2926 | dev: true 2927 | 2928 | /type-detect/4.0.8: 2929 | resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} 2930 | engines: {node: '>=4'} 2931 | dev: true 2932 | 2933 | /type-fest/0.18.1: 2934 | resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} 2935 | engines: {node: '>=10'} 2936 | dev: true 2937 | 2938 | /type-fest/0.6.0: 2939 | resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} 2940 | engines: {node: '>=8'} 2941 | dev: true 2942 | 2943 | /type-fest/0.8.1: 2944 | resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} 2945 | engines: {node: '>=8'} 2946 | dev: true 2947 | 2948 | /type-is/1.6.18: 2949 | resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} 2950 | engines: {node: '>= 0.6'} 2951 | dependencies: 2952 | media-typer: 0.3.0 2953 | mime-types: 2.1.35 2954 | dev: true 2955 | 2956 | /typescript/5.0.3: 2957 | resolution: {integrity: sha512-xv8mOEDnigb/tN9PSMTwSEqAnUvkoXMQlicOb0IUVDBSQCgBSaAAROUZYy2IcUy5qU6XajK5jjjO7TMWqBTKZA==} 2958 | engines: {node: '>=12.20'} 2959 | hasBin: true 2960 | dev: true 2961 | 2962 | /ufo/1.1.1: 2963 | resolution: {integrity: sha512-MvlCc4GHrmZdAllBc0iUDowff36Q9Ndw/UzqmEKyrfSzokTd9ZCy1i+IIk5hrYKkjoYVQyNbrw7/F8XJ2rEwTg==} 2964 | dev: true 2965 | 2966 | /unpipe/1.0.0: 2967 | resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} 2968 | engines: {node: '>= 0.8'} 2969 | dev: true 2970 | 2971 | /update-browserslist-db/1.0.10_browserslist@4.21.5: 2972 | resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} 2973 | hasBin: true 2974 | peerDependencies: 2975 | browserslist: '>= 4.21.0' 2976 | dependencies: 2977 | browserslist: 4.21.5 2978 | escalade: 3.1.1 2979 | picocolors: 1.0.0 2980 | dev: true 2981 | 2982 | /uri-js/4.4.1: 2983 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 2984 | dependencies: 2985 | punycode: 2.3.0 2986 | dev: true 2987 | 2988 | /util-deprecate/1.0.2: 2989 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 2990 | dev: true 2991 | 2992 | /utils-merge/1.0.1: 2993 | resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} 2994 | engines: {node: '>= 0.4.0'} 2995 | dev: true 2996 | 2997 | /validate-npm-package-license/3.0.4: 2998 | resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} 2999 | dependencies: 3000 | spdx-correct: 3.2.0 3001 | spdx-expression-parse: 3.0.1 3002 | dev: true 3003 | 3004 | /vary/1.1.2: 3005 | resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} 3006 | engines: {node: '>= 0.8'} 3007 | dev: true 3008 | 3009 | /vite-node/0.29.8_@types+node@18.15.11: 3010 | resolution: {integrity: sha512-b6OtCXfk65L6SElVM20q5G546yu10/kNrhg08afEoWlFRJXFq9/6glsvSVY+aI6YeC1tu2TtAqI2jHEQmOmsFw==} 3011 | engines: {node: '>=v14.16.0'} 3012 | hasBin: true 3013 | dependencies: 3014 | cac: 6.7.14 3015 | debug: 4.3.4 3016 | mlly: 1.2.0 3017 | pathe: 1.1.0 3018 | picocolors: 1.0.0 3019 | vite: 4.2.1_@types+node@18.15.11 3020 | transitivePeerDependencies: 3021 | - '@types/node' 3022 | - less 3023 | - sass 3024 | - stylus 3025 | - sugarss 3026 | - supports-color 3027 | - terser 3028 | dev: true 3029 | 3030 | /vite/4.2.1_@types+node@18.15.11: 3031 | resolution: {integrity: sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg==} 3032 | engines: {node: ^14.18.0 || >=16.0.0} 3033 | hasBin: true 3034 | peerDependencies: 3035 | '@types/node': '>= 14' 3036 | less: '*' 3037 | sass: '*' 3038 | stylus: '*' 3039 | sugarss: '*' 3040 | terser: ^5.4.0 3041 | peerDependenciesMeta: 3042 | '@types/node': 3043 | optional: true 3044 | less: 3045 | optional: true 3046 | sass: 3047 | optional: true 3048 | stylus: 3049 | optional: true 3050 | sugarss: 3051 | optional: true 3052 | terser: 3053 | optional: true 3054 | dependencies: 3055 | '@types/node': 18.15.11 3056 | esbuild: 0.17.14 3057 | postcss: 8.4.21 3058 | resolve: 1.22.1 3059 | rollup: 3.20.2 3060 | optionalDependencies: 3061 | fsevents: 2.3.2 3062 | dev: true 3063 | 3064 | /vitest/0.29.8_playwright@1.32.3: 3065 | resolution: {integrity: sha512-JIAVi2GK5cvA6awGpH0HvH/gEG9PZ0a/WoxdiV3PmqK+3CjQMf8c+J/Vhv4mdZ2nRyXFw66sAg6qz7VNkaHfDQ==} 3066 | engines: {node: '>=v14.16.0'} 3067 | hasBin: true 3068 | peerDependencies: 3069 | '@edge-runtime/vm': '*' 3070 | '@vitest/browser': '*' 3071 | '@vitest/ui': '*' 3072 | happy-dom: '*' 3073 | jsdom: '*' 3074 | playwright: '*' 3075 | safaridriver: '*' 3076 | webdriverio: '*' 3077 | peerDependenciesMeta: 3078 | '@edge-runtime/vm': 3079 | optional: true 3080 | '@vitest/browser': 3081 | optional: true 3082 | '@vitest/ui': 3083 | optional: true 3084 | happy-dom: 3085 | optional: true 3086 | jsdom: 3087 | optional: true 3088 | playwright: 3089 | optional: true 3090 | safaridriver: 3091 | optional: true 3092 | webdriverio: 3093 | optional: true 3094 | dependencies: 3095 | '@types/chai': 4.3.4 3096 | '@types/chai-subset': 1.3.3 3097 | '@types/node': 18.15.11 3098 | '@vitest/expect': 0.29.8 3099 | '@vitest/runner': 0.29.8 3100 | '@vitest/spy': 0.29.8 3101 | '@vitest/utils': 0.29.8 3102 | acorn: 8.8.2 3103 | acorn-walk: 8.2.0 3104 | cac: 6.7.14 3105 | chai: 4.3.7 3106 | debug: 4.3.4 3107 | local-pkg: 0.4.3 3108 | pathe: 1.1.0 3109 | picocolors: 1.0.0 3110 | playwright: 1.32.3 3111 | source-map: 0.6.1 3112 | std-env: 3.3.2 3113 | strip-literal: 1.0.1 3114 | tinybench: 2.4.0 3115 | tinypool: 0.4.0 3116 | tinyspy: 1.1.1 3117 | vite: 4.2.1_@types+node@18.15.11 3118 | vite-node: 0.29.8_@types+node@18.15.11 3119 | why-is-node-running: 2.2.2 3120 | transitivePeerDependencies: 3121 | - less 3122 | - sass 3123 | - stylus 3124 | - sugarss 3125 | - supports-color 3126 | - terser 3127 | dev: true 3128 | 3129 | /watchpack/2.4.0: 3130 | resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} 3131 | engines: {node: '>=10.13.0'} 3132 | dependencies: 3133 | glob-to-regexp: 0.4.1 3134 | graceful-fs: 4.2.11 3135 | dev: true 3136 | 3137 | /webidl-conversions/3.0.1: 3138 | resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} 3139 | dev: true 3140 | 3141 | /webidl-conversions/4.0.2: 3142 | resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} 3143 | dev: true 3144 | 3145 | /webpack-http-server/0.5.0: 3146 | resolution: {integrity: sha512-kyewxAnzmDuZxe09fn/Bb0PeEnaDxHChYKFVsMy4oeBUs9Cyv2j1uEgzQJ7ljPFexLU8ongUS4i4O+e22CeBZQ==} 3147 | dependencies: 3148 | '@types/express': 4.17.17 3149 | '@types/mustache': 4.2.2 3150 | express: 4.18.2 3151 | memfs: 3.5.0 3152 | mustache: 4.2.0 3153 | outvariant: 1.4.0 3154 | webpack: 5.79.0 3155 | transitivePeerDependencies: 3156 | - '@swc/core' 3157 | - esbuild 3158 | - supports-color 3159 | - uglify-js 3160 | - webpack-cli 3161 | dev: true 3162 | 3163 | /webpack-sources/3.2.3: 3164 | resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} 3165 | engines: {node: '>=10.13.0'} 3166 | dev: true 3167 | 3168 | /webpack/5.79.0: 3169 | resolution: {integrity: sha512-3mN4rR2Xq+INd6NnYuL9RC9GAmc1ROPKJoHhrZ4pAjdMFEkJJWrsPw8o2JjCIyQyTu7rTXYn4VG6OpyB3CobZg==} 3170 | engines: {node: '>=10.13.0'} 3171 | hasBin: true 3172 | peerDependencies: 3173 | webpack-cli: '*' 3174 | peerDependenciesMeta: 3175 | webpack-cli: 3176 | optional: true 3177 | dependencies: 3178 | '@types/eslint-scope': 3.7.4 3179 | '@types/estree': 1.0.0 3180 | '@webassemblyjs/ast': 1.11.1 3181 | '@webassemblyjs/wasm-edit': 1.11.1 3182 | '@webassemblyjs/wasm-parser': 1.11.1 3183 | acorn: 8.8.2 3184 | acorn-import-assertions: 1.8.0_acorn@8.8.2 3185 | browserslist: 4.21.5 3186 | chrome-trace-event: 1.0.3 3187 | enhanced-resolve: 5.12.0 3188 | es-module-lexer: 1.2.1 3189 | eslint-scope: 5.1.1 3190 | events: 3.3.0 3191 | glob-to-regexp: 0.4.1 3192 | graceful-fs: 4.2.11 3193 | json-parse-even-better-errors: 2.3.1 3194 | loader-runner: 4.3.0 3195 | mime-types: 2.1.35 3196 | neo-async: 2.6.2 3197 | schema-utils: 3.1.1 3198 | tapable: 2.2.1 3199 | terser-webpack-plugin: 5.3.7_webpack@5.79.0 3200 | watchpack: 2.4.0 3201 | webpack-sources: 3.2.3 3202 | transitivePeerDependencies: 3203 | - '@swc/core' 3204 | - esbuild 3205 | - uglify-js 3206 | dev: true 3207 | 3208 | /whatwg-url/5.0.0: 3209 | resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} 3210 | dependencies: 3211 | tr46: 0.0.3 3212 | webidl-conversions: 3.0.1 3213 | dev: true 3214 | 3215 | /whatwg-url/7.1.0: 3216 | resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} 3217 | dependencies: 3218 | lodash.sortby: 4.7.0 3219 | tr46: 1.0.1 3220 | webidl-conversions: 4.0.2 3221 | dev: true 3222 | 3223 | /which/2.0.2: 3224 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 3225 | engines: {node: '>= 8'} 3226 | hasBin: true 3227 | dependencies: 3228 | isexe: 2.0.0 3229 | dev: true 3230 | 3231 | /why-is-node-running/2.2.2: 3232 | resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} 3233 | engines: {node: '>=8'} 3234 | hasBin: true 3235 | dependencies: 3236 | siginfo: 2.0.0 3237 | stackback: 0.0.2 3238 | dev: true 3239 | 3240 | /wrap-ansi/7.0.0: 3241 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 3242 | engines: {node: '>=10'} 3243 | dependencies: 3244 | ansi-styles: 4.3.0 3245 | string-width: 4.2.3 3246 | strip-ansi: 6.0.1 3247 | dev: true 3248 | 3249 | /wrappy/1.0.2: 3250 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 3251 | dev: true 3252 | 3253 | /xtend/4.0.2: 3254 | resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} 3255 | engines: {node: '>=0.4'} 3256 | dev: true 3257 | 3258 | /y18n/5.0.8: 3259 | resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} 3260 | engines: {node: '>=10'} 3261 | dev: true 3262 | 3263 | /yallist/4.0.0: 3264 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 3265 | dev: true 3266 | 3267 | /yaml/1.10.2: 3268 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} 3269 | engines: {node: '>= 6'} 3270 | dev: true 3271 | 3272 | /yargs-parser/20.2.9: 3273 | resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} 3274 | engines: {node: '>=10'} 3275 | dev: true 3276 | 3277 | /yargs-parser/21.1.1: 3278 | resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} 3279 | engines: {node: '>=12'} 3280 | dev: true 3281 | 3282 | /yargs/17.7.1: 3283 | resolution: {integrity: sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==} 3284 | engines: {node: '>=12'} 3285 | dependencies: 3286 | cliui: 8.0.1 3287 | escalade: 3.1.1 3288 | get-caller-file: 2.0.5 3289 | require-directory: 2.1.1 3290 | string-width: 4.2.3 3291 | y18n: 5.0.8 3292 | yargs-parser: 21.1.1 3293 | dev: true 3294 | 3295 | /yocto-queue/1.0.0: 3296 | resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} 3297 | engines: {node: '>=12.20'} 3298 | dev: true 3299 | --------------------------------------------------------------------------------