├── .eslintignore ├── .npmrc ├── src ├── index.ts ├── tsconfig.json ├── types.ts ├── sass │ └── plugin.scss ├── controller.ts ├── plugin.ts └── view.ts ├── .prettierrc.js ├── .editorconfig ├── scripts └── assets-append-version.js ├── test └── browser.html ├── LICENSE.txt ├── .eslintrc.js ├── README.md ├── .gitignore ├── package.json ├── rollup.config.js └── yarn.lock /.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | package-lock=false 2 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import {TemplateInputPlugin} from './plugin'; 2 | 3 | export default {plugin: TemplateInputPlugin}; 4 | -------------------------------------------------------------------------------- /.prettierrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | arrowParens: 'always', 3 | bracketSpacing: false, 4 | singleQuote: true, 5 | trailingComma: 'all', 6 | useTabs: true, 7 | }; 8 | -------------------------------------------------------------------------------- /src/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "esModuleInterop": true, 4 | "lib": ["DOM", "ES2015"], 5 | "moduleResolution": "Node", 6 | "strict": true, 7 | "target": "ES6" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- 1 | import {TextProps, Value, ViewProps} from '@tweakpane/core'; 2 | 3 | export interface Option { 4 | label: string; 5 | value: Value; 6 | } 7 | 8 | export interface PluginConfig { 9 | value: Value; 10 | textValue: Value; 11 | options: Option[]; 12 | noDataText: string; 13 | debounceDelay: number; 14 | textProps: TextProps; 15 | viewProps: ViewProps; 16 | } 17 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*.{html}] 4 | indent_size = 2 5 | indent_style = tab 6 | 7 | [*.{js,json,ts}] 8 | indent_size = 2 9 | indent_style = tab 10 | 11 | [*.md] 12 | indent_size = 2 13 | indent_style = space 14 | 15 | [*.scss] 16 | indent_size = 2 17 | indent_style = tab 18 | 19 | [*.yml] 20 | indent_size = 2 21 | indent_style = space 22 | 23 | [package.json] 24 | indent_size = 2 25 | indent_style = space 26 | -------------------------------------------------------------------------------- /scripts/assets-append-version.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const Fs = require('fs'); 4 | const Glob = require('glob'); 5 | const Path = require('path'); 6 | const Package = require('../package'); 7 | 8 | const PATTERN = 'dist/*'; 9 | 10 | const paths = Glob.sync(PATTERN); 11 | paths.forEach((path) => { 12 | const fileName = Path.basename(path); 13 | if (Fs.statSync(path).isDirectory()) { 14 | return; 15 | } 16 | 17 | const ext = fileName.match(/(\..+)$/)[1]; 18 | const base = Path.basename(fileName, ext); 19 | const versionedPath = Path.join( 20 | Path.dirname(path), 21 | `${base}-${Package.version}${ext}`, 22 | ); 23 | Fs.renameSync(path, versionedPath); 24 | }); 25 | -------------------------------------------------------------------------------- /test/browser.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 hirohe 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: [ 3 | 'eslint:recommended', 4 | 'plugin:@typescript-eslint/eslint-recommended', 5 | 'plugin:@typescript-eslint/recommended', 6 | 'plugin:prettier/recommended', 7 | ], 8 | parser: '@typescript-eslint/parser', 9 | plugins: ['@typescript-eslint', 'simple-import-sort'], 10 | root: true, 11 | rules: { 12 | camelcase: 'off', 13 | 'no-unused-vars': 'off', 14 | 'sort-imports': 'off', 15 | 16 | 'prettier/prettier': 'error', 17 | 'simple-import-sort/imports': 'error', 18 | '@typescript-eslint/naming-convention': [ 19 | 'error', 20 | { 21 | selector: 'variable', 22 | format: ['camelCase', 'PascalCase', 'UPPER_CASE'], 23 | custom: { 24 | regex: '^opt_', 25 | match: false, 26 | }, 27 | }, 28 | ], 29 | '@typescript-eslint/explicit-function-return-type': 'off', 30 | '@typescript-eslint/no-empty-function': 'off', 31 | '@typescript-eslint/no-explicit-any': 'off', 32 | '@typescript-eslint/no-unused-vars': [ 33 | 'error', 34 | { 35 | argsIgnorePattern: '^_', 36 | }, 37 | ], 38 | 39 | // TODO: Resolve latest lint warnings 40 | '@typescript-eslint/explicit-module-boundary-types': 'off', 41 | }, 42 | }; 43 | -------------------------------------------------------------------------------- /src/sass/plugin.scss: -------------------------------------------------------------------------------- 1 | // Import core styles 2 | @import '../../node_modules/@tweakpane/core/lib/sass/plugin'; 3 | @import '../../node_modules/@tweakpane/core/lib/sass/common/defs'; 4 | @import '../../node_modules/@tweakpane/core/lib/sass/view/common/_list.scss'; 5 | 6 | // Additional style for the plugin 7 | .#{$prefix}-search-listv { 8 | position: relative; 9 | 10 | &_i { 11 | @extend %input; 12 | } 13 | 14 | &_select-box { 15 | display: none; 16 | border-radius: var(--bs-br); 17 | width: 100%; 18 | &[data-show] { 19 | display: block; 20 | } 21 | z-index: #{$z-index-picker + 1}; 22 | } 23 | 24 | &_options { 25 | margin: 0; 26 | padding: 0; 27 | list-style-type: none; 28 | max-height: 240px; 29 | overflow: auto; 30 | background-color: var(--tp-plugin-select-box-bg-color, var(--in-bg)); 31 | .no-data { 32 | cursor: initial; 33 | text-align: center; 34 | color: var(--tp-plugin-select-no-data-color, #fff); 35 | } 36 | li { 37 | cursor: pointer; 38 | padding: 4px 6px; 39 | border-radius: var(--bs-br); 40 | &:hover { 41 | background-color: var(--tp-plugin-select-option-bg-hover, rgb(129, 129, 129)); 42 | } 43 | &:not(:last-child) { 44 | // margin-bottom: 4px; 45 | } 46 | } 47 | } 48 | 49 | &_m { 50 | @extend %list_arrow; 51 | 52 | color: var(--button-foreground-color); 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Tweakpane plugin Search list 2 | 3 | 4 | ![version](https://badge.fury.io/js/tweakpane-plugin-search-list.svg) 5 | 6 | This is a plugin for [Tweakpane][tweakpane]. 7 | 8 | add searchable select list for tweakpane. 9 | 10 | **required version `tweakpane@3.x`** 11 | 12 | ### Install 13 | 14 | ```bash 15 | npm i tweakpane-plugin-search-list 16 | # or 17 | yarn add tweakpane-plugin-search-list 18 | ``` 19 | 20 | ### Usage 21 | 22 | ```js 23 | import { Pane } from 'tweakpane'; 24 | import TweakpaneSearchListPlugin from 'tweakpane-plugin-search-list'; 25 | 26 | const pane = new Pane(); 27 | pane.registerPlugin(TweakpaneSearchListPlugin); 28 | 29 | const data = { language: 'JavaScript' }; 30 | pane.addInput(data, 'language', { 31 | // use search-list 32 | view: 'search-list', 33 | options: { 34 | JavaScript: 'JavaScript', 35 | TypeScript: 'TypeScript', 36 | Java: 'Java', 37 | Go: 'Go', 38 | Dart: 'Dart', 39 | 'C++': 'C++', 40 | 'Object C': 'Object C', 41 | 'C#': 'C#', 42 | Python: 'Python' 43 | } 44 | }); 45 | // ... 46 | ``` 47 | 48 | ### Options 49 | 50 | ```js 51 | pane.addInput(data, 'field', { 52 | view: 'search-list', 53 | options: { 54 | // ... 55 | }, 56 | noDataText: 'no data', 57 | debounceDelay: 250, 58 | }); 59 | ``` 60 | 61 | | param | description | type | default | 62 | |---------------|-------------------------------------------------------------|--------|-----------| 63 | | noDataText | text to show if no options matched | string | 'no data' | 64 | | debounceDelay | delay time to apply on lodash.debounce, for debounce search | number | 250 | 65 | 66 | ### CSS variables 67 | 68 | ```css 69 | :root { 70 | --tp-plugin-select-box-bg-color: --input-background-color; 71 | --tp-plugin-select-no-data-color: #fff; 72 | --tp-plugin-select-option-bg-hover: rgb(129, 129, 129); 73 | } 74 | ``` 75 | 76 | [tweakpane]: https://github.com/cocopon/tweakpane/ 77 | -------------------------------------------------------------------------------- /src/controller.ts: -------------------------------------------------------------------------------- 1 | import {Controller, TextView, Value, ViewProps} from '@tweakpane/core'; 2 | import debounce from 'lodash.debounce'; 3 | 4 | import {Option, PluginConfig} from './types'; 5 | import {PluginView} from './view'; 6 | 7 | // Custom controller class should implement `Controller` interface 8 | export class PluginController implements Controller { 9 | public readonly value: Value; 10 | public readonly textValue: Value; 11 | public readonly options: Option[]; 12 | public readonly debounceFilterOptions: ReturnType; 13 | public readonly view: PluginView; 14 | public readonly viewProps: ViewProps; 15 | 16 | constructor(doc: Document, config: PluginConfig) { 17 | this.value = config.value; 18 | this.textValue = config.textValue; 19 | this.options = config.options; 20 | this.viewProps = config.viewProps; 21 | 22 | this.debounceFilterOptions = debounce( 23 | this.filterOptions, 24 | config.debounceDelay, 25 | ); 26 | 27 | const selectedOption = config.options.find( 28 | (o) => o.value === config.value.rawValue, 29 | ); 30 | if (selectedOption) { 31 | this.textValue.rawValue = selectedOption.label; 32 | } 33 | 34 | const textView = new TextView(doc, { 35 | props: config.textProps, 36 | viewProps: config.viewProps, 37 | value: this.textValue, 38 | }); 39 | 40 | // Create a custom view 41 | this.view = new PluginView(doc, { 42 | textProps: config.textProps, 43 | viewProps: config.viewProps, 44 | textView, 45 | value: this.value, 46 | options: config.options, 47 | noDataText: config.noDataText, 48 | onTextInput: this.onTextInput.bind(this), 49 | onOptionClick: this.onOptionClick.bind(this), 50 | }); 51 | 52 | config.viewProps.handleDispose(() => { 53 | // cancel debounce action 54 | this.debounceFilterOptions.cancel(); 55 | }); 56 | } 57 | 58 | filterOptions(text = ''): void { 59 | const options = this.options.filter( 60 | (o) => o.label.toLowerCase().indexOf(text.trim().toLowerCase()) !== -1, 61 | ); 62 | options && this.view.updateOptions(options); 63 | } 64 | 65 | private onTextInput(e: Event): void { 66 | const inputEl = e.currentTarget as HTMLInputElement; 67 | const value = inputEl.value; 68 | this.debounceFilterOptions(value); 69 | } 70 | 71 | private onOptionClick(option: Option) { 72 | this.value.rawValue = option.value; 73 | this.textValue.rawValue = option.label; 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | /.vscode/ 3 | /dist/ 4 | /*.zip 5 | 6 | ### https://raw.github.com/github/gitignore//Node.gitignore 7 | 8 | # Logs 9 | logs 10 | *.log 11 | npm-debug.log* 12 | yarn-debug.log* 13 | yarn-error.log* 14 | lerna-debug.log* 15 | 16 | # Diagnostic reports (https://nodejs.org/api/report.html) 17 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 18 | 19 | # Runtime data 20 | pids 21 | *.pid 22 | *.seed 23 | *.pid.lock 24 | 25 | # Directory for instrumented libs generated by jscoverage/JSCover 26 | lib-cov 27 | 28 | # Coverage directory used by tools like istanbul 29 | coverage 30 | *.lcov 31 | 32 | # nyc test coverage 33 | .nyc_output 34 | 35 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 36 | .grunt 37 | 38 | # Bower dependency directory (https://bower.io/) 39 | bower_components 40 | 41 | # node-waf configuration 42 | .lock-wscript 43 | 44 | # Compiled binary addons (https://nodejs.org/api/addons.html) 45 | build/Release 46 | 47 | # Dependency directories 48 | node_modules/ 49 | jspm_packages/ 50 | 51 | # Snowpack dependency directory (https://snowpack.dev/) 52 | web_modules/ 53 | 54 | # TypeScript cache 55 | *.tsbuildinfo 56 | 57 | # Optional npm cache directory 58 | .npm 59 | 60 | # Optional eslint cache 61 | .eslintcache 62 | 63 | # Microbundle cache 64 | .rpt2_cache/ 65 | .rts2_cache_cjs/ 66 | .rts2_cache_es/ 67 | .rts2_cache_umd/ 68 | 69 | # Optional REPL history 70 | .node_repl_history 71 | 72 | # Output of 'npm pack' 73 | *.tgz 74 | 75 | # Yarn Integrity file 76 | .yarn-integrity 77 | 78 | # dotenv environment variables file 79 | .env 80 | .env.test 81 | 82 | # parcel-bundler cache (https://parceljs.org/) 83 | .cache 84 | .parcel-cache 85 | 86 | # Next.js build output 87 | .next 88 | out 89 | 90 | # Nuxt.js build / generate output 91 | .nuxt 92 | dist 93 | 94 | # Gatsby files 95 | .cache/ 96 | # Comment in the public line in if your project uses Gatsby and not Next.js 97 | # https://nextjs.org/blog/next-9-1#public-directory-support 98 | # public 99 | 100 | # vuepress build output 101 | .vuepress/dist 102 | 103 | # Serverless directories 104 | .serverless/ 105 | 106 | # FuseBox cache 107 | .fusebox/ 108 | 109 | # DynamoDB Local files 110 | .dynamodb/ 111 | 112 | # TernJS port file 113 | .tern-port 114 | 115 | # Stores VSCode versions used for testing VSCode extensions 116 | .vscode-test 117 | 118 | # yarn v2 119 | .yarn/cache 120 | .yarn/unplugged 121 | .yarn/build-state.yml 122 | .yarn/install-state.gz 123 | .pnp.* 124 | 125 | 126 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tweakpane-plugin-search-list", 3 | "version": "0.0.10", 4 | "description": "searchable select list plugin for Tweakpane", 5 | "main": "dist/tweakpane-plugin-search-list.min.js", 6 | "repository": "https://github.com/hirohe/tweakpane-plugin-search-list", 7 | "author": "hirohe", 8 | "license": "MIT", 9 | "keywords": [ 10 | "tweakpane", 11 | "plugin", 12 | "select", 13 | "search", 14 | "filter" 15 | ], 16 | "files": [ 17 | "dist" 18 | ], 19 | "scripts": { 20 | "prepare": "run-s clean build", 21 | "prepublishOnly": "npm test", 22 | "start": "npm run watch", 23 | "test": "eslint --ext .ts \"src/**/*.ts\"", 24 | "assets": "run-s clean build assets:version assets:zip", 25 | "assets:version": "node scripts/assets-append-version.js", 26 | "assets:zip": "zip -x \"*types*\" -j -r $(cat package.json | npx json name)-$(cat package.json | npx json version).zip dist", 27 | "clean": "rm -rf dist *.tgz *.zip", 28 | "build": "run-p build:*", 29 | "build:dev": "rollup --config rollup.config.js", 30 | "build:prod": "rollup --config rollup.config.js --environment BUILD:production", 31 | "format": "run-p format:*", 32 | "format:scss": "prettier --parser scss --write \"src/sass/**/*.scss\"", 33 | "format:ts": "eslint --ext .ts --fix \"src/**/*.ts\"", 34 | "watch": "run-p watch:*", 35 | "watch:sass": "onchange --initial --kill \"src/sass/**/*.scss\" -- npm run build:dev", 36 | "watch:ts": "onchange --initial --kill \"src/**/*.ts\" -- rollup --config rollup.config.js" 37 | }, 38 | "devDependencies": { 39 | "@rollup/plugin-alias": "^3.1.2", 40 | "@rollup/plugin-commonjs": "^20.0.0", 41 | "@rollup/plugin-node-resolve": "^13.0.0", 42 | "@rollup/plugin-replace": "^3.0.0", 43 | "@rollup/plugin-typescript": "^8.2.0", 44 | "@tweakpane/core": "^1.0.6", 45 | "@types/lodash.debounce": "^4.0.6", 46 | "@types/sass": "^1.16.1", 47 | "@typescript-eslint/eslint-plugin": "^4.15.2", 48 | "@typescript-eslint/parser": "^4.15.2", 49 | "autoprefixer": "^10.2.4", 50 | "eslint": "^7.20.0", 51 | "eslint-config-prettier": "^8.1.0", 52 | "eslint-plugin-prettier": "^3.3.1", 53 | "eslint-plugin-simple-import-sort": "^7.0.0", 54 | "npm-run-all": "^4.1.5", 55 | "onchange": "^7.1.0", 56 | "postcss": "^8.2.6", 57 | "prettier": "^2.2.1", 58 | "rollup": "^2.39.1", 59 | "rollup-plugin-cleanup": "^3.2.1", 60 | "rollup-plugin-terser": "^7.0.2", 61 | "sass": "^1.41.1", 62 | "tweakpane": "^3.0.5", 63 | "typescript": "^4.1.5" 64 | }, 65 | "dependencies": { 66 | "@popperjs/core": "^2.10.1", 67 | "lodash.debounce": "^4.0.8" 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /rollup.config.js: -------------------------------------------------------------------------------- 1 | import Alias from '@rollup/plugin-alias'; 2 | import CommonJS from '@rollup/plugin-commonjs'; 3 | import {nodeResolve} from '@rollup/plugin-node-resolve'; 4 | import Replace from '@rollup/plugin-replace'; 5 | import Typescript from '@rollup/plugin-typescript'; 6 | import Autoprefixer from 'autoprefixer'; 7 | import Postcss from 'postcss'; 8 | import Cleanup from 'rollup-plugin-cleanup'; 9 | import {terser as Terser} from 'rollup-plugin-terser'; 10 | import Sass from 'sass'; 11 | 12 | import Package from './package.json'; 13 | 14 | async function compileCss() { 15 | const css = Sass.renderSync({ 16 | file: 'src/sass/plugin.scss', 17 | outputStyle: 'compressed', 18 | }).css.toString(); 19 | 20 | const result = await Postcss([Autoprefixer]).process(css, { 21 | from: undefined, 22 | }); 23 | return result.css.replace(/'/g, "\\'").trim(); 24 | } 25 | 26 | function getPlugins(css, shouldMinify) { 27 | const plugins = [ 28 | // Use ES6 source files to avoid CommonJS transpiling 29 | Alias({ 30 | entries: [ 31 | { 32 | find: '@tweakpane/core', 33 | replacement: './node_modules/@tweakpane/core/dist/es6/index.js', 34 | }, 35 | ], 36 | }), 37 | Typescript({ 38 | tsconfig: 'src/tsconfig.json', 39 | }), 40 | CommonJS({ 41 | include: /node_modules/, 42 | }), 43 | nodeResolve(), 44 | Replace({ 45 | __css__: css, 46 | preventAssignment: false, 47 | 'process.env.NODE_ENV': JSON.stringify('production'), 48 | }), 49 | ]; 50 | if (shouldMinify) { 51 | plugins.push(Terser()); 52 | } 53 | return [ 54 | ...plugins, 55 | // https://github.com/microsoft/tslib/issues/47 56 | Cleanup({ 57 | comments: 'none', 58 | }), 59 | ]; 60 | } 61 | 62 | function getDistName(packageName) { 63 | // `@tweakpane/plugin-foobar` -> `tweakpane-plugin-foobar` 64 | // `tweakpane-plugin-foobar` -> `tweakpane-plugin-foobar` 65 | return packageName 66 | .split(/[@/-]/) 67 | .reduce((comps, comp) => (comp !== '' ? [...comps, comp] : comps), []) 68 | .join('-'); 69 | } 70 | 71 | function getUmdName(packageName) { 72 | // `@tweakpane/plugin-foobar` -> `TweakpaneFoobarPlugin` 73 | // `tweakpane-plugin-foobar` -> `TweakpaneFoobarPlugin` 74 | return ( 75 | packageName 76 | .split(/[@/-]/) 77 | .map((comp) => 78 | comp !== 'plugin' ? comp.charAt(0).toUpperCase() + comp.slice(1) : '', 79 | ) 80 | .join('') + 'Plugin' 81 | ); 82 | } 83 | 84 | export default async () => { 85 | const production = process.env.BUILD === 'production'; 86 | const postfix = production ? '.min' : ''; 87 | 88 | const distName = getDistName(Package.name); 89 | const css = await compileCss(); 90 | return { 91 | input: 'src/index.ts', 92 | external: ['tweakpane'], 93 | output: { 94 | file: `dist/${distName}${postfix}.js`, 95 | format: 'umd', 96 | globals: { 97 | tweakpane: 'Tweakpane', 98 | }, 99 | name: getUmdName(Package.name), 100 | }, 101 | plugins: getPlugins(css, production), 102 | 103 | // Suppress `Circular dependency` warning 104 | onwarn(warning, rollupWarn) { 105 | if (warning.code === 'CIRCULAR_DEPENDENCY') { 106 | return; 107 | } 108 | rollupWarn(warning); 109 | }, 110 | }; 111 | }; 112 | -------------------------------------------------------------------------------- /src/plugin.ts: -------------------------------------------------------------------------------- 1 | import { 2 | BindingTarget, 3 | CompositeConstraint, 4 | createListConstraint, 5 | createValue, 6 | InputBindingPlugin, 7 | StringInputParams, 8 | ValueMap, 9 | } from '@tweakpane/core'; 10 | 11 | import {PluginController} from './controller'; 12 | import {Option} from './types'; 13 | 14 | interface PluginInputParams extends StringInputParams { 15 | noDataText?: string; 16 | debounceDelay?: number; 17 | } 18 | 19 | // NOTE: You can see JSDoc comments of `InputBindingPlugin` for details about each property 20 | // 21 | // `InputBindingPlugin` means... 22 | // - The plugin receives the bound value as `Ex`, 23 | // - converts `Ex` into `In` and holds it 24 | // - P is the type of the parsed parameters 25 | // 26 | export const TemplateInputPlugin: InputBindingPlugin< 27 | string, 28 | string, 29 | PluginInputParams 30 | > = { 31 | id: 'input-template', 32 | 33 | // type: The plugin type. 34 | // - 'input': Input binding 35 | // - 'monitor': Monitor binding 36 | type: 'input', 37 | 38 | // This plugin template injects a compiled CSS by @rollup/plugin-replace 39 | // See rollup.config.js for details 40 | css: '__css__', 41 | 42 | accept(exValue: unknown, params: Record) { 43 | if (params.view !== 'search-list' && typeof exValue !== 'string') 44 | return null; 45 | 46 | // Return a typed value and params to accept the user input 47 | return { 48 | initialValue: exValue as string, 49 | params, 50 | }; 51 | }, 52 | 53 | binding: { 54 | reader(_args) { 55 | return (exValue: unknown): string => { 56 | // Convert an external unknown value into the internal value 57 | return typeof exValue === 'string' ? exValue : ''; 58 | }; 59 | }, 60 | 61 | constraint(args) { 62 | // Create a value constraint from the user input 63 | const constraints = []; 64 | // You can reuse existing functions of the default plugins 65 | const cr = createListConstraint(args.params.options); 66 | if (cr) { 67 | constraints.push(cr); 68 | } 69 | return new CompositeConstraint(constraints); 70 | }, 71 | 72 | writer(_args) { 73 | return (target: BindingTarget, inValue) => { 74 | // Use `target.write()` to write the primitive value to the target, 75 | // or `target.writeProperty()` to write a property of the target 76 | target.write(inValue); 77 | }; 78 | }, 79 | }, 80 | 81 | controller(args) { 82 | const params = args.params as PluginInputParams; 83 | const optionsFromParams = (params.options || {}) as StringInputParams; 84 | const options = Object.keys(optionsFromParams).map((key) => { 85 | return { 86 | label: key, 87 | value: optionsFromParams[key as keyof StringInputParams], 88 | } as Option; 89 | }); 90 | // Create a controller for the plugin 91 | return new PluginController(args.document, { 92 | value: args.value, 93 | textValue: createValue(''), 94 | options, 95 | noDataText: params.noDataText || 'no data', 96 | debounceDelay: params.debounceDelay || 250, 97 | textProps: ValueMap.fromObject({ 98 | formatter: (val: any) => String(val), 99 | }), 100 | viewProps: args.viewProps, 101 | }); 102 | }, 103 | }; 104 | -------------------------------------------------------------------------------- /src/view.ts: -------------------------------------------------------------------------------- 1 | import flip from '@popperjs/core/lib/modifiers/flip'; 2 | import {createPopper, Instance} from '@popperjs/core/lib/popper-lite'; 3 | import {ClassName, TextView, Value, View} from '@tweakpane/core'; 4 | 5 | import {Option, PluginConfig} from './types'; 6 | 7 | // Create a class name generator from the view name 8 | const className = ClassName('search-list'); 9 | 10 | interface ViewConfig extends Omit { 11 | textView: TextView; 12 | onTextInput: (e: Event) => void; 13 | onOptionClick: (option: Option) => void; 14 | } 15 | 16 | // Custom view class should implement `View` interface 17 | export class PluginView implements View { 18 | public readonly doc: Document; 19 | public readonly element: HTMLElement; 20 | public readonly selectBox: HTMLDivElement; 21 | public readonly optionsUl: HTMLUListElement; 22 | public readonly popper: Instance; 23 | public readonly value: Value; 24 | public textView: TextView; 25 | private options: Option[] = []; 26 | private noDataText: string; 27 | 28 | constructor(doc: Document, config: ViewConfig) { 29 | this.doc = doc; 30 | doc.addEventListener('click', this.onDocClick.bind(this)); 31 | 32 | // Create a root element for the plugin 33 | this.element = doc.createElement('div'); 34 | this.element.classList.add(className()); 35 | // Bind view props to the element 36 | config.viewProps.bindClassModifiers(this.element); 37 | 38 | this.value = config.value; 39 | this.options = config.options; 40 | this.noDataText = config.noDataText; 41 | // Handle 'change' event of the value 42 | this.value.emitter.on('change', this.onValueChange_.bind(this)); 43 | 44 | this.textView = config.textView; 45 | this.textView.inputElement.addEventListener( 46 | 'click', 47 | this.onTextInputClick.bind(this), 48 | ); 49 | this.textView.inputElement.addEventListener('input', config.onTextInput); 50 | this.element.appendChild(this.textView.element); 51 | 52 | const arrowEl = doc.createElement('div'); 53 | arrowEl.classList.add(className('m')); 54 | arrowEl.innerHTML = ''; 55 | this.element.appendChild(arrowEl); 56 | 57 | // select options area 58 | const selectOptionsBoxEl = doc.createElement('div'); 59 | this.selectBox = selectOptionsBoxEl; 60 | selectOptionsBoxEl.classList.add(className('select-box')); 61 | 62 | const optionsUl = doc.createElement('ul'); 63 | this.optionsUl = optionsUl; 64 | optionsUl.classList.add(className('options')); 65 | this.updateOptions(config.options); 66 | optionsUl.addEventListener('click', (e: MouseEvent) => { 67 | if (e.target && e.target instanceof HTMLLIElement) { 68 | const value = e.target.getAttribute('data-value'); 69 | if (value !== null) { 70 | const option = config.options.find((o) => o.value === value); 71 | if (option) config.onOptionClick(option); 72 | } 73 | } 74 | }); 75 | selectOptionsBoxEl.appendChild(optionsUl); 76 | 77 | this.popper = createPopper(this.textView.inputElement, this.selectBox, { 78 | placement: 'bottom-start', 79 | modifiers: [ 80 | { 81 | ...flip, 82 | options: { 83 | fallbackPlacements: ['top'], 84 | }, 85 | }, 86 | ], 87 | }); 88 | 89 | this.element.appendChild(selectOptionsBoxEl); 90 | 91 | // Apply the initial value 92 | this.update(); 93 | this.textView.refresh(); 94 | 95 | config.viewProps.handleDispose(() => { 96 | this.popper.destroy(); 97 | }); 98 | } 99 | 100 | private onDocClick(e: MouseEvent): void { 101 | if (e.target && e.target instanceof HTMLElement) { 102 | if (e.target.contains(this.element)) { 103 | this.hideSelectOptionsBox(); 104 | } 105 | } 106 | } 107 | 108 | private onTextInputClick() { 109 | // reset options 110 | this.updateOptions(this.options); 111 | this.showSelectOptionsBox(); 112 | } 113 | 114 | public showSelectOptionsBox(): void { 115 | this.selectBox.setAttribute('data-show', ''); 116 | this.popper.update(); 117 | } 118 | 119 | public hideSelectOptionsBox(): void { 120 | this.selectBox.removeAttribute('data-show'); 121 | } 122 | 123 | public updateOptions(options: Option[]): void { 124 | this.optionsUl.innerHTML = ''; 125 | if (options.length === 0) { 126 | const noDataLi = this.doc.createElement('li'); 127 | noDataLi.innerText = this.noDataText; 128 | noDataLi.classList.add('no-data'); 129 | this.optionsUl.appendChild(noDataLi); 130 | return; 131 | } 132 | 133 | options.forEach((option) => { 134 | const optionEl = this.doc.createElement('li'); 135 | optionEl.innerText = option.label; 136 | optionEl.setAttribute('data-value', option.value); 137 | this.optionsUl.appendChild(optionEl); 138 | }); 139 | } 140 | 141 | public update(): void { 142 | this.hideSelectOptionsBox(); 143 | } 144 | 145 | private onValueChange_() { 146 | this.update(); 147 | } 148 | } 149 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@7.12.11": 6 | version "7.12.11" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" 8 | integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== 9 | dependencies: 10 | "@babel/highlight" "^7.10.4" 11 | 12 | "@babel/code-frame@^7.10.4": 13 | version "7.14.5" 14 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb" 15 | integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== 16 | dependencies: 17 | "@babel/highlight" "^7.14.5" 18 | 19 | "@babel/helper-validator-identifier@^7.14.5": 20 | version "7.15.7" 21 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" 22 | integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== 23 | 24 | "@babel/highlight@^7.10.4", "@babel/highlight@^7.14.5": 25 | version "7.14.5" 26 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" 27 | integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== 28 | dependencies: 29 | "@babel/helper-validator-identifier" "^7.14.5" 30 | chalk "^2.0.0" 31 | js-tokens "^4.0.0" 32 | 33 | "@blakeembrey/deque@^1.0.5": 34 | version "1.0.5" 35 | resolved "https://registry.yarnpkg.com/@blakeembrey/deque/-/deque-1.0.5.tgz#f4fa17fc5ee18317ec01a763d355782c7b395eaf" 36 | integrity sha512-6xnwtvp9DY1EINIKdTfvfeAtCYw4OqBZJhtiqkT3ivjnEfa25VQ3TsKvaFfKm8MyGIEfE95qLe+bNEt3nB0Ylg== 37 | 38 | "@blakeembrey/template@^1.0.0": 39 | version "1.0.0" 40 | resolved "https://registry.yarnpkg.com/@blakeembrey/template/-/template-1.0.0.tgz#bf8828bc3ae8004d97904d78f64e3cc2cd216438" 41 | integrity sha512-J6WGZqCLdRMHUkyRG6fBSIFJ0rL60/nsQNh5rQvsYZ5u0PsKw6XQcJcA3DWvd9cN3j/IQx5yB1fexhCafwwUUw== 42 | 43 | "@eslint/eslintrc@^0.4.3": 44 | version "0.4.3" 45 | resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" 46 | integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== 47 | dependencies: 48 | ajv "^6.12.4" 49 | debug "^4.1.1" 50 | espree "^7.3.0" 51 | globals "^13.9.0" 52 | ignore "^4.0.6" 53 | import-fresh "^3.2.1" 54 | js-yaml "^3.13.1" 55 | minimatch "^3.0.4" 56 | strip-json-comments "^3.1.1" 57 | 58 | "@humanwhocodes/config-array@^0.5.0": 59 | version "0.5.0" 60 | resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" 61 | integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== 62 | dependencies: 63 | "@humanwhocodes/object-schema" "^1.2.0" 64 | debug "^4.1.1" 65 | minimatch "^3.0.4" 66 | 67 | "@humanwhocodes/object-schema@^1.2.0": 68 | version "1.2.0" 69 | resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz#87de7af9c231826fdd68ac7258f77c429e0e5fcf" 70 | integrity sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w== 71 | 72 | "@nodelib/fs.scandir@2.1.5": 73 | version "2.1.5" 74 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" 75 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 76 | dependencies: 77 | "@nodelib/fs.stat" "2.0.5" 78 | run-parallel "^1.1.9" 79 | 80 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": 81 | version "2.0.5" 82 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" 83 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 84 | 85 | "@nodelib/fs.walk@^1.2.3": 86 | version "1.2.8" 87 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" 88 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 89 | dependencies: 90 | "@nodelib/fs.scandir" "2.1.5" 91 | fastq "^1.6.0" 92 | 93 | "@popperjs/core@^2.10.1": 94 | version "2.10.1" 95 | resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.10.1.tgz#728ecd95ab207aab8a9a4e421f0422db329232be" 96 | integrity sha512-HnUhk1Sy9IuKrxEMdIRCxpIqPw6BFsbYSEUO9p/hNw5sMld/+3OLMWQP80F8/db9qsv3qUjs7ZR5bS/R+iinXw== 97 | 98 | "@rollup/plugin-alias@^3.1.2": 99 | version "3.1.5" 100 | resolved "https://registry.yarnpkg.com/@rollup/plugin-alias/-/plugin-alias-3.1.5.tgz#73356a3a1eab2e1e2fd952f9f53cd89fc740d952" 101 | integrity sha512-yzUaSvCC/LJPbl9rnzX3HN7vy0tq7EzHoEiQl1ofh4n5r2Rd5bj/+zcJgaGA76xbw95/JjWQyvHg9rOJp2y0oQ== 102 | dependencies: 103 | slash "^3.0.0" 104 | 105 | "@rollup/plugin-commonjs@^20.0.0": 106 | version "20.0.0" 107 | resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-20.0.0.tgz#3246872dcbcb18a54aaa6277a8c7d7f1b155b745" 108 | integrity sha512-5K0g5W2Ol8hAcTHqcTBHiA7M58tfmYi1o9KxeJuuRNpGaTa5iLjcyemBitCBcKXaHamOBBEH2dGom6v6Unmqjg== 109 | dependencies: 110 | "@rollup/pluginutils" "^3.1.0" 111 | commondir "^1.0.1" 112 | estree-walker "^2.0.1" 113 | glob "^7.1.6" 114 | is-reference "^1.2.1" 115 | magic-string "^0.25.7" 116 | resolve "^1.17.0" 117 | 118 | "@rollup/plugin-node-resolve@^13.0.0": 119 | version "13.0.4" 120 | resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.0.4.tgz#b10222f4145a019740acb7738402130d848660c0" 121 | integrity sha512-eYq4TFy40O8hjeDs+sIxEH/jc9lyuI2k9DM557WN6rO5OpnC2qXMBNj4IKH1oHrnAazL49C5p0tgP0/VpqJ+/w== 122 | dependencies: 123 | "@rollup/pluginutils" "^3.1.0" 124 | "@types/resolve" "1.17.1" 125 | builtin-modules "^3.1.0" 126 | deepmerge "^4.2.2" 127 | is-module "^1.0.0" 128 | resolve "^1.19.0" 129 | 130 | "@rollup/plugin-replace@^3.0.0": 131 | version "3.0.0" 132 | resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-3.0.0.tgz#3a4c9665d4e7a4ce2c360cf021232784892f3fac" 133 | integrity sha512-3c7JCbMuYXM4PbPWT4+m/4Y6U60SgsnDT/cCyAyUKwFHg7pTSfsSQzIpETha3a3ig6OdOKzZz87D9ZXIK3qsDg== 134 | dependencies: 135 | "@rollup/pluginutils" "^3.1.0" 136 | magic-string "^0.25.7" 137 | 138 | "@rollup/plugin-typescript@^8.2.0": 139 | version "8.2.5" 140 | resolved "https://registry.yarnpkg.com/@rollup/plugin-typescript/-/plugin-typescript-8.2.5.tgz#e0319761b2b5105615e5a0c371ae05bc2984b7de" 141 | integrity sha512-QL/LvDol/PAGB2O0S7/+q2HpSUNodpw7z6nGn9BfoVCPOZ0r4EALrojFU29Bkoi2Hr2jgTocTejJ5GGWZfOxbQ== 142 | dependencies: 143 | "@rollup/pluginutils" "^3.1.0" 144 | resolve "^1.17.0" 145 | 146 | "@rollup/pluginutils@^3.1.0": 147 | version "3.1.0" 148 | resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" 149 | integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== 150 | dependencies: 151 | "@types/estree" "0.0.39" 152 | estree-walker "^1.0.1" 153 | picomatch "^2.2.2" 154 | 155 | "@tweakpane/core@^1.0.6": 156 | version "1.0.6" 157 | resolved "https://registry.yarnpkg.com/@tweakpane/core/-/core-1.0.6.tgz#cfdecd9612caab72f25abc60bfab9df2c1381f4c" 158 | integrity sha512-Q5331dFAgGyLvQHzrUdK11FV5nX7UTucW2x9w/Nl0h2zd/qtxs9mtbYSU5xEGnj5mtuI095CMV3mcQjYpyTCkQ== 159 | 160 | "@types/estree@*": 161 | version "0.0.50" 162 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" 163 | integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== 164 | 165 | "@types/estree@0.0.39": 166 | version "0.0.39" 167 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" 168 | integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== 169 | 170 | "@types/json-schema@^7.0.7": 171 | version "7.0.9" 172 | resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" 173 | integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== 174 | 175 | "@types/lodash.debounce@^4.0.6": 176 | version "4.0.6" 177 | resolved "https://registry.yarnpkg.com/@types/lodash.debounce/-/lodash.debounce-4.0.6.tgz#c5a2326cd3efc46566c47e4c0aa248dc0ee57d60" 178 | integrity sha512-4WTmnnhCfDvvuLMaF3KV4Qfki93KebocUF45msxhYyjMttZDQYzHkO639ohhk8+oco2cluAFL3t5+Jn4mleylQ== 179 | dependencies: 180 | "@types/lodash" "*" 181 | 182 | "@types/lodash@*": 183 | version "4.14.173" 184 | resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.173.tgz#9d3b674c67a26cf673756f6aca7b429f237f91ed" 185 | integrity sha512-vv0CAYoaEjCw/mLy96GBTnRoZrSxkGE0BKzKimdR8P3OzrNYNvBgtW7p055A+E8C31vXNUhWKoFCbhq7gbyhFg== 186 | 187 | "@types/node@*": 188 | version "16.9.4" 189 | resolved "https://registry.yarnpkg.com/@types/node/-/node-16.9.4.tgz#a12f0ee7847cf17a97f6fdf1093cb7a9af23cca4" 190 | integrity sha512-KDazLNYAGIuJugdbULwFZULF9qQ13yNWEBFnfVpqlpgAAo6H/qnM9RjBgh0A0kmHf3XxAKLdN5mTIng9iUvVLA== 191 | 192 | "@types/resolve@1.17.1": 193 | version "1.17.1" 194 | resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" 195 | integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== 196 | dependencies: 197 | "@types/node" "*" 198 | 199 | "@types/sass@^1.16.1": 200 | version "1.16.1" 201 | resolved "https://registry.yarnpkg.com/@types/sass/-/sass-1.16.1.tgz#cf465bd1fea486d0331f760db023de14daf4980d" 202 | integrity sha512-iZUcRrGuz/Tbg3loODpW7vrQJkUtpY2fFSf4ELqqkApcS2TkZ1msk7ie8iZPB86lDOP8QOTTmuvWjc5S0R9OjQ== 203 | dependencies: 204 | "@types/node" "*" 205 | 206 | "@typescript-eslint/eslint-plugin@^4.15.2": 207 | version "4.31.2" 208 | resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.31.2.tgz#9f41efaee32cdab7ace94b15bd19b756dd099b0a" 209 | integrity sha512-w63SCQ4bIwWN/+3FxzpnWrDjQRXVEGiTt9tJTRptRXeFvdZc/wLiz3FQUwNQ2CVoRGI6KUWMNUj/pk63noUfcA== 210 | dependencies: 211 | "@typescript-eslint/experimental-utils" "4.31.2" 212 | "@typescript-eslint/scope-manager" "4.31.2" 213 | debug "^4.3.1" 214 | functional-red-black-tree "^1.0.1" 215 | regexpp "^3.1.0" 216 | semver "^7.3.5" 217 | tsutils "^3.21.0" 218 | 219 | "@typescript-eslint/experimental-utils@4.31.2": 220 | version "4.31.2" 221 | resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.31.2.tgz#98727a9c1e977dd5d20c8705e69cd3c2a86553fa" 222 | integrity sha512-3tm2T4nyA970yQ6R3JZV9l0yilE2FedYg8dcXrTar34zC9r6JB7WyBQbpIVongKPlhEMjhQ01qkwrzWy38Bk1Q== 223 | dependencies: 224 | "@types/json-schema" "^7.0.7" 225 | "@typescript-eslint/scope-manager" "4.31.2" 226 | "@typescript-eslint/types" "4.31.2" 227 | "@typescript-eslint/typescript-estree" "4.31.2" 228 | eslint-scope "^5.1.1" 229 | eslint-utils "^3.0.0" 230 | 231 | "@typescript-eslint/parser@^4.15.2": 232 | version "4.31.2" 233 | resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.31.2.tgz#54aa75986e3302d91eff2bbbaa6ecfa8084e9c34" 234 | integrity sha512-EcdO0E7M/sv23S/rLvenHkb58l3XhuSZzKf6DBvLgHqOYdL6YFMYVtreGFWirxaU2mS1GYDby3Lyxco7X5+Vjw== 235 | dependencies: 236 | "@typescript-eslint/scope-manager" "4.31.2" 237 | "@typescript-eslint/types" "4.31.2" 238 | "@typescript-eslint/typescript-estree" "4.31.2" 239 | debug "^4.3.1" 240 | 241 | "@typescript-eslint/scope-manager@4.31.2": 242 | version "4.31.2" 243 | resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.31.2.tgz#1d528cb3ed3bcd88019c20a57c18b897b073923a" 244 | integrity sha512-2JGwudpFoR/3Czq6mPpE8zBPYdHWFGL6lUNIGolbKQeSNv4EAiHaR5GVDQaLA0FwgcdcMtRk+SBJbFGL7+La5w== 245 | dependencies: 246 | "@typescript-eslint/types" "4.31.2" 247 | "@typescript-eslint/visitor-keys" "4.31.2" 248 | 249 | "@typescript-eslint/types@4.31.2": 250 | version "4.31.2" 251 | resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.31.2.tgz#2aea7177d6d744521a168ed4668eddbd912dfadf" 252 | integrity sha512-kWiTTBCTKEdBGrZKwFvOlGNcAsKGJSBc8xLvSjSppFO88AqGxGNYtF36EuEYG6XZ9vT0xX8RNiHbQUKglbSi1w== 253 | 254 | "@typescript-eslint/typescript-estree@4.31.2": 255 | version "4.31.2" 256 | resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.31.2.tgz#abfd50594d8056b37e7428df3b2d185ef2d0060c" 257 | integrity sha512-ieBq8U9at6PvaC7/Z6oe8D3czeW5d//Fo1xkF/s9394VR0bg/UaMYPdARiWyKX+lLEjY3w/FNZJxitMsiWv+wA== 258 | dependencies: 259 | "@typescript-eslint/types" "4.31.2" 260 | "@typescript-eslint/visitor-keys" "4.31.2" 261 | debug "^4.3.1" 262 | globby "^11.0.3" 263 | is-glob "^4.0.1" 264 | semver "^7.3.5" 265 | tsutils "^3.21.0" 266 | 267 | "@typescript-eslint/visitor-keys@4.31.2": 268 | version "4.31.2" 269 | resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.31.2.tgz#7d5b4a4705db7fe59ecffb273c1d082760f635cc" 270 | integrity sha512-PrBId7EQq2Nibns7dd/ch6S6/M4/iwLM9McbgeEbCXfxdwRUNxJ4UNreJ6Gh3fI2GNKNrWnQxKL7oCPmngKBug== 271 | dependencies: 272 | "@typescript-eslint/types" "4.31.2" 273 | eslint-visitor-keys "^2.0.0" 274 | 275 | acorn-jsx@^5.3.1: 276 | version "5.3.2" 277 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" 278 | integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== 279 | 280 | acorn@^7.4.0: 281 | version "7.4.1" 282 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" 283 | integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== 284 | 285 | ajv@^6.10.0, ajv@^6.12.4: 286 | version "6.12.6" 287 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" 288 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== 289 | dependencies: 290 | fast-deep-equal "^3.1.1" 291 | fast-json-stable-stringify "^2.0.0" 292 | json-schema-traverse "^0.4.1" 293 | uri-js "^4.2.2" 294 | 295 | ajv@^8.0.1: 296 | version "8.6.3" 297 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.6.3.tgz#11a66527761dc3e9a3845ea775d2d3c0414e8764" 298 | integrity sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw== 299 | dependencies: 300 | fast-deep-equal "^3.1.1" 301 | json-schema-traverse "^1.0.0" 302 | require-from-string "^2.0.2" 303 | uri-js "^4.2.2" 304 | 305 | ansi-colors@^4.1.1: 306 | version "4.1.1" 307 | resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" 308 | integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== 309 | 310 | ansi-regex@^5.0.0: 311 | version "5.0.1" 312 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" 313 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 314 | 315 | ansi-styles@^3.2.1: 316 | version "3.2.1" 317 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 318 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 319 | dependencies: 320 | color-convert "^1.9.0" 321 | 322 | ansi-styles@^4.0.0, ansi-styles@^4.1.0: 323 | version "4.3.0" 324 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 325 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 326 | dependencies: 327 | color-convert "^2.0.1" 328 | 329 | anymatch@~3.1.2: 330 | version "3.1.2" 331 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" 332 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== 333 | dependencies: 334 | normalize-path "^3.0.0" 335 | picomatch "^2.0.4" 336 | 337 | arg@^4.1.3: 338 | version "4.1.3" 339 | resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" 340 | integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== 341 | 342 | argparse@^1.0.7: 343 | version "1.0.10" 344 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 345 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 346 | dependencies: 347 | sprintf-js "~1.0.2" 348 | 349 | array-union@^2.1.0: 350 | version "2.1.0" 351 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" 352 | integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== 353 | 354 | astral-regex@^2.0.0: 355 | version "2.0.0" 356 | resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" 357 | integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== 358 | 359 | autoprefixer@^10.2.4: 360 | version "10.3.4" 361 | resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.3.4.tgz#29efe5d19f51c281953178ddb5b84c5f1ca24c86" 362 | integrity sha512-EKjKDXOq7ug+jagLzmnoTRpTT0q1KVzEJqrJd0hCBa7FiG0WbFOBCcJCy2QkW1OckpO3qgttA1aWjVbeIPAecw== 363 | dependencies: 364 | browserslist "^4.16.8" 365 | caniuse-lite "^1.0.30001252" 366 | colorette "^1.3.0" 367 | fraction.js "^4.1.1" 368 | normalize-range "^0.1.2" 369 | postcss-value-parser "^4.1.0" 370 | 371 | balanced-match@^1.0.0: 372 | version "1.0.2" 373 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 374 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 375 | 376 | binary-extensions@^2.0.0: 377 | version "2.2.0" 378 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 379 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 380 | 381 | brace-expansion@^1.1.7: 382 | version "1.1.11" 383 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 384 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 385 | dependencies: 386 | balanced-match "^1.0.0" 387 | concat-map "0.0.1" 388 | 389 | braces@^3.0.1, braces@~3.0.2: 390 | version "3.0.2" 391 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 392 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 393 | dependencies: 394 | fill-range "^7.0.1" 395 | 396 | browserslist@^4.16.8: 397 | version "4.17.0" 398 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.17.0.tgz#1fcd81ec75b41d6d4994fb0831b92ac18c01649c" 399 | integrity sha512-g2BJ2a0nEYvEFQC208q8mVAhfNwpZ5Mu8BwgtCdZKO3qx98HChmeg448fPdUzld8aFmfLgVh7yymqV+q1lJZ5g== 400 | dependencies: 401 | caniuse-lite "^1.0.30001254" 402 | colorette "^1.3.0" 403 | electron-to-chromium "^1.3.830" 404 | escalade "^3.1.1" 405 | node-releases "^1.1.75" 406 | 407 | buffer-from@^1.0.0: 408 | version "1.1.2" 409 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" 410 | integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== 411 | 412 | builtin-modules@^3.1.0: 413 | version "3.2.0" 414 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887" 415 | integrity sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA== 416 | 417 | call-bind@^1.0.0, call-bind@^1.0.2: 418 | version "1.0.2" 419 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" 420 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== 421 | dependencies: 422 | function-bind "^1.1.1" 423 | get-intrinsic "^1.0.2" 424 | 425 | callsites@^3.0.0: 426 | version "3.1.0" 427 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 428 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 429 | 430 | caniuse-lite@^1.0.30001252, caniuse-lite@^1.0.30001254: 431 | version "1.0.30001258" 432 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001258.tgz#b604eed80cc54a578e4bf5a02ae3ed49f869d252" 433 | integrity sha512-RBByOG6xWXUp0CR2/WU2amXz3stjKpSl5J1xU49F1n2OxD//uBZO4wCKUiG+QMGf7CHGfDDcqoKriomoGVxTeA== 434 | 435 | chalk@^2.0.0, chalk@^2.4.1: 436 | version "2.4.2" 437 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 438 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 439 | dependencies: 440 | ansi-styles "^3.2.1" 441 | escape-string-regexp "^1.0.5" 442 | supports-color "^5.3.0" 443 | 444 | chalk@^4.0.0: 445 | version "4.1.2" 446 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" 447 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 448 | dependencies: 449 | ansi-styles "^4.1.0" 450 | supports-color "^7.1.0" 451 | 452 | "chokidar@>=3.0.0 <4.0.0", chokidar@^3.3.1: 453 | version "3.5.2" 454 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" 455 | integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== 456 | dependencies: 457 | anymatch "~3.1.2" 458 | braces "~3.0.2" 459 | glob-parent "~5.1.2" 460 | is-binary-path "~2.1.0" 461 | is-glob "~4.0.1" 462 | normalize-path "~3.0.0" 463 | readdirp "~3.6.0" 464 | optionalDependencies: 465 | fsevents "~2.3.2" 466 | 467 | color-convert@^1.9.0: 468 | version "1.9.3" 469 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 470 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 471 | dependencies: 472 | color-name "1.1.3" 473 | 474 | color-convert@^2.0.1: 475 | version "2.0.1" 476 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 477 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 478 | dependencies: 479 | color-name "~1.1.4" 480 | 481 | color-name@1.1.3: 482 | version "1.1.3" 483 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 484 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 485 | 486 | color-name@~1.1.4: 487 | version "1.1.4" 488 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 489 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 490 | 491 | colorette@^1.2.2, colorette@^1.3.0: 492 | version "1.4.0" 493 | resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" 494 | integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== 495 | 496 | commander@^2.20.0: 497 | version "2.20.3" 498 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" 499 | integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== 500 | 501 | commondir@^1.0.1: 502 | version "1.0.1" 503 | resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 504 | integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= 505 | 506 | concat-map@0.0.1: 507 | version "0.0.1" 508 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 509 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 510 | 511 | cross-spawn@^6.0.5: 512 | version "6.0.5" 513 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" 514 | integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== 515 | dependencies: 516 | nice-try "^1.0.4" 517 | path-key "^2.0.1" 518 | semver "^5.5.0" 519 | shebang-command "^1.2.0" 520 | which "^1.2.9" 521 | 522 | cross-spawn@^7.0.1, cross-spawn@^7.0.2: 523 | version "7.0.3" 524 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 525 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 526 | dependencies: 527 | path-key "^3.1.0" 528 | shebang-command "^2.0.0" 529 | which "^2.0.1" 530 | 531 | debug@^4.0.1, debug@^4.1.1, debug@^4.3.1: 532 | version "4.3.2" 533 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" 534 | integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== 535 | dependencies: 536 | ms "2.1.2" 537 | 538 | deep-is@^0.1.3: 539 | version "0.1.4" 540 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" 541 | integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== 542 | 543 | deepmerge@^4.2.2: 544 | version "4.2.2" 545 | resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" 546 | integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== 547 | 548 | define-properties@^1.1.3: 549 | version "1.1.3" 550 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" 551 | integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== 552 | dependencies: 553 | object-keys "^1.0.12" 554 | 555 | dir-glob@^3.0.1: 556 | version "3.0.1" 557 | resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" 558 | integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== 559 | dependencies: 560 | path-type "^4.0.0" 561 | 562 | doctrine@^3.0.0: 563 | version "3.0.0" 564 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" 565 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== 566 | dependencies: 567 | esutils "^2.0.2" 568 | 569 | electron-to-chromium@^1.3.830: 570 | version "1.3.845" 571 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.845.tgz#326d3be3ee5d2c065f689119d441c997f9fd41d8" 572 | integrity sha512-y0RorqmExFDI4RjLEC6j365bIT5UAXf9WIRcknvSFHVhbC/dRnCgJnPA3DUUW6SCC85QGKEafgqcHJ6uPdEP1Q== 573 | 574 | emoji-regex@^8.0.0: 575 | version "8.0.0" 576 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 577 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 578 | 579 | enquirer@^2.3.5: 580 | version "2.3.6" 581 | resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" 582 | integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== 583 | dependencies: 584 | ansi-colors "^4.1.1" 585 | 586 | error-ex@^1.3.1: 587 | version "1.3.2" 588 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 589 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== 590 | dependencies: 591 | is-arrayish "^0.2.1" 592 | 593 | es-abstract@^1.18.0-next.2: 594 | version "1.18.6" 595 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.6.tgz#2c44e3ea7a6255039164d26559777a6d978cb456" 596 | integrity sha512-kAeIT4cku5eNLNuUKhlmtuk1/TRZvQoYccn6TO0cSVdf1kzB0T7+dYuVK9MWM7l+/53W2Q8M7N2c6MQvhXFcUQ== 597 | dependencies: 598 | call-bind "^1.0.2" 599 | es-to-primitive "^1.2.1" 600 | function-bind "^1.1.1" 601 | get-intrinsic "^1.1.1" 602 | get-symbol-description "^1.0.0" 603 | has "^1.0.3" 604 | has-symbols "^1.0.2" 605 | internal-slot "^1.0.3" 606 | is-callable "^1.2.4" 607 | is-negative-zero "^2.0.1" 608 | is-regex "^1.1.4" 609 | is-string "^1.0.7" 610 | object-inspect "^1.11.0" 611 | object-keys "^1.1.1" 612 | object.assign "^4.1.2" 613 | string.prototype.trimend "^1.0.4" 614 | string.prototype.trimstart "^1.0.4" 615 | unbox-primitive "^1.0.1" 616 | 617 | es-to-primitive@^1.2.1: 618 | version "1.2.1" 619 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" 620 | integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== 621 | dependencies: 622 | is-callable "^1.1.4" 623 | is-date-object "^1.0.1" 624 | is-symbol "^1.0.2" 625 | 626 | escalade@^3.1.1: 627 | version "3.1.1" 628 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 629 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 630 | 631 | escape-string-regexp@^1.0.5: 632 | version "1.0.5" 633 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 634 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 635 | 636 | escape-string-regexp@^4.0.0: 637 | version "4.0.0" 638 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" 639 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== 640 | 641 | eslint-config-prettier@^8.1.0: 642 | version "8.3.0" 643 | resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz#f7471b20b6fe8a9a9254cc684454202886a2dd7a" 644 | integrity sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew== 645 | 646 | eslint-plugin-prettier@^3.3.1: 647 | version "3.4.1" 648 | resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz#e9ddb200efb6f3d05ffe83b1665a716af4a387e5" 649 | integrity sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g== 650 | dependencies: 651 | prettier-linter-helpers "^1.0.0" 652 | 653 | eslint-plugin-simple-import-sort@^7.0.0: 654 | version "7.0.0" 655 | resolved "https://registry.yarnpkg.com/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-7.0.0.tgz#a1dad262f46d2184a90095a60c66fef74727f0f8" 656 | integrity sha512-U3vEDB5zhYPNfxT5TYR7u01dboFZp+HNpnGhkDB2g/2E4wZ/g1Q9Ton8UwCLfRV9yAKyYqDh62oHOamvkFxsvw== 657 | 658 | eslint-scope@^5.1.1: 659 | version "5.1.1" 660 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" 661 | integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== 662 | dependencies: 663 | esrecurse "^4.3.0" 664 | estraverse "^4.1.1" 665 | 666 | eslint-utils@^2.1.0: 667 | version "2.1.0" 668 | resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" 669 | integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== 670 | dependencies: 671 | eslint-visitor-keys "^1.1.0" 672 | 673 | eslint-utils@^3.0.0: 674 | version "3.0.0" 675 | resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" 676 | integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== 677 | dependencies: 678 | eslint-visitor-keys "^2.0.0" 679 | 680 | eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: 681 | version "1.3.0" 682 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" 683 | integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== 684 | 685 | eslint-visitor-keys@^2.0.0: 686 | version "2.1.0" 687 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" 688 | integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== 689 | 690 | eslint@^7.20.0: 691 | version "7.32.0" 692 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" 693 | integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== 694 | dependencies: 695 | "@babel/code-frame" "7.12.11" 696 | "@eslint/eslintrc" "^0.4.3" 697 | "@humanwhocodes/config-array" "^0.5.0" 698 | ajv "^6.10.0" 699 | chalk "^4.0.0" 700 | cross-spawn "^7.0.2" 701 | debug "^4.0.1" 702 | doctrine "^3.0.0" 703 | enquirer "^2.3.5" 704 | escape-string-regexp "^4.0.0" 705 | eslint-scope "^5.1.1" 706 | eslint-utils "^2.1.0" 707 | eslint-visitor-keys "^2.0.0" 708 | espree "^7.3.1" 709 | esquery "^1.4.0" 710 | esutils "^2.0.2" 711 | fast-deep-equal "^3.1.3" 712 | file-entry-cache "^6.0.1" 713 | functional-red-black-tree "^1.0.1" 714 | glob-parent "^5.1.2" 715 | globals "^13.6.0" 716 | ignore "^4.0.6" 717 | import-fresh "^3.0.0" 718 | imurmurhash "^0.1.4" 719 | is-glob "^4.0.0" 720 | js-yaml "^3.13.1" 721 | json-stable-stringify-without-jsonify "^1.0.1" 722 | levn "^0.4.1" 723 | lodash.merge "^4.6.2" 724 | minimatch "^3.0.4" 725 | natural-compare "^1.4.0" 726 | optionator "^0.9.1" 727 | progress "^2.0.0" 728 | regexpp "^3.1.0" 729 | semver "^7.2.1" 730 | strip-ansi "^6.0.0" 731 | strip-json-comments "^3.1.0" 732 | table "^6.0.9" 733 | text-table "^0.2.0" 734 | v8-compile-cache "^2.0.3" 735 | 736 | espree@^7.3.0, espree@^7.3.1: 737 | version "7.3.1" 738 | resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" 739 | integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== 740 | dependencies: 741 | acorn "^7.4.0" 742 | acorn-jsx "^5.3.1" 743 | eslint-visitor-keys "^1.3.0" 744 | 745 | esprima@^4.0.0: 746 | version "4.0.1" 747 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 748 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 749 | 750 | esquery@^1.4.0: 751 | version "1.4.0" 752 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" 753 | integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== 754 | dependencies: 755 | estraverse "^5.1.0" 756 | 757 | esrecurse@^4.3.0: 758 | version "4.3.0" 759 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" 760 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== 761 | dependencies: 762 | estraverse "^5.2.0" 763 | 764 | estraverse@^4.1.1: 765 | version "4.3.0" 766 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" 767 | integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== 768 | 769 | estraverse@^5.1.0, estraverse@^5.2.0: 770 | version "5.2.0" 771 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" 772 | integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== 773 | 774 | estree-walker@^0.6.1: 775 | version "0.6.1" 776 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" 777 | integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== 778 | 779 | estree-walker@^1.0.1: 780 | version "1.0.1" 781 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" 782 | integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== 783 | 784 | estree-walker@^2.0.1: 785 | version "2.0.2" 786 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" 787 | integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== 788 | 789 | esutils@^2.0.2: 790 | version "2.0.3" 791 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 792 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 793 | 794 | fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: 795 | version "3.1.3" 796 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" 797 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 798 | 799 | fast-diff@^1.1.2: 800 | version "1.2.0" 801 | resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" 802 | integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== 803 | 804 | fast-glob@^3.1.1: 805 | version "3.2.7" 806 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" 807 | integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== 808 | dependencies: 809 | "@nodelib/fs.stat" "^2.0.2" 810 | "@nodelib/fs.walk" "^1.2.3" 811 | glob-parent "^5.1.2" 812 | merge2 "^1.3.0" 813 | micromatch "^4.0.4" 814 | 815 | fast-json-stable-stringify@^2.0.0: 816 | version "2.1.0" 817 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 818 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 819 | 820 | fast-levenshtein@^2.0.6: 821 | version "2.0.6" 822 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 823 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= 824 | 825 | fastq@^1.6.0: 826 | version "1.13.0" 827 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" 828 | integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== 829 | dependencies: 830 | reusify "^1.0.4" 831 | 832 | file-entry-cache@^6.0.1: 833 | version "6.0.1" 834 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" 835 | integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== 836 | dependencies: 837 | flat-cache "^3.0.4" 838 | 839 | fill-range@^7.0.1: 840 | version "7.0.1" 841 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 842 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 843 | dependencies: 844 | to-regex-range "^5.0.1" 845 | 846 | flat-cache@^3.0.4: 847 | version "3.0.4" 848 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" 849 | integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== 850 | dependencies: 851 | flatted "^3.1.0" 852 | rimraf "^3.0.2" 853 | 854 | flatted@^3.1.0: 855 | version "3.2.2" 856 | resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.2.tgz#64bfed5cb68fe3ca78b3eb214ad97b63bedce561" 857 | integrity sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA== 858 | 859 | fraction.js@^4.1.1: 860 | version "4.1.1" 861 | resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.1.1.tgz#ac4e520473dae67012d618aab91eda09bcb400ff" 862 | integrity sha512-MHOhvvxHTfRFpF1geTK9czMIZ6xclsEor2wkIGYYq+PxcQqT7vStJqjhe6S1TenZrMZzo+wlqOufBDVepUEgPg== 863 | 864 | fs.realpath@^1.0.0: 865 | version "1.0.0" 866 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 867 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 868 | 869 | fsevents@~2.3.2: 870 | version "2.3.2" 871 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 872 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 873 | 874 | function-bind@^1.1.1: 875 | version "1.1.1" 876 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 877 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 878 | 879 | functional-red-black-tree@^1.0.1: 880 | version "1.0.1" 881 | resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" 882 | integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= 883 | 884 | get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: 885 | version "1.1.1" 886 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" 887 | integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== 888 | dependencies: 889 | function-bind "^1.1.1" 890 | has "^1.0.3" 891 | has-symbols "^1.0.1" 892 | 893 | get-symbol-description@^1.0.0: 894 | version "1.0.0" 895 | resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" 896 | integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== 897 | dependencies: 898 | call-bind "^1.0.2" 899 | get-intrinsic "^1.1.1" 900 | 901 | glob-parent@^5.1.2, glob-parent@~5.1.2: 902 | version "5.1.2" 903 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 904 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 905 | dependencies: 906 | is-glob "^4.0.1" 907 | 908 | glob@^7.1.3, glob@^7.1.6: 909 | version "7.1.7" 910 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" 911 | integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== 912 | dependencies: 913 | fs.realpath "^1.0.0" 914 | inflight "^1.0.4" 915 | inherits "2" 916 | minimatch "^3.0.4" 917 | once "^1.3.0" 918 | path-is-absolute "^1.0.0" 919 | 920 | globals@^13.6.0, globals@^13.9.0: 921 | version "13.11.0" 922 | resolved "https://registry.yarnpkg.com/globals/-/globals-13.11.0.tgz#40ef678da117fe7bd2e28f1fab24951bd0255be7" 923 | integrity sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g== 924 | dependencies: 925 | type-fest "^0.20.2" 926 | 927 | globby@^11.0.3: 928 | version "11.0.4" 929 | resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" 930 | integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== 931 | dependencies: 932 | array-union "^2.1.0" 933 | dir-glob "^3.0.1" 934 | fast-glob "^3.1.1" 935 | ignore "^5.1.4" 936 | merge2 "^1.3.0" 937 | slash "^3.0.0" 938 | 939 | graceful-fs@^4.1.2: 940 | version "4.2.8" 941 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" 942 | integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== 943 | 944 | has-bigints@^1.0.1: 945 | version "1.0.1" 946 | resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" 947 | integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== 948 | 949 | has-flag@^3.0.0: 950 | version "3.0.0" 951 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 952 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 953 | 954 | has-flag@^4.0.0: 955 | version "4.0.0" 956 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 957 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 958 | 959 | has-symbols@^1.0.1, has-symbols@^1.0.2: 960 | version "1.0.2" 961 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" 962 | integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== 963 | 964 | has-tostringtag@^1.0.0: 965 | version "1.0.0" 966 | resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" 967 | integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== 968 | dependencies: 969 | has-symbols "^1.0.2" 970 | 971 | has@^1.0.3: 972 | version "1.0.3" 973 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 974 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 975 | dependencies: 976 | function-bind "^1.1.1" 977 | 978 | hosted-git-info@^2.1.4: 979 | version "2.8.9" 980 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" 981 | integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== 982 | 983 | ignore@^4.0.6: 984 | version "4.0.6" 985 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" 986 | integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== 987 | 988 | ignore@^5.1.4: 989 | version "5.1.8" 990 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" 991 | integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== 992 | 993 | import-fresh@^3.0.0, import-fresh@^3.2.1: 994 | version "3.3.0" 995 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" 996 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== 997 | dependencies: 998 | parent-module "^1.0.0" 999 | resolve-from "^4.0.0" 1000 | 1001 | imurmurhash@^0.1.4: 1002 | version "0.1.4" 1003 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1004 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 1005 | 1006 | inflight@^1.0.4: 1007 | version "1.0.6" 1008 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1009 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 1010 | dependencies: 1011 | once "^1.3.0" 1012 | wrappy "1" 1013 | 1014 | inherits@2: 1015 | version "2.0.4" 1016 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1017 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1018 | 1019 | internal-slot@^1.0.3: 1020 | version "1.0.3" 1021 | resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" 1022 | integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== 1023 | dependencies: 1024 | get-intrinsic "^1.1.0" 1025 | has "^1.0.3" 1026 | side-channel "^1.0.4" 1027 | 1028 | is-arrayish@^0.2.1: 1029 | version "0.2.1" 1030 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 1031 | integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= 1032 | 1033 | is-bigint@^1.0.1: 1034 | version "1.0.4" 1035 | resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" 1036 | integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== 1037 | dependencies: 1038 | has-bigints "^1.0.1" 1039 | 1040 | is-binary-path@~2.1.0: 1041 | version "2.1.0" 1042 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 1043 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 1044 | dependencies: 1045 | binary-extensions "^2.0.0" 1046 | 1047 | is-boolean-object@^1.1.0: 1048 | version "1.1.2" 1049 | resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" 1050 | integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== 1051 | dependencies: 1052 | call-bind "^1.0.2" 1053 | has-tostringtag "^1.0.0" 1054 | 1055 | is-callable@^1.1.4, is-callable@^1.2.4: 1056 | version "1.2.4" 1057 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" 1058 | integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== 1059 | 1060 | is-core-module@^2.2.0: 1061 | version "2.6.0" 1062 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.6.0.tgz#d7553b2526fe59b92ba3e40c8df757ec8a709e19" 1063 | integrity sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ== 1064 | dependencies: 1065 | has "^1.0.3" 1066 | 1067 | is-date-object@^1.0.1: 1068 | version "1.0.5" 1069 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" 1070 | integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== 1071 | dependencies: 1072 | has-tostringtag "^1.0.0" 1073 | 1074 | is-extglob@^2.1.1: 1075 | version "2.1.1" 1076 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1077 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 1078 | 1079 | is-fullwidth-code-point@^3.0.0: 1080 | version "3.0.0" 1081 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" 1082 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 1083 | 1084 | is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: 1085 | version "4.0.1" 1086 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" 1087 | integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== 1088 | dependencies: 1089 | is-extglob "^2.1.1" 1090 | 1091 | is-module@^1.0.0: 1092 | version "1.0.0" 1093 | resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" 1094 | integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= 1095 | 1096 | is-negative-zero@^2.0.1: 1097 | version "2.0.1" 1098 | resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" 1099 | integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== 1100 | 1101 | is-number-object@^1.0.4: 1102 | version "1.0.6" 1103 | resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" 1104 | integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== 1105 | dependencies: 1106 | has-tostringtag "^1.0.0" 1107 | 1108 | is-number@^7.0.0: 1109 | version "7.0.0" 1110 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 1111 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 1112 | 1113 | is-reference@^1.2.1: 1114 | version "1.2.1" 1115 | resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" 1116 | integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== 1117 | dependencies: 1118 | "@types/estree" "*" 1119 | 1120 | is-regex@^1.1.4: 1121 | version "1.1.4" 1122 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" 1123 | integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== 1124 | dependencies: 1125 | call-bind "^1.0.2" 1126 | has-tostringtag "^1.0.0" 1127 | 1128 | is-string@^1.0.5, is-string@^1.0.7: 1129 | version "1.0.7" 1130 | resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" 1131 | integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== 1132 | dependencies: 1133 | has-tostringtag "^1.0.0" 1134 | 1135 | is-symbol@^1.0.2, is-symbol@^1.0.3: 1136 | version "1.0.4" 1137 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" 1138 | integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== 1139 | dependencies: 1140 | has-symbols "^1.0.2" 1141 | 1142 | isexe@^2.0.0: 1143 | version "2.0.0" 1144 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1145 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 1146 | 1147 | jest-worker@^26.2.1: 1148 | version "26.6.2" 1149 | resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" 1150 | integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== 1151 | dependencies: 1152 | "@types/node" "*" 1153 | merge-stream "^2.0.0" 1154 | supports-color "^7.0.0" 1155 | 1156 | js-cleanup@^1.2.0: 1157 | version "1.2.0" 1158 | resolved "https://registry.yarnpkg.com/js-cleanup/-/js-cleanup-1.2.0.tgz#8dbc65954b1d38b255f1e8cf02cd17b3f7a053f9" 1159 | integrity sha512-JeDD0yiiSt80fXzAVa/crrS0JDPQljyBG/RpOtaSbyDq03VHa9szJWMaWOYU/bcTn412uMN2MxApXq8v79cUiQ== 1160 | dependencies: 1161 | magic-string "^0.25.7" 1162 | perf-regexes "^1.0.1" 1163 | skip-regex "^1.0.2" 1164 | 1165 | js-tokens@^4.0.0: 1166 | version "4.0.0" 1167 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1168 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 1169 | 1170 | js-yaml@^3.13.1: 1171 | version "3.14.1" 1172 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" 1173 | integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== 1174 | dependencies: 1175 | argparse "^1.0.7" 1176 | esprima "^4.0.0" 1177 | 1178 | json-parse-better-errors@^1.0.1: 1179 | version "1.0.2" 1180 | resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" 1181 | integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== 1182 | 1183 | json-schema-traverse@^0.4.1: 1184 | version "0.4.1" 1185 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 1186 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 1187 | 1188 | json-schema-traverse@^1.0.0: 1189 | version "1.0.0" 1190 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" 1191 | integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== 1192 | 1193 | json-stable-stringify-without-jsonify@^1.0.1: 1194 | version "1.0.1" 1195 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" 1196 | integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= 1197 | 1198 | levn@^0.4.1: 1199 | version "0.4.1" 1200 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" 1201 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== 1202 | dependencies: 1203 | prelude-ls "^1.2.1" 1204 | type-check "~0.4.0" 1205 | 1206 | load-json-file@^4.0.0: 1207 | version "4.0.0" 1208 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" 1209 | integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= 1210 | dependencies: 1211 | graceful-fs "^4.1.2" 1212 | parse-json "^4.0.0" 1213 | pify "^3.0.0" 1214 | strip-bom "^3.0.0" 1215 | 1216 | lodash.clonedeep@^4.5.0: 1217 | version "4.5.0" 1218 | resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" 1219 | integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= 1220 | 1221 | lodash.debounce@^4.0.8: 1222 | version "4.0.8" 1223 | resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" 1224 | integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= 1225 | 1226 | lodash.merge@^4.6.2: 1227 | version "4.6.2" 1228 | resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" 1229 | integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== 1230 | 1231 | lodash.truncate@^4.4.2: 1232 | version "4.4.2" 1233 | resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" 1234 | integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= 1235 | 1236 | lru-cache@^6.0.0: 1237 | version "6.0.0" 1238 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 1239 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 1240 | dependencies: 1241 | yallist "^4.0.0" 1242 | 1243 | magic-string@^0.25.7: 1244 | version "0.25.7" 1245 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" 1246 | integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== 1247 | dependencies: 1248 | sourcemap-codec "^1.4.4" 1249 | 1250 | memorystream@^0.3.1: 1251 | version "0.3.1" 1252 | resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" 1253 | integrity sha1-htcJCzDORV1j+64S3aUaR93K+bI= 1254 | 1255 | merge-stream@^2.0.0: 1256 | version "2.0.0" 1257 | resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" 1258 | integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== 1259 | 1260 | merge2@^1.3.0: 1261 | version "1.4.1" 1262 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" 1263 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 1264 | 1265 | micromatch@^4.0.4: 1266 | version "4.0.4" 1267 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" 1268 | integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== 1269 | dependencies: 1270 | braces "^3.0.1" 1271 | picomatch "^2.2.3" 1272 | 1273 | minimatch@^3.0.4: 1274 | version "3.0.4" 1275 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 1276 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 1277 | dependencies: 1278 | brace-expansion "^1.1.7" 1279 | 1280 | ms@2.1.2: 1281 | version "2.1.2" 1282 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 1283 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1284 | 1285 | nanoid@^3.1.23: 1286 | version "3.1.25" 1287 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.25.tgz#09ca32747c0e543f0e1814b7d3793477f9c8e152" 1288 | integrity sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q== 1289 | 1290 | natural-compare@^1.4.0: 1291 | version "1.4.0" 1292 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 1293 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= 1294 | 1295 | nice-try@^1.0.4: 1296 | version "1.0.5" 1297 | resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" 1298 | integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== 1299 | 1300 | node-releases@^1.1.75: 1301 | version "1.1.76" 1302 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.76.tgz#df245b062b0cafbd5282ab6792f7dccc2d97f36e" 1303 | integrity sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA== 1304 | 1305 | normalize-package-data@^2.3.2: 1306 | version "2.5.0" 1307 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" 1308 | integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== 1309 | dependencies: 1310 | hosted-git-info "^2.1.4" 1311 | resolve "^1.10.0" 1312 | semver "2 || 3 || 4 || 5" 1313 | validate-npm-package-license "^3.0.1" 1314 | 1315 | normalize-path@^3.0.0, normalize-path@~3.0.0: 1316 | version "3.0.0" 1317 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 1318 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 1319 | 1320 | normalize-range@^0.1.2: 1321 | version "0.1.2" 1322 | resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" 1323 | integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= 1324 | 1325 | npm-run-all@^4.1.5: 1326 | version "4.1.5" 1327 | resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba" 1328 | integrity sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ== 1329 | dependencies: 1330 | ansi-styles "^3.2.1" 1331 | chalk "^2.4.1" 1332 | cross-spawn "^6.0.5" 1333 | memorystream "^0.3.1" 1334 | minimatch "^3.0.4" 1335 | pidtree "^0.3.0" 1336 | read-pkg "^3.0.0" 1337 | shell-quote "^1.6.1" 1338 | string.prototype.padend "^3.0.0" 1339 | 1340 | object-inspect@^1.11.0, object-inspect@^1.9.0: 1341 | version "1.11.0" 1342 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1" 1343 | integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== 1344 | 1345 | object-keys@^1.0.12, object-keys@^1.1.1: 1346 | version "1.1.1" 1347 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 1348 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 1349 | 1350 | object.assign@^4.1.2: 1351 | version "4.1.2" 1352 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" 1353 | integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== 1354 | dependencies: 1355 | call-bind "^1.0.0" 1356 | define-properties "^1.1.3" 1357 | has-symbols "^1.0.1" 1358 | object-keys "^1.1.1" 1359 | 1360 | once@^1.3.0: 1361 | version "1.4.0" 1362 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1363 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 1364 | dependencies: 1365 | wrappy "1" 1366 | 1367 | onchange@^7.1.0: 1368 | version "7.1.0" 1369 | resolved "https://registry.yarnpkg.com/onchange/-/onchange-7.1.0.tgz#a6f0f7733e4d47014b4cd70aa1ad36c2b4cf3804" 1370 | integrity sha512-ZJcqsPiWUAUpvmnJri5TPBooqJOPmC0ttN65juhN15Q8xA+Nbg3BaxBHXQ45EistKKlKElb0edmbPWnKSBkvMg== 1371 | dependencies: 1372 | "@blakeembrey/deque" "^1.0.5" 1373 | "@blakeembrey/template" "^1.0.0" 1374 | arg "^4.1.3" 1375 | chokidar "^3.3.1" 1376 | cross-spawn "^7.0.1" 1377 | ignore "^5.1.4" 1378 | tree-kill "^1.2.2" 1379 | 1380 | optionator@^0.9.1: 1381 | version "0.9.1" 1382 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" 1383 | integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== 1384 | dependencies: 1385 | deep-is "^0.1.3" 1386 | fast-levenshtein "^2.0.6" 1387 | levn "^0.4.1" 1388 | prelude-ls "^1.2.1" 1389 | type-check "^0.4.0" 1390 | word-wrap "^1.2.3" 1391 | 1392 | parent-module@^1.0.0: 1393 | version "1.0.1" 1394 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" 1395 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 1396 | dependencies: 1397 | callsites "^3.0.0" 1398 | 1399 | parse-json@^4.0.0: 1400 | version "4.0.0" 1401 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" 1402 | integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= 1403 | dependencies: 1404 | error-ex "^1.3.1" 1405 | json-parse-better-errors "^1.0.1" 1406 | 1407 | path-is-absolute@^1.0.0: 1408 | version "1.0.1" 1409 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1410 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 1411 | 1412 | path-key@^2.0.1: 1413 | version "2.0.1" 1414 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 1415 | integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= 1416 | 1417 | path-key@^3.1.0: 1418 | version "3.1.1" 1419 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 1420 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 1421 | 1422 | path-parse@^1.0.6: 1423 | version "1.0.7" 1424 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 1425 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 1426 | 1427 | path-type@^3.0.0: 1428 | version "3.0.0" 1429 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" 1430 | integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== 1431 | dependencies: 1432 | pify "^3.0.0" 1433 | 1434 | path-type@^4.0.0: 1435 | version "4.0.0" 1436 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" 1437 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 1438 | 1439 | perf-regexes@^1.0.1: 1440 | version "1.0.1" 1441 | resolved "https://registry.yarnpkg.com/perf-regexes/-/perf-regexes-1.0.1.tgz#6da1d62f5a94bf9353a0451bccacf69068b75d0b" 1442 | integrity sha512-L7MXxUDtqr4PUaLFCDCXBfGV/6KLIuSEccizDI7JxT+c9x1G1v04BQ4+4oag84SHaCdrBgQAIs/Cqn+flwFPng== 1443 | 1444 | picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3: 1445 | version "2.3.0" 1446 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" 1447 | integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== 1448 | 1449 | pidtree@^0.3.0: 1450 | version "0.3.1" 1451 | resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a" 1452 | integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA== 1453 | 1454 | pify@^3.0.0: 1455 | version "3.0.0" 1456 | resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" 1457 | integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= 1458 | 1459 | postcss-value-parser@^4.1.0: 1460 | version "4.1.0" 1461 | resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" 1462 | integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== 1463 | 1464 | postcss@^8.2.6: 1465 | version "8.3.6" 1466 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.6.tgz#2730dd76a97969f37f53b9a6096197be311cc4ea" 1467 | integrity sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A== 1468 | dependencies: 1469 | colorette "^1.2.2" 1470 | nanoid "^3.1.23" 1471 | source-map-js "^0.6.2" 1472 | 1473 | prelude-ls@^1.2.1: 1474 | version "1.2.1" 1475 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" 1476 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== 1477 | 1478 | prettier-linter-helpers@^1.0.0: 1479 | version "1.0.0" 1480 | resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" 1481 | integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== 1482 | dependencies: 1483 | fast-diff "^1.1.2" 1484 | 1485 | prettier@^2.2.1: 1486 | version "2.4.1" 1487 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.4.1.tgz#671e11c89c14a4cfc876ce564106c4a6726c9f5c" 1488 | integrity sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA== 1489 | 1490 | progress@^2.0.0: 1491 | version "2.0.3" 1492 | resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" 1493 | integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== 1494 | 1495 | punycode@^2.1.0: 1496 | version "2.1.1" 1497 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 1498 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 1499 | 1500 | queue-microtask@^1.2.2: 1501 | version "1.2.3" 1502 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" 1503 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 1504 | 1505 | randombytes@^2.1.0: 1506 | version "2.1.0" 1507 | resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" 1508 | integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== 1509 | dependencies: 1510 | safe-buffer "^5.1.0" 1511 | 1512 | read-pkg@^3.0.0: 1513 | version "3.0.0" 1514 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" 1515 | integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= 1516 | dependencies: 1517 | load-json-file "^4.0.0" 1518 | normalize-package-data "^2.3.2" 1519 | path-type "^3.0.0" 1520 | 1521 | readdirp@~3.6.0: 1522 | version "3.6.0" 1523 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" 1524 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== 1525 | dependencies: 1526 | picomatch "^2.2.1" 1527 | 1528 | regexpp@^3.1.0: 1529 | version "3.2.0" 1530 | resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" 1531 | integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== 1532 | 1533 | require-from-string@^2.0.2: 1534 | version "2.0.2" 1535 | resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" 1536 | integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== 1537 | 1538 | resolve-from@^4.0.0: 1539 | version "4.0.0" 1540 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 1541 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 1542 | 1543 | resolve@^1.10.0, resolve@^1.17.0, resolve@^1.19.0: 1544 | version "1.20.0" 1545 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" 1546 | integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== 1547 | dependencies: 1548 | is-core-module "^2.2.0" 1549 | path-parse "^1.0.6" 1550 | 1551 | reusify@^1.0.4: 1552 | version "1.0.4" 1553 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 1554 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 1555 | 1556 | rimraf@^3.0.2: 1557 | version "3.0.2" 1558 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" 1559 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== 1560 | dependencies: 1561 | glob "^7.1.3" 1562 | 1563 | rollup-plugin-cleanup@^3.2.1: 1564 | version "3.2.1" 1565 | resolved "https://registry.yarnpkg.com/rollup-plugin-cleanup/-/rollup-plugin-cleanup-3.2.1.tgz#8cbc92ecf58babd7c210051929797f137bbf777c" 1566 | integrity sha512-zuv8EhoO3TpnrU8MX8W7YxSbO4gmOR0ny06Lm3nkFfq0IVKdBUtHwhVzY1OAJyNCIAdLiyPnOrU0KnO0Fri1GQ== 1567 | dependencies: 1568 | js-cleanup "^1.2.0" 1569 | rollup-pluginutils "^2.8.2" 1570 | 1571 | rollup-plugin-terser@^7.0.2: 1572 | version "7.0.2" 1573 | resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz#e8fbba4869981b2dc35ae7e8a502d5c6c04d324d" 1574 | integrity sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ== 1575 | dependencies: 1576 | "@babel/code-frame" "^7.10.4" 1577 | jest-worker "^26.2.1" 1578 | serialize-javascript "^4.0.0" 1579 | terser "^5.0.0" 1580 | 1581 | rollup-pluginutils@^2.8.2: 1582 | version "2.8.2" 1583 | resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" 1584 | integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== 1585 | dependencies: 1586 | estree-walker "^0.6.1" 1587 | 1588 | rollup@^2.39.1: 1589 | version "2.56.3" 1590 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.56.3.tgz#b63edadd9851b0d618a6d0e6af8201955a77aeff" 1591 | integrity sha512-Au92NuznFklgQCUcV96iXlxUbHuB1vQMaH76DHl5M11TotjOHwqk9CwcrT78+Tnv4FN9uTBxq6p4EJoYkpyekg== 1592 | optionalDependencies: 1593 | fsevents "~2.3.2" 1594 | 1595 | run-parallel@^1.1.9: 1596 | version "1.2.0" 1597 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" 1598 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 1599 | dependencies: 1600 | queue-microtask "^1.2.2" 1601 | 1602 | safe-buffer@^5.1.0: 1603 | version "5.2.1" 1604 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 1605 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 1606 | 1607 | sass@^1.41.1: 1608 | version "1.42.0" 1609 | resolved "https://registry.yarnpkg.com/sass/-/sass-1.42.0.tgz#dc485e5cf7890a22fd6ccc6856c64f297239d595" 1610 | integrity sha512-kcjxsemgaOnfl43oZgO/IePLvXQI0ZKzo0/xbCt6uyrg3FY/FF8hVK9YoO8GiZBcEG2Ebl79EKnUc+aiE4f2Vw== 1611 | dependencies: 1612 | chokidar ">=3.0.0 <4.0.0" 1613 | 1614 | "semver@2 || 3 || 4 || 5", semver@^5.5.0: 1615 | version "5.7.1" 1616 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 1617 | integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== 1618 | 1619 | semver@^7.2.1, semver@^7.3.5: 1620 | version "7.3.5" 1621 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" 1622 | integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== 1623 | dependencies: 1624 | lru-cache "^6.0.0" 1625 | 1626 | serialize-javascript@^4.0.0: 1627 | version "4.0.0" 1628 | resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" 1629 | integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== 1630 | dependencies: 1631 | randombytes "^2.1.0" 1632 | 1633 | shebang-command@^1.2.0: 1634 | version "1.2.0" 1635 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 1636 | integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= 1637 | dependencies: 1638 | shebang-regex "^1.0.0" 1639 | 1640 | shebang-command@^2.0.0: 1641 | version "2.0.0" 1642 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 1643 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 1644 | dependencies: 1645 | shebang-regex "^3.0.0" 1646 | 1647 | shebang-regex@^1.0.0: 1648 | version "1.0.0" 1649 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 1650 | integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= 1651 | 1652 | shebang-regex@^3.0.0: 1653 | version "3.0.0" 1654 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 1655 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 1656 | 1657 | shell-quote@^1.6.1: 1658 | version "1.7.2" 1659 | resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" 1660 | integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== 1661 | 1662 | side-channel@^1.0.4: 1663 | version "1.0.4" 1664 | resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" 1665 | integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== 1666 | dependencies: 1667 | call-bind "^1.0.0" 1668 | get-intrinsic "^1.0.2" 1669 | object-inspect "^1.9.0" 1670 | 1671 | skip-regex@^1.0.2: 1672 | version "1.0.2" 1673 | resolved "https://registry.yarnpkg.com/skip-regex/-/skip-regex-1.0.2.tgz#ac655d77e7c771ac2b9f37585fea37bff56ad65b" 1674 | integrity sha512-pEjMUbwJ5Pl/6Vn6FsamXHXItJXSRftcibixDmNCWbWhic0hzHrwkMZo0IZ7fMRH9KxcWDFSkzhccB4285PutA== 1675 | 1676 | slash@^3.0.0: 1677 | version "3.0.0" 1678 | resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" 1679 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== 1680 | 1681 | slice-ansi@^4.0.0: 1682 | version "4.0.0" 1683 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" 1684 | integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== 1685 | dependencies: 1686 | ansi-styles "^4.0.0" 1687 | astral-regex "^2.0.0" 1688 | is-fullwidth-code-point "^3.0.0" 1689 | 1690 | source-map-js@^0.6.2: 1691 | version "0.6.2" 1692 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e" 1693 | integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug== 1694 | 1695 | source-map-support@~0.5.20: 1696 | version "0.5.20" 1697 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.20.tgz#12166089f8f5e5e8c56926b377633392dd2cb6c9" 1698 | integrity sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw== 1699 | dependencies: 1700 | buffer-from "^1.0.0" 1701 | source-map "^0.6.0" 1702 | 1703 | source-map@^0.6.0: 1704 | version "0.6.1" 1705 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 1706 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 1707 | 1708 | source-map@~0.7.2: 1709 | version "0.7.3" 1710 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" 1711 | integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== 1712 | 1713 | sourcemap-codec@^1.4.4: 1714 | version "1.4.8" 1715 | resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" 1716 | integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== 1717 | 1718 | spdx-correct@^3.0.0: 1719 | version "3.1.1" 1720 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" 1721 | integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== 1722 | dependencies: 1723 | spdx-expression-parse "^3.0.0" 1724 | spdx-license-ids "^3.0.0" 1725 | 1726 | spdx-exceptions@^2.1.0: 1727 | version "2.3.0" 1728 | resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" 1729 | integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== 1730 | 1731 | spdx-expression-parse@^3.0.0: 1732 | version "3.0.1" 1733 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" 1734 | integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== 1735 | dependencies: 1736 | spdx-exceptions "^2.1.0" 1737 | spdx-license-ids "^3.0.0" 1738 | 1739 | spdx-license-ids@^3.0.0: 1740 | version "3.0.10" 1741 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz#0d9becccde7003d6c658d487dd48a32f0bf3014b" 1742 | integrity sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA== 1743 | 1744 | sprintf-js@~1.0.2: 1745 | version "1.0.3" 1746 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 1747 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 1748 | 1749 | string-width@^4.2.0: 1750 | version "4.2.2" 1751 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" 1752 | integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== 1753 | dependencies: 1754 | emoji-regex "^8.0.0" 1755 | is-fullwidth-code-point "^3.0.0" 1756 | strip-ansi "^6.0.0" 1757 | 1758 | string.prototype.padend@^3.0.0: 1759 | version "3.1.2" 1760 | resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz#6858ca4f35c5268ebd5e8615e1327d55f59ee311" 1761 | integrity sha512-/AQFLdYvePENU3W5rgurfWSMU6n+Ww8n/3cUt7E+vPBB/D7YDG8x+qjoFs4M/alR2bW7Qg6xMjVwWUOvuQ0XpQ== 1762 | dependencies: 1763 | call-bind "^1.0.2" 1764 | define-properties "^1.1.3" 1765 | es-abstract "^1.18.0-next.2" 1766 | 1767 | string.prototype.trimend@^1.0.4: 1768 | version "1.0.4" 1769 | resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" 1770 | integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== 1771 | dependencies: 1772 | call-bind "^1.0.2" 1773 | define-properties "^1.1.3" 1774 | 1775 | string.prototype.trimstart@^1.0.4: 1776 | version "1.0.4" 1777 | resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" 1778 | integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== 1779 | dependencies: 1780 | call-bind "^1.0.2" 1781 | define-properties "^1.1.3" 1782 | 1783 | strip-ansi@^6.0.0: 1784 | version "6.0.0" 1785 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" 1786 | integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== 1787 | dependencies: 1788 | ansi-regex "^5.0.0" 1789 | 1790 | strip-bom@^3.0.0: 1791 | version "3.0.0" 1792 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 1793 | integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= 1794 | 1795 | strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: 1796 | version "3.1.1" 1797 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" 1798 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 1799 | 1800 | supports-color@^5.3.0: 1801 | version "5.5.0" 1802 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 1803 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 1804 | dependencies: 1805 | has-flag "^3.0.0" 1806 | 1807 | supports-color@^7.0.0, supports-color@^7.1.0: 1808 | version "7.2.0" 1809 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 1810 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 1811 | dependencies: 1812 | has-flag "^4.0.0" 1813 | 1814 | table@^6.0.9: 1815 | version "6.7.1" 1816 | resolved "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz#ee05592b7143831a8c94f3cee6aae4c1ccef33e2" 1817 | integrity sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg== 1818 | dependencies: 1819 | ajv "^8.0.1" 1820 | lodash.clonedeep "^4.5.0" 1821 | lodash.truncate "^4.4.2" 1822 | slice-ansi "^4.0.0" 1823 | string-width "^4.2.0" 1824 | strip-ansi "^6.0.0" 1825 | 1826 | terser@^5.0.0: 1827 | version "5.8.0" 1828 | resolved "https://registry.yarnpkg.com/terser/-/terser-5.8.0.tgz#c6d352f91aed85cc6171ccb5e84655b77521d947" 1829 | integrity sha512-f0JH+6yMpneYcRJN314lZrSwu9eKkUFEHLN/kNy8ceh8gaRiLgFPJqrB9HsXjhEGdv4e/ekjTOFxIlL6xlma8A== 1830 | dependencies: 1831 | commander "^2.20.0" 1832 | source-map "~0.7.2" 1833 | source-map-support "~0.5.20" 1834 | 1835 | text-table@^0.2.0: 1836 | version "0.2.0" 1837 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 1838 | integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= 1839 | 1840 | to-regex-range@^5.0.1: 1841 | version "5.0.1" 1842 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 1843 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 1844 | dependencies: 1845 | is-number "^7.0.0" 1846 | 1847 | tree-kill@^1.2.2: 1848 | version "1.2.2" 1849 | resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" 1850 | integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== 1851 | 1852 | tslib@^1.8.1: 1853 | version "1.14.1" 1854 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" 1855 | integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== 1856 | 1857 | tsutils@^3.21.0: 1858 | version "3.21.0" 1859 | resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" 1860 | integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== 1861 | dependencies: 1862 | tslib "^1.8.1" 1863 | 1864 | tweakpane@^3.0.5: 1865 | version "3.0.5" 1866 | resolved "https://registry.yarnpkg.com/tweakpane/-/tweakpane-3.0.5.tgz#0dc76ac129b4b771dc6491558aec6e5516984946" 1867 | integrity sha512-HivFjOs510RbZSNgxv4x5LVFsHFN1ryfgpOp3n6wrgg1jLxbdlA/UTIbTLi/DYH7g76rGQqW/+IRmHPfjIujpQ== 1868 | 1869 | type-check@^0.4.0, type-check@~0.4.0: 1870 | version "0.4.0" 1871 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" 1872 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== 1873 | dependencies: 1874 | prelude-ls "^1.2.1" 1875 | 1876 | type-fest@^0.20.2: 1877 | version "0.20.2" 1878 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" 1879 | integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== 1880 | 1881 | typescript@^4.1.5: 1882 | version "4.4.3" 1883 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.3.tgz#bdc5407caa2b109efd4f82fe130656f977a29324" 1884 | integrity sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA== 1885 | 1886 | unbox-primitive@^1.0.1: 1887 | version "1.0.1" 1888 | resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" 1889 | integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== 1890 | dependencies: 1891 | function-bind "^1.1.1" 1892 | has-bigints "^1.0.1" 1893 | has-symbols "^1.0.2" 1894 | which-boxed-primitive "^1.0.2" 1895 | 1896 | uri-js@^4.2.2: 1897 | version "4.4.1" 1898 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" 1899 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== 1900 | dependencies: 1901 | punycode "^2.1.0" 1902 | 1903 | v8-compile-cache@^2.0.3: 1904 | version "2.3.0" 1905 | resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" 1906 | integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== 1907 | 1908 | validate-npm-package-license@^3.0.1: 1909 | version "3.0.4" 1910 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" 1911 | integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== 1912 | dependencies: 1913 | spdx-correct "^3.0.0" 1914 | spdx-expression-parse "^3.0.0" 1915 | 1916 | which-boxed-primitive@^1.0.2: 1917 | version "1.0.2" 1918 | resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" 1919 | integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== 1920 | dependencies: 1921 | is-bigint "^1.0.1" 1922 | is-boolean-object "^1.1.0" 1923 | is-number-object "^1.0.4" 1924 | is-string "^1.0.5" 1925 | is-symbol "^1.0.3" 1926 | 1927 | which@^1.2.9: 1928 | version "1.3.1" 1929 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" 1930 | integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== 1931 | dependencies: 1932 | isexe "^2.0.0" 1933 | 1934 | which@^2.0.1: 1935 | version "2.0.2" 1936 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 1937 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 1938 | dependencies: 1939 | isexe "^2.0.0" 1940 | 1941 | word-wrap@^1.2.3: 1942 | version "1.2.3" 1943 | resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" 1944 | integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== 1945 | 1946 | wrappy@1: 1947 | version "1.0.2" 1948 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1949 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 1950 | 1951 | yallist@^4.0.0: 1952 | version "4.0.0" 1953 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 1954 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 1955 | --------------------------------------------------------------------------------